changeset 8998:f3c714eeef6c

Merge
author mullan
date Mon, 23 Dec 2013 14:05:20 -0500
parents aef6c726810e (current diff) 39a02b18b386 (diff)
children 71ce5e56ca60
files src/share/classes/sun/util/resources/pt/LocaleNames_pt_BR.properties test/sun/security/ssl/javax/net/ssl/SSLContextVersion.java
diffstat 98 files changed, 3076 insertions(+), 909 deletions(-) [+]
line wrap: on
line diff
--- a/src/share/classes/com/sun/java/util/jar/pack/DriverResource_ja.java	Mon Dec 23 14:03:25 2013 -0500
+++ b/src/share/classes/com/sun/java/util/jar/pack/DriverResource_ja.java	Mon Dec 23 14:05:20 2013 -0500
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,110 +22,99 @@
  * or visit www.oracle.com if you need additional information or have any
  * questions.
  */
-
 package com.sun.java.util.jar.pack;
 
 import java.util.ListResourceBundle;
 
 public class DriverResource_ja extends ListResourceBundle {
-        public static final String VERSION ="VERSION";
-        public static final String BAD_ARGUMENT ="BAD_ARGUMENT";
-        public static final String BAD_OPTION ="BAD_OPTION";
-        public static final String BAD_REPACK_OUTPUT="BAD_REPACK_OUTPUT";
-        public static final String DETECTED_ZIP_COMMENT="DETECTED_ZIP_COMMENT";
-        public static final String SKIP_FOR_REPACKED ="SKIP_FOR_REPACKED";
-        public static final String WRITE_PACK_FILE ="WRITE_PACK_FILE";
-        public static final String WIRTE_PACKGZ_FILE="WIRTE_PACKGZ_FILE";
-        public static final String SKIP_FOR_MOVE_FAILED="SKIP_FOR_MOVE_FAILED";
-        public static final String PACK_HELP="PACK_HELP";
-        public static final String UNPACK_HELP ="UNPACK_HELP";
-        public static final String MORE_INFO = "MORE_INFO";
-        public static final String DUPLICATE_OPTION = "DUPLICATE_OPTION";
-        public static final String BAD_SPEC = "BAD_SPEC";
 
-        //The following string is duplicate in PACK and UNPACK comment,which was draw out to ruduce translation work.
-        private static final String PARAMETER_V = "  -v, --verbose                   increase program verbosity";
-        private static final String PARAMETER_Q = "  -q, --quiet                     set verbosity to lowest level";
-        private static final String PARAMETER_LF = "  -l{F}, --log-file={F}           output to the given log file, or '-' for System.out";
-        private static final String PARAMETER_H = "  -?, -h, --help                  print this message";
-        private static final String PARAMETER_VER = "  -V, --version                   print program version";
-        private static final String PARAMETER_J = "  -J{X}                           pass option X to underlying Java VM";
-
+    public static final String VERSION = "VERSION";
+    public static final String BAD_ARGUMENT = "BAD_ARGUMENT";
+    public static final String BAD_OPTION = "BAD_OPTION";
+    public static final String BAD_REPACK_OUTPUT = "BAD_REPACK_OUTPUT";
+    public static final String DETECTED_ZIP_COMMENT = "DETECTED_ZIP_COMMENT";
+    public static final String SKIP_FOR_REPACKED = "SKIP_FOR_REPACKED";
+    public static final String WRITE_PACK_FILE = "WRITE_PACK_FILE";
+    public static final String WRITE_PACKGZ_FILE = "WRITE_PACKGZ_FILE";
+    public static final String SKIP_FOR_MOVE_FAILED = "SKIP_FOR_MOVE_FAILED";
+    public static final String PACK_HELP = "PACK_HELP";
+    public static final String UNPACK_HELP = "UNPACK_HELP";
+    public static final String MORE_INFO = "MORE_INFO";
+    public static final String DUPLICATE_OPTION = "DUPLICATE_OPTION";
+    public static final String BAD_SPEC = "BAD_SPEC";
 
-        //The following are outputs of command 'pack200' and 'unpack200'.
-        //Don't translate command arguments ,words with a prefix of '-' or '--'.
-        //
-        private static final Object[][] resource= {
-                {VERSION,"{0}\u30D0\u30FC\u30B8\u30E7\u30F3{1}"},//parameter 0:class name;parameter 1: version value
-                {BAD_ARGUMENT,"\u7121\u52B9\u306A\u5F15\u6570: {0}"},
-                {BAD_OPTION,"\u7121\u52B9\u306A\u30AA\u30D7\u30B7\u30E7\u30F3: {0}={1}"},//parameter 0:option name;parameter 1:option value
-                {BAD_REPACK_OUTPUT,"\u7121\u52B9\u306A--repack\u51FA\u529B: {0}"},//parameter 0:filename
-                {DETECTED_ZIP_COMMENT,"\u691C\u51FA\u3055\u308C\u305FZIP\u30B3\u30E1\u30F3\u30C8: {0}"},//parameter 0:comment
-                {SKIP_FOR_REPACKED,"\u3059\u3067\u306B\u518D\u5727\u7E2E\u3055\u308C\u3066\u3044\u308B\u305F\u3081\u30B9\u30AD\u30C3\u30D7\u3057\u3066\u3044\u307E\u3059: {0}"},//parameter 0:filename
-                {WRITE_PACK_FILE,"*.pack\u30D5\u30A1\u30A4\u30EB\u3092\u66F8\u304D\u8FBC\u3080\u306B\u306F\u3001--no-gzip\u3092\u6307\u5B9A\u3057\u307E\u3059: {0}"},//parameter 0:filename
-                {WIRTE_PACKGZ_FILE,"*.pack.gz\u30D5\u30A1\u30A4\u30EB\u3092\u66F8\u304D\u8FBC\u3080\u306B\u306F\u3001--gzip\u3092\u6307\u5B9A\u3057\u307E\u3059: {0}"},//parameter 0:filename
-                {SKIP_FOR_MOVE_FAILED,"\u79FB\u52D5\u304C\u5931\u6557\u3057\u305F\u305F\u3081\u89E3\u51CD\u3092\u30B9\u30AD\u30C3\u30D7\u3057\u3066\u3044\u307E\u3059: {0}"},//parameter 0:filename
-                {PACK_HELP,new String[]{
-                                "\u4F7F\u7528\u65B9\u6CD5:  pack200 [-opt... | --option=value]... x.pack[.gz] y.jar",
-                                "",
-                                "\u5727\u7E2E\u30AA\u30D7\u30B7\u30E7\u30F3",
-                                "  -g\u3001--no-gzip                   \u30D7\u30EC\u30FC\u30F3\u306A*.pack\u30D5\u30A1\u30A4\u30EB\u3092\u5727\u7E2E\u305B\u305A\u306B\u51FA\u529B\u3057\u307E\u3059",
-                                "  --gzip                          (\u30C7\u30D5\u30A9\u30EB\u30C8)\u5727\u7E2E\u51FA\u529B\u3092gzip\u3067\u5F8C\u51E6\u7406\u3057\u307E\u3059",
-                                "  -G\u3001--strip-debug               \u5727\u7E2E\u4E2D\u306B\u30C7\u30D0\u30C3\u30B0\u5C5E\u6027\u3092\u524A\u9664\u3057\u307E\u3059",
-                                "  -O\u3001--no-keep-file-order        \u30D5\u30A1\u30A4\u30EB\u306E\u9806\u5E8F\u4ED8\u3051\u60C5\u5831\u3092\u8EE2\u9001\u3057\u307E\u305B\u3093",
-                                "  --keep-file-order               (\u30C7\u30D5\u30A9\u30EB\u30C8)\u5165\u529B\u30D5\u30A1\u30A4\u30EB\u306E\u9806\u5E8F\u4ED8\u3051\u3092\u4FDD\u6301\u3057\u307E\u3059",
-                                "  -S{N}\u3001--segment-limit={N}       \u30BB\u30B0\u30E1\u30F3\u30C8\u5236\u9650\u3092\u51FA\u529B\u3057\u307E\u3059(\u30C7\u30D5\u30A9\u30EB\u30C8N=1Mb)",
-                                "  -E{N}\u3001--effort={N}             \u5727\u7E2E\u306E\u8A66\u884C(\u30C7\u30D5\u30A9\u30EB\u30C8N=5)",
-                                "  -H{h}\u3001--deflate-hint={h}       \u30C7\u30D5\u30EC\u30FC\u30C8\u30FB\u30D2\u30F3\u30C8\u3092\u8EE2\u9001\u3057\u307E\u3059: true\u3001false\u307E\u305F\u306Fkeep(\u30C7\u30D5\u30A9\u30EB\u30C8)",
-                                "  -m{V}\u3001--modification-time={V}  \u5909\u66F4\u6642\u9593\u3092\u8EE2\u9001\u3057\u307E\u3059: latest\u307E\u305F\u306Fkeep(\u30C7\u30D5\u30A9\u30EB\u30C8)",
-                                "  -P{F}\u3001--pass-file={F}          \u6307\u5B9A\u3055\u308C\u305F\u5727\u7E2E\u3055\u308C\u3066\u3044\u306A\u3044\u5165\u529B\u8981\u7D20\u3092\u8EE2\u9001\u3057\u307E\u3059",
-                                "  -U{a}\u3001--unknown-attribute={a}  \u4E0D\u660E\u306E\u5C5E\u6027\u30A2\u30AF\u30B7\u30E7\u30F3: error\u3001strip\u307E\u305F\u306Fpass(\u30C7\u30D5\u30A9\u30EB\u30C8)",
-                                "  -C{N}={L}\u3001--class-attribute={N}={L}  (\u30E6\u30FC\u30B6\u30FC\u5B9A\u7FA9\u5C5E\u6027)",
-                                "  -F{N}={L}\u3001--field-attribute={N}={L}  (\u30E6\u30FC\u30B6\u30FC\u5B9A\u7FA9\u5C5E\u6027)",
-                                "  -M{N}={L}\u3001--method-attribute={N}={L} (\u30E6\u30FC\u30B6\u30FC\u5B9A\u7FA9\u5C5E\u6027)",
-                                "  -D{N}={L}\u3001--code-attribute={N}={L}   (\u30E6\u30FC\u30B6\u30FC\u5B9A\u7FA9\u5C5E\u6027)",
-                                "  -f{F}\u3001--config-file={F}        Pack200.Packer\u30D7\u30ED\u30D1\u30C6\u30A3\u306B\u30D5\u30A1\u30A4\u30EBF\u3092\u8AAD\u307F\u8FBC\u307F\u307E\u3059",
-                                PARAMETER_V ,
-                                PARAMETER_Q ,
-                                PARAMETER_LF ,
-                                PARAMETER_H ,
-                                PARAMETER_VER ,
-                                PARAMETER_J,
-                                "",
-                                "\u6CE8\u610F:",
-                                "  -P\u3001-C\u3001-F\u3001-M\u304A\u3088\u3073-D\u30AA\u30D7\u30B7\u30E7\u30F3\u306F\u7D2F\u7A4D\u3055\u308C\u307E\u3059\u3002",
-                                "  \u5C5E\u6027\u5B9A\u7FA9\u306E\u4F8B:  -C SourceFile=RUH .",
-                                "  Config.\u30D5\u30A1\u30A4\u30EB\u30FB\u30D7\u30ED\u30D1\u30C6\u30A3\u306F\u3001Pack200 API\u306B\u3088\u3063\u3066\u5B9A\u7FA9\u3055\u308C\u307E\u3059\u3002",
-                                "  -S\u3001-E\u3001-H\u3001-m\u3001-U\u306E\u5024\u306E\u610F\u5473\u306F\u3001Pack200 API\u3092\u53C2\u7167\u3057\u3066\u304F\u3060\u3055\u3044\u3002",
-                                "  \u30EC\u30A4\u30A2\u30A6\u30C8\u5B9A\u7FA9(RUH\u306A\u3069)\u306FJSR 200\u306B\u3088\u3063\u3066\u5B9A\u7FA9\u3055\u308C\u307E\u3059\u3002",
-                                "",
-                                "\u518D\u5727\u7E2E\u30E2\u30FC\u30C9\u3067\u306F\u3001JAR\u30D5\u30A1\u30A4\u30EB\u304C\u5727\u7E2E/\u89E3\u51CD\u30B5\u30A4\u30AF\u30EB\u3067\u66F4\u65B0\u3055\u308C\u307E\u3059:",
-                                "    pack200 [-r|--repack] [-opt | --option=value]... [repackedy.jar] y.jar\n"
-                                }
-                },
-                {UNPACK_HELP,new String[]{
-                                "\u4F7F\u7528\u65B9\u6CD5:  unpack200 [-opt... | --option=value]... x.pack[.gz] y.jar\n",
-                                "",
-                                "\u89E3\u51CD\u30AA\u30D7\u30B7\u30E7\u30F3",
-                                "  -H{h}\u3001--deflate-hint={h}     \u8EE2\u9001\u3055\u308C\u305F\u30C7\u30D5\u30EC\u30FC\u30C8\u30FB\u30D2\u30F3\u30C8\u3092\u30AA\u30FC\u30D0\u30FC\u30E9\u30A4\u30C9\u3057\u307E\u3059: true\u3001false\u307E\u305F\u306Fkeep(\u30C7\u30D5\u30A9\u30EB\u30C8)",
-                                "  -r\u3001--remove-pack-file        \u89E3\u51CD\u5F8C\u306B\u5165\u529B\u30D5\u30A1\u30A4\u30EB\u3092\u524A\u9664\u3057\u307E\u3059",
-                                PARAMETER_V ,
-                                PARAMETER_Q ,
-                                PARAMETER_LF ,
-                                PARAMETER_H ,
-                                PARAMETER_VER ,
-                                PARAMETER_J,
-                            }
-                },
+    /*
+     * The following are the output of 'pack200' and 'unpack200' commands.
+     * Do not translate command arguments and words with a prefix of '-' or '--'.
+     */
+    private static final Object[][] resource = {
+        {VERSION, "{0}\u30D0\u30FC\u30B8\u30E7\u30F3{1}"}, // parameter 0:class name;parameter 1: version value
+        {BAD_ARGUMENT, "\u7121\u52B9\u306A\u5F15\u6570: {0}"},
+        {BAD_OPTION, "\u7121\u52B9\u306A\u30AA\u30D7\u30B7\u30E7\u30F3: {0}={1}"}, // parameter 0:option name;parameter 1:option value
+        {BAD_REPACK_OUTPUT, "\u7121\u52B9\u306A--repack\u51FA\u529B: {0}"}, // parameter 0:filename
+        {DETECTED_ZIP_COMMENT, "\u691C\u51FA\u3055\u308C\u305FZIP\u30B3\u30E1\u30F3\u30C8: {0}"}, // parameter 0:comment
+        {SKIP_FOR_REPACKED, "\u3059\u3067\u306B\u518D\u5727\u7E2E\u3055\u308C\u3066\u3044\u308B\u305F\u3081\u30B9\u30AD\u30C3\u30D7\u3057\u3066\u3044\u307E\u3059: {0}"}, // parameter 0:filename
+        {WRITE_PACK_FILE, "*.pack\u30D5\u30A1\u30A4\u30EB\u3092\u66F8\u304D\u8FBC\u3080\u306B\u306F\u3001--no-gzip\u3092\u6307\u5B9A\u3057\u307E\u3059: {0}"}, // parameter 0:filename
+        {WRITE_PACKGZ_FILE, "*.pack.gz\u30D5\u30A1\u30A4\u30EB\u3092\u66F8\u304D\u8FBC\u3080\u306B\u306F\u3001--gzip\u3092\u6307\u5B9A\u3057\u307E\u3059: {0}"}, // parameter 0:filename
+        {SKIP_FOR_MOVE_FAILED, "\u79FB\u52D5\u304C\u5931\u6557\u3057\u305F\u305F\u3081\u89E3\u51CD\u3092\u30B9\u30AD\u30C3\u30D7\u3057\u3066\u3044\u307E\u3059: {0}"}, // parameter 0:filename
+        {PACK_HELP, new String[] {
+                "\u4F7F\u7528\u65B9\u6CD5:  pack200 [-opt... | --option=value]... x.pack[.gz] y.jar",
+                "",
+                "\u5727\u7E2E\u30AA\u30D7\u30B7\u30E7\u30F3",
+                "  -g\u3001--no-gzip                   \u30D7\u30EC\u30FC\u30F3\u306A*.pack\u30D5\u30A1\u30A4\u30EB\u3092\u5727\u7E2E\u305B\u305A\u306B\u51FA\u529B\u3057\u307E\u3059",
+                "  --gzip                          (\u30C7\u30D5\u30A9\u30EB\u30C8)\u5727\u7E2E\u51FA\u529B\u3092gzip\u3067\u5F8C\u51E6\u7406\u3057\u307E\u3059",
+                "  -G\u3001--strip-debug               \u5727\u7E2E\u4E2D\u306B\u30C7\u30D0\u30C3\u30B0\u5C5E\u6027\u3092\u524A\u9664\u3057\u307E\u3059",
+                "  -O\u3001--no-keep-file-order        \u30D5\u30A1\u30A4\u30EB\u306E\u9806\u5E8F\u4ED8\u3051\u60C5\u5831\u3092\u8EE2\u9001\u3057\u307E\u305B\u3093",
+                "  --keep-file-order               (\u30C7\u30D5\u30A9\u30EB\u30C8)\u5165\u529B\u30D5\u30A1\u30A4\u30EB\u306E\u9806\u5E8F\u4ED8\u3051\u3092\u4FDD\u6301\u3057\u307E\u3059",
+                "  -S{N}\u3001--segment-limit={N}       \u30BB\u30B0\u30E1\u30F3\u30C8\u5236\u9650\u3092\u51FA\u529B\u3057\u307E\u3059(\u30C7\u30D5\u30A9\u30EB\u30C8N=1Mb)",
+                "  -E{N}\u3001--effort={N}             \u5727\u7E2E\u306E\u8A66\u884C(\u30C7\u30D5\u30A9\u30EB\u30C8N=5)",
+                "  -H{h}\u3001--deflate-hint={h}       \u30C7\u30D5\u30EC\u30FC\u30C8\u30FB\u30D2\u30F3\u30C8\u3092\u8EE2\u9001\u3057\u307E\u3059: true\u3001false\u307E\u305F\u306Fkeep(\u30C7\u30D5\u30A9\u30EB\u30C8)",
+                "  -m{V}\u3001--modification-time={V}  \u5909\u66F4\u6642\u9593\u3092\u8EE2\u9001\u3057\u307E\u3059: latest\u307E\u305F\u306Fkeep(\u30C7\u30D5\u30A9\u30EB\u30C8)",
+                "  -P{F}\u3001--pass-file={F}          \u6307\u5B9A\u3055\u308C\u305F\u5727\u7E2E\u3055\u308C\u3066\u3044\u306A\u3044\u5165\u529B\u8981\u7D20\u3092\u8EE2\u9001\u3057\u307E\u3059",
+                "  -U{a}\u3001--unknown-attribute={a}  \u4E0D\u660E\u306E\u5C5E\u6027\u30A2\u30AF\u30B7\u30E7\u30F3: error\u3001strip\u307E\u305F\u306Fpass(\u30C7\u30D5\u30A9\u30EB\u30C8)",
+                "  -C{N}={L}\u3001--class-attribute={N}={L}  (\u30E6\u30FC\u30B6\u30FC\u5B9A\u7FA9\u5C5E\u6027)",
+                "  -F{N}={L}\u3001--field-attribute={N}={L}  (\u30E6\u30FC\u30B6\u30FC\u5B9A\u7FA9\u5C5E\u6027)",
+                "  -M{N}={L}\u3001--method-attribute={N}={L} (\u30E6\u30FC\u30B6\u30FC\u5B9A\u7FA9\u5C5E\u6027)",
+                "  -D{N}={L}\u3001--code-attribute={N}={L}   (\u30E6\u30FC\u30B6\u30FC\u5B9A\u7FA9\u5C5E\u6027)",
+                "  -f{F}\u3001--config-file={F}        Pack200.Packer\u30D7\u30ED\u30D1\u30C6\u30A3\u306B\u30D5\u30A1\u30A4\u30EBF\u3092\u8AAD\u307F\u8FBC\u307F\u307E\u3059",
+                "  -v\u3001--verbose                   \u30D7\u30ED\u30B0\u30E9\u30E0\u306E\u5197\u9577\u6027\u3092\u9AD8\u3081\u307E\u3059",
+                "  -q\u3001--quiet                     \u5197\u9577\u6027\u3092\u6700\u4F4E\u30EC\u30D9\u30EB\u306B\u8A2D\u5B9A\u3057\u307E\u3059",
+                "  -l{F}\u3001--log-file={F}           \u6307\u5B9A\u306E\u30ED\u30B0\u30FB\u30D5\u30A1\u30A4\u30EB\u307E\u305F\u306FSystem.out ('-'\u306E\u5834\u5408)\u306B\u51FA\u529B\u3057\u307E\u3059",
+                "  -?\u3001-h\u3001--help                  \u3053\u306E\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u51FA\u529B\u3057\u307E\u3059",
+                "  -V\u3001--version                   \u30D7\u30ED\u30B0\u30E9\u30E0\u306E\u30D0\u30FC\u30B8\u30E7\u30F3\u3092\u51FA\u529B\u3057\u307E\u3059",
+                "  -J{X}                           \u30AA\u30D7\u30B7\u30E7\u30F3X\u3092\u57FA\u790E\u3068\u306A\u308BJava VM\u306B\u6E21\u3057\u307E\u3059",
+                "",
+                "\u6CE8\u610F:",
+                "  -P\u3001-C\u3001-F\u3001-M\u304A\u3088\u3073-D\u30AA\u30D7\u30B7\u30E7\u30F3\u306F\u7D2F\u7A4D\u3055\u308C\u307E\u3059\u3002",
+                "  \u5C5E\u6027\u5B9A\u7FA9\u306E\u4F8B:  -C SourceFile=RUH .",
+                "  Config.\u30D5\u30A1\u30A4\u30EB\u30FB\u30D7\u30ED\u30D1\u30C6\u30A3\u306F\u3001Pack200 API\u306B\u3088\u3063\u3066\u5B9A\u7FA9\u3055\u308C\u307E\u3059\u3002",
+                "  -S\u3001-E\u3001-H\u3001-m\u3001-U\u306E\u5024\u306E\u610F\u5473\u306F\u3001Pack200 API\u3092\u53C2\u7167\u3057\u3066\u304F\u3060\u3055\u3044\u3002",
+                "  \u30EC\u30A4\u30A2\u30A6\u30C8\u5B9A\u7FA9(RUH\u306A\u3069)\u306FJSR 200\u306B\u3088\u3063\u3066\u5B9A\u7FA9\u3055\u308C\u307E\u3059\u3002",
+                "",
+                "\u518D\u5727\u7E2E\u30E2\u30FC\u30C9\u3067\u306F\u3001JAR\u30D5\u30A1\u30A4\u30EB\u304C\u5727\u7E2E/\u89E3\u51CD\u30B5\u30A4\u30AF\u30EB\u3067\u66F4\u65B0\u3055\u308C\u307E\u3059:",
+                "    pack200 [-r|--repack] [-opt | --option=value]... [repackedy.jar] y.jar\n"
+            }
+        },
+        {UNPACK_HELP, new String[] {
+                "\u4F7F\u7528\u65B9\u6CD5:  unpack200 [-opt... | --option=value]... x.pack[.gz] y.jar\n",
+                "",
+                "\u89E3\u51CD\u30AA\u30D7\u30B7\u30E7\u30F3",
+                "  -H{h}\u3001--deflate-hint={h}     \u8EE2\u9001\u3055\u308C\u305F\u30C7\u30D5\u30EC\u30FC\u30C8\u30FB\u30D2\u30F3\u30C8\u3092\u30AA\u30FC\u30D0\u30FC\u30E9\u30A4\u30C9\u3057\u307E\u3059: true\u3001false\u307E\u305F\u306Fkeep(\u30C7\u30D5\u30A9\u30EB\u30C8)",
+                "  -r\u3001--remove-pack-file        \u89E3\u51CD\u5F8C\u306B\u5165\u529B\u30D5\u30A1\u30A4\u30EB\u3092\u524A\u9664\u3057\u307E\u3059",
+                "  -v\u3001--verbose                 \u30D7\u30ED\u30B0\u30E9\u30E0\u306E\u5197\u9577\u6027\u3092\u9AD8\u3081\u307E\u3059",
+                "  -q\u3001--quiet                   \u5197\u9577\u6027\u3092\u6700\u4F4E\u30EC\u30D9\u30EB\u306B\u8A2D\u5B9A\u3057\u307E\u3059",
+                "  -l{F}\u3001--log-file={F}         \u6307\u5B9A\u306E\u30ED\u30B0\u30FB\u30D5\u30A1\u30A4\u30EB\u307E\u305F\u306FSystem.out ('-'\u306E\u5834\u5408)\u306B\u51FA\u529B\u3057\u307E\u3059",
+                "  -?\u3001-h\u3001--help                \u3053\u306E\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u51FA\u529B\u3057\u307E\u3059",
+                "  -V\u3001--version                 \u30D7\u30ED\u30B0\u30E9\u30E0\u306E\u30D0\u30FC\u30B8\u30E7\u30F3\u3092\u51FA\u529B\u3057\u307E\u3059",
+                "  -J{X}                         \u30AA\u30D7\u30B7\u30E7\u30F3X\u3092\u57FA\u790E\u3068\u306A\u308BJava VM\u306B\u6E21\u3057\u307E\u3059"
+            }
+        },
+        {MORE_INFO, "(\u8A73\u7D30\u306F\u3001{0} --help\u3092\u5B9F\u884C\u3057\u3066\u304F\u3060\u3055\u3044\u3002)"}, // parameter 0:command name
+        {DUPLICATE_OPTION, "\u91CD\u8907\u30AA\u30D7\u30B7\u30E7\u30F3: {0}"}, // parameter 0:option
+        {BAD_SPEC, "{0}\u306E\u7121\u52B9\u306A\u4ED5\u69D8: {1}"}, // parameter 0:option;parameter 1:specifier
+    };
 
-                {MORE_INFO,"(\u8A73\u7D30\u306F\u3001{0} --help\u3092\u5B9F\u884C\u3057\u3066\u304F\u3060\u3055\u3044\u3002)"},//parameter 0:command name
-                {DUPLICATE_OPTION,"\u91CD\u8907\u30AA\u30D7\u30B7\u30E7\u30F3: {0}"},//parameter 0:option
-                {BAD_SPEC,"{0}\u306E\u7121\u52B9\u306A\u4ED5\u69D8: {1}"},//parameter 0:option;parameter 1:specifier
-        };
-
-        protected Object[][] getContents() {
-                return resource;
-        }
-
-
+    protected Object[][] getContents() {
+        return resource;
+    }
 }
--- a/src/share/classes/com/sun/java/util/jar/pack/DriverResource_zh_CN.java	Mon Dec 23 14:03:25 2013 -0500
+++ b/src/share/classes/com/sun/java/util/jar/pack/DriverResource_zh_CN.java	Mon Dec 23 14:05:20 2013 -0500
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -22,110 +22,99 @@
  * or visit www.oracle.com if you need additional information or have any
  * questions.
  */
-
 package com.sun.java.util.jar.pack;
 
 import java.util.ListResourceBundle;
 
 public class DriverResource_zh_CN extends ListResourceBundle {
-        public static final String VERSION ="VERSION";
-        public static final String BAD_ARGUMENT ="BAD_ARGUMENT";
-        public static final String BAD_OPTION ="BAD_OPTION";
-        public static final String BAD_REPACK_OUTPUT="BAD_REPACK_OUTPUT";
-        public static final String DETECTED_ZIP_COMMENT="DETECTED_ZIP_COMMENT";
-        public static final String SKIP_FOR_REPACKED ="SKIP_FOR_REPACKED";
-        public static final String WRITE_PACK_FILE ="WRITE_PACK_FILE";
-        public static final String WIRTE_PACKGZ_FILE="WIRTE_PACKGZ_FILE";
-        public static final String SKIP_FOR_MOVE_FAILED="SKIP_FOR_MOVE_FAILED";
-        public static final String PACK_HELP="PACK_HELP";
-        public static final String UNPACK_HELP ="UNPACK_HELP";
-        public static final String MORE_INFO = "MORE_INFO";
-        public static final String DUPLICATE_OPTION = "DUPLICATE_OPTION";
-        public static final String BAD_SPEC = "BAD_SPEC";
 
-        //The following string is duplicate in PACK and UNPACK comment,which was draw out to ruduce translation work.
-        private static final String PARAMETER_V = "  -v, --verbose                   increase program verbosity";
-        private static final String PARAMETER_Q = "  -q, --quiet                     set verbosity to lowest level";
-        private static final String PARAMETER_LF = "  -l{F}, --log-file={F}           output to the given log file, or '-' for System.out";
-        private static final String PARAMETER_H = "  -?, -h, --help                  print this message";
-        private static final String PARAMETER_VER = "  -V, --version                   print program version";
-        private static final String PARAMETER_J = "  -J{X}                           pass option X to underlying Java VM";
-
+    public static final String VERSION = "VERSION";
+    public static final String BAD_ARGUMENT = "BAD_ARGUMENT";
+    public static final String BAD_OPTION = "BAD_OPTION";
+    public static final String BAD_REPACK_OUTPUT = "BAD_REPACK_OUTPUT";
+    public static final String DETECTED_ZIP_COMMENT = "DETECTED_ZIP_COMMENT";
+    public static final String SKIP_FOR_REPACKED = "SKIP_FOR_REPACKED";
+    public static final String WRITE_PACK_FILE = "WRITE_PACK_FILE";
+    public static final String WRITE_PACKGZ_FILE = "WRITE_PACKGZ_FILE";
+    public static final String SKIP_FOR_MOVE_FAILED = "SKIP_FOR_MOVE_FAILED";
+    public static final String PACK_HELP = "PACK_HELP";
+    public static final String UNPACK_HELP = "UNPACK_HELP";
+    public static final String MORE_INFO = "MORE_INFO";
+    public static final String DUPLICATE_OPTION = "DUPLICATE_OPTION";
+    public static final String BAD_SPEC = "BAD_SPEC";
 
-        //The following are outputs of command 'pack200' and 'unpack200'.
-        //Don't translate command arguments ,words with a prefix of '-' or '--'.
-        //
-        private static final Object[][] resource= {
-                {VERSION,"{0}\u7248\u672C{1}"},//parameter 0:class name;parameter 1: version value
-                {BAD_ARGUMENT,"\u9519\u8BEF\u53C2\u6570: {0}"},
-                {BAD_OPTION,"\u9519\u8BEF\u9009\u9879: {0}={1}"},//parameter 0:option name;parameter 1:option value
-                {BAD_REPACK_OUTPUT,"--repack \u8F93\u51FA\u9519\u8BEF: {0}"},//parameter 0:filename
-                {DETECTED_ZIP_COMMENT,"\u68C0\u6D4B\u5230 ZIP \u6CE8\u91CA: {0}"},//parameter 0:comment
-                {SKIP_FOR_REPACKED,"\u7531\u4E8E\u5DF2\u91CD\u65B0\u6253\u5305\u800C\u8DF3\u8FC7: {0}"},//parameter 0:filename
-                {WRITE_PACK_FILE,"\u8981\u5199\u5165 *.pack \u6587\u4EF6, \u8BF7\u6307\u5B9A --no-gzip: {0}"},//parameter 0:filename
-                {WIRTE_PACKGZ_FILE,"\u8981\u5199\u5165 *.pack.gz \u6587\u4EF6, \u8BF7\u6307\u5B9A --gzip: {0}"},//parameter 0:filename
-                {SKIP_FOR_MOVE_FAILED,"\u7531\u4E8E\u79FB\u52A8\u5931\u8D25\u800C\u8DF3\u8FC7\u91CD\u65B0\u6253\u5305: {0}"},//parameter 0:filename
-                {PACK_HELP,new String[]{
-                                "\u7528\u6CD5:  pack200 [-opt... | --option=value]... x.pack[.gz] y.jar",
-                                "",
-                                "\u6253\u5305\u9009\u9879",
-                                "  -g, --no-gzip                   \u8F93\u51FA\u65E0\u683C\u5F0F\u7684 *.pack \u6587\u4EF6, \u4E0D\u538B\u7F29",
-                                "  --gzip                          (\u9ED8\u8BA4\u503C) \u4F7F\u7528 gzip \u5BF9\u6253\u5305\u8FDB\u884C\u540E\u5904\u7406",
-                                "  -G, --strip-debug               \u6253\u5305\u65F6\u5220\u9664\u8C03\u8BD5\u5C5E\u6027",
-                                "  -O, --no-keep-file-order        \u4E0D\u4F20\u8F93\u6587\u4EF6\u6392\u5E8F\u4FE1\u606F",
-                                "  --keep-file-order               (\u9ED8\u8BA4\u503C) \u4FDD\u7559\u8F93\u5165\u6587\u4EF6\u6392\u5E8F",
-                                "  -S{N}, --segment-limit={N}      \u8F93\u51FA\u6BB5\u9650\u5236 (\u9ED8\u8BA4\u503C N=1Mb)",
-                                "  -E{N}, --effort={N}             \u6253\u5305\u6548\u679C (\u9ED8\u8BA4\u503C N=5)",
-                                "  -H{h}, --deflate-hint={h}       \u4F20\u8F93\u538B\u7F29\u63D0\u793A: true, false \u6216 keep (\u9ED8\u8BA4\u503C)",
-                                "  -m{V}, --modification-time={V}  \u4F20\u8F93 modtimes: latest \u6216 keep (\u9ED8\u8BA4\u503C)",
-                                "  -P{F}, --pass-file={F}          \u4F20\u8F93\u672A\u89E3\u538B\u7F29\u7684\u7ED9\u5B9A\u8F93\u5165\u5143\u7D20",
-                                "  -U{a}, --unknown-attribute={a}  \u672A\u77E5\u5C5E\u6027\u64CD\u4F5C: error, strip \u6216 pass (\u9ED8\u8BA4\u503C)",
-                                "  -C{N}={L}, --class-attribute={N}={L}  (\u7528\u6237\u5B9A\u4E49\u7684\u5C5E\u6027)",
-                                "  -F{N}={L}, --field-attribute={N}={L}  (\u7528\u6237\u5B9A\u4E49\u7684\u5C5E\u6027)",
-                                "  -M{N}={L}, --method-attribute={N}={L} (\u7528\u6237\u5B9A\u4E49\u7684\u5C5E\u6027)",
-                                "  -D{N}={L}, --code-attribute={N}={L}   (\u7528\u6237\u5B9A\u4E49\u7684\u5C5E\u6027)",
-                                "  -f{F}, --config-file={F}        \u8BFB\u53D6\u6587\u4EF6 F \u7684 Pack200.Packer \u5C5E\u6027",
-                                PARAMETER_V ,
-                                PARAMETER_Q ,
-                                PARAMETER_LF ,
-                                PARAMETER_H ,
-                                PARAMETER_VER ,
-                                PARAMETER_J,
-                                "",
-                                "\u6CE8:",
-                                "  -P, -C, -F, -M \u548C -D \u9009\u9879\u7D2F\u8BA1\u3002",
-                                "  \u793A\u4F8B\u5C5E\u6027\u5B9A\u4E49:  -C SourceFile=RUH\u3002",
-                                "  Config. \u6587\u4EF6\u5C5E\u6027\u7531 Pack200 API \u5B9A\u4E49\u3002",
-                                "  \u6709\u5173 -S, -E, -H-, -m, -U \u503C\u7684\u542B\u4E49, \u8BF7\u53C2\u9605 Pack200 API\u3002",
-                                "  \u5E03\u5C40\u5B9A\u4E49 (\u4F8B\u5982 RUH) \u7531 JSR 200 \u5B9A\u4E49\u3002",
-                                "",
-                                "\u91CD\u65B0\u6253\u5305\u6A21\u5F0F\u901A\u8FC7\u6253\u5305/\u89E3\u5305\u5468\u671F\u66F4\u65B0 JAR \u6587\u4EF6:",
-                                "    pack200 [-r|--repack] [-opt | --option=value]... [repackedy.jar] y.jar\n"
-                                }
-                },
-                {UNPACK_HELP,new String[]{
-                                "\u7528\u6CD5:  unpack200 [-opt... | --option=value]... x.pack[.gz] y.jar\n",
-                                "",
-                                "\u89E3\u5305\u9009\u9879",
-                                "  -H{h}, --deflate-hint={h}     \u8986\u76D6\u5DF2\u4F20\u8F93\u7684\u538B\u7F29\u63D0\u793A: true, false \u6216 keep (\u9ED8\u8BA4\u503C)",
-                                "  -r, --remove-pack-file        \u89E3\u5305\u4E4B\u540E\u5220\u9664\u8F93\u5165\u6587\u4EF6",
-                                PARAMETER_V ,
-                                PARAMETER_Q ,
-                                PARAMETER_LF ,
-                                PARAMETER_H ,
-                                PARAMETER_VER ,
-                                PARAMETER_J,
-                            }
-                },
+    /*
+     * The following are the output of 'pack200' and 'unpack200' commands.
+     * Do not translate command arguments and words with a prefix of '-' or '--'.
+     */
+    private static final Object[][] resource = {
+        {VERSION, "{0}\u7248\u672C{1}"}, // parameter 0:class name;parameter 1: version value
+        {BAD_ARGUMENT, "\u9519\u8BEF\u53C2\u6570: {0}"},
+        {BAD_OPTION, "\u9519\u8BEF\u9009\u9879: {0}={1}"}, // parameter 0:option name;parameter 1:option value
+        {BAD_REPACK_OUTPUT, "--repack \u8F93\u51FA\u9519\u8BEF: {0}"}, // parameter 0:filename
+        {DETECTED_ZIP_COMMENT, "\u68C0\u6D4B\u5230 ZIP \u6CE8\u91CA: {0}"}, // parameter 0:comment
+        {SKIP_FOR_REPACKED, "\u7531\u4E8E\u5DF2\u91CD\u65B0\u6253\u5305\u800C\u8DF3\u8FC7: {0}"}, // parameter 0:filename
+        {WRITE_PACK_FILE, "\u8981\u5199\u5165 *.pack \u6587\u4EF6, \u8BF7\u6307\u5B9A --no-gzip: {0}"}, // parameter 0:filename
+        {WRITE_PACKGZ_FILE, "\u8981\u5199\u5165 *.pack.gz \u6587\u4EF6, \u8BF7\u6307\u5B9A --gzip: {0}"}, // parameter 0:filename
+        {SKIP_FOR_MOVE_FAILED, "\u7531\u4E8E\u79FB\u52A8\u5931\u8D25\u800C\u8DF3\u8FC7\u91CD\u65B0\u6253\u5305: {0}"}, // parameter 0:filename
+        {PACK_HELP, new String[] {
+                "\u7528\u6CD5:  pack200 [-opt... | --option=value]... x.pack[.gz] y.jar",
+                "",
+                "\u6253\u5305\u9009\u9879",
+                "  -g, --no-gzip                   \u8F93\u51FA\u65E0\u683C\u5F0F\u7684 *.pack \u6587\u4EF6, \u4E0D\u538B\u7F29",
+                "  --gzip                          (\u9ED8\u8BA4\u503C) \u4F7F\u7528 gzip \u5BF9\u6253\u5305\u8FDB\u884C\u540E\u5904\u7406",
+                "  -G, --strip-debug               \u6253\u5305\u65F6\u5220\u9664\u8C03\u8BD5\u5C5E\u6027",
+                "  -O, --no-keep-file-order        \u4E0D\u4F20\u8F93\u6587\u4EF6\u6392\u5E8F\u4FE1\u606F",
+                "  --keep-file-order               (\u9ED8\u8BA4\u503C) \u4FDD\u7559\u8F93\u5165\u6587\u4EF6\u6392\u5E8F",
+                "  -S{N}, --segment-limit={N}      \u8F93\u51FA\u6BB5\u9650\u5236 (\u9ED8\u8BA4\u503C N=1Mb)",
+                "  -E{N}, --effort={N}             \u6253\u5305\u6548\u679C (\u9ED8\u8BA4\u503C N=5)",
+                "  -H{h}, --deflate-hint={h}       \u4F20\u8F93\u538B\u7F29\u63D0\u793A: true, false \u6216 keep (\u9ED8\u8BA4\u503C)",
+                "  -m{V}, --modification-time={V}  \u4F20\u8F93 modtimes: latest \u6216 keep (\u9ED8\u8BA4\u503C)",
+                "  -P{F}, --pass-file={F}          \u4F20\u8F93\u672A\u89E3\u538B\u7F29\u7684\u7ED9\u5B9A\u8F93\u5165\u5143\u7D20",
+                "  -U{a}, --unknown-attribute={a}  \u672A\u77E5\u5C5E\u6027\u64CD\u4F5C: error, strip \u6216 pass (\u9ED8\u8BA4\u503C)",
+                "  -C{N}={L}, --class-attribute={N}={L}  (\u7528\u6237\u5B9A\u4E49\u7684\u5C5E\u6027)",
+                "  -F{N}={L}, --field-attribute={N}={L}  (\u7528\u6237\u5B9A\u4E49\u7684\u5C5E\u6027)",
+                "  -M{N}={L}, --method-attribute={N}={L} (\u7528\u6237\u5B9A\u4E49\u7684\u5C5E\u6027)",
+                "  -D{N}={L}, --code-attribute={N}={L}   (\u7528\u6237\u5B9A\u4E49\u7684\u5C5E\u6027)",
+                "  -f{F}, --config-file={F}        \u8BFB\u53D6\u6587\u4EF6 F \u7684 Pack200.Packer \u5C5E\u6027",
+                "  -v, --verbose                   \u63D0\u9AD8\u7A0B\u5E8F\u8BE6\u7EC6\u7A0B\u5EA6",
+                "  -q, --quiet                     \u5C06\u8BE6\u7EC6\u7A0B\u5EA6\u8BBE\u7F6E\u4E3A\u6700\u4F4E\u7EA7\u522B",
+                "  -l{F}, --log-file={F}           \u8F93\u51FA\u5230\u7ED9\u5B9A\u65E5\u5FD7\u6587\u4EF6, \u6216\u5BF9\u4E8E System.out \u6307\u5B9A '-'",
+                "  -?, -h, --help                  \u8F93\u51FA\u6B64\u6D88\u606F",
+                "  -V, --version                   \u8F93\u51FA\u7A0B\u5E8F\u7248\u672C",
+                "  -J{X}                           \u5C06\u9009\u9879 X \u4F20\u9012\u7ED9\u57FA\u7840 Java VM",
+                "",
+                "\u6CE8:",
+                "  -P, -C, -F, -M \u548C -D \u9009\u9879\u7D2F\u8BA1\u3002",
+                "  \u793A\u4F8B\u5C5E\u6027\u5B9A\u4E49:  -C SourceFile=RUH\u3002",
+                "  Config. \u6587\u4EF6\u5C5E\u6027\u7531 Pack200 API \u5B9A\u4E49\u3002",
+                "  \u6709\u5173 -S, -E, -H-, -m, -U \u503C\u7684\u542B\u4E49, \u8BF7\u53C2\u9605 Pack200 API\u3002",
+                "  \u5E03\u5C40\u5B9A\u4E49 (\u4F8B\u5982 RUH) \u7531 JSR 200 \u5B9A\u4E49\u3002",
+                "",
+                "\u91CD\u65B0\u6253\u5305\u6A21\u5F0F\u901A\u8FC7\u6253\u5305/\u89E3\u5305\u5468\u671F\u66F4\u65B0 JAR \u6587\u4EF6:",
+                "    pack200 [-r|--repack] [-opt | --option=value]... [repackedy.jar] y.jar\n"
+            }
+        },
+        {UNPACK_HELP, new String[] {
+                "\u7528\u6CD5:  unpack200 [-opt... | --option=value]... x.pack[.gz] y.jar\n",
+                "",
+                "\u89E3\u5305\u9009\u9879",
+                "  -H{h}, --deflate-hint={h}     \u8986\u76D6\u5DF2\u4F20\u8F93\u7684\u538B\u7F29\u63D0\u793A: true, false \u6216 keep (\u9ED8\u8BA4\u503C)",
+                "  -r, --remove-pack-file        \u89E3\u5305\u4E4B\u540E\u5220\u9664\u8F93\u5165\u6587\u4EF6",
+                "  -v, --verbose                   \u63D0\u9AD8\u7A0B\u5E8F\u8BE6\u7EC6\u7A0B\u5EA6",
+                "  -q, --quiet                     \u5C06\u8BE6\u7EC6\u7A0B\u5EA6\u8BBE\u7F6E\u4E3A\u6700\u4F4E\u7EA7\u522B",
+                "  -l{F}, --log-file={F}         \u8F93\u51FA\u5230\u7ED9\u5B9A\u65E5\u5FD7\u6587\u4EF6, \u6216\u5BF9\u4E8E System.out \u6307\u5B9A '-'",
+                "  -?, -h, --help                \u8F93\u51FA\u6B64\u6D88\u606F",
+                "  -V, --version                 \u8F93\u51FA\u7A0B\u5E8F\u7248\u672C",
+                "  -J{X}                         \u5C06\u9009\u9879 X \u4F20\u9012\u7ED9\u57FA\u7840 Java VM"
+            }
+        },
+        {MORE_INFO, "(\u6709\u5173\u8BE6\u7EC6\u4FE1\u606F, \u8BF7\u8FD0\u884C {0} --help\u3002)"}, // parameter 0:command name
+        {DUPLICATE_OPTION, "\u91CD\u590D\u7684\u9009\u9879: {0}"}, // parameter 0:option
+        {BAD_SPEC, "{0}\u7684\u89C4\u8303\u9519\u8BEF: {1}"}, // parameter 0:option;parameter 1:specifier
+    };
 
-                {MORE_INFO,"(\u6709\u5173\u8BE6\u7EC6\u4FE1\u606F, \u8BF7\u8FD0\u884C {0} --help\u3002)"},//parameter 0:command name
-                {DUPLICATE_OPTION,"\u91CD\u590D\u7684\u9009\u9879: {0}"},//parameter 0:option
-                {BAD_SPEC,"{0}\u7684\u89C4\u8303\u9519\u8BEF: {1}"},//parameter 0:option;parameter 1:specifier
-        };
-
-        protected Object[][] getContents() {
-                return resource;
-        }
-
-
+    protected Object[][] getContents() {
+        return resource;
+    }
 }
--- a/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_de.properties	Mon Dec 23 14:03:25 2013 -0500
+++ b/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_de.properties	Mon Dec 23 14:05:20 2013 -0500
@@ -143,12 +143,12 @@
 InternalFrame.closeButtonToolTip=Schlie\u00DFen
 
 ############ Internal Frame Title Pane Strings ############
-InternalFrameTitlePane.restoreButton.textAndMnemonic=Wiede&rherstellen
-InternalFrameTitlePane.moveButton.textAndMnemonic=Verschieben(&M)
-InternalFrameTitlePane.sizeButton.textAndMnemonic=Gr\u00F6\u00DFe(&S)
+InternalFrameTitlePane.restoreButton.textAndMnemonic=&Wiederherstellen
+InternalFrameTitlePane.moveButton.textAndMnemonic=&Verschieben
+InternalFrameTitlePane.sizeButton.textAndMnemonic=&Gr\u00F6\u00DFe
 InternalFrameTitlePane.minimizeButton.textAndMnemonic=Mi&nimieren
 InternalFrameTitlePane.maximizeButton.textAndMnemonic=Ma&ximieren
-InternalFrameTitlePane.closeButton.textAndMnemonic=S&chlie\u00DFen
+InternalFrameTitlePane.closeButton.textAndMnemonic=&Schlie\u00DFen
 
 ############ Text strings #############
 # Used for html forms
--- a/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_es.properties	Mon Dec 23 14:03:25 2013 -0500
+++ b/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_es.properties	Mon Dec 23 14:05:20 2013 -0500
@@ -145,7 +145,7 @@
 ############ Internal Frame Title Pane Strings ############
 InternalFrameTitlePane.restoreButton.textAndMnemonic=&Restaurar
 InternalFrameTitlePane.moveButton.textAndMnemonic=&Mover
-InternalFrameTitlePane.sizeButton.textAndMnemonic=Tama\u00F1o(&S)
+InternalFrameTitlePane.sizeButton.textAndMnemonic=&Tama\u00F1o
 InternalFrameTitlePane.minimizeButton.textAndMnemonic=Mi&nimizar
 InternalFrameTitlePane.maximizeButton.textAndMnemonic=Ma&ximizar
 InternalFrameTitlePane.closeButton.textAndMnemonic=&Cerrar
--- a/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_fr.properties	Mon Dec 23 14:03:25 2013 -0500
+++ b/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_fr.properties	Mon Dec 23 14:05:20 2013 -0500
@@ -144,11 +144,11 @@
 
 ############ Internal Frame Title Pane Strings ############
 InternalFrameTitlePane.restoreButton.textAndMnemonic=&Restaurer
-InternalFrameTitlePane.moveButton.textAndMnemonic=D\u00E9placer(&M)
-InternalFrameTitlePane.sizeButton.textAndMnemonic=Taille(&S)
-InternalFrameTitlePane.minimizeButton.textAndMnemonic=R\u00E9duire(&N)
-InternalFrameTitlePane.maximizeButton.textAndMnemonic=Agrandir(&X)
-InternalFrameTitlePane.closeButton.textAndMnemonic=Fermer(&C)
+InternalFrameTitlePane.moveButton.textAndMnemonic=D\u00E9p&lacer
+InternalFrameTitlePane.sizeButton.textAndMnemonic=Re&dimensionner
+InternalFrameTitlePane.minimizeButton.textAndMnemonic=&R\u00E9duire
+InternalFrameTitlePane.maximizeButton.textAndMnemonic=&Agrandir
+InternalFrameTitlePane.closeButton.textAndMnemonic=&Fermer
 
 ############ Text strings #############
 # Used for html forms
--- a/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_it.properties	Mon Dec 23 14:03:25 2013 -0500
+++ b/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_it.properties	Mon Dec 23 14:05:20 2013 -0500
@@ -144,10 +144,10 @@
 
 ############ Internal Frame Title Pane Strings ############
 InternalFrameTitlePane.restoreButton.textAndMnemonic=&Ripristina
-InternalFrameTitlePane.moveButton.textAndMnemonic=Sposta(&M)
-InternalFrameTitlePane.sizeButton.textAndMnemonic=Dimen&sioni
-InternalFrameTitlePane.minimizeButton.textAndMnemonic=Riduci a ico&na
-InternalFrameTitlePane.maximizeButton.textAndMnemonic=Ingrandisci(&X)
+InternalFrameTitlePane.moveButton.textAndMnemonic=&Sposta
+InternalFrameTitlePane.sizeButton.textAndMnemonic=R&idimensiona
+InternalFrameTitlePane.minimizeButton.textAndMnemonic=Ri&duci a icona
+InternalFrameTitlePane.maximizeButton.textAndMnemonic=In&grandisci
 InternalFrameTitlePane.closeButton.textAndMnemonic=&Chiudi
 
 ############ Text strings #############
--- a/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_pt_BR.properties	Mon Dec 23 14:03:25 2013 -0500
+++ b/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_pt_BR.properties	Mon Dec 23 14:05:20 2013 -0500
@@ -145,10 +145,10 @@
 ############ Internal Frame Title Pane Strings ############
 InternalFrameTitlePane.restoreButton.textAndMnemonic=&Restaurar
 InternalFrameTitlePane.moveButton.textAndMnemonic=&Mover
-InternalFrameTitlePane.sizeButton.textAndMnemonic=Tamanho(&S)
+InternalFrameTitlePane.sizeButton.textAndMnemonic=&Dimensionar
 InternalFrameTitlePane.minimizeButton.textAndMnemonic=Mi&nimizar
 InternalFrameTitlePane.maximizeButton.textAndMnemonic=Ma&ximizar
-InternalFrameTitlePane.closeButton.textAndMnemonic=Fe&char
+InternalFrameTitlePane.closeButton.textAndMnemonic=&Fechar
 
 ############ Text strings #############
 # Used for html forms
--- a/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_sv.properties	Mon Dec 23 14:03:25 2013 -0500
+++ b/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_sv.properties	Mon Dec 23 14:05:20 2013 -0500
@@ -143,12 +143,12 @@
 InternalFrame.closeButtonToolTip=St\u00E4ng
 
 ############ Internal Frame Title Pane Strings ############
-InternalFrameTitlePane.restoreButton.textAndMnemonic=\u00C5terst\u00E4ll(&R)
-InternalFrameTitlePane.moveButton.textAndMnemonic=Flytta(&M)
+InternalFrameTitlePane.restoreButton.textAndMnemonic=&\u00C5terst\u00E4ll
+InternalFrameTitlePane.moveButton.textAndMnemonic=&Flytta
 InternalFrameTitlePane.sizeButton.textAndMnemonic=&Storlek
 InternalFrameTitlePane.minimizeButton.textAndMnemonic=Mi&nimera
 InternalFrameTitlePane.maximizeButton.textAndMnemonic=Ma&ximera
-InternalFrameTitlePane.closeButton.textAndMnemonic=St\u00E4ng(&C)
+InternalFrameTitlePane.closeButton.textAndMnemonic=&St\u00E4ng
 
 ############ Text strings #############
 # Used for html forms
--- a/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_zh_TW.properties	Mon Dec 23 14:03:25 2013 -0500
+++ b/src/share/classes/com/sun/swing/internal/plaf/basic/resources/basic_zh_TW.properties	Mon Dec 23 14:05:20 2013 -0500
@@ -143,9 +143,9 @@
 InternalFrame.closeButtonToolTip=\u95DC\u9589
 
 ############ Internal Frame Title Pane Strings ############
-InternalFrameTitlePane.restoreButton.textAndMnemonic=\u5FA9\u539F(&R)
+InternalFrameTitlePane.restoreButton.textAndMnemonic=\u56DE\u5FA9(&R)
 InternalFrameTitlePane.moveButton.textAndMnemonic=\u79FB\u52D5(&M)
-InternalFrameTitlePane.sizeButton.textAndMnemonic=\u5927\u5C0F(&S)
+InternalFrameTitlePane.sizeButton.textAndMnemonic=\u8ABF\u6574\u5927\u5C0F(&S)
 InternalFrameTitlePane.minimizeButton.textAndMnemonic=\u6700\u5C0F\u5316(&N)
 InternalFrameTitlePane.maximizeButton.textAndMnemonic=\u6700\u5927\u5316(&X)
 InternalFrameTitlePane.closeButton.textAndMnemonic=\u95DC\u9589(&C)
--- a/src/share/classes/java/time/Duration.java	Mon Dec 23 14:03:25 2013 -0500
+++ b/src/share/classes/java/time/Duration.java	Mon Dec 23 14:05:20 2013 -0500
@@ -74,7 +74,7 @@
 import java.io.DataOutput;
 import java.io.IOException;
 import java.io.InvalidObjectException;
-import java.io.InvalidObjectException;
+import java.io.ObjectInputStream;
 import java.io.Serializable;
 import java.math.BigDecimal;
 import java.math.BigInteger;
@@ -1325,10 +1325,10 @@
 
     /**
      * Defend against malicious streams.
-     * @return never
+     *
      * @throws InvalidObjectException always
      */
-    private Object readResolve() throws InvalidObjectException {
+    private void readObject(ObjectInputStream s) throws InvalidObjectException {
         throw new InvalidObjectException("Deserialization via serialization delegate");
     }
 
--- a/src/share/classes/java/time/Instant.java	Mon Dec 23 14:03:25 2013 -0500
+++ b/src/share/classes/java/time/Instant.java	Mon Dec 23 14:05:20 2013 -0500
@@ -76,6 +76,7 @@
 import java.io.DataOutput;
 import java.io.IOException;
 import java.io.InvalidObjectException;
+import java.io.ObjectInputStream;
 import java.io.Serializable;
 import java.time.format.DateTimeFormatter;
 import java.time.format.DateTimeParseException;
@@ -1346,10 +1347,10 @@
 
     /**
      * Defend against malicious streams.
-     * @return never
+     *
      * @throws InvalidObjectException always
      */
-    private Object readResolve() throws InvalidObjectException {
+    private void readObject(ObjectInputStream s) throws InvalidObjectException {
         throw new InvalidObjectException("Deserialization via serialization delegate");
     }
 
--- a/src/share/classes/java/time/LocalDate.java	Mon Dec 23 14:03:25 2013 -0500
+++ b/src/share/classes/java/time/LocalDate.java	Mon Dec 23 14:05:20 2013 -0500
@@ -78,6 +78,7 @@
 import java.io.DataOutput;
 import java.io.IOException;
 import java.io.InvalidObjectException;
+import java.io.ObjectInputStream;
 import java.io.Serializable;
 import java.time.chrono.ChronoLocalDate;
 import java.time.chrono.Era;
@@ -2051,10 +2052,10 @@
 
     /**
      * Defend against malicious streams.
-     * @return never
+     *
      * @throws InvalidObjectException always
      */
-    private Object readResolve() throws InvalidObjectException {
+    private void readObject(ObjectInputStream s) throws InvalidObjectException {
         throw new InvalidObjectException("Deserialization via serialization delegate");
     }
 
--- a/src/share/classes/java/time/LocalDateTime.java	Mon Dec 23 14:03:25 2013 -0500
+++ b/src/share/classes/java/time/LocalDateTime.java	Mon Dec 23 14:05:20 2013 -0500
@@ -76,6 +76,7 @@
 import java.io.DataOutput;
 import java.io.IOException;
 import java.io.InvalidObjectException;
+import java.io.ObjectInputStream;
 import java.io.Serializable;
 import java.time.chrono.ChronoLocalDateTime;
 import java.time.format.DateTimeFormatter;
@@ -1984,10 +1985,10 @@
 
     /**
      * Defend against malicious streams.
-     * @return never
+     *
      * @throws InvalidObjectException always
      */
-    private Object readResolve() throws InvalidObjectException {
+    private void readObject(ObjectInputStream s) throws InvalidObjectException {
         throw new InvalidObjectException("Deserialization via serialization delegate");
     }
 
--- a/src/share/classes/java/time/LocalTime.java	Mon Dec 23 14:03:25 2013 -0500
+++ b/src/share/classes/java/time/LocalTime.java	Mon Dec 23 14:05:20 2013 -0500
@@ -74,6 +74,7 @@
 import java.io.DataOutput;
 import java.io.IOException;
 import java.io.InvalidObjectException;
+import java.io.ObjectInputStream;
 import java.io.Serializable;
 import java.time.format.DateTimeFormatter;
 import java.time.format.DateTimeParseException;
@@ -1636,10 +1637,10 @@
 
     /**
      * Defend against malicious streams.
-     * @return never
+     *
      * @throws InvalidObjectException always
      */
-    private Object readResolve() throws InvalidObjectException {
+    private void readObject(ObjectInputStream s) throws InvalidObjectException {
         throw new InvalidObjectException("Deserialization via serialization delegate");
     }
 
--- a/src/share/classes/java/time/MonthDay.java	Mon Dec 23 14:03:25 2013 -0500
+++ b/src/share/classes/java/time/MonthDay.java	Mon Dec 23 14:05:20 2013 -0500
@@ -68,6 +68,7 @@
 import java.io.DataOutput;
 import java.io.IOException;
 import java.io.InvalidObjectException;
+import java.io.ObjectInputStream;
 import java.io.Serializable;
 import java.time.chrono.Chronology;
 import java.time.chrono.IsoChronology;
@@ -769,10 +770,10 @@
 
     /**
      * Defend against malicious streams.
-     * @return never
+     *
      * @throws InvalidObjectException always
      */
-    private Object readResolve() throws InvalidObjectException {
+    private void readObject(ObjectInputStream s) throws InvalidObjectException {
         throw new InvalidObjectException("Deserialization via serialization delegate");
     }
 
--- a/src/share/classes/java/time/OffsetDateTime.java	Mon Dec 23 14:03:25 2013 -0500
+++ b/src/share/classes/java/time/OffsetDateTime.java	Mon Dec 23 14:05:20 2013 -0500
@@ -72,6 +72,7 @@
 import java.io.ObjectInput;
 import java.io.ObjectOutput;
 import java.io.InvalidObjectException;
+import java.io.ObjectInputStream;
 import java.io.Serializable;
 import java.time.chrono.IsoChronology;
 import java.time.format.DateTimeFormatter;
@@ -1923,10 +1924,10 @@
 
     /**
      * Defend against malicious streams.
-     * @return never
+     *
      * @throws InvalidObjectException always
      */
-    private Object readResolve() throws InvalidObjectException {
+    private void readObject(ObjectInputStream s) throws InvalidObjectException {
         throw new InvalidObjectException("Deserialization via serialization delegate");
     }
 
--- a/src/share/classes/java/time/OffsetTime.java	Mon Dec 23 14:03:25 2013 -0500
+++ b/src/share/classes/java/time/OffsetTime.java	Mon Dec 23 14:05:20 2013 -0500
@@ -73,6 +73,7 @@
 import java.io.ObjectInput;
 import java.io.ObjectOutput;
 import java.io.InvalidObjectException;
+import java.io.ObjectInputStream;
 import java.io.Serializable;
 import java.time.format.DateTimeFormatter;
 import java.time.format.DateTimeParseException;
@@ -1394,10 +1395,10 @@
 
     /**
      * Defend against malicious streams.
-     * @return never
+     *
      * @throws InvalidObjectException always
      */
-    private Object readResolve() throws InvalidObjectException {
+    private void readObject(ObjectInputStream s) throws InvalidObjectException {
         throw new InvalidObjectException("Deserialization via serialization delegate");
     }
 
--- a/src/share/classes/java/time/Period.java	Mon Dec 23 14:03:25 2013 -0500
+++ b/src/share/classes/java/time/Period.java	Mon Dec 23 14:05:20 2013 -0500
@@ -69,6 +69,7 @@
 import java.io.DataOutput;
 import java.io.IOException;
 import java.io.InvalidObjectException;
+import java.io.ObjectInputStream;
 import java.io.Serializable;
 import java.time.chrono.ChronoLocalDate;
 import java.time.chrono.ChronoPeriod;
@@ -1056,10 +1057,10 @@
 
     /**
      * Defend against malicious streams.
-     * @return never
+     *
      * @throws java.io.InvalidObjectException always
      */
-    private Object readResolve() throws InvalidObjectException {
+    private void readObject(ObjectInputStream s) throws InvalidObjectException {
         throw new InvalidObjectException("Deserialization via serialization delegate");
     }
 
--- a/src/share/classes/java/time/Year.java	Mon Dec 23 14:03:25 2013 -0500
+++ b/src/share/classes/java/time/Year.java	Mon Dec 23 14:05:20 2013 -0500
@@ -74,6 +74,7 @@
 import java.io.DataOutput;
 import java.io.IOException;
 import java.io.InvalidObjectException;
+import java.io.ObjectInputStream;
 import java.io.Serializable;
 import java.time.chrono.Chronology;
 import java.time.chrono.IsoChronology;
@@ -1102,10 +1103,10 @@
 
     /**
      * Defend against malicious streams.
-     * @return never
+     *
      * @throws InvalidObjectException always
      */
-    private Object readResolve() throws InvalidObjectException {
+    private void readObject(ObjectInputStream s) throws InvalidObjectException {
         throw new InvalidObjectException("Deserialization via serialization delegate");
     }
 
--- a/src/share/classes/java/time/YearMonth.java	Mon Dec 23 14:03:25 2013 -0500
+++ b/src/share/classes/java/time/YearMonth.java	Mon Dec 23 14:05:20 2013 -0500
@@ -77,6 +77,7 @@
 import java.io.DataOutput;
 import java.io.IOException;
 import java.io.InvalidObjectException;
+import java.io.ObjectInputStream;
 import java.io.Serializable;
 import java.time.chrono.Chronology;
 import java.time.chrono.IsoChronology;
@@ -1228,10 +1229,10 @@
 
     /**
      * Defend against malicious streams.
-     * @return never
+     *
      * @throws InvalidObjectException always
      */
-    private Object readResolve() throws InvalidObjectException {
+    private void readObject(ObjectInputStream s) throws InvalidObjectException {
         throw new InvalidObjectException("Deserialization via serialization delegate");
     }
 
--- a/src/share/classes/java/time/ZoneId.java	Mon Dec 23 14:03:25 2013 -0500
+++ b/src/share/classes/java/time/ZoneId.java	Mon Dec 23 14:05:20 2013 -0500
@@ -64,6 +64,7 @@
 import java.io.DataOutput;
 import java.io.IOException;
 import java.io.InvalidObjectException;
+import java.io.ObjectInputStream;
 import java.io.Serializable;
 import java.time.format.DateTimeFormatterBuilder;
 import java.time.format.TextStyle;
@@ -622,10 +623,10 @@
     //-----------------------------------------------------------------------
     /**
      * Defend against malicious streams.
-     * @return never
+     *
      * @throws InvalidObjectException always
      */
-    private Object readResolve() throws InvalidObjectException {
+    private void readObject(ObjectInputStream s) throws InvalidObjectException {
         throw new InvalidObjectException("Deserialization via serialization delegate");
     }
 
--- a/src/share/classes/java/time/ZoneOffset.java	Mon Dec 23 14:03:25 2013 -0500
+++ b/src/share/classes/java/time/ZoneOffset.java	Mon Dec 23 14:05:20 2013 -0500
@@ -70,6 +70,7 @@
 import java.io.DataOutput;
 import java.io.IOException;
 import java.io.InvalidObjectException;
+import java.io.ObjectInputStream;
 import java.io.Serializable;
 import java.time.temporal.ChronoField;
 import java.time.temporal.Temporal;
@@ -767,10 +768,10 @@
 
     /**
      * Defend against malicious streams.
-     * @return never
+     *
      * @throws InvalidObjectException always
      */
-    private Object readResolve() throws InvalidObjectException {
+    private void readObject(ObjectInputStream s) throws InvalidObjectException {
         throw new InvalidObjectException("Deserialization via serialization delegate");
     }
 
--- a/src/share/classes/java/time/ZoneRegion.java	Mon Dec 23 14:03:25 2013 -0500
+++ b/src/share/classes/java/time/ZoneRegion.java	Mon Dec 23 14:05:20 2013 -0500
@@ -60,7 +60,7 @@
 import java.io.DataOutput;
 import java.io.IOException;
 import java.io.InvalidObjectException;
-import java.io.InvalidObjectException;
+import java.io.ObjectInputStream;
 import java.io.Serializable;
 import java.time.zone.ZoneRules;
 import java.time.zone.ZoneRulesException;
@@ -195,10 +195,10 @@
 
     /**
      * Defend against malicious streams.
-     * @return never
+     *
      * @throws InvalidObjectException always
      */
-    private Object readResolve() throws InvalidObjectException {
+    private void readObject(ObjectInputStream s) throws InvalidObjectException {
         throw new InvalidObjectException("Deserialization via serialization delegate");
     }
 
--- a/src/share/classes/java/time/ZonedDateTime.java	Mon Dec 23 14:03:25 2013 -0500
+++ b/src/share/classes/java/time/ZonedDateTime.java	Mon Dec 23 14:05:20 2013 -0500
@@ -67,9 +67,9 @@
 
 import java.io.DataOutput;
 import java.io.IOException;
-import java.io.InvalidObjectException;
 import java.io.ObjectInput;
 import java.io.InvalidObjectException;
+import java.io.ObjectInputStream;
 import java.io.Serializable;
 import java.time.chrono.ChronoZonedDateTime;
 import java.time.format.DateTimeFormatter;
@@ -2224,10 +2224,10 @@
 
     /**
      * Defend against malicious streams.
-     * @return never
+     *
      * @throws InvalidObjectException always
      */
-    private Object readResolve() throws InvalidObjectException {
+    private void readObject(ObjectInputStream s) throws InvalidObjectException {
         throw new InvalidObjectException("Deserialization via serialization delegate");
     }
 
--- a/src/share/classes/java/time/chrono/AbstractChronology.java	Mon Dec 23 14:03:25 2013 -0500
+++ b/src/share/classes/java/time/chrono/AbstractChronology.java	Mon Dec 23 14:05:20 2013 -0500
@@ -83,6 +83,7 @@
 import java.io.DataOutput;
 import java.io.IOException;
 import java.io.InvalidObjectException;
+import java.io.ObjectInputStream;
 import java.io.ObjectStreamException;
 import java.io.Serializable;
 import java.time.DateTimeException;
@@ -764,10 +765,10 @@
 
     /**
      * Defend against malicious streams.
-     * @return never
+     *
      * @throws java.io.InvalidObjectException always
      */
-    private Object readResolve() throws ObjectStreamException {
+    private void readObject(ObjectInputStream s) throws ObjectStreamException {
         throw new InvalidObjectException("Deserialization via serialization delegate");
     }
 
--- a/src/share/classes/java/time/chrono/ChronoLocalDateTimeImpl.java	Mon Dec 23 14:03:25 2013 -0500
+++ b/src/share/classes/java/time/chrono/ChronoLocalDateTimeImpl.java	Mon Dec 23 14:05:20 2013 -0500
@@ -66,8 +66,8 @@
 import java.io.IOException;
 import java.io.InvalidObjectException;
 import java.io.ObjectInput;
+import java.io.ObjectInputStream;
 import java.io.ObjectOutput;
-import java.io.ObjectStreamException;
 import java.io.Serializable;
 import java.time.LocalTime;
 import java.time.ZoneId;
@@ -415,10 +415,10 @@
 
     /**
      * Defend against malicious streams.
-     * @return never
+     *
      * @throws InvalidObjectException always
      */
-    private Object readResolve() throws InvalidObjectException {
+    private void readObject(ObjectInputStream s) throws InvalidObjectException {
         throw new InvalidObjectException("Deserialization via serialization delegate");
     }
 
--- a/src/share/classes/java/time/chrono/ChronoPeriodImpl.java	Mon Dec 23 14:03:25 2013 -0500
+++ b/src/share/classes/java/time/chrono/ChronoPeriodImpl.java	Mon Dec 23 14:05:20 2013 -0500
@@ -65,6 +65,7 @@
 import java.io.DataOutput;
 import java.io.IOException;
 import java.io.InvalidObjectException;
+import java.io.ObjectInputStream;
 import java.io.ObjectStreamException;
 import java.io.Serializable;
 import java.time.DateTimeException;
@@ -374,10 +375,10 @@
 
     /**
      * Defend against malicious streams.
-     * @return never
+     *
      * @throws InvalidObjectException always
      */
-    private Object readResolve() throws ObjectStreamException {
+    private void readObject(ObjectInputStream s) throws ObjectStreamException {
         throw new InvalidObjectException("Deserialization via serialization delegate");
     }
 
--- a/src/share/classes/java/time/chrono/ChronoZonedDateTimeImpl.java	Mon Dec 23 14:03:25 2013 -0500
+++ b/src/share/classes/java/time/chrono/ChronoZonedDateTimeImpl.java	Mon Dec 23 14:05:20 2013 -0500
@@ -66,8 +66,8 @@
 import java.io.IOException;
 import java.io.InvalidObjectException;
 import java.io.ObjectInput;
+import java.io.ObjectInputStream;
 import java.io.ObjectOutput;
-import java.io.ObjectStreamException;
 import java.io.Serializable;
 import java.time.Instant;
 import java.time.LocalDateTime;
@@ -339,10 +339,10 @@
 
     /**
      * Defend against malicious streams.
-     * @return never
+     *
      * @throws InvalidObjectException always
      */
-    private Object readResolve() throws InvalidObjectException {
+    private void readObject(ObjectInputStream s) throws InvalidObjectException {
         throw new InvalidObjectException("Deserialization via serialization delegate");
     }
 
--- a/src/share/classes/java/time/chrono/HijrahChronology.java	Mon Dec 23 14:03:25 2013 -0500
+++ b/src/share/classes/java/time/chrono/HijrahChronology.java	Mon Dec 23 14:05:20 2013 -0500
@@ -64,7 +64,7 @@
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.InvalidObjectException;
-import java.io.ObjectStreamException;
+import java.io.ObjectInputStream;
 import java.io.Serializable;
 import java.security.AccessController;
 import java.security.PrivilegedActionException;
@@ -1095,10 +1095,10 @@
 
     /**
      * Defend against malicious streams.
-     * @return never
+     *
      * @throws InvalidObjectException always
      */
-    private Object readResolve() throws InvalidObjectException {
+    private void readObject(ObjectInputStream s) throws InvalidObjectException {
         throw new InvalidObjectException("Deserialization via serialization delegate");
     }
 }
--- a/src/share/classes/java/time/chrono/HijrahDate.java	Mon Dec 23 14:03:25 2013 -0500
+++ b/src/share/classes/java/time/chrono/HijrahDate.java	Mon Dec 23 14:05:20 2013 -0500
@@ -67,6 +67,7 @@
 import java.io.IOException;
 import java.io.InvalidObjectException;
 import java.io.ObjectInput;
+import java.io.ObjectInputStream;
 import java.io.ObjectOutput;
 import java.io.Serializable;
 import java.time.Clock;
@@ -607,13 +608,55 @@
         return getChronology().period(Math.toIntExact(years), months, days);
     }
 
+    //-------------------------------------------------------------------------
+    /**
+     * Compares this date to another date, including the chronology.
+     * <p>
+     * Compares this {@code HijrahDate} with another ensuring that the date is the same.
+     * <p>
+     * Only objects of type {@code HijrahDate} are compared, other types return false.
+     * To compare the dates of two {@code TemporalAccessor} instances, including dates
+     * in two different chronologies, use {@link ChronoField#EPOCH_DAY} as a comparator.
+     *
+     * @param obj  the object to check, null returns false
+     * @return true if this is equal to the other date and the Chronologies are equal
+     */
+    @Override  // override for performance
+    public boolean equals(Object obj) {
+        if (this == obj) {
+            return true;
+        }
+        if (obj instanceof HijrahDate) {
+            HijrahDate otherDate = (HijrahDate) obj;
+            return prolepticYear == otherDate.prolepticYear
+                && this.monthOfYear == otherDate.monthOfYear
+                && this.dayOfMonth == otherDate.dayOfMonth
+                && getChronology().equals(otherDate.getChronology());
+        }
+        return false;
+    }
+
+    /**
+     * A hash code for this date.
+     *
+     * @return a suitable hash code based only on the Chronology and the date
+     */
+    @Override  // override for performance
+    public int hashCode() {
+        int yearValue = prolepticYear;
+        int monthValue = monthOfYear;
+        int dayValue = dayOfMonth;
+        return getChronology().getId().hashCode() ^ (yearValue & 0xFFFFF800)
+                ^ ((yearValue << 11) + (monthValue << 6) + (dayValue));
+    }
+
     //-----------------------------------------------------------------------
     /**
      * Defend against malicious streams.
-     * @return never
+     *
      * @throws InvalidObjectException always
      */
-    private Object readResolve() throws InvalidObjectException {
+    private void readObject(ObjectInputStream s) throws InvalidObjectException {
         throw new InvalidObjectException("Deserialization via serialization delegate");
     }
 
--- a/src/share/classes/java/time/chrono/IsoChronology.java	Mon Dec 23 14:03:25 2013 -0500
+++ b/src/share/classes/java/time/chrono/IsoChronology.java	Mon Dec 23 14:05:20 2013 -0500
@@ -62,7 +62,6 @@
 package java.time.chrono;
 
 import java.io.InvalidObjectException;
-import java.io.ObjectStreamException;
 import static java.time.temporal.ChronoField.DAY_OF_MONTH;
 import static java.time.temporal.ChronoField.ERA;
 import static java.time.temporal.ChronoField.MONTH_OF_YEAR;
@@ -70,6 +69,7 @@
 import static java.time.temporal.ChronoField.YEAR;
 import static java.time.temporal.ChronoField.YEAR_OF_ERA;
 
+import java.io.ObjectInputStream;
 import java.io.Serializable;
 import java.time.Clock;
 import java.time.DateTimeException;
@@ -603,10 +603,10 @@
 
     /**
      * Defend against malicious streams.
-     * @return never
+     *
      * @throws InvalidObjectException always
      */
-    private Object readResolve() throws InvalidObjectException {
+    private void readObject(ObjectInputStream s) throws InvalidObjectException {
         throw new InvalidObjectException("Deserialization via serialization delegate");
     }
 }
--- a/src/share/classes/java/time/chrono/JapaneseChronology.java	Mon Dec 23 14:03:25 2013 -0500
+++ b/src/share/classes/java/time/chrono/JapaneseChronology.java	Mon Dec 23 14:05:20 2013 -0500
@@ -66,6 +66,7 @@
 import static java.time.temporal.ChronoUnit.MONTHS;
 
 import java.io.InvalidObjectException;
+import java.io.ObjectInputStream;
 import java.io.Serializable;
 import java.time.Clock;
 import java.time.DateTimeException;
@@ -523,10 +524,10 @@
 
     /**
      * Defend against malicious streams.
-     * @return never
+     *
      * @throws InvalidObjectException always
      */
-    private Object readResolve() throws InvalidObjectException {
+    private void readObject(ObjectInputStream s) throws InvalidObjectException {
         throw new InvalidObjectException("Deserialization via serialization delegate");
     }
 }
--- a/src/share/classes/java/time/chrono/JapaneseDate.java	Mon Dec 23 14:03:25 2013 -0500
+++ b/src/share/classes/java/time/chrono/JapaneseDate.java	Mon Dec 23 14:05:20 2013 -0500
@@ -68,6 +68,7 @@
 import java.io.DataOutput;
 import java.io.IOException;
 import java.io.InvalidObjectException;
+import java.io.ObjectInputStream;
 import java.io.Serializable;
 import java.time.Clock;
 import java.time.DateTimeException;
@@ -677,6 +678,18 @@
     }
 
     //-------------------------------------------------------------------------
+    /**
+     * Compares this date to another date, including the chronology.
+     * <p>
+     * Compares this {@code JapaneseDate} with another ensuring that the date is the same.
+     * <p>
+     * Only objects of type {@code JapaneseDate} are compared, other types return false.
+     * To compare the dates of two {@code TemporalAccessor} instances, including dates
+     * in two different chronologies, use {@link ChronoField#EPOCH_DAY} as a comparator.
+     *
+     * @param obj  the object to check, null returns false
+     * @return true if this is equal to the other date
+     */
     @Override  // override for performance
     public boolean equals(Object obj) {
         if (this == obj) {
@@ -689,6 +702,11 @@
         return false;
     }
 
+    /**
+     * A hash code for this date.
+     *
+     * @return a suitable hash code based only on the Chronology and the date
+     */
     @Override  // override for performance
     public int hashCode() {
         return getChronology().getId().hashCode() ^ isoDate.hashCode();
@@ -697,10 +715,10 @@
     //-----------------------------------------------------------------------
     /**
      * Defend against malicious streams.
-     * @return never
+     *
      * @throws InvalidObjectException always
      */
-    private Object readResolve() throws InvalidObjectException {
+    private void readObject(ObjectInputStream s) throws InvalidObjectException {
         throw new InvalidObjectException("Deserialization via serialization delegate");
     }
 
--- a/src/share/classes/java/time/chrono/JapaneseEra.java	Mon Dec 23 14:03:25 2013 -0500
+++ b/src/share/classes/java/time/chrono/JapaneseEra.java	Mon Dec 23 14:05:20 2013 -0500
@@ -68,6 +68,7 @@
 import java.io.DataOutput;
 import java.io.IOException;
 import java.io.InvalidObjectException;
+import java.io.ObjectInputStream;
 import java.io.ObjectStreamException;
 import java.io.Serializable;
 import java.time.DateTimeException;
@@ -171,24 +172,6 @@
         this.since = since;
     }
 
-    /**
-     * Returns the singleton {@code JapaneseEra} corresponding to this object.
-     * It's possible that this version of {@code JapaneseEra} doesn't support the latest era value.
-     * In that case, this method throws an {@code ObjectStreamException}.
-     *
-     * @return the singleton {@code JapaneseEra} for this object
-     * @throws ObjectStreamException if the deserialized object has any unknown numeric era value.
-     */
-    private Object readResolve() throws ObjectStreamException {
-        try {
-            return of(eraValue);
-        } catch (DateTimeException e) {
-            InvalidObjectException ex = new InvalidObjectException("Invalid era");
-            ex.initCause(e);
-            throw ex;
-        }
-    }
-
     //-----------------------------------------------------------------------
     /**
      * Returns the Sun private Era instance corresponding to this {@code JapaneseEra}.
@@ -212,7 +195,7 @@
      * @throws DateTimeException if the value is invalid
      */
     public static JapaneseEra of(int japaneseEra) {
-        if (japaneseEra < MEIJI.eraValue || japaneseEra > HEISEI.eraValue) {
+        if (japaneseEra < MEIJI.eraValue || japaneseEra + ERA_OFFSET - 1 >= KNOWN_ERAS.length) {
             throw new DateTimeException("Invalid era: " + japaneseEra);
         }
         return KNOWN_ERAS[ordinal(japaneseEra)];
@@ -372,6 +355,16 @@
 
     //-----------------------------------------------------------------------
     /**
+     * Defend against malicious streams.
+     *
+     * @throws InvalidObjectException always
+     */
+    private void readObject(ObjectInputStream s) throws InvalidObjectException {
+        throw new InvalidObjectException("Deserialization via serialization delegate");
+    }
+
+    //-----------------------------------------------------------------------
+    /**
      * Writes the object using a
      * <a href="../../../serialized-form.html#java.time.chrono.Ser">dedicated serialized form</a>.
      * @serialData
--- a/src/share/classes/java/time/chrono/MinguoChronology.java	Mon Dec 23 14:03:25 2013 -0500
+++ b/src/share/classes/java/time/chrono/MinguoChronology.java	Mon Dec 23 14:05:20 2013 -0500
@@ -57,10 +57,10 @@
 package java.time.chrono;
 
 import java.io.InvalidObjectException;
-import java.io.ObjectStreamException;
 import static java.time.temporal.ChronoField.PROLEPTIC_MONTH;
 import static java.time.temporal.ChronoField.YEAR;
 
+import java.io.ObjectInputStream;
 import java.io.Serializable;
 import java.time.Clock;
 import java.time.DateTimeException;
@@ -354,10 +354,10 @@
 
     /**
      * Defend against malicious streams.
-     * @return never
+     *
      * @throws InvalidObjectException always
      */
-    private Object readResolve() throws InvalidObjectException {
+    private void readObject(ObjectInputStream s) throws InvalidObjectException {
         throw new InvalidObjectException("Deserialization via serialization delegate");
     }
 }
--- a/src/share/classes/java/time/chrono/MinguoDate.java	Mon Dec 23 14:03:25 2013 -0500
+++ b/src/share/classes/java/time/chrono/MinguoDate.java	Mon Dec 23 14:05:20 2013 -0500
@@ -65,6 +65,7 @@
 import java.io.DataOutput;
 import java.io.IOException;
 import java.io.InvalidObjectException;
+import java.io.ObjectInputStream;
 import java.io.Serializable;
 import java.time.Clock;
 import java.time.DateTimeException;
@@ -439,6 +440,18 @@
     }
 
     //-------------------------------------------------------------------------
+    /**
+     * Compares this date to another date, including the chronology.
+     * <p>
+     * Compares this {@code MinguoDate} with another ensuring that the date is the same.
+     * <p>
+     * Only objects of type {@code MinguoDate} are compared, other types return false.
+     * To compare the dates of two {@code TemporalAccessor} instances, including dates
+     * in two different chronologies, use {@link ChronoField#EPOCH_DAY} as a comparator.
+     *
+     * @param obj  the object to check, null returns false
+     * @return true if this is equal to the other date
+     */
     @Override  // override for performance
     public boolean equals(Object obj) {
         if (this == obj) {
@@ -451,6 +464,11 @@
         return false;
     }
 
+    /**
+     * A hash code for this date.
+     *
+     * @return a suitable hash code based only on the Chronology and the date
+     */
     @Override  // override for performance
     public int hashCode() {
         return getChronology().getId().hashCode() ^ isoDate.hashCode();
@@ -459,10 +477,10 @@
     //-----------------------------------------------------------------------
     /**
      * Defend against malicious streams.
-     * @return never
+     *
      * @throws InvalidObjectException always
      */
-    private Object readResolve() throws InvalidObjectException {
+    private void readObject(ObjectInputStream s) throws InvalidObjectException {
         throw new InvalidObjectException("Deserialization via serialization delegate");
     }
 
--- a/src/share/classes/java/time/chrono/ThaiBuddhistChronology.java	Mon Dec 23 14:03:25 2013 -0500
+++ b/src/share/classes/java/time/chrono/ThaiBuddhistChronology.java	Mon Dec 23 14:05:20 2013 -0500
@@ -57,10 +57,10 @@
 package java.time.chrono;
 
 import java.io.InvalidObjectException;
-import java.io.ObjectStreamException;
 import static java.time.temporal.ChronoField.PROLEPTIC_MONTH;
 import static java.time.temporal.ChronoField.YEAR;
 
+import java.io.ObjectInputStream;
 import java.io.Serializable;
 import java.time.Clock;
 import java.time.DateTimeException;
@@ -390,10 +390,10 @@
 
     /**
      * Defend against malicious streams.
-     * @return never
+     *
      * @throws InvalidObjectException always
      */
-    private Object readResolve() throws InvalidObjectException {
+    private void readObject(ObjectInputStream s) throws InvalidObjectException {
         throw new InvalidObjectException("Deserialization via serialization delegate");
     }
 }
--- a/src/share/classes/java/time/chrono/ThaiBuddhistDate.java	Mon Dec 23 14:03:25 2013 -0500
+++ b/src/share/classes/java/time/chrono/ThaiBuddhistDate.java	Mon Dec 23 14:05:20 2013 -0500
@@ -65,6 +65,7 @@
 import java.io.DataOutput;
 import java.io.IOException;
 import java.io.InvalidObjectException;
+import java.io.ObjectInputStream;
 import java.io.Serializable;
 import java.time.Clock;
 import java.time.DateTimeException;
@@ -439,6 +440,18 @@
     }
 
     //-------------------------------------------------------------------------
+    /**
+     * Compares this date to another date, including the chronology.
+     * <p>
+     * Compares this {@code ThaiBuddhistDate} with another ensuring that the date is the same.
+     * <p>
+     * Only objects of type {@code ThaiBuddhistDate} are compared, other types return false.
+     * To compare the dates of two {@code TemporalAccessor} instances, including dates
+     * in two different chronologies, use {@link ChronoField#EPOCH_DAY} as a comparator.
+     *
+     * @param obj  the object to check, null returns false
+     * @return true if this is equal to the other date
+     */
     @Override  // override for performance
     public boolean equals(Object obj) {
         if (this == obj) {
@@ -451,6 +464,11 @@
         return false;
     }
 
+    /**
+     * A hash code for this date.
+     *
+     * @return a suitable hash code based only on the Chronology and the date
+     */
     @Override  // override for performance
     public int hashCode() {
         return getChronology().getId().hashCode() ^ isoDate.hashCode();
@@ -459,10 +477,10 @@
     //-----------------------------------------------------------------------
     /**
      * Defend against malicious streams.
-     * @return never
+     *
      * @throws InvalidObjectException always
      */
-    private Object readResolve() throws InvalidObjectException {
+    private void readObject(ObjectInputStream s) throws InvalidObjectException {
         throw new InvalidObjectException("Deserialization via serialization delegate");
     }
 
--- a/src/share/classes/java/time/temporal/ValueRange.java	Mon Dec 23 14:03:25 2013 -0500
+++ b/src/share/classes/java/time/temporal/ValueRange.java	Mon Dec 23 14:05:20 2013 -0500
@@ -61,7 +61,9 @@
  */
 package java.time.temporal;
 
+import java.io.IOException;
 import java.io.InvalidObjectException;
+import java.io.ObjectInputStream;
 import java.io.Serializable;
 import java.time.DateTimeException;
 
@@ -338,18 +340,27 @@
         }
     }
 
+    //-----------------------------------------------------------------------
     /**
-     * Return the ValueRange for the serialized values.
-     * The values are validated according to the constraints of the {@link #of}
-     * factory method.
-     * @return the ValueRange for the serialized fields
-     * @throws InvalidObjectException if the serialized object has invalid values
+     * Restore the state of an ValueRange from the stream.
+     * Check that the values are valid.
+     * @throws InvalidObjectException if
+     *     the smallest minimum is greater than the smallest maximum,
+     *  or the smallest maximum is greater than the largest maximum
+     *  or the largest minimum is greater than the largest maximum
      */
-    private Object readResolve() throws InvalidObjectException {
-        try {
-            return of(minSmallest, minLargest, maxSmallest, maxLargest);
-        } catch (IllegalArgumentException iae) {
-            throw new InvalidObjectException("Invalid serialized ValueRange: " + iae.getMessage());
+    private void readObject(ObjectInputStream s)
+         throws IOException, ClassNotFoundException, InvalidObjectException
+    {
+        s.defaultReadObject();
+        if (minSmallest > minLargest) {
+            throw new InvalidObjectException("Smallest minimum value must be less than largest minimum value");
+        }
+        if (maxSmallest > maxLargest) {
+            throw new InvalidObjectException("Smallest maximum value must be less than largest maximum value");
+        }
+        if (minLargest > maxLargest) {
+            throw new InvalidObjectException("Minimum value must be less than maximum value");
         }
     }
 
--- a/src/share/classes/java/time/temporal/WeekFields.java	Mon Dec 23 14:03:25 2013 -0500
+++ b/src/share/classes/java/time/temporal/WeekFields.java	Mon Dec 23 14:05:20 2013 -0500
@@ -72,7 +72,9 @@
 import static java.time.temporal.ChronoUnit.WEEKS;
 import static java.time.temporal.ChronoUnit.YEARS;
 
+import java.io.IOException;
 import java.io.InvalidObjectException;
+import java.io.ObjectInputStream;
 import java.io.Serializable;
 import java.time.DateTimeException;
 import java.time.DayOfWeek;
@@ -340,6 +342,25 @@
 
     //-----------------------------------------------------------------------
     /**
+     * Restore the state of a WeekFields from the stream.
+     * Check that the values are valid.
+     * @throws InvalidObjectException if the serialized object has an invalid
+     *     value for firstDayOfWeek or minimalDays.
+     */
+    private void readObject(ObjectInputStream s)
+         throws IOException, ClassNotFoundException, InvalidObjectException
+    {
+        s.defaultReadObject();
+        if (firstDayOfWeek == null) {
+            throw new InvalidObjectException("firstDayOfWeek is null");
+        }
+
+        if (minimalDays < 1 || minimalDays > 7) {
+            throw new InvalidObjectException("Minimal number of days is invalid");
+        }
+    }
+
+    /**
      * Return the singleton WeekFields associated with the
      * {@code firstDayOfWeek} and {@code minimalDays}.
      * @return the singleton WeekFields for the firstDayOfWeek and minimalDays.
--- a/src/share/classes/java/time/zone/ZoneOffsetTransition.java	Mon Dec 23 14:03:25 2013 -0500
+++ b/src/share/classes/java/time/zone/ZoneOffsetTransition.java	Mon Dec 23 14:05:20 2013 -0500
@@ -65,6 +65,7 @@
 import java.io.DataOutput;
 import java.io.IOException;
 import java.io.InvalidObjectException;
+import java.io.ObjectInputStream;
 import java.io.Serializable;
 import java.time.Duration;
 import java.time.Instant;
@@ -172,10 +173,9 @@
     //-----------------------------------------------------------------------
     /**
      * Defend against malicious streams.
-     * @return never
      * @throws InvalidObjectException always
      */
-    private Object readResolve() throws InvalidObjectException {
+    private void readObject(ObjectInputStream s) throws InvalidObjectException {
         throw new InvalidObjectException("Deserialization via serialization delegate");
     }
 
--- a/src/share/classes/java/time/zone/ZoneOffsetTransitionRule.java	Mon Dec 23 14:03:25 2013 -0500
+++ b/src/share/classes/java/time/zone/ZoneOffsetTransitionRule.java	Mon Dec 23 14:05:20 2013 -0500
@@ -68,6 +68,7 @@
 import java.io.DataOutput;
 import java.io.IOException;
 import java.io.InvalidObjectException;
+import java.io.ObjectInputStream;
 import java.io.Serializable;
 import java.time.DayOfWeek;
 import java.time.LocalDate;
@@ -233,10 +234,10 @@
     //-----------------------------------------------------------------------
     /**
      * Defend against malicious streams.
-     * @return never
+     *
      * @throws InvalidObjectException always
      */
-    private Object readResolve() throws InvalidObjectException {
+    private void readObject(ObjectInputStream s) throws InvalidObjectException {
         throw new InvalidObjectException("Deserialization via serialization delegate");
     }
 
--- a/src/share/classes/java/time/zone/ZoneRules.java	Mon Dec 23 14:03:25 2013 -0500
+++ b/src/share/classes/java/time/zone/ZoneRules.java	Mon Dec 23 14:05:20 2013 -0500
@@ -65,6 +65,7 @@
 import java.io.DataOutput;
 import java.io.IOException;
 import java.io.InvalidObjectException;
+import java.io.ObjectInputStream;
 import java.io.Serializable;
 import java.time.Duration;
 import java.time.Instant;
@@ -317,10 +318,10 @@
 
     /**
      * Defend against malicious streams.
-     * @return never
+     *
      * @throws InvalidObjectException always
      */
-    private Object readResolve() throws InvalidObjectException {
+    private void readObject(ObjectInputStream s) throws InvalidObjectException {
         throw new InvalidObjectException("Deserialization via serialization delegate");
     }
 
--- a/src/share/classes/java/util/concurrent/ForkJoinPool.java	Mon Dec 23 14:03:25 2013 -0500
+++ b/src/share/classes/java/util/concurrent/ForkJoinPool.java	Mon Dec 23 14:05:20 2013 -0500
@@ -49,6 +49,9 @@
 import java.util.concurrent.RunnableFuture;
 import java.util.concurrent.ThreadLocalRandom;
 import java.util.concurrent.TimeUnit;
+import java.security.AccessControlContext;
+import java.security.ProtectionDomain;
+import java.security.Permissions;
 
 /**
  * An {@link ExecutorService} for running {@link ForkJoinTask}s.
@@ -140,6 +143,9 @@
  * <li>{@code java.util.concurrent.ForkJoinPool.common.exceptionHandler}
  * - the class name of a {@link UncaughtExceptionHandler}
  * </ul>
+ * If a {@link SecurityManager} is present and no factory is
+ * specified, then the default pool uses a factory supplying
+ * threads that have no {@link Permissions} enabled.
  * The system class loader is used to load these classes.
  * Upon any error in establishing these settings, default parameters
  * are used. It is possible to disable or limit the use of threads in
@@ -501,6 +507,16 @@
      * task status checks) in inapplicable cases amounts to an odd
      * form of limited spin-wait before blocking in ForkJoinTask.join.
      *
+     * As a more appropriate default in managed environments, unless
+     * overridden by system properties, we use workers of subclass
+     * InnocuousForkJoinWorkerThread when there is a SecurityManager
+     * present. These workers have no permissions set, do not belong
+     * to any user-defined ThreadGroup, and erase all ThreadLocals
+     * after executing any top-level task (see WorkQueue.runTask). The
+     * associated mechanics (mainly in ForkJoinWorkerThread) may be
+     * JVM-dependent and must access particular Thread class fields to
+     * achieve this effect.
+     *
      * Style notes
      * ===========
      *
@@ -882,6 +898,7 @@
          */
         final void runTask(ForkJoinTask<?> task) {
             if ((currentSteal = task) != null) {
+                ForkJoinWorkerThread thread;
                 task.doExec();
                 ForkJoinTask<?>[] a = array;
                 int md = mode;
@@ -899,6 +916,8 @@
                         t.doExec();
                     }
                 }
+                if ((thread = owner) != null) // no need to do in finally clause
+                    thread.afterTopLevelExec();
             }
         }
 
@@ -1155,7 +1174,7 @@
      * Increment for seed generators. See class ThreadLocal for
      * explanation.
      */
-    private static final int SEED_INCREMENT = 0x61c88647;
+    private static final int SEED_INCREMENT = 0x9e3779b9;
 
     /*
      * Bits and masks for control variables
@@ -2084,12 +2103,10 @@
                                   ((c & ~AC_MASK) |
                                    ((c & AC_MASK) + AC_UNIT))));
                 }
-                if ((b = q.base) - q.top < 0 && (t = q.pollAt(b)) != null) {
-                    (w.currentSteal = t).doExec();
-                    w.currentSteal = ps;
-                }
+                if ((b = q.base) - q.top < 0 && (t = q.pollAt(b)) != null)
+                    w.runTask(t);
             }
-            else if (active) {       // decrement active count without queuing
+            else if (active) {      // decrement active count without queuing
                 long nc = ((c = ctl) & ~AC_MASK) | ((c & AC_MASK) - AC_UNIT);
                 if ((int)(nc >> AC_SHIFT) + parallelism == 0)
                     break;          // bypass decrement-then-increment
@@ -3282,8 +3299,7 @@
      */
     private static ForkJoinPool makeCommonPool() {
         int parallelism = -1;
-        ForkJoinWorkerThreadFactory factory
-            = defaultForkJoinWorkerThreadFactory;
+        ForkJoinWorkerThreadFactory factory = null;
         UncaughtExceptionHandler handler = null;
         try {  // ignore exceptions in accessing/parsing properties
             String pp = System.getProperty
@@ -3302,7 +3318,12 @@
                            getSystemClassLoader().loadClass(hp).newInstance());
         } catch (Exception ignore) {
         }
-
+        if (factory == null) {
+            if (System.getSecurityManager() == null)
+                factory = defaultForkJoinWorkerThreadFactory;
+            else // use security-managed default
+                factory = new InnocuousForkJoinWorkerThreadFactory();
+        }
         if (parallelism < 0 && // default 1 less than #cores
             (parallelism = Runtime.getRuntime().availableProcessors() - 1) <= 0)
             parallelism = 1;
@@ -3312,4 +3333,38 @@
                                 "ForkJoinPool.commonPool-worker-");
     }
 
+    /**
+     * Factory for innocuous worker threads
+     */
+    static final class InnocuousForkJoinWorkerThreadFactory
+        implements ForkJoinWorkerThreadFactory {
+
+        /**
+         * An ACC to restrict permissions for the factory itself.
+         * The constructed workers have no permissions set.
+         */
+        private static final AccessControlContext innocuousAcc;
+        static {
+            Permissions innocuousPerms = new Permissions();
+            innocuousPerms.add(modifyThreadPermission);
+            innocuousPerms.add(new RuntimePermission(
+                                   "enableContextClassLoaderOverride"));
+            innocuousPerms.add(new RuntimePermission(
+                                   "modifyThreadGroup"));
+            innocuousAcc = new AccessControlContext(new ProtectionDomain[] {
+                    new ProtectionDomain(null, innocuousPerms)
+                });
+        }
+
+        public final ForkJoinWorkerThread newThread(ForkJoinPool pool) {
+            return (ForkJoinWorkerThread.InnocuousForkJoinWorkerThread)
+                java.security.AccessController.doPrivileged(
+                    new java.security.PrivilegedAction<ForkJoinWorkerThread>() {
+                    public ForkJoinWorkerThread run() {
+                        return new ForkJoinWorkerThread.
+                            InnocuousForkJoinWorkerThread(pool);
+                    }}, innocuousAcc);
+        }
+    }
+
 }
--- a/src/share/classes/java/util/concurrent/ForkJoinWorkerThread.java	Mon Dec 23 14:03:25 2013 -0500
+++ b/src/share/classes/java/util/concurrent/ForkJoinWorkerThread.java	Mon Dec 23 14:05:20 2013 -0500
@@ -35,6 +35,9 @@
 
 package java.util.concurrent;
 
+import java.security.AccessControlContext;
+import java.security.ProtectionDomain;
+
 /**
  * A thread managed by a {@link ForkJoinPool}, which executes
  * {@link ForkJoinTask}s.
@@ -61,6 +64,10 @@
      * completes. This leads to a visibility race, that is tolerated
      * by requiring that the workQueue field is only accessed by the
      * owning thread.
+     *
+     * Support for (non-public) subclass InnocuousForkJoinWorkerThread
+     * requires that we break quite a lot of encapulation (via Unsafe)
+     * both here and in the subclass to access and set Thread fields.
      */
 
     final ForkJoinPool pool;                // the pool this thread works in
@@ -80,6 +87,18 @@
     }
 
     /**
+     * Version for InnocuousForkJoinWorkerThread
+     */
+    ForkJoinWorkerThread(ForkJoinPool pool, ThreadGroup threadGroup,
+                         AccessControlContext acc) {
+        super(threadGroup, null, "aForkJoinWorkerThread");
+        U.putOrderedObject(this, INHERITEDACCESSCONTROLCONTEXT, acc);
+        eraseThreadLocals(); // clear before registering
+        this.pool = pool;
+        this.workQueue = pool.registerWorker(this);
+    }
+
+    /**
      * Returns the pool hosting this thread.
      *
      * @return the pool
@@ -131,21 +150,128 @@
      * {@link ForkJoinTask}s.
      */
     public void run() {
-        Throwable exception = null;
-        try {
-            onStart();
-            pool.runWorker(workQueue);
-        } catch (Throwable ex) {
-            exception = ex;
-        } finally {
+        if (workQueue.array == null) { // only run once
+            Throwable exception = null;
             try {
-                onTermination(exception);
+                onStart();
+                pool.runWorker(workQueue);
             } catch (Throwable ex) {
-                if (exception == null)
-                    exception = ex;
+                exception = ex;
             } finally {
-                pool.deregisterWorker(this, exception);
+                try {
+                    onTermination(exception);
+                } catch (Throwable ex) {
+                    if (exception == null)
+                        exception = ex;
+                } finally {
+                    pool.deregisterWorker(this, exception);
+                }
             }
         }
     }
+
+    /**
+     * Erases ThreadLocals by nulling out Thread maps
+     */
+    final void eraseThreadLocals() {
+        U.putObject(this, THREADLOCALS, null);
+        U.putObject(this, INHERITABLETHREADLOCALS, null);
+    }
+
+    /**
+     * Non-public hook method for InnocuousForkJoinWorkerThread
+     */
+    void afterTopLevelExec() {
+    }
+
+    // Set up to allow setting thread fields in constructor
+    private static final sun.misc.Unsafe U;
+    private static final long THREADLOCALS;
+    private static final long INHERITABLETHREADLOCALS;
+    private static final long INHERITEDACCESSCONTROLCONTEXT;
+    static {
+        try {
+            U = sun.misc.Unsafe.getUnsafe();
+            Class<?> tk = Thread.class;
+            THREADLOCALS = U.objectFieldOffset
+                (tk.getDeclaredField("threadLocals"));
+            INHERITABLETHREADLOCALS = U.objectFieldOffset
+                (tk.getDeclaredField("inheritableThreadLocals"));
+            INHERITEDACCESSCONTROLCONTEXT = U.objectFieldOffset
+                (tk.getDeclaredField("inheritedAccessControlContext"));
+
+        } catch (Exception e) {
+            throw new Error(e);
+        }
+    }
+
+    /**
+     * A worker thread that has no permissions, is not a member of any
+     * user-defined ThreadGroup, and erases all ThreadLocals after
+     * running each top-level task.
+     */
+    static final class InnocuousForkJoinWorkerThread extends ForkJoinWorkerThread {
+        /** The ThreadGroup for all InnocuousForkJoinWorkerThreads */
+        private static final ThreadGroup innocuousThreadGroup =
+            createThreadGroup();
+
+        /** An AccessControlContext supporting no privileges */
+        private static final AccessControlContext INNOCUOUS_ACC =
+            new AccessControlContext(
+                new ProtectionDomain[] {
+                    new ProtectionDomain(null, null)
+                });
+
+        InnocuousForkJoinWorkerThread(ForkJoinPool pool) {
+            super(pool, innocuousThreadGroup, INNOCUOUS_ACC);
+        }
+
+        @Override // to erase ThreadLocals
+        void afterTopLevelExec() {
+            eraseThreadLocals();
+        }
+
+        @Override // to always report system loader
+        public ClassLoader getContextClassLoader() {
+            return ClassLoader.getSystemClassLoader();
+        }
+
+        @Override // to silently fail
+        public void setUncaughtExceptionHandler(UncaughtExceptionHandler x) { }
+
+        @Override // paranoically
+        public void setContextClassLoader(ClassLoader cl) {
+            throw new SecurityException("setContextClassLoader");
+        }
+
+        /**
+         * Returns a new group with the system ThreadGroup (the
+         * topmost, parentless group) as parent.  Uses Unsafe to
+         * traverse Thread group and ThreadGroup parent fields.
+         */
+        private static ThreadGroup createThreadGroup() {
+            try {
+                sun.misc.Unsafe u = sun.misc.Unsafe.getUnsafe();
+                Class<?> tk = Thread.class;
+                Class<?> gk = ThreadGroup.class;
+                long tg = u.objectFieldOffset(tk.getDeclaredField("group"));
+                long gp = u.objectFieldOffset(gk.getDeclaredField("parent"));
+                ThreadGroup group = (ThreadGroup)
+                    u.getObject(Thread.currentThread(), tg);
+                while (group != null) {
+                    ThreadGroup parent = (ThreadGroup)u.getObject(group, gp);
+                    if (parent == null)
+                        return new ThreadGroup(group,
+                                               "InnocuousForkJoinWorkerThreadGroup");
+                    group = parent;
+                }
+            } catch (Exception e) {
+                throw new Error(e);
+            }
+            // fall through if null as cannot-happen safeguard
+            throw new Error("Cannot create ThreadGroup");
+        }
+    }
+
 }
+
--- a/src/share/classes/sun/security/provider/certpath/OCSPResponse.java	Mon Dec 23 14:03:25 2013 -0500
+++ b/src/share/classes/sun/security/provider/certpath/OCSPResponse.java	Mon Dec 23 14:05:20 2013 -0500
@@ -427,9 +427,14 @@
         if (signerCert == null) {
             // Add the Issuing CA cert and/or Trusted Responder cert to the list
             // of certs from the OCSP response
-            certs.add((X509CertImpl) issuerCert);
-            if (responderCert != null) {
-                certs.add((X509CertImpl) responderCert);
+            try {
+                certs.add(X509CertImpl.toImpl(issuerCert));
+                if (responderCert != null) {
+                    certs.add(X509CertImpl.toImpl(responderCert));
+                }
+            } catch (CertificateException ce) {
+                throw new CertPathValidatorException(
+                    "Invalid issuer or trusted responder certificate", ce);
             }
 
             if (responderName != null) {
--- a/src/share/classes/sun/security/ssl/ProtocolVersion.java	Mon Dec 23 14:03:25 2013 -0500
+++ b/src/share/classes/sun/security/ssl/ProtocolVersion.java	Mon Dec 23 14:05:20 2013 -0500
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -80,8 +80,8 @@
     // maximum version we implement (TLS 1.2)
     final static ProtocolVersion MAX = TLS12;
 
-    // ProtocolVersion to use by default (TLS 1.0)
-    final static ProtocolVersion DEFAULT = TLS10;
+    // ProtocolVersion to use by default (TLS 1.2)
+    final static ProtocolVersion DEFAULT = TLS12;
 
     // Default version for hello messages (SSLv2Hello)
     final static ProtocolVersion DEFAULT_HELLO = FIPS ? TLS10 : SSL30;
--- a/src/share/classes/sun/security/ssl/SSLContextImpl.java	Mon Dec 23 14:03:25 2013 -0500
+++ b/src/share/classes/sun/security/ssl/SSLContextImpl.java	Mon Dec 23 14:05:20 2013 -0500
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -36,6 +36,7 @@
 import javax.net.ssl.*;
 
 import sun.security.provider.certpath.AlgorithmChecker;
+import sun.security.action.GetPropertyAction;
 
 public abstract class SSLContextImpl extends SSLContextSpi {
 
@@ -421,22 +422,21 @@
      */
 
     /*
-     * The conservative SSLContext implementation for TLS, SSL, SSLv3 and
-     * TLS10 algorithm.
+     * The base abstract SSLContext implementation.
      *
-     * This is a super class of DefaultSSLContext and TLS10Context.
+     * This abstract class encapsulates supported and the default server
+     * SSL parameters.
      *
      * @see SSLContext
      */
-    private static class ConservativeSSLContext extends SSLContextImpl {
+    private abstract static class AbstractSSLContext extends SSLContextImpl {
         // parameters
-        private static SSLParameters defaultServerSSLParams;
-        private static SSLParameters defaultClientSSLParams;
-        private static SSLParameters supportedSSLParams;
+        private final static SSLParameters defaultServerSSLParams;
+        private final static SSLParameters supportedSSLParams;
 
         static {
+            supportedSSLParams = new SSLParameters();
             if (SunJSSE.isFIPS()) {
-                supportedSSLParams = new SSLParameters();
                 supportedSSLParams.setProtocols(new String[] {
                     ProtocolVersion.TLS10.name,
                     ProtocolVersion.TLS11.name,
@@ -444,14 +444,7 @@
                 });
 
                 defaultServerSSLParams = supportedSSLParams;
-
-                defaultClientSSLParams = new SSLParameters();
-                defaultClientSSLParams.setProtocols(new String[] {
-                    ProtocolVersion.TLS10.name
-                });
-
             } else {
-                supportedSSLParams = new SSLParameters();
                 supportedSSLParams.setProtocols(new String[] {
                     ProtocolVersion.SSL20Hello.name,
                     ProtocolVersion.SSL30.name,
@@ -461,12 +454,6 @@
                 });
 
                 defaultServerSSLParams = supportedSSLParams;
-
-                defaultClientSSLParams = new SSLParameters();
-                defaultClientSSLParams.setProtocols(new String[] {
-                    ProtocolVersion.SSL30.name,
-                    ProtocolVersion.TLS10.name
-                });
             }
         }
 
@@ -476,22 +463,205 @@
         }
 
         @Override
-        SSLParameters getDefaultClientSSLParams() {
-            return defaultClientSSLParams;
-        }
-
-        @Override
         SSLParameters getSupportedSSLParams() {
             return supportedSSLParams;
         }
     }
 
     /*
-     * The SSLContext implementation for default algorithm
+     * The SSLContext implementation for SSLv3 and TLS10 algorithm
+     *
+     * @see SSLContext
+     */
+    public static final class TLS10Context extends AbstractSSLContext {
+        private final static SSLParameters defaultClientSSLParams;
+
+        static {
+            defaultClientSSLParams = new SSLParameters();
+            if (SunJSSE.isFIPS()) {
+                defaultClientSSLParams.setProtocols(new String[] {
+                    ProtocolVersion.TLS10.name
+                });
+
+            } else {
+                defaultClientSSLParams.setProtocols(new String[] {
+                    ProtocolVersion.SSL30.name,
+                    ProtocolVersion.TLS10.name
+                });
+            }
+        }
+
+        @Override
+        SSLParameters getDefaultClientSSLParams() {
+            return defaultClientSSLParams;
+        }
+    }
+
+    /*
+     * The SSLContext implementation for TLS11 algorithm
+     *
+     * @see SSLContext
+     */
+    public static final class TLS11Context extends AbstractSSLContext {
+        private final static SSLParameters defaultClientSSLParams;
+
+        static {
+            defaultClientSSLParams = new SSLParameters();
+            if (SunJSSE.isFIPS()) {
+                defaultClientSSLParams.setProtocols(new String[] {
+                    ProtocolVersion.TLS10.name,
+                    ProtocolVersion.TLS11.name
+                });
+
+            } else {
+                defaultClientSSLParams.setProtocols(new String[] {
+                    ProtocolVersion.SSL30.name,
+                    ProtocolVersion.TLS10.name,
+                    ProtocolVersion.TLS11.name
+                });
+            }
+        }
+
+        @Override
+        SSLParameters getDefaultClientSSLParams() {
+            return defaultClientSSLParams;
+        }
+    }
+
+    /*
+     * The SSLContext implementation for TLS12 algorithm
+     *
+     * @see SSLContext
+     */
+    public static final class TLS12Context extends AbstractSSLContext {
+        private final static SSLParameters defaultClientSSLParams;
+
+        static {
+            defaultClientSSLParams = new SSLParameters();
+            if (SunJSSE.isFIPS()) {
+                defaultClientSSLParams.setProtocols(new String[] {
+                    ProtocolVersion.TLS10.name,
+                    ProtocolVersion.TLS11.name,
+                    ProtocolVersion.TLS12.name
+                });
+
+            } else {
+                defaultClientSSLParams.setProtocols(new String[] {
+                    ProtocolVersion.SSL30.name,
+                    ProtocolVersion.TLS10.name,
+                    ProtocolVersion.TLS11.name,
+                    ProtocolVersion.TLS12.name
+                });
+            }
+        }
+
+        @Override
+        SSLParameters getDefaultClientSSLParams() {
+            return defaultClientSSLParams;
+        }
+    }
+
+    /*
+     * The SSLContext implementation for customized TLS protocols
      *
      * @see SSLContext
      */
-    public static final class DefaultSSLContext extends ConservativeSSLContext {
+    private static class CustomizedSSLContext extends AbstractSSLContext {
+        private final static String PROPERTY_NAME = "jdk.tls.client.protocols";
+        private final static SSLParameters defaultClientSSLParams;
+        private static IllegalArgumentException reservedException = null;
+
+        // Don't want a java.lang.LinkageError for illegal system property.
+        //
+        // Please don't throw exception in this static block.  Otherwise,
+        // java.lang.LinkageError may be thrown during the instantiation of
+        // the provider service. Instead, let's handle the initialization
+        // exception in constructor.
+        static {
+            String property = AccessController.doPrivileged(
+                    new GetPropertyAction(PROPERTY_NAME));
+            defaultClientSSLParams = new SSLParameters();
+            if (property == null || property.length() == 0) {
+                // the default enabled client TLS protocols
+                if (SunJSSE.isFIPS()) {
+                    defaultClientSSLParams.setProtocols(new String[] {
+                        ProtocolVersion.TLS10.name,
+                        ProtocolVersion.TLS11.name,
+                        ProtocolVersion.TLS12.name
+                    });
+
+                } else {
+                    defaultClientSSLParams.setProtocols(new String[] {
+                        ProtocolVersion.SSL30.name,
+                        ProtocolVersion.TLS10.name,
+                        ProtocolVersion.TLS11.name,
+                        ProtocolVersion.TLS12.name
+                    });
+                }
+            } else {
+                // remove double quote marks from beginning/end of the property
+                if (property.charAt(0) == '"' &&
+                        property.charAt(property.length() - 1) == '"') {
+                    property = property.substring(1, property.length() - 1);
+                }
+
+                String[] protocols = property.split(",");
+                for (int i = 0; i < protocols.length; i++) {
+                    protocols[i] = protocols[i].trim();
+                    // Is it a supported protocol name?
+                    try {
+                        ProtocolVersion.valueOf(protocols[i]);
+                    } catch (IllegalArgumentException iae) {
+                        reservedException = new IllegalArgumentException(
+                                PROPERTY_NAME + ": " + protocols[i] +
+                                " is not a standard SSL protocol name", iae);
+                    }
+                }
+
+                if ((reservedException == null) && SunJSSE.isFIPS()) {
+                    for (String protocol : protocols) {
+                        if (ProtocolVersion.SSL20Hello.name.equals(protocol) ||
+                                ProtocolVersion.SSL30.name.equals(protocol)) {
+                            reservedException = new IllegalArgumentException(
+                                    PROPERTY_NAME + ": " + protocol +
+                                    " is not FIPS compliant");
+                        }
+                    }
+                }
+
+                if (reservedException == null) {
+                    defaultClientSSLParams.setProtocols(protocols);
+               }
+            }
+        }
+
+        protected CustomizedSSLContext() {
+            if (reservedException != null) {
+                throw reservedException;
+            }
+        }
+
+        @Override
+        SSLParameters getDefaultClientSSLParams() {
+            return defaultClientSSLParams;
+        }
+    }
+
+    /*
+     * The SSLContext implementation for default "TLS" algorithm
+     *
+     * @see SSLContext
+     */
+    public static final class TLSContext extends CustomizedSSLContext {
+        // use the default constructor and methods
+    }
+
+    /*
+     * The SSLContext implementation for default "Default" algorithm
+     *
+     * @see SSLContext
+     */
+    public static final class DefaultSSLContext extends CustomizedSSLContext {
         private static final String NONE = "NONE";
         private static final String P11KEYSTORE = "PKCS11";
 
@@ -652,147 +822,6 @@
         }
     }
 
-    /*
-     * The SSLContext implementation for TLS, SSL, SSLv3 and TLS10 algorithm
-     *
-     * @see SSLContext
-     */
-    public static final class TLS10Context extends ConservativeSSLContext {
-        // use the default constructor and methods
-    }
-
-    /*
-     * The SSLContext implementation for TLS11 algorithm
-     *
-     * @see SSLContext
-     */
-    public static final class TLS11Context extends SSLContextImpl {
-        // parameters
-        private static SSLParameters defaultServerSSLParams;
-        private static SSLParameters defaultClientSSLParams;
-        private static SSLParameters supportedSSLParams;
-
-        static {
-            if (SunJSSE.isFIPS()) {
-                supportedSSLParams = new SSLParameters();
-                supportedSSLParams.setProtocols(new String[] {
-                    ProtocolVersion.TLS10.name,
-                    ProtocolVersion.TLS11.name,
-                    ProtocolVersion.TLS12.name
-                });
-
-                defaultServerSSLParams = supportedSSLParams;
-
-                defaultClientSSLParams = new SSLParameters();
-                defaultClientSSLParams.setProtocols(new String[] {
-                    ProtocolVersion.TLS10.name,
-                    ProtocolVersion.TLS11.name
-                });
-
-            } else {
-                supportedSSLParams = new SSLParameters();
-                supportedSSLParams.setProtocols(new String[] {
-                    ProtocolVersion.SSL20Hello.name,
-                    ProtocolVersion.SSL30.name,
-                    ProtocolVersion.TLS10.name,
-                    ProtocolVersion.TLS11.name,
-                    ProtocolVersion.TLS12.name
-                });
-
-                defaultServerSSLParams = supportedSSLParams;
-
-                defaultClientSSLParams = new SSLParameters();
-                defaultClientSSLParams.setProtocols(new String[] {
-                    ProtocolVersion.SSL30.name,
-                    ProtocolVersion.TLS10.name,
-                    ProtocolVersion.TLS11.name
-                });
-            }
-        }
-
-        @Override
-        SSLParameters getDefaultServerSSLParams() {
-            return defaultServerSSLParams;
-        }
-
-        @Override
-        SSLParameters getDefaultClientSSLParams() {
-            return defaultClientSSLParams;
-        }
-
-        @Override
-        SSLParameters getSupportedSSLParams() {
-            return supportedSSLParams;
-        }
-    }
-
-    /*
-     * The SSLContext implementation for TLS12 algorithm
-     *
-     * @see SSLContext
-     */
-    public static final class TLS12Context extends SSLContextImpl {
-        // parameters
-        private static SSLParameters defaultServerSSLParams;
-        private static SSLParameters defaultClientSSLParams;
-        private static SSLParameters supportedSSLParams;
-
-        static {
-            if (SunJSSE.isFIPS()) {
-                supportedSSLParams = new SSLParameters();
-                supportedSSLParams.setProtocols(new String[] {
-                    ProtocolVersion.TLS10.name,
-                    ProtocolVersion.TLS11.name,
-                    ProtocolVersion.TLS12.name
-                });
-
-                defaultServerSSLParams = supportedSSLParams;
-
-                defaultClientSSLParams = new SSLParameters();
-                defaultClientSSLParams.setProtocols(new String[] {
-                    ProtocolVersion.TLS10.name,
-                    ProtocolVersion.TLS11.name,
-                    ProtocolVersion.TLS12.name
-                });
-
-            } else {
-                supportedSSLParams = new SSLParameters();
-                supportedSSLParams.setProtocols(new String[] {
-                    ProtocolVersion.SSL20Hello.name,
-                    ProtocolVersion.SSL30.name,
-                    ProtocolVersion.TLS10.name,
-                    ProtocolVersion.TLS11.name,
-                    ProtocolVersion.TLS12.name
-                });
-
-                defaultServerSSLParams = supportedSSLParams;
-
-                defaultClientSSLParams = new SSLParameters();
-                defaultClientSSLParams.setProtocols(new String[] {
-                    ProtocolVersion.SSL30.name,
-                    ProtocolVersion.TLS10.name,
-                    ProtocolVersion.TLS11.name,
-                    ProtocolVersion.TLS12.name
-                });
-            }
-        }
-
-        @Override
-        SSLParameters getDefaultServerSSLParams() {
-            return defaultServerSSLParams;
-        }
-
-        @Override
-        SSLParameters getDefaultClientSSLParams() {
-            return defaultClientSSLParams;
-        }
-
-        @Override
-        SSLParameters getSupportedSSLParams() {
-            return supportedSSLParams;
-        }
-    }
-
 }
 
 
--- a/src/share/classes/sun/security/ssl/SunJSSE.java	Mon Dec 23 14:03:25 2013 -0500
+++ b/src/share/classes/sun/security/ssl/SunJSSE.java	Mon Dec 23 14:05:20 2013 -0500
@@ -60,7 +60,8 @@
     private static final long serialVersionUID = 3231825739635378733L;
 
     private static String info = "Sun JSSE provider" +
-        "(PKCS12, SunX509 key/trust factories, SSLv3, TLSv1)";
+        "(PKCS12, SunX509/PKIX key/trust factories, " +
+        "SSLv3/TLSv1/TLSv1.1/TLSv1.2)";
 
     private static String fipsInfo =
         "Sun JSSE provider (FIPS mode, crypto provider ";
@@ -208,16 +209,17 @@
 
         put("SSLContext.TLSv1",
             "sun.security.ssl.SSLContextImpl$TLS10Context");
-        put("Alg.Alias.SSLContext.TLS", "TLSv1");
-        if (isfips == false) {
-            put("Alg.Alias.SSLContext.SSL", "TLSv1");
-            put("Alg.Alias.SSLContext.SSLv3", "TLSv1");
-        }
-
         put("SSLContext.TLSv1.1",
             "sun.security.ssl.SSLContextImpl$TLS11Context");
         put("SSLContext.TLSv1.2",
             "sun.security.ssl.SSLContextImpl$TLS12Context");
+        put("SSLContext.TLS",
+            "sun.security.ssl.SSLContextImpl$TLSContext");
+        if (isfips == false) {
+            put("Alg.Alias.SSLContext.SSL", "TLS");
+            put("Alg.Alias.SSLContext.SSLv3", "TLSv1");
+        }
+
         put("SSLContext.Default",
             "sun.security.ssl.SSLContextImpl$DefaultSSLContext");
 
--- a/src/share/classes/sun/security/tools/keytool/Resources_de.java	Mon Dec 23 14:03:25 2013 -0500
+++ b/src/share/classes/sun/security/tools/keytool/Resources_de.java	Mon Dec 23 14:05:20 2013 -0500
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -65,10 +65,16 @@
         {"Generates.certificate.from.a.certificate.request",
                 "Generiert ein Zertifikat aus einer Zertifikatanforderung"}, //-gencert
         {"Generates.CRL", "Generiert eine CRL"}, //-gencrl
+        {"Generated.keyAlgName.secret.key",
+                "{0} Secret Key generiert"}, //-genseckey
+        {"Generated.keysize.bit.keyAlgName.secret.key",
+                "{0}-Bit {1} Secret Key generiert"}, //-genseckey
         {"Imports.entries.from.a.JDK.1.1.x.style.identity.database",
                 "Importiert Eintr\u00E4ge aus einer Identity-Datenbank im JDK 1.1.x-Stil"}, //-identitydb
         {"Imports.a.certificate.or.a.certificate.chain",
                 "Importiert ein Zertifikat oder eine Zertifikatkette"}, //-importcert
+        {"Imports.a.password",
+                "Importiert ein Kennwort"}, //-importpass
         {"Imports.one.or.all.entries.from.another.keystore",
                 "Importiert einen oder alle Eintr\u00E4ge aus einem anderen Keystore"}, //-importkeystore
         {"Clones.a.key.entry",
@@ -220,6 +226,8 @@
         {"Must.specify.alias", "Sie m\u00FCssen einen Alias angeben"},
         {"Keystore.password.must.be.at.least.6.characters",
                 "Keystore-Kennwort muss mindestens sechs Zeichen lang sein"},
+        {"Enter.the.password.to.be.stored.",
+                "Geben Sie das Kennwort ein, das gespeichert werden soll:  "},
         {"Enter.keystore.password.", "Keystore-Kennwort eingeben:  "},
         {"Enter.source.keystore.password.", "Quell-Keystore-Kennwort eingeben:  "},
         {"Enter.destination.keystore.password.", "Ziel-Keystore-Kennwort eingeben:  "},
@@ -328,6 +336,7 @@
         {"New.prompt.", "Neues {0}: "},
         {"Passwords.must.differ", "Kennw\u00F6rter m\u00FCssen sich unterscheiden"},
         {"Re.enter.new.prompt.", "Neues {0} erneut eingeben: "},
+        {"Re.enter.passpword.", "Geben Sie das Kennwort erneut ein: "},
         {"Re.enter.new.password.", "Neues Kennwort erneut eingeben: "},
         {"They.don.t.match.Try.again", "Keine \u00DCbereinstimmung. Wiederholen Sie den Vorgang"},
         {"Enter.prompt.alias.name.", "{0}-Aliasnamen eingeben:  "},
--- a/src/share/classes/sun/security/tools/keytool/Resources_es.java	Mon Dec 23 14:03:25 2013 -0500
+++ b/src/share/classes/sun/security/tools/keytool/Resources_es.java	Mon Dec 23 14:05:20 2013 -0500
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -65,10 +65,16 @@
         {"Generates.certificate.from.a.certificate.request",
                 "Genera un certificado a partir de una solicitud de certificado"}, //-gencert
         {"Generates.CRL", "Genera CRL"}, //-gencrl
+        {"Generated.keyAlgName.secret.key",
+                "Clave secreta {0} generada"}, //-genseckey
+        {"Generated.keysize.bit.keyAlgName.secret.key",
+                "Clave secreta {1} de {0} bits generada"}, //-genseckey
         {"Imports.entries.from.a.JDK.1.1.x.style.identity.database",
                 "Importa entradas desde una base de datos de identidades JDK 1.1.x-style"}, //-identitydb
         {"Imports.a.certificate.or.a.certificate.chain",
                 "Importa un certificado o una cadena de certificados"}, //-importcert
+        {"Imports.a.password",
+                "Importa una contrase\u00F1a"}, //-importpass
         {"Imports.one.or.all.entries.from.another.keystore",
                 "Importa una o todas las entradas desde otro almac\u00E9n de claves"}, //-importkeystore
         {"Clones.a.key.entry",
@@ -220,6 +226,8 @@
         {"Must.specify.alias", "Se debe especificar un alias"},
         {"Keystore.password.must.be.at.least.6.characters",
                 "La contrase\u00F1a del almac\u00E9n de claves debe tener al menos 6 caracteres"},
+        {"Enter.the.password.to.be.stored.",
+                "Introduzca la contrase\u00F1a que se va a almacenar:  "},
         {"Enter.keystore.password.", "Introduzca la contrase\u00F1a del almac\u00E9n de claves:  "},
         {"Enter.source.keystore.password.", "Introduzca la contrase\u00F1a de almac\u00E9n de claves de origen:  "},
         {"Enter.destination.keystore.password.", "Introduzca la contrase\u00F1a de almac\u00E9n de claves de destino:  "},
@@ -328,6 +336,7 @@
         {"New.prompt.", "Nuevo {0}: "},
         {"Passwords.must.differ", "Las contrase\u00F1as deben ser distintas"},
         {"Re.enter.new.prompt.", "Vuelva a escribir el nuevo {0}: "},
+        {"Re.enter.passpword.", "Vuelva a introducir la contrase\u00F1a: "},
         {"Re.enter.new.password.", "Volver a escribir la contrase\u00F1a nueva: "},
         {"They.don.t.match.Try.again", "No coinciden. Int\u00E9ntelo de nuevo"},
         {"Enter.prompt.alias.name.", "Escriba el nombre de alias de {0}:  "},
--- a/src/share/classes/sun/security/tools/keytool/Resources_fr.java	Mon Dec 23 14:03:25 2013 -0500
+++ b/src/share/classes/sun/security/tools/keytool/Resources_fr.java	Mon Dec 23 14:05:20 2013 -0500
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -65,10 +65,16 @@
         {"Generates.certificate.from.a.certificate.request",
                 "G\u00E9n\u00E8re le certificat \u00E0 partir d'une demande de certificat"}, //-gencert
         {"Generates.CRL", "G\u00E9n\u00E8re la liste des certificats r\u00E9voqu\u00E9s (CRL)"}, //-gencrl
+        {"Generated.keyAlgName.secret.key",
+                "Cl\u00E9 secr\u00E8te {0} g\u00E9n\u00E9r\u00E9e"}, //-genseckey
+        {"Generated.keysize.bit.keyAlgName.secret.key",
+                "Cl\u00E9 secr\u00E8te {0} bits {1} g\u00E9n\u00E9r\u00E9e"}, //-genseckey
         {"Imports.entries.from.a.JDK.1.1.x.style.identity.database",
                 "Importe les entr\u00E9es \u00E0 partir d'une base de donn\u00E9es d'identit\u00E9s de type JDK 1.1.x"}, //-identitydb
         {"Imports.a.certificate.or.a.certificate.chain",
                 "Importe un certificat ou une cha\u00EEne de certificat"}, //-importcert
+        {"Imports.a.password",
+                "Importe un mot de passe"}, //-importpass
         {"Imports.one.or.all.entries.from.another.keystore",
                 "Importe une entr\u00E9e ou la totalit\u00E9 des entr\u00E9es depuis un autre fichier de cl\u00E9s"}, //-importkeystore
         {"Clones.a.key.entry",
@@ -220,6 +226,8 @@
         {"Must.specify.alias", "L'alias doit \u00EAtre sp\u00E9cifi\u00E9"},
         {"Keystore.password.must.be.at.least.6.characters",
                 "Un mot de passe de fichier de cl\u00E9s doit comporter au moins 6 caract\u00E8res"},
+        {"Enter.the.password.to.be.stored.",
+                "Saisissez le mot de passe \u00E0 stocker :  "},
         {"Enter.keystore.password.", "Entrez le mot de passe du fichier de cl\u00E9s :  "},
         {"Enter.source.keystore.password.", "Entrez le mot de passe du fichier de cl\u00E9s source\u00A0:  "},
         {"Enter.destination.keystore.password.", "Entrez le mot de passe du fichier de cl\u00E9s de destination\u00A0:  "},
@@ -328,6 +336,7 @@
         {"New.prompt.", "Nouveau {0} : "},
         {"Passwords.must.differ", "Les mots de passe doivent diff\u00E9rer"},
         {"Re.enter.new.prompt.", "Indiquez encore le nouveau {0} : "},
+        {"Re.enter.passpword.", "R\u00E9p\u00E9tez le mot de passe : "},
         {"Re.enter.new.password.", "Ressaisissez le nouveau mot de passe : "},
         {"They.don.t.match.Try.again", "Ils sont diff\u00E9rents. R\u00E9essayez."},
         {"Enter.prompt.alias.name.", "Indiquez le nom d''alias {0} :  "},
--- a/src/share/classes/sun/security/tools/keytool/Resources_it.java	Mon Dec 23 14:03:25 2013 -0500
+++ b/src/share/classes/sun/security/tools/keytool/Resources_it.java	Mon Dec 23 14:05:20 2013 -0500
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -65,10 +65,16 @@
         {"Generates.certificate.from.a.certificate.request",
                 "Genera un certificato da una richiesta di certificato"}, //-gencert
         {"Generates.CRL", "Genera CRL"}, //-gencrl
+        {"Generated.keyAlgName.secret.key",
+                "Generata chiave segreta {0}"}, //-genseckey
+        {"Generated.keysize.bit.keyAlgName.secret.key",
+                "Generata chiave segreta {1} a {0} bit"}, //-genseckey
         {"Imports.entries.from.a.JDK.1.1.x.style.identity.database",
                 "Importa le voci da un database delle identit\u00E0 di tipo JDK 1.1.x"}, //-identitydb
         {"Imports.a.certificate.or.a.certificate.chain",
                 "Importa un certificato o una catena di certificati"}, //-importcert
+        {"Imports.a.password",
+                "Importa una password"}, //-importpass
         {"Imports.one.or.all.entries.from.another.keystore",
                 "Importa una o tutte le voci da un altro keystore"}, //-importkeystore
         {"Clones.a.key.entry",
@@ -220,6 +226,8 @@
         {"Must.specify.alias", "\u00C8 necessario specificare l'alias"},
         {"Keystore.password.must.be.at.least.6.characters",
                 "La password del keystore deve contenere almeno 6 caratteri"},
+        {"Enter.the.password.to.be.stored.",
+                "Immettere la password da memorizzare:  "},
         {"Enter.keystore.password.", "Immettere la password del keystore:  "},
         {"Enter.source.keystore.password.", "Immettere la password del keystore di origine:  "},
         {"Enter.destination.keystore.password.", "Immettere la password del keystore di destinazione:  "},
@@ -328,6 +336,7 @@
         {"New.prompt.", "Nuova {0}: "},
         {"Passwords.must.differ", "Le password non devono coincidere"},
         {"Re.enter.new.prompt.", "Reimmettere un nuovo valore per {0}: "},
+        {"Re.enter.passpword.", "Reimmettere la password: "},
         {"Re.enter.new.password.", "Immettere nuovamente la nuova password: "},
         {"They.don.t.match.Try.again", "Non corrispondono. Riprovare."},
         {"Enter.prompt.alias.name.", "Immettere nome alias {0}:  "},
@@ -335,7 +344,7 @@
                  "Immettere un nuovo nome alias\t(premere INVIO per annullare l'importazione della voce):  "},
         {"Enter.alias.name.", "Immettere nome alias:  "},
         {".RETURN.if.same.as.for.otherAlias.",
-                "\t(INVIO se corrisponde al nome di <{0}>"},
+                "\t(INVIO se corrisponde al nome di <{0}>)"},
         {".PATTERN.printX509Cert",
                 "Proprietario: {0}\nAutorit\u00E0 emittente: {1}\nNumero di serie: {2}\nValido da: {3} a: {4}\nImpronte digitali certificato:\n\t MD5:  {5}\n\t SHA1: {6}\n\t SHA256: {7}\n\t Nome algoritmo firma: {8}\n\t Versione: {9}"},
         {"What.is.your.first.and.last.name.",
--- a/src/share/classes/sun/security/tools/keytool/Resources_ja.java	Mon Dec 23 14:03:25 2013 -0500
+++ b/src/share/classes/sun/security/tools/keytool/Resources_ja.java	Mon Dec 23 14:05:20 2013 -0500
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -65,10 +65,16 @@
         {"Generates.certificate.from.a.certificate.request",
                 "\u8A3C\u660E\u66F8\u30EA\u30AF\u30A8\u30B9\u30C8\u304B\u3089\u8A3C\u660E\u66F8\u3092\u751F\u6210\u3057\u307E\u3059"}, //-gencert
         {"Generates.CRL", "CRL\u3092\u751F\u6210\u3057\u307E\u3059"}, //-gencrl
+        {"Generated.keyAlgName.secret.key",
+                "{0}\u79D8\u5BC6\u9375\u3092\u751F\u6210\u3057\u307E\u3057\u305F"}, //-genseckey
+        {"Generated.keysize.bit.keyAlgName.secret.key",
+                "{0}\u30D3\u30C3\u30C8{1}\u79D8\u5BC6\u9375\u3092\u751F\u6210\u3057\u307E\u3057\u305F"}, //-genseckey
         {"Imports.entries.from.a.JDK.1.1.x.style.identity.database",
                 "JDK 1.1.x-style\u30A2\u30A4\u30C7\u30F3\u30C6\u30A3\u30C6\u30A3\u30FB\u30C7\u30FC\u30BF\u30D9\u30FC\u30B9\u304B\u3089\u30A8\u30F3\u30C8\u30EA\u3092\u30A4\u30F3\u30DD\u30FC\u30C8\u3057\u307E\u3059"}, //-identitydb
         {"Imports.a.certificate.or.a.certificate.chain",
                 "\u8A3C\u660E\u66F8\u307E\u305F\u306F\u8A3C\u660E\u66F8\u30C1\u30A7\u30FC\u30F3\u3092\u30A4\u30F3\u30DD\u30FC\u30C8\u3057\u307E\u3059"}, //-importcert
+        {"Imports.a.password",
+                "\u30D1\u30B9\u30EF\u30FC\u30C9\u3092\u30A4\u30F3\u30DD\u30FC\u30C8\u3057\u307E\u3059"}, //-importpass
         {"Imports.one.or.all.entries.from.another.keystore",
                 "\u5225\u306E\u30AD\u30FC\u30B9\u30C8\u30A2\u304B\u30891\u3064\u307E\u305F\u306F\u3059\u3079\u3066\u306E\u30A8\u30F3\u30C8\u30EA\u3092\u30A4\u30F3\u30DD\u30FC\u30C8\u3057\u307E\u3059"}, //-importkeystore
         {"Clones.a.key.entry",
@@ -220,6 +226,8 @@
         {"Must.specify.alias", "\u5225\u540D\u3092\u6307\u5B9A\u3059\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059"},
         {"Keystore.password.must.be.at.least.6.characters",
                 "\u30AD\u30FC\u30B9\u30C8\u30A2\u306E\u30D1\u30B9\u30EF\u30FC\u30C9\u306F6\u6587\u5B57\u4EE5\u4E0A\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059"},
+        {"Enter.the.password.to.be.stored.",
+                "\u4FDD\u5B58\u3059\u308B\u30D1\u30B9\u30EF\u30FC\u30C9\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044:  "},
         {"Enter.keystore.password.", "\u30AD\u30FC\u30B9\u30C8\u30A2\u306E\u30D1\u30B9\u30EF\u30FC\u30C9\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044:  "},
         {"Enter.source.keystore.password.", "\u30BD\u30FC\u30B9\u30FB\u30AD\u30FC\u30B9\u30C8\u30A2\u306E\u30D1\u30B9\u30EF\u30FC\u30C9\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044:  "},
         {"Enter.destination.keystore.password.", "\u51FA\u529B\u5148\u30AD\u30FC\u30B9\u30C8\u30A2\u306E\u30D1\u30B9\u30EF\u30FC\u30C9\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044:  "},
@@ -328,6 +336,7 @@
         {"New.prompt.", "\u65B0\u898F{0}: "},
         {"Passwords.must.differ", "\u30D1\u30B9\u30EF\u30FC\u30C9\u306F\u7570\u306A\u3063\u3066\u3044\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059"},
         {"Re.enter.new.prompt.", "\u65B0\u898F{0}\u3092\u518D\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044: "},
+        {"Re.enter.passpword.", "\u30D1\u30B9\u30EF\u30FC\u30C9\u3092\u518D\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044: "},
         {"Re.enter.new.password.", "\u65B0\u898F\u30D1\u30B9\u30EF\u30FC\u30C9\u3092\u518D\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044: "},
         {"They.don.t.match.Try.again", "\u4E00\u81F4\u3057\u307E\u305B\u3093\u3002\u3082\u3046\u4E00\u5EA6\u5B9F\u884C\u3057\u3066\u304F\u3060\u3055\u3044"},
         {"Enter.prompt.alias.name.", "{0}\u306E\u5225\u540D\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044:  "},
--- a/src/share/classes/sun/security/tools/keytool/Resources_ko.java	Mon Dec 23 14:03:25 2013 -0500
+++ b/src/share/classes/sun/security/tools/keytool/Resources_ko.java	Mon Dec 23 14:05:20 2013 -0500
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -65,10 +65,16 @@
         {"Generates.certificate.from.a.certificate.request",
                 "\uC778\uC99D\uC11C \uC694\uCCAD\uC5D0\uC11C \uC778\uC99D\uC11C\uB97C \uC0DD\uC131\uD569\uB2C8\uB2E4."}, //-gencert
         {"Generates.CRL", "CRL\uC744 \uC0DD\uC131\uD569\uB2C8\uB2E4."}, //-gencrl
+        {"Generated.keyAlgName.secret.key",
+                "{0} \uBCF4\uC548 \uD0A4\uB97C \uC0DD\uC131\uD569\uB2C8\uB2E4."}, //-genseckey
+        {"Generated.keysize.bit.keyAlgName.secret.key",
+                "{0}\uBE44\uD2B8 {1} \uBCF4\uC548 \uD0A4\uB97C \uC0DD\uC131\uD569\uB2C8\uB2E4."}, //-genseckey
         {"Imports.entries.from.a.JDK.1.1.x.style.identity.database",
                 "JDK 1.1.x \uC2A4\uD0C0\uC77C ID \uB370\uC774\uD130\uBCA0\uC774\uC2A4\uC5D0\uC11C \uD56D\uBAA9\uC744 \uC784\uD3EC\uD2B8\uD569\uB2C8\uB2E4."}, //-identitydb
         {"Imports.a.certificate.or.a.certificate.chain",
                 "\uC778\uC99D\uC11C \uB610\uB294 \uC778\uC99D\uC11C \uCCB4\uC778\uC744 \uC784\uD3EC\uD2B8\uD569\uB2C8\uB2E4."}, //-importcert
+        {"Imports.a.password",
+                "\uBE44\uBC00\uBC88\uD638\uB97C \uC784\uD3EC\uD2B8\uD569\uB2C8\uB2E4."}, //-importpass
         {"Imports.one.or.all.entries.from.another.keystore",
                 "\uB2E4\uB978 \uD0A4 \uC800\uC7A5\uC18C\uC5D0\uC11C \uD558\uB098 \uB610\uB294 \uBAA8\uB4E0 \uD56D\uBAA9\uC744 \uC784\uD3EC\uD2B8\uD569\uB2C8\uB2E4."}, //-importkeystore
         {"Clones.a.key.entry",
@@ -220,6 +226,8 @@
         {"Must.specify.alias", "\uBCC4\uCE6D\uC744 \uC9C0\uC815\uD574\uC57C \uD569\uB2C8\uB2E4."},
         {"Keystore.password.must.be.at.least.6.characters",
                 "\uD0A4 \uC800\uC7A5\uC18C \uBE44\uBC00\uBC88\uD638\uB294 6\uC790 \uC774\uC0C1\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4."},
+        {"Enter.the.password.to.be.stored.",
+                "\uC800\uC7A5\uD560 \uBE44\uBC00\uBC88\uD638 \uC785\uB825:  "},
         {"Enter.keystore.password.", "\uD0A4 \uC800\uC7A5\uC18C \uBE44\uBC00\uBC88\uD638 \uC785\uB825:  "},
         {"Enter.source.keystore.password.", "\uC18C\uC2A4 \uD0A4 \uC800\uC7A5\uC18C \uBE44\uBC00\uBC88\uD638 \uC785\uB825:  "},
         {"Enter.destination.keystore.password.", "\uB300\uC0C1 \uD0A4 \uC800\uC7A5\uC18C \uBE44\uBC00\uBC88\uD638 \uC785\uB825:  "},
@@ -328,6 +336,7 @@
         {"New.prompt.", "\uC0C8 {0}: "},
         {"Passwords.must.differ", "\uBE44\uBC00\uBC88\uD638\uB294 \uB2EC\uB77C\uC57C \uD569\uB2C8\uB2E4."},
         {"Re.enter.new.prompt.", "\uC0C8 {0} \uB2E4\uC2DC \uC785\uB825: "},
+        {"Re.enter.passpword.", "\uBE44\uBC00\uBC88\uD638  \uB2E4\uC2DC \uC785\uB825: "},
         {"Re.enter.new.password.", "\uC0C8 \uBE44\uBC00\uBC88\uD638 \uB2E4\uC2DC \uC785\uB825: "},
         {"They.don.t.match.Try.again", "\uC77C\uCE58\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4. \uB2E4\uC2DC \uC2DC\uB3C4\uD558\uC2ED\uC2DC\uC624."},
         {"Enter.prompt.alias.name.", "{0} \uBCC4\uCE6D \uC774\uB984 \uC785\uB825:  "},
--- a/src/share/classes/sun/security/tools/keytool/Resources_pt_BR.java	Mon Dec 23 14:03:25 2013 -0500
+++ b/src/share/classes/sun/security/tools/keytool/Resources_pt_BR.java	Mon Dec 23 14:05:20 2013 -0500
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -65,10 +65,16 @@
         {"Generates.certificate.from.a.certificate.request",
                 "Gera um certificado de uma solicita\u00E7\u00E3o de certificado"}, //-gencert
         {"Generates.CRL", "Gera CRL"}, //-gencrl
+        {"Generated.keyAlgName.secret.key",
+                "Chave secreta {0} gerada"}, //-genseckey
+        {"Generated.keysize.bit.keyAlgName.secret.key",
+                "Chave secreta {1} de {0} bits gerada"}, //-genseckey
         {"Imports.entries.from.a.JDK.1.1.x.style.identity.database",
                 "Importa entradas de um banco de dados de identidade JDK 1.1.x-style"}, //-identitydb
         {"Imports.a.certificate.or.a.certificate.chain",
                 "Importa um certificado ou uma cadeia de certificados"}, //-importcert
+        {"Imports.a.password",
+                "Importa uma senha"}, //-importpass
         {"Imports.one.or.all.entries.from.another.keystore",
                 "Importa uma ou todas as entradas de outra \u00E1rea de armazenamento de chaves"}, //-importkeystore
         {"Clones.a.key.entry",
@@ -220,6 +226,8 @@
         {"Must.specify.alias", "Deve ser especificado um alias"},
         {"Keystore.password.must.be.at.least.6.characters",
                 "A senha da \u00E1rea de armazenamento de chaves deve ter, no m\u00EDnimo, 6 caracteres"},
+        {"Enter.the.password.to.be.stored.",
+                "Digite a senha a ser armazenada:  "},
         {"Enter.keystore.password.", "Informe a senha da \u00E1rea de armazenamento de chaves:  "},
         {"Enter.source.keystore.password.", "Informe a senha da \u00E1rea de armazenamento de chaves de origem:  "},
         {"Enter.destination.keystore.password.", "Informe a senha da \u00E1rea de armazenamento de chaves de destino:  "},
@@ -328,6 +336,7 @@
         {"New.prompt.", "Nova {0}: "},
         {"Passwords.must.differ", "As senhas devem ser diferentes"},
         {"Re.enter.new.prompt.", "Informe novamente a nova {0}: "},
+        {"Re.enter.passpword.", "Redigite a senha: "},
         {"Re.enter.new.password.", "Informe novamente a nova senha: "},
         {"They.don.t.match.Try.again", "Elas n\u00E3o correspondem. Tente novamente"},
         {"Enter.prompt.alias.name.", "Informe o nome do alias {0}:  "},
--- a/src/share/classes/sun/security/tools/keytool/Resources_sv.java	Mon Dec 23 14:03:25 2013 -0500
+++ b/src/share/classes/sun/security/tools/keytool/Resources_sv.java	Mon Dec 23 14:05:20 2013 -0500
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -65,10 +65,16 @@
         {"Generates.certificate.from.a.certificate.request",
                 "Genererar certifikat fr\u00E5n certifikatbeg\u00E4ran"}, //-gencert
         {"Generates.CRL", "Genererar CRL"}, //-gencrl
+        {"Generated.keyAlgName.secret.key",
+                "Genererade {0} hemlig nyckel"}, //-genseckey
+        {"Generated.keysize.bit.keyAlgName.secret.key",
+                "Genererade {0}-bitars {1} hemlig nyckel"}, //-genseckey
         {"Imports.entries.from.a.JDK.1.1.x.style.identity.database",
                 "Importerar poster fr\u00E5n identitetsdatabas i JDK 1.1.x-format"}, //-identitydb
         {"Imports.a.certificate.or.a.certificate.chain",
                 "Importerar ett certifikat eller en certifikatkedja"}, //-importcert
+        {"Imports.a.password",
+                "Importerar ett l\u00F6senord"}, //-importpass
         {"Imports.one.or.all.entries.from.another.keystore",
                 "Importerar en eller alla poster fr\u00E5n annat nyckellager"}, //-importkeystore
         {"Clones.a.key.entry",
@@ -220,6 +226,8 @@
         {"Must.specify.alias", "Du m\u00E5ste ange alias"},
         {"Keystore.password.must.be.at.least.6.characters",
                 "Nyckellagerl\u00F6senordet m\u00E5ste inneh\u00E5lla minst 6 tecken"},
+        {"Enter.the.password.to.be.stored.",
+                "Ange det l\u00F6senord som ska lagras:  "},
         {"Enter.keystore.password.", "Ange nyckellagerl\u00F6senord:  "},
         {"Enter.source.keystore.password.", "Ange l\u00F6senord f\u00F6r k\u00E4llnyckellagret:  "},
         {"Enter.destination.keystore.password.", "Ange nyckellagerl\u00F6senord f\u00F6r destination:  "},
@@ -328,6 +336,7 @@
         {"New.prompt.", "Nytt {0}: "},
         {"Passwords.must.differ", "L\u00F6senorden m\u00E5ste vara olika"},
         {"Re.enter.new.prompt.", "Ange nytt {0} igen: "},
+        {"Re.enter.passpword.", "Ange l\u00F6senord igen: "},
         {"Re.enter.new.password.", "Ange det nya l\u00F6senordet igen: "},
         {"They.don.t.match.Try.again", "De matchar inte. F\u00F6rs\u00F6k igen"},
         {"Enter.prompt.alias.name.", "Ange aliasnamn f\u00F6r {0}:  "},
--- a/src/share/classes/sun/security/tools/keytool/Resources_zh_CN.java	Mon Dec 23 14:03:25 2013 -0500
+++ b/src/share/classes/sun/security/tools/keytool/Resources_zh_CN.java	Mon Dec 23 14:05:20 2013 -0500
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -65,10 +65,16 @@
         {"Generates.certificate.from.a.certificate.request",
                 "\u6839\u636E\u8BC1\u4E66\u8BF7\u6C42\u751F\u6210\u8BC1\u4E66"}, //-gencert
         {"Generates.CRL", "\u751F\u6210 CRL"}, //-gencrl
+        {"Generated.keyAlgName.secret.key",
+                "\u5DF2\u751F\u6210{0}\u5BC6\u94A5"}, //-genseckey
+        {"Generated.keysize.bit.keyAlgName.secret.key",
+                "\u5DF2\u751F\u6210 {0} \u4F4D{1}\u5BC6\u94A5"}, //-genseckey
         {"Imports.entries.from.a.JDK.1.1.x.style.identity.database",
                 "\u4ECE JDK 1.1.x \u6837\u5F0F\u7684\u8EAB\u4EFD\u6570\u636E\u5E93\u5BFC\u5165\u6761\u76EE"}, //-identitydb
         {"Imports.a.certificate.or.a.certificate.chain",
                 "\u5BFC\u5165\u8BC1\u4E66\u6216\u8BC1\u4E66\u94FE"}, //-importcert
+        {"Imports.a.password",
+                "\u5BFC\u5165\u53E3\u4EE4"}, //-importpass
         {"Imports.one.or.all.entries.from.another.keystore",
                 "\u4ECE\u5176\u4ED6\u5BC6\u94A5\u5E93\u5BFC\u5165\u4E00\u4E2A\u6216\u6240\u6709\u6761\u76EE"}, //-importkeystore
         {"Clones.a.key.entry",
@@ -220,6 +226,8 @@
         {"Must.specify.alias", "\u5FC5\u987B\u6307\u5B9A\u522B\u540D"},
         {"Keystore.password.must.be.at.least.6.characters",
                 "\u5BC6\u94A5\u5E93\u53E3\u4EE4\u81F3\u5C11\u5FC5\u987B\u4E3A 6 \u4E2A\u5B57\u7B26"},
+        {"Enter.the.password.to.be.stored.",
+                "\u8F93\u5165\u8981\u5B58\u50A8\u7684\u53E3\u4EE4:  "},
         {"Enter.keystore.password.", "\u8F93\u5165\u5BC6\u94A5\u5E93\u53E3\u4EE4:  "},
         {"Enter.source.keystore.password.", "\u8F93\u5165\u6E90\u5BC6\u94A5\u5E93\u53E3\u4EE4:  "},
         {"Enter.destination.keystore.password.", "\u8F93\u5165\u76EE\u6807\u5BC6\u94A5\u5E93\u53E3\u4EE4:  "},
@@ -328,6 +336,7 @@
         {"New.prompt.", "\u65B0{0}: "},
         {"Passwords.must.differ", "\u53E3\u4EE4\u4E0D\u80FD\u76F8\u540C"},
         {"Re.enter.new.prompt.", "\u91CD\u65B0\u8F93\u5165\u65B0{0}: "},
+        {"Re.enter.passpword.", "\u518D\u6B21\u8F93\u5165\u53E3\u4EE4: "},
         {"Re.enter.new.password.", "\u518D\u6B21\u8F93\u5165\u65B0\u53E3\u4EE4: "},
         {"They.don.t.match.Try.again", "\u5B83\u4EEC\u4E0D\u5339\u914D\u3002\u8BF7\u91CD\u8BD5"},
         {"Enter.prompt.alias.name.", "\u8F93\u5165{0}\u522B\u540D:  "},
--- a/src/share/classes/sun/security/tools/keytool/Resources_zh_TW.java	Mon Dec 23 14:03:25 2013 -0500
+++ b/src/share/classes/sun/security/tools/keytool/Resources_zh_TW.java	Mon Dec 23 14:05:20 2013 -0500
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -65,10 +65,16 @@
         {"Generates.certificate.from.a.certificate.request",
                 "\u5F9E\u6191\u8B49\u8981\u6C42\u7522\u751F\u6191\u8B49"}, //-gencert
         {"Generates.CRL", "\u7522\u751F CRL"}, //-gencrl
+        {"Generated.keyAlgName.secret.key",
+                "\u5DF2\u7522\u751F {0} \u79D8\u5BC6\u91D1\u9470"}, //-genseckey
+        {"Generated.keysize.bit.keyAlgName.secret.key",
+                "\u5DF2\u7522\u751F {0} \u4F4D\u5143 {1} \u79D8\u5BC6\u91D1\u9470"}, //-genseckey
         {"Imports.entries.from.a.JDK.1.1.x.style.identity.database",
                 "\u5F9E JDK 1.1.x-style \u8B58\u5225\u8CC7\u6599\u5EAB\u532F\u5165\u9805\u76EE"}, //-identitydb
         {"Imports.a.certificate.or.a.certificate.chain",
                 "\u532F\u5165\u6191\u8B49\u6216\u6191\u8B49\u93C8"}, //-importcert
+        {"Imports.a.password",
+                "\u532F\u5165\u5BC6\u78BC"}, //-importpass
         {"Imports.one.or.all.entries.from.another.keystore",
                 "\u5F9E\u5176\u4ED6\u91D1\u9470\u5132\u5B58\u5EAB\u532F\u5165\u4E00\u500B\u6216\u5168\u90E8\u9805\u76EE"}, //-importkeystore
         {"Clones.a.key.entry",
@@ -220,6 +226,8 @@
         {"Must.specify.alias", "\u5FC5\u9808\u6307\u5B9A\u5225\u540D"},
         {"Keystore.password.must.be.at.least.6.characters",
                 "\u91D1\u9470\u5132\u5B58\u5EAB\u5BC6\u78BC\u5FC5\u9808\u81F3\u5C11\u70BA 6 \u500B\u5B57\u5143"},
+        {"Enter.the.password.to.be.stored.",
+                "\u8F38\u5165\u8981\u5132\u5B58\u7684\u5BC6\u78BC:  "},
         {"Enter.keystore.password.", "\u8F38\u5165\u91D1\u9470\u5132\u5B58\u5EAB\u5BC6\u78BC:  "},
         {"Enter.source.keystore.password.", "\u8ACB\u8F38\u5165\u4F86\u6E90\u91D1\u9470\u5132\u5B58\u5EAB\u5BC6\u78BC: "},
         {"Enter.destination.keystore.password.", "\u8ACB\u8F38\u5165\u76EE\u7684\u5730\u91D1\u9470\u5132\u5B58\u5EAB\u5BC6\u78BC: "},
@@ -328,6 +336,7 @@
         {"New.prompt.", "\u65B0 {0}: "},
         {"Passwords.must.differ", "\u5FC5\u9808\u662F\u4E0D\u540C\u7684\u5BC6\u78BC"},
         {"Re.enter.new.prompt.", "\u91CD\u65B0\u8F38\u5165\u65B0 {0}: "},
+        {"Re.enter.passpword.", "\u91CD\u65B0\u8F38\u5165\u5BC6\u78BC:"},
         {"Re.enter.new.password.", "\u91CD\u65B0\u8F38\u5165\u65B0\u5BC6\u78BC: "},
         {"They.don.t.match.Try.again", "\u5B83\u5011\u4E0D\u76F8\u7B26\u3002\u8ACB\u91CD\u8A66"},
         {"Enter.prompt.alias.name.", "\u8F38\u5165 {0} \u5225\u540D\u540D\u7A31:  "},
--- a/src/share/classes/sun/tools/jar/resources/jar_es.properties	Mon Dec 23 14:03:25 2013 -0500
+++ b/src/share/classes/sun/tools/jar/resources/jar_es.properties	Mon Dec 23 14:05:20 2013 -0500
@@ -45,4 +45,4 @@
 out.inflated=\ inflado: {0}
 out.size=(entrada = {0}) (salida = {1})
 
-usage=Sintaxis: jar {ctxui}[vfmn0Me] [jar-file] [manifest-file] [entry-point] [-C dir] archivos...\nOpciones:\n    -c  crear nuevo archivo\n    -t  crear la tabla de contenido del archivo\n    -x   extraer el archive mencionado (o todos) del archivo\n    -u  actualizar archive existente\n    -v  generar salida detallada de los datos de salida est\u00E1ndar\n    -f  especificar nombre de archive de almacenamiento\n    -m  incluir informaci\u00F3n de manifiesto del archive de manifiesto especificado\n    -n  realizar normalizaci\u00F3n de Pack200 despu\u00E9s de crear un nuevo archivo\n    -e  especificar punto de entrada de la aplicaci\u00F3n para la aplicaci\u00F3n aut\u00F3noma \n        que se incluye dentro de un archive jar ejecutable\n    -0  s\u00F3lo almacenar; no utilizar compresi\u00F3n ZIP\n    -M  no crear un archive de manifiesto para las entradas\n    -i  generar informaci\u00F3n de \u00EDndice para los archives jar especificados\n    -C  cambiar al directorio especificado e incluir el archivo siguiente\nSi alg\u00FAn archivo es un directorio, se procesar\u00E1 de forma recurrente.\nEl nombre del archivo de manifiesto, el nombre del archivo de almacenamiento y el nombre del punto de entrada se\nespecifican en el mismo orden que los indicadores 'm', 'f' y 'e'.\n\nEjemplo 1: para archivar archivos de dos clases en un archivo llamado classes.jar: \n       jar cvf classes.jar Foo.class Bar.class \nEjemplo 2: utilice un archivo de manifiesto existente 'mymanifest' y archive todos los\n           archivos del directorio foo/ en 'classes.jar': \n       jar cvfm classes.jar mymanifest -C foo/ .\n
+usage=Sintaxis: jar {ctxui}[vfmn0Me] [jar-file] [manifest-file] [entry-point] [-C dir] archivos...\nOpciones:\n    -c  crear nuevo archivo\n    -t  crear la tabla de contenido del archivo\n    -x  extraer el archive mencionado (o todos) del archivo\n    -u  actualizar archive existente\n    -v  generar salida detallada de los datos de salida est\u00E1ndar\n    -f  especificar nombre de archive de almacenamiento\n    -m  incluir informaci\u00F3n de manifiesto del archive de manifiesto especificado\n    -n  realizar normalizaci\u00F3n de Pack200 despu\u00E9s de crear un nuevo archivo\n    -e  especificar punto de entrada de la aplicaci\u00F3n para la aplicaci\u00F3n aut\u00F3noma \n        que se incluye dentro de un archive jar ejecutable\n    -0  s\u00F3lo almacenar; no utilizar compresi\u00F3n ZIP\n    -M  no crear un archive de manifiesto para las entradas\n    -i  generar informaci\u00F3n de \u00EDndice para los archives jar especificados\n    -C  cambiar al directorio especificado e incluir el archivo siguiente\nSi alg\u00FAn archivo es un directorio, se procesar\u00E1 de forma recurrente.\nEl nombre del archivo de manifiesto, el nombre del archivo de almacenamiento y el nombre del punto de entrada se\nespecifican en el mismo orden que los indicadores 'm', 'f' y 'e'.\n\nEjemplo 1: para archivar archivos de dos clases en un archivo llamado classes.jar: \n       jar cvf classes.jar Foo.class Bar.class \nEjemplo 2: utilice un archivo de manifiesto existente 'mymanifest' y archive todos los\n           archivos del directorio foo/ en 'classes.jar': \n       jar cvfm classes.jar mymanifest -C foo/ .\n
--- a/src/share/classes/sun/tools/jar/resources/jar_pt_BR.properties	Mon Dec 23 14:03:25 2013 -0500
+++ b/src/share/classes/sun/tools/jar/resources/jar_pt_BR.properties	Mon Dec 23 14:05:20 2013 -0500
@@ -45,4 +45,4 @@
 out.inflated=\ inflado: {0}
 out.size=(entrada = {0}) (sa\u00EDda= {1})
 
-usage=Uso: jar {ctxui}[vfmn0Me] [jar-file] [manifest-file] [entry-point] [-C dir] arquivos ...\nOp\u00E7\u00F5es:\n    -c  cria novo archive\n    -t  lista o sum\u00E1rio do archive\n    -x  extrai arquivos com o nome (ou todos) do arquivo compactado\n    -u  atualiza o archive existente\n    -v  gera sa\u00EDda detalhada na sa\u00EDda padr\u00E3o\n    -f  especifica o nome do archive\n    -m  inclui as informa\u00E7\u00F5es do manifesto do arquivo de manifesto especificado\n    -n  executa a normaliza\u00E7\u00E3o Pack200 ap\u00F3s a cria\u00E7\u00E3o de um novo archive\n    -e  especifica o ponto de entrada da aplica\u00E7\u00E3o para aplica\u00E7\u00E3o independente \n        empacotada em um arquivo jar execut\u00E1vel\n    -0  armazena somente; n\u00E3o usa compacta\u00E7\u00E3o ZIP\n    -M  n\u00E3o cria um arquivo de manifesto para as entradas\n    -i  gera informa\u00E7\u00F5es de \u00EDndice para os arquivos jar especificados\n    -C  altera para o diret\u00F3rio especificado e inclui o arquivo seguinte\nSe algum arquivo for um diret\u00F3rio, ent\u00E3o ser\u00E1 processado repetidamente.\nO nome do arquivo de manifesto, o nome do archive e o nome do ponto de entrada s\u00E3o\nespecificados na mesma ordem dos flags 'm', 'f' e 'e'.\n\nExemplo 1: para arquivar dois arquivos de classe em um archive chamado classes.jar: \n       jar cvf classes.jar Foo.class Bar.class \nExemplo 2: use um arquivo de manifesto existente 'mymanifest' e arquive todos os\n           arquivos no diret\u00F3rio foo/ na 'classes.jar': \n       jar cvfm classes.jar mymanifest -C foo/ .\n
+usage=Uso: jar {ctxui}[vfmn0Me] [jar-file] [manifest-file] [entry-point] [-C dir] arquivos ...\nOp\u00E7\u00F5es:\n    -c  cria novo arquivo compactado\n    -t  lista o sum\u00E1rio do arquivo compactado\n    -x  extrai arquivos com o nome (ou todos) do arquivo compactado\n    -u  atualiza o arquivo compactado existente\n    -v  gera sa\u00EDda detalhada na sa\u00EDda padr\u00E3o\n    -f  especifica o nome do arquivo do arquivo compactado\n    -m  inclui as informa\u00E7\u00F5es do manifesto do arquivo de manifesto especificado\n    -n   executa a normaliza\u00E7\u00E3o Pack200 ap\u00F3s a cria\u00E7\u00E3o de um novo arquivo compactado\n    -e  especifica o ponto de entrada da aplica\u00E7\u00E3o para aplica\u00E7\u00E3o stand-alone \n        empacotada em um arquivo jar execut\u00E1vel\n    -0  armazena somente; n\u00E3o usa compacta\u00E7\u00E3o ZIP\n    -M  n\u00E3o cria um arquivo de manifesto para as entradas\n    -i  gera informa\u00E7\u00F5es de \u00EDndice para os arquivos especificados\n    -C  passa para o diret\u00F3rio especificado e inclui o arquivo a seguir\nSe um arquivo tamb\u00E9m for um diret\u00F3rio, ele ser\u00E1 processado repetidamente.\nO nome do arquivo de manifesto, o nome do arquivo compactado e o nome do ponto de entrada s\u00E3o\nespecificados na mesma ordem dos flags 'm', 'f' e 'e'.\n\nExemplo 1: para arquivar dois arquivos de classe em um arquivo compactado denominado classes.jar: \n       jar cvf classes.jar Foo.class Bar.class \nExemplo 2: use um arquivo de manifesto existente 'mymanifest' e arquive todos os\n           arquivos no diret\u00F3rio foo/ na 'classes.jar': \n       jar cvfm classes.jar mymanifest -C foo/ .\n
--- a/src/share/classes/sun/tools/jconsole/resources/messages_ja.properties	Mon Dec 23 14:03:25 2013 -0500
+++ b/src/share/classes/sun/tools/jconsole/resources/messages_ja.properties	Mon Dec 23 14:05:20 2013 -0500
@@ -278,4 +278,4 @@
 KBYTES={0} KB
 PLOT=\u30D7\u30ED\u30C3\u30C8
 VISUALIZE=\u8996\u899A\u5316
-ZZ_USAGE_TEXT=\u4F7F\u7528\u65B9\u6CD5: {0} [ -interval=n ] [ -notile ] [ -pluginpath <path> ] [ -version ] [ connection ... ]\n\n  -interval   \u66F4\u65B0\u9593\u9694\u3092n\u79D2\u306B\u8A2D\u5B9A\u3059\u308B(\u30C7\u30D5\u30A9\u30EB\u30C8\u306F4\u79D2)\n  -notile     \u30A6\u30A3\u30F3\u30C9\u30A6\u3092\u6700\u521D\u306B\u4E26\u3079\u3066\u8868\u793A\u3057\u306A\u3044(2\u3064\u4EE5\u4E0A\u306E\u63A5\u7D9A\u306B\u3064\u3044\u3066)\n  -pluginpath JConsole\u304C\u30D7\u30E9\u30B0\u30A4\u30F3\u3092\u53C2\u7167\u3059\u308B\u305F\u3081\u306B\u4F7F\u7528\u3059\u308B\u30D1\u30B9\u3092\u6307\u5B9A\u3059\u308B\n  -version    \u30D7\u30ED\u30B0\u30E9\u30E0\u30FB\u30D0\u30FC\u30B8\u30E7\u30F3\u3092\u5370\u5237\u3059\u308B\n\n  connection = pid || host:port || JMX URL (service:jmx:<protocol>://...)\n  pid         \u30BF\u30FC\u30B2\u30C3\u30C8\u30FB\u30D7\u30ED\u30BB\u30B9\u306E\u30D7\u30ED\u30BB\u30B9ID\n  host        \u30EA\u30E2\u30FC\u30C8\u30FB\u30DB\u30B9\u30C8\u540D\u307E\u305F\u306FIP\u30A2\u30C9\u30EC\u30B9\n  port        \u30EA\u30E2\u30FC\u30C8\u63A5\u7D9A\u7528\u306E\u30DD\u30FC\u30C8\u756A\u53F7\n\n  -J          JConsole\u304C\u5B9F\u884C\u4E2D\u306EJava\u4EEE\u60F3\u30DE\u30B7\u30F3\u3078\u306E\n              \u5165\u529B\u5F15\u6570\u3092\u6307\u5B9A\u3059\u308B
+ZZ_USAGE_TEXT=\u4F7F\u7528\u65B9\u6CD5: {0} [ -interval=n ] [ -notile ] [ -pluginpath <path> ] [ -version ] [ connection ... ]\n\n  -interval   \u66F4\u65B0\u9593\u9694\u3092n\u79D2\u306B\u8A2D\u5B9A\u3059\u308B(\u30C7\u30D5\u30A9\u30EB\u30C8\u306F4\u79D2)\n  -notile     \u30A6\u30A3\u30F3\u30C9\u30A6\u3092\u6700\u521D\u306B\u4E26\u3079\u3066\u8868\u793A\u3057\u306A\u3044(2\u3064\u4EE5\u4E0A\u306E\u63A5\u7D9A\u306B\u3064\u3044\u3066)\n  -pluginpath JConsole\u304C\u30D7\u30E9\u30B0\u30A4\u30F3\u3092\u53C2\u7167\u3059\u308B\u305F\u3081\u306B\u4F7F\u7528\u3059\u308B\u30D1\u30B9\u3092\u6307\u5B9A\u3059\u308B\n  -version    \u30D7\u30ED\u30B0\u30E9\u30E0\u30FB\u30D0\u30FC\u30B8\u30E7\u30F3\u3092\u51FA\u529B\u3059\u308B\n\n  connection = pid || host:port || JMX URL (service:jmx:<protocol>://...)\n  pid         \u30BF\u30FC\u30B2\u30C3\u30C8\u30FB\u30D7\u30ED\u30BB\u30B9\u306E\u30D7\u30ED\u30BB\u30B9ID\n  host        \u30EA\u30E2\u30FC\u30C8\u30FB\u30DB\u30B9\u30C8\u540D\u307E\u305F\u306FIP\u30A2\u30C9\u30EC\u30B9\n  port        \u30EA\u30E2\u30FC\u30C8\u63A5\u7D9A\u7528\u306E\u30DD\u30FC\u30C8\u756A\u53F7\n\n  -J          JConsole\u304C\u5B9F\u884C\u4E2D\u306EJava\u4EEE\u60F3\u30DE\u30B7\u30F3\u3078\u306E\n              \u5165\u529B\u5F15\u6570\u3092\u6307\u5B9A\u3059\u308B
--- a/src/share/classes/sun/util/logging/resources/logging_zh_TW.properties	Mon Dec 23 14:03:25 2013 -0500
+++ b/src/share/classes/sun/util/logging/resources/logging_zh_TW.properties	Mon Dec 23 14:05:20 2013 -0500
@@ -27,7 +27,7 @@
 # these are the same as the non-localized level name.
 
 # The following ALL CAPS words should be translated.
-ALL=\u5168\u90E8
+ALL=\u6240\u6709
 # The following ALL CAPS words should be translated.
 SEVERE=\u56B4\u91CD
 # The following ALL CAPS words should be translated.
--- a/src/share/classes/sun/util/resources/pt/LocaleNames_pt.properties	Mon Dec 23 14:03:25 2013 -0500
+++ b/src/share/classes/sun/util/resources/pt/LocaleNames_pt.properties	Mon Dec 23 14:05:20 2013 -0500
@@ -1,49 +1,68 @@
 #
-# Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# This code is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License version 2 only, as
+# published by the Free Software Foundation.  Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle in the LICENSE file that accompanied this code.
+#
+# This code is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+# version 2 for more details (a copy is included in the LICENSE file that
+# accompanied this code).
+#
+# You should have received a copy of the GNU General Public License version
+# 2 along with this work; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+# or visit www.oracle.com if you need additional information or have any
+# questions.
 #
 
+#Copyright (C) 1991-2012 Unicode, Inc. All rights reserved. Distributed under the
+#Terms of Use in http://www.unicode.org/copyright.html.
+
+#Permission is hereby granted, free of charge, to any person obtaining a copy of
+#the Unicode data files and any associated documentation (the "Data Files") or
+#Unicode software and any associated documentation (the "Software") to deal in
+#the Data Files or Software without restriction, including without limitation
+#the rights to use, copy, modify, merge, publish, distribute, and/or sell copies
+#of the Data Files or Software, and to permit persons to whom the Data Files or
+#Software are furnished to do so, provided that (a) the above copyright notice(s)
+#and this permission notice appear with all copies of the Data Files or
+#Software, (b) both the above copyright notice(s) and this permission notice
+#appear in associated documentation, and (c) there is clear notice in each
+#modified Data File or in the Software as well as in the documentation
+#associated with the Data File(s) or Software that the data or software has been
+#modified.
+
+#THE DATA FILES AND SOFTWARE ARE 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 OF THIRD
+#PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN
+#THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL
+#DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+#WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
+#OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA FILES OR
+#SOFTWARE.
+
+#Except as contained in this notice, the name of a copyright holder shall not be
+#used in advertising or otherwise to promote the sale, use or other dealings in
+#these Data Files or Software without prior written authorization of the
+#copyright holder.
+
 #
-# COPYRIGHT AND PERMISSION NOTICE
-#
-# Copyright (C) 1991-2007 Unicode, Inc. All rights reserved.
-# Distributed under the Terms of Use in http://www.unicode.org/copyright.html.
-#
-# Permission is hereby granted, free of charge, to any person obtaining a copy
-# of the Unicode data files and any associated documentation (the "Data
-# Files") or Unicode software and any associated documentation (the
-# "Software") to deal in the Data Files or Software without restriction,
-# including without limitation the rights to use, copy, modify, merge,
-# publish, distribute, and/or sell copies of the Data Files or Software, and
-# to permit persons to whom the Data Files or Software are furnished to do
-# so, provided that (a) the above copyright notice(s) and this permission
-# notice appear with all copies of the Data Files or Software, (b) both the
-# above copyright notice(s) and this permission notice appear in associated
-# documentation, and (c) there is clear notice in each modified Data File or
-# in the Software as well as in the documentation associated with the Data
-# File(s) or Software that the data or software has been modified.
+# Generated automatically from the Common Locale Data Repository. DO NOT EDIT!
 #
-# THE DATA FILES AND SOFTWARE ARE 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 OF
-# THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS
-# INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR
-# CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF
-# USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
-# TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
-# PERFORMANCE OF THE DATA FILES OR SOFTWARE.
-#
-# Except as contained in this notice, the name of a copyright holder shall not
-# be used in advertising or otherwise to promote the sale, use or other
-# dealings in these Data Files or Software without prior written
-# authorization of the copyright holder.
-#
- 
-# Generated automatically from the Common Locale Data Repository. DO NOT EDIT!
-
 aa=afar
-ab=abkhazian
+ab=abc\u00e1zio
 ae=av\u00e9stico
 af=afric\u00e2ner
+ak=akan
 am=am\u00e1rico
 an=aragon\u00eas
 ar=\u00e1rabe
@@ -62,7 +81,7 @@
 br=bret\u00e3o
 bs=b\u00f3snio
 ca=catal\u00e3o
-ce=chechene
+ce=checheno
 ch=chamorro
 co=c\u00f3rsico
 cr=cree
@@ -87,7 +106,7 @@
 fj=fijiano
 fo=fero\u00eas
 fr=franc\u00eas
-fy=fris\u00e3o
+fy=fr\u00edsio ocidental
 ga=irland\u00eas
 gd=ga\u00e9lico escoc\u00eas
 gl=galego
@@ -96,7 +115,7 @@
 gv=manx
 ha=hau\u00e7\u00e1
 he=hebraico
-hi=hindi
+hi=h\u00edndi
 ho=hiri motu
 hr=croata
 ht=haitiano
@@ -108,6 +127,7 @@
 ie=interlingue
 ig=ibo
 ii=sichuan yi
+ik=inupiaque
 in=indon\u00e9sio
 io=ido
 is=island\u00eas
@@ -116,17 +136,18 @@
 iw=hebraico
 ja=japon\u00eas
 ji=i\u00eddiche
+jv=javan\u00eas
 ka=georgiano
 kg=congol\u00eas
 ki=quicuio
-kj=Kuanyama
+kj=kuanyama
 kk=cazaque
 kl=groenland\u00eas
 km=cmer
 kn=canar\u00eas
 ko=coreano
 kr=can\u00fari
-ks=kashmiri
+ks=caxemira
 ku=curdo
 kv=komi
 kw=c\u00f3rnico
@@ -134,14 +155,14 @@
 la=latim
 lb=luxemburgu\u00eas
 lg=luganda
-li=limburgish
+li=limburgu\u00eas
 ln=lingala
 lo=laosiano
 lt=lituano
 lu=luba-catanga
 lv=let\u00e3o
 mg=malgaxe
-mh=marshall\u00eas
+mh=marshal\u00eas
 mi=maori
 mk=maced\u00f4nio
 ml=malaiala
@@ -153,16 +174,16 @@
 my=birman\u00eas
 na=nauruano
 nb=bokm\u00e5l noruegu\u00eas
-nd=ndebele, north
+nd=ndebele do norte
 ne=nepali
 ng=dongo
 nl=holand\u00eas
 nn=nynorsk noruegu\u00eas
 no=noruegu\u00eas
-nr=ndebele, south
+nr=ndebele do sul
 nv=navajo
-ny=nianja; chicheua; cheua
-oc=occit\u00e2nico (ap\u00f3s 1500); proven\u00e7al
+ny=nianja
+oc=occit\u00e2nico
 oj=ojibwa
 om=oromo
 or=oriya
@@ -170,10 +191,10 @@
 pa=panjabi
 pi=p\u00e1li
 pl=polon\u00eas
-ps=pashto (pushto)
+ps=pashto
 pt=portugu\u00eas
 qu=qu\u00edchua
-rm=rhaeto-romance
+rm=reto-romano
 rn=rundi
 ro=romeno
 ru=russo
@@ -181,27 +202,30 @@
 sa=s\u00e2nscrito
 sc=sardo
 sd=sindi
-se=northern sami
+se=sami do norte
 sg=sango
 si=cingal\u00eas
 sk=eslovaco
-sl=eslov\u00eanio
+sl=esloveno
+sm=samoano
+sn=shona
 so=somali
 sq=alban\u00eas
 sr=s\u00e9rvio
 ss=swati
-st=soto, do sul
+st=soto do sul
 su=sundan\u00eas
 sv=sueco
-sw=sua\u00edli
+sw=suaili
 ta=t\u00e2mil
 te=telugu
 tg=tadjique
 th=tailand\u00eas
 ti=tigr\u00ednia
 tk=turcomano
+tl=tagalo
 tn=tswana
-to=tonga (ilhas tonga)
+to=tongan\u00eas
 tr=turco
 ts=tsonga
 tt=tatar
@@ -214,14 +238,451 @@
 ve=venda
 vi=vietnamita
 vo=volapuque
-wa=walloon
-wo=uolofe
+wa=val\u00e3o
+wo=u\u00f3lofe
 xh=xosa
 yi=i\u00eddiche
 yo=ioruba
 za=zhuang
 zh=chin\u00eas
 zu=zulu
+ace=ach\u00e9m
+ach=acoli
+ada=adangme
+ady=adigue
+afa=Afegane (1927-2002)
+afh=afrihili
+ain=ainu
+akk=acadiano
+ale=ale\u00fate
+alg=idioma algonquiano
+alt=altai do sul
+ang=Guilder das Antilhas Holandesas
+anp=angika
+apa=idioma apache
+ara=Austral argentino
+arc=aramaico
+arm=Peso argentino (1881-1970)
+arn=araucano
+arp=Peso argentino (1983-1985)
+art=idioma artificial
+arw=arauaqui
+ast=asturiano
+ath=idioma atabascano
+aus=idioma australiano
+awa=awadhi
+bad=Dinar da B\u00f3snia-Herzegovina
+bai=idioma bamileke
+bal=bal\u00fachi
+bam=Marco b\u00f3snio-herzegovino convers\u00edvel
+ban=Novo dinar da B\u00f3snia-Herzegovina
+bas=basa
+bat=idioma b\u00e1ltico
+bej=beja
+bel=Franco belga (financeiro)
+bem=bemba
+ber=berbere
+bho=bhojpuri
+bik=bikol
+bin=bini
+bla=siksika
+bnt=banto
+bra=braj
+bre=Cruzeiro brasileiro (1990-1993)
+btk=bataque
+bua=buriat
+bug=buguin\u00eas
+byn=blin
+cad=D\u00f3lar canadense
+cai=idioma ind\u00edgena centro-americano
+car=caribe
+cau=idioma cauc\u00e1sico
+ceb=cebuano
+cel=idioma celta
+chb=chibcha
+che=Euro WIR
+chg=chagatai
+chk=chuukese
+chm=mari
+chn=chinook jargon
+cho=choctaw
+chp=chipewyan
+chr=cherokee
+chy=cheiene
+cmc=idioma chamic
+cop=Peso colombiano
+cpe=crioulo ou pidgin baseado no ingl\u00eas
+cpf=crioulo ou pidgin baseado no franc\u00eas
+cpp=crioulo ou pidgin baseado no portugu\u00eas
+crh=turco da Crimeia
+crp=crioulo ou pidgin
+csb=kashubian
+cus=idioma cuch\u00edtico
+dak=dacota
+dar=dargwa
+day=dayak
+del=delaware
+den=slave
+dgr=dogrib
+din=dinka
+doi=dogri
+dra=idioma dravidiano
+dsb=s\u00e9rvio baixo
+dua=duala
+dum=holand\u00eas m\u00e9dio
+dyu=di\u00fala
+efi=efique
+egy=eg\u00edpcio arcaico
+eka=ekajuk
+elx=elamite
+enm=ingl\u00eas m\u00e9dio
+ewo=ewondo
+fan=fangue
+fat=fanti
+fil=filipino
+fiu=idioma fino-\u00fagrico
+fon=fom
+frm=franc\u00eas m\u00e9dio
+fro=franc\u00eas arcaico
+frr=fr\u00edsio setentrional
+frs=fris\u00e3o oriental
+fur=friulano
+gaa=ga
+gay=gayo
+gba=gbaia
+gem=idioma germ\u00e2nico
+gez=geez
+gil=gilbert\u00eas
+gmh=alem\u00e3o m\u00e9dio-alto
+goh=alem\u00e3o arcaico alto
+gon=gondi
+gor=gorontalo
+got=g\u00f3tico
+grb=grebo
+grc=grego arcaico
+gsw=alem\u00e3o su\u00ed\u00e7o
+gwi=gwich\u02bcin
+hai=haida
+haw=havaiano
+hil=hiligaynon
+him=himachali
+hit=hitita
+hmn=hmong
+hsb=sor\u00e1bio superior
+hup=hupa
+iba=iban
+ijo=ijo
+ilo=ilocano
+inc=idioma \u00edndico
+ine=idioma indo-europeu
+inh=inguche
+ira=iraniano
+iro=idioma iroqu\u00eas
+jbo=lojban
+jpr=judaico-persa
+jrb=judaico-ar\u00e1bico
+kaa=kara-kalpak
+kab=kabyle
+kac=kachin
+kam=kamba
+kar=karen
+kaw=kawi
+kbd=kabardiano
+kha=khasi
+khi=idioma cois\u00e3
+kho=khotan\u00eas
+kmb=quimbundo
+kok=concani
+kos=kosraean
+kpe=kpelle
+krc=karachay-balkar
+krl=idioma car\u00e9lio
+kro=Won antigo da Coreia do Sul
+kru=kurukh
+kum=kumyk
+kut=kutenai
+lad=ladino
+lah=lahnda
+lam=lamba
+lez=lezghian
+lol=mongo
+loz=lozi
+lua=luba-lulua
+lui=luiseno
+lun=lunda
+luo=luo
+lus=lushai
+mad=Dir\u00e9m marroquino
+mag=magahi
+mai=maithili
+mak=makasar
+man=mandinga
+map=austron\u00e9sio
+mas=massai
+mdf=mocsa
+mdr=mandar
+men=mende
+mga=Ariary de Madagascar
+mic=miquemaque
+min=minangkabau
+mis=idiomas diversos
+mkh=idioma mon-khmer
+mnc=manchu
+mni=manipuri
+mno=idioma manobo
+moh=mohawk
+mos=mossi
+mul=idiomas m\u00faltiplos
+mun=idiomas munda
+mus=creek
+mwl=mirand\u00eas
+mwr=marwari
+myn=maia
+myv=erzya
+nah=n\u00e1uatle
+nai=idioma ind\u00edgena norte-americano
+nap=napolitano
+nds=baixo-alem\u00e3o
+new=newari
+nia=nias
+nic=C\u00f3rdoba nicaraguense
+niu=niueano
+nog=nogai
+non=n\u00f3rdico arcaico
+nqo=n'ko
+nso=soto setentrional
+nub=idioma n\u00fabio
+nwc=newari cl\u00e1ssico
+nym=nyamwezi
+nyn=nyankole
+nyo=nyoro
+nzi=nzima
+osa=osage
+ota=turco otomano
+oto=idioma otomano
+paa=idioma papuano
+pag=pangasin\u00e3
+pal=p\u00e1lavi
+pam=pampanga
+pap=papiamento
+pau=palauano
+peo=persa arcaico
+phi=idioma filipino
+phn=fen\u00edcio
+pon=pohnpeian
+pra=idioma pr\u00e1crito
+pro=proven\u00e7al arcaico
+raj=rajastani
+rap=rapanui
+rar=rarotongano
+roa=idioma rom\u00e2nico
+rom=romani
+rup=aromeno
+sad=sandawe
+sah=iacuto
+sai=idioma ind\u00edgena sul-americano
+sal=idioma salisano
+sam=aramaico samaritano
+sas=sasak
+sat=santali
+scn=siciliano
+sco=escoc\u00eas
+sel=selkup
+sem=idioma sem\u00edtico
+sga=irland\u00eas arcaico
+sgn=linguagem de sinais
+shn=shan
+sid=sidamo
+sio=idioma sioux
+sit=Tolar Bons esloveno
+sla=idioma eslavo
+sma=sami do sul
+smi=idioma sami
+smj=lule sami
+smn=inari sami
+sms=skolt sami
+snk=soninqu\u00ea
+sog=sogdiano
+son=songai
+srd=D\u00f3lar do Suriname
+srn=idioma surinam\u00eas
+srr=serere
+ssa=idioma nilo-saariano
+suk=sukuma
+sus=sosso
+sux=sum\u00e9rio
+syc=sir\u00edaco cl\u00e1ssico
+syr=sir\u00edaco
+tai=idioma tailand\u00eas
+tem=timne
+ter=tereno
+tet=t\u00e9tum
+tig=tigr\u00e9
+tiv=tiv
+tkl=toquelauano
+tlh=klingon
+tli=tlinguite
+tmh=tamaxeque
+tog=tongan\u00eas de Nyasa
+tpi=tok pisin
+tsi=tsimshian
+tum=tumbuka
+tup=idioma tupi
+tut=idioma altaico
+tvl=tuvaluano
+tyv=tuvinian
+udm=udmurt
+uga=ugar\u00edtico
+umb=umbundu
+und=idioma inv\u00e1lido ou desconhecido
+vai=vai
+vot=votic
+wak=idioma wakashan
+wal=walamo
+war=waray
+was=washo
+wen=idioma sor\u00e1bio
+xal=kalmyk
+yao=yao
+yap=yapese
+ypk=idioma i\u00fapique
+zap=zapoteca
+zbl=s\u00edmbolos blis
+zen=zenaga
+znd=zande
+zun=zunhi
+zxx=sem conte\u00fado lingu\u00edstico
+zza=zaza
+Arab=\u00e1rabe
+Armi=armi
+Armn=arm\u00eanio
+Avst=av\u00e9stico
+Bali=balin\u00eas
+Batk=bataque
+Beng=bengali
+Blis=s\u00edmbolos bliss
+Bopo=bopomofo
+Brah=brahmi
+Brai=braille
+Bugi=bugin\u00eas
+Buhd=buhid
+Cakm=cakm
+Cans=escrita sil\u00e1bica unificada dos abor\u00edgenes canadenses
+Cari=cariano
+Cham=cham
+Cher=cherokee
+Cirt=cirth
+Copt=c\u00f3ptico
+Cprt=cipriota
+Cyrl=cir\u00edlico
+Cyrs=cir\u00edlico eslavo eclesi\u00e1stico
+Deva=devan\u00e1gari
+Dsrt=deseret
+Egyd=dem\u00f3tico eg\u00edpcio
+Egyh=hier\u00e1tico eg\u00edpcio
+Egyp=hier\u00f3glifos eg\u00edpcios
+Ethi=eti\u00f3pico
+Geok=khutsuri georgiano
+Geor=georgiano
+Glag=glagol\u00edtico
+Goth=g\u00f3tico
+Grek=grego
+Gujr=gujerati
+Guru=gurmuqui
+Hang=hangul
+Hani=han
+Hano=hanunoo
+Hans=han simplificado
+Hant=han tradicional
+Hebr=hebraico
+Hira=hiragana
+Hmng=pahawh hmong
+Hrkt=katakana ou hiragana
+Hung=h\u00fangaro antigo
+Inds=indo
+Ital=it\u00e1lico antigo
+Java=javan\u00eas
+Jpan=japon\u00eas
+Kali=kayah li
+Kana=katakana
+Khar=kharoshthi
+Khmr=khmer
+Knda=kannada
+Kore=coreano
+Kthi=kthi
+Lana=lanna
+Laoo=lao
+Latf=latim fraktur
+Latg=latim ga\u00e9lico
+Latn=latim
+Lepc=lepcha
+Limb=limbu
+Lina=A linear
+Linb=B linear
+Lyci=l\u00edcio
+Lydi=l\u00eddio
+Mand=mandaico
+Mani=maniqueano
+Maya=hier\u00f3glifos maias
+Mero=mero\u00edtico
+Mlym=malaiala
+Mong=mongol
+Moon=moon
+Mtei=meitei mayek
+Mymr=birman\u00eas
+Nkoo=n'ko
+Ogam=og\u00e2mico
+Olck=ol chiki
+Orkh=orkhon
+Orya=oriya
+Osma=osmania
+Perm=p\u00e9rmico antigo
+Phag=phags-pa
+Phli=phli
+Phlp=phlp
+Phlv=pahlavi antigo
+Phnx=fen\u00edcio
+Plrd=fon\u00e9tico pollard
+Prti=prti
+Rjng=rejang
+Roro=rongorongo
+Runr=r\u00fanico
+Samr=samaritano
+Sara=sarati
+Saur=saurashtra
+Sgnw=signwriting
+Shaw=shaviano
+Sinh=cingal\u00eas
+Sund=sundan\u00eas
+Sylo=syloti nagri
+Syrc=sir\u00edaco
+Syre=sir\u00edaco estrangelo
+Syrj=sir\u00edaco ocidental
+Syrn=sir\u00edaco oriental
+Tagb=tagbanwa
+Tale=tai Le
+Talu=novo tai lue
+Taml=t\u00e2mil
+Tavt=tavt
+Telu=t\u00e9lugo
+Teng=tengwar
+Tfng=tifinagh
+Tglg=tagalo
+Thaa=thaana
+Thai=tailand\u00eas
+Tibt=tibetano
+Ugar=ugar\u00edtico
+Vaii=vai
+Visp=visible speech
+Xpeo=persa antigo
+Xsux=sum\u00e9rio-acadiano cuneiforme
+Yiii=yi
+Zinh=herdado
+Zmth=zmth
+Zsym=zsym
+Zxxx=\u00e1grafo
+Zyyy=comum
+Zzzz=escrita desconhecida ou inv\u00e1lida
 AE=Emirados \u00c1rabes Unidos
 AF=Afeganist\u00e3o
 AG=Ant\u00edgua e Barbuda
@@ -232,12 +693,13 @@
 AS=Samoa Americana
 AT=\u00c1ustria
 AU=Austr\u00e1lia
+AX=Ilhas Aland
 AZ=Azerbaij\u00e3o
-BA=B\u00f3snia-Herzeg\u00f3vina
+BA=B\u00f3snia-Herzegovina
 BE=B\u00e9lgica
 BF=Burquina Faso
 BG=Bulg\u00e1ria
-BH=Bareine
+BL=S\u00e3o Bartolomeu
 BM=Bermudas
 BO=Bol\u00edvia
 BR=Brasil
@@ -245,9 +707,10 @@
 BV=Ilha Bouvet
 BW=Botsuana
 CA=Canad\u00e1
-CC=Ilhas Cocos (Keeling)
-CD=Congo, Rep\u00fablica Democr\u00e1tica do
+CC=Ilhas Coco
+CD=Congo-Kinshasa
 CF=Rep\u00fablica Centro-Africana
+CG=Congo - Brazzaville
 CH=Su\u00ed\u00e7a
 CI=Costa do Marfim
 CK=Ilhas Cook
@@ -267,12 +730,12 @@
 EE=Est\u00f4nia
 EG=Egito
 EH=Saara Ocidental
-ER=Eritr\u00e9ia
+ER=Eritreia
 ES=Espanha
 ET=Eti\u00f3pia
 FI=Finl\u00e2ndia
 FK=Ilhas Malvinas
-FM=Micron\u00e9sia, Estados Federados da
+FM=Micron\u00e9sia
 FO=Ilhas Faroe
 FR=Fran\u00e7a
 GA=Gab\u00e3o
@@ -296,6 +759,7 @@
 HU=Hungria
 ID=Indon\u00e9sia
 IE=Irlanda
+IM=Ilha de Man
 IN=\u00cdndia
 IO=Territ\u00f3rio Brit\u00e2nico do Oceano \u00cdndico
 IQ=Iraque
@@ -310,11 +774,11 @@
 KI=Quiribati
 KM=Comores
 KN=S\u00e3o Cristov\u00e3o e Nevis
-KP=Cor\u00e9ia, Norte
-KR=Cor\u00e9ia, Sul
+KP=Coreia do Norte
+KR=Coreia do Sul
 KY=Ilhas Caiman
 KZ=Casaquist\u00e3o
-LA=Rep\u00fablica Democr\u00e1tica Popular de Lao
+LA=Rep\u00fablica Popular Democr\u00e1tica do Laos
 LB=L\u00edbano
 LC=Santa L\u00facia
 LR=Lib\u00e9ria
@@ -325,10 +789,11 @@
 LY=L\u00edbia
 MA=Marrocos
 MC=M\u00f4naco
-MD=Moldova, Rep\u00fablica de
+MD=Mold\u00e1via
+MF=S\u00e3o Martinho
 MH=Ilhas Marshall
-MK=Maced\u00f4nia, Rep\u00fablica da
-MM=Mianm\u00e1
+MK=Maced\u00f4nia
+MM=Mianmar [Birm\u00e2nia]
 MN=Mong\u00f3lia
 MO=Macau, Regi\u00e3o Admin. Especial da China
 MP=Ilhas Marianas do Norte
@@ -345,7 +810,7 @@
 NF=Ilha Norfolk
 NG=Nig\u00e9ria
 NI=Nicar\u00e1gua
-NL=Pa\u00edses Baixos
+NL=Holanda
 NO=Noruega
 NZ=Nova Zel\u00e2ndia
 OM=Om\u00e3
@@ -357,11 +822,12 @@
 PL=Pol\u00f4nia
 PM=Saint Pierre e Miquelon
 PR=Porto Rico
-PS=Territ\u00f3rio da Palestina
+PS=Territ\u00f3rios palestinos
 PY=Paraguai
 QA=Catar
 RE=Reuni\u00e3o
 RO=Rom\u00eania
+RS=S\u00e9rvia
 RU=R\u00fassia
 RW=Ruanda
 SA=Ar\u00e1bia Saudita
@@ -383,7 +849,6 @@
 TF=Territ\u00f3rios Franceses do Sul
 TH=Tail\u00e2ndia
 TJ=Tadjiquist\u00e3o
-TL=Timor Leste
 TM=Turcomenist\u00e3o
 TN=Tun\u00edsia
 TR=Turquia
@@ -403,4 +868,33 @@
 YE=I\u00eamen
 ZA=\u00c1frica do Sul
 ZM=Z\u00e2mbia
-ZW=Zimb\u00e1bwe
+ZW=Zimb\u00e1bue
+001=Mundo
+002=\u00c1frica
+003=Am\u00e9rica do Norte
+005=Am\u00e9rica do Sul
+011=\u00c1frica Ocidental
+013=Am\u00e9rica Central
+014=\u00c1frica Oriental
+015=\u00c1frica do Norte
+017=\u00c1frica Central
+018=\u00c1frica Austral
+019=Am\u00e9ricas
+021=Am\u00e9rica Setentrional
+029=Caribe
+030=\u00c1sia Oriental
+034=\u00c1sia do Sul
+035=\u00c1sia Centro-Oriental
+039=Europa do Sul
+053=Austr\u00e1lia e Nova Zel\u00e2ndia
+054=Melan\u00e9sia
+057=Regi\u00e3o da Micron\u00e9sia
+061=Polin\u00e9sia
+142=\u00c1sia
+143=\u00c1sia Central
+145=\u00c1sia Ocidental
+150=Europa
+151=Europa Oriental
+154=Europa Setentrional
+155=Europa Ocidental
+419=Am\u00e9rica Latina
--- a/src/share/classes/sun/util/resources/pt/LocaleNames_pt_BR.properties	Mon Dec 23 14:03:25 2013 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,54 +0,0 @@
-#
-# Copyright (c) 2007, 2012, Oracle and/or its affiliates. All rights reserved.
-#
-
-#
-# COPYRIGHT AND PERMISSION NOTICE
-#
-# Copyright (C) 1991-2007 Unicode, Inc. All rights reserved.
-# Distributed under the Terms of Use in http://www.unicode.org/copyright.html.
-#
-# Permission is hereby granted, free of charge, to any person obtaining a copy
-# of the Unicode data files and any associated documentation (the "Data
-# Files") or Unicode software and any associated documentation (the
-# "Software") to deal in the Data Files or Software without restriction,
-# including without limitation the rights to use, copy, modify, merge,
-# publish, distribute, and/or sell copies of the Data Files or Software, and
-# to permit persons to whom the Data Files or Software are furnished to do
-# so, provided that (a) the above copyright notice(s) and this permission
-# notice appear with all copies of the Data Files or Software, (b) both the
-# above copyright notice(s) and this permission notice appear in associated
-# documentation, and (c) there is clear notice in each modified Data File or
-# in the Software as well as in the documentation associated with the Data
-# File(s) or Software that the data or software has been modified.
-#
-# THE DATA FILES AND SOFTWARE ARE 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 OF
-# THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS
-# INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR
-# CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF
-# USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
-# TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
-# PERFORMANCE OF THE DATA FILES OR SOFTWARE.
-#
-# Except as contained in this notice, the name of a copyright holder shall not
-# be used in advertising or otherwise to promote the sale, use or other
-# dealings in these Data Files or Software without prior written
-# authorization of the copyright holder.
-#
- 
-# Generated automatically from the Common Locale Data Repository. DO NOT EDIT!
-
-ce=checheno
-ik=inupiaque
-jv=javan\u00eas
-nd=ndebele do norte
-nr=ndebele do sul
-st=soto do sul
-AX=Ilhas Aland
-BA=B\u00f3snia-Herzegovina
-BH=Bahrain
-KP=Cor\u00e9ia do Norte
-MK=Maced\u00f4nia
-ZW=Zimb\u00e1bue
--- a/src/share/classes/sun/util/resources/pt/LocaleNames_pt_PT.properties	Mon Dec 23 14:03:25 2013 -0500
+++ b/src/share/classes/sun/util/resources/pt/LocaleNames_pt_PT.properties	Mon Dec 23 14:05:20 2013 -0500
@@ -1,104 +1,204 @@
 #
-# Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# This code is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License version 2 only, as
+# published by the Free Software Foundation.  Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle in the LICENSE file that accompanied this code.
+#
+# This code is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+# version 2 for more details (a copy is included in the LICENSE file that
+# accompanied this code).
+#
+# You should have received a copy of the GNU General Public License version
+# 2 along with this work; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+# or visit www.oracle.com if you need additional information or have any
+# questions.
 #
 
+#Copyright (C) 1991-2012 Unicode, Inc. All rights reserved. Distributed under the
+#Terms of Use in http://www.unicode.org/copyright.html.
+
+#Permission is hereby granted, free of charge, to any person obtaining a copy of
+#the Unicode data files and any associated documentation (the "Data Files") or
+#Unicode software and any associated documentation (the "Software") to deal in
+#the Data Files or Software without restriction, including without limitation
+#the rights to use, copy, modify, merge, publish, distribute, and/or sell copies
+#of the Data Files or Software, and to permit persons to whom the Data Files or
+#Software are furnished to do so, provided that (a) the above copyright notice(s)
+#and this permission notice appear with all copies of the Data Files or
+#Software, (b) both the above copyright notice(s) and this permission notice
+#appear in associated documentation, and (c) there is clear notice in each
+#modified Data File or in the Software as well as in the documentation
+#associated with the Data File(s) or Software that the data or software has been
+#modified.
+
+#THE DATA FILES AND SOFTWARE ARE 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 OF THIRD
+#PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN
+#THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL
+#DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+#WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
+#OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA FILES OR
+#SOFTWARE.
+
+#Except as contained in this notice, the name of a copyright holder shall not be
+#used in advertising or otherwise to promote the sale, use or other dealings in
+#these Data Files or Software without prior written authorization of the
+#copyright holder.
+
 #
-# COPYRIGHT AND PERMISSION NOTICE
-#
-# Copyright (C) 1991-2007 Unicode, Inc. All rights reserved.
-# Distributed under the Terms of Use in http://www.unicode.org/copyright.html.
-#
-# Permission is hereby granted, free of charge, to any person obtaining a copy
-# of the Unicode data files and any associated documentation (the "Data
-# Files") or Unicode software and any associated documentation (the
-# "Software") to deal in the Data Files or Software without restriction,
-# including without limitation the rights to use, copy, modify, merge,
-# publish, distribute, and/or sell copies of the Data Files or Software, and
-# to permit persons to whom the Data Files or Software are furnished to do
-# so, provided that (a) the above copyright notice(s) and this permission
-# notice appear with all copies of the Data Files or Software, (b) both the
-# above copyright notice(s) and this permission notice appear in associated
-# documentation, and (c) there is clear notice in each modified Data File or
-# in the Software as well as in the documentation associated with the Data
-# File(s) or Software that the data or software has been modified.
+# Generated automatically from the Common Locale Data Repository. DO NOT EDIT!
 #
-# THE DATA FILES AND SOFTWARE ARE 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 OF
-# THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS
-# INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR
-# CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF
-# USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
-# TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
-# PERFORMANCE OF THE DATA FILES OR SOFTWARE.
-#
-# Except as contained in this notice, the name of a copyright holder shall not
-# be used in advertising or otherwise to promote the sale, use or other
-# dealings in these Data Files or Software without prior written
-# authorization of the copyright holder.
-#
- 
-# Generated automatically from the Common Locale Data Repository. DO NOT EDIT!
-
+af=afrikaans
+ce=chechene
 cs=checo
 et=est\u00f3nio
+hi=Hindi
+hy=arm\u00e9nio
+ig=igbo
+ik=Inupiaq
+jv=jv
+mk=maced\u00f3nio
+oc=proven\u00e7al
+os=oss\u00e9tico
 pl=polaco
-sl=esloveno
+rm=Romanche
+ta=T\u00e2mil
+tg=tajique
+to=tonga
+afa=Afeghani (1927-2002)
+ang=Florim das Antilhas Holandesas
+art=idioma artifical
+awa=Awadhi
+bad=Dinar da B\u00f3snia-Herzeg\u00f3vina
+bai=bamileke Languages
+bam=Marco b\u00f3snio-herzeg\u00f3vino convers\u00edvel
+bug=Buginese
+cad=D\u00f3lar canadiano
+cel=idioma c\u00e9ltico
+chn=jarg\u00e3o chinook
+cpe=crioulo ou pidgin do ingl\u00eas
+cpf=crioulo ou pidgin do franc\u00eas
+cpp=crioulo ou pidgin do portugu\u00eas
+cus=idioma cuchita
+dra=idioma drav\u00edtico
+dyu=diula
+egy=eg\u00edpcio cl\u00e1ssico
+enm=ingl\u00eas medieval
+fiu=idioma ugro-fin\u00eas
+frm=franc\u00eas medieval
+frs=fr\u00edsio oriental
+gmh=alem\u00e3o medieval alto
+grc=grego cl\u00e1ssico
+gsw=alem\u00e3o da Su\u00ed\u00e7a
+hsb=sorbiano superior
+iba=Iban
+khi=khoisan
+lez=lezghiano
+mga=irland\u00eas, medieval (900-1200)
+nah=Nauatle
+nds=baixo alem\u00e3o
+nic=C\u00f3rdoba nicaraguano
+non=norse, old
+peo=persa arcaico (aprox. 600-400 a.C.)
+pra=idioma pr\u00e1cito
+pro=proven\u00e7al, arcaico (at\u00e9 1500)
+rom=roman\u00eas
+sai=idioma ind\u00edgeno sul-americano
+sal=salishan languages
+sgn=linguages de sinais
+ssa=idioma nilo-sariano
+tai=idioma tail\u00e2ndes
+tet=T\u00e9tum
+tog=togan\u00eas
+tyv=tuviniano
+wen=idioma s\u00f3rbio
+Armn=arm\u00e9nio
+Blis=s\u00edmbolos Bliss
+Egyd=eg\u00edpcio dem\u00f3tico
+Egyh=eg\u00edpcio hier\u00e1tico
+Inds=indus
+Laoo=Lao
+Lina=linear A
+Linb=linear B
+Sylo=siloti nagri
+Tale=tai le
+Taml=tamil
+Telu=telugu
+Xsux=cuneiforme sumero-acadiano
+Zxxx=n\u00e3o escrito
+Zzzz=inv\u00e1lido ou desconhecido
 AE=Emiratos \u00c1rabes Unidos
+AI=Anguila
 AM=Arm\u00e9nia
 AQ=Ant\u00e1rctica
-AZ=Azerbeij\u00e3o
-BA=B\u00f3snia-Herzegovina
+AX=Ilhas \u00c5land
+BF=Burkina-Faso
+BH=Bahrein
 BJ=Benim
+BW=Botswana
 BY=Bielorr\u00fassia
+CC=Ilhas Cocos
+CG=Congo-Brazzaville
 CM=Camar\u00f5es
 CX=Ilha do Natal
 CZ=Rep\u00fablica Checa
 EE=Est\u00f3nia
 EG=Egipto
-EH=Sahara Ocidental
-ER=Eritreia
+EH=Sara Ocidental
 FK=Ilhas Falkland
+FM=Estados Federados da Micron\u00e9sia
+FO=Ilhas Faro\u00e9
 GL=Gronel\u00e2ndia
-GS=Ilhas South Georgia e South Sandwich
 GW=Guin\u00e9-Bissau
-HK=Hong Kong - Regi\u00e3o Administrativa Especial da China
+HK=Regi\u00e3o Administrativa Especial de Hong Kong
+IR=Ir\u00e3o
 KE=Qu\u00e9nia
 KG=Quirguizist\u00e3o
 KN=Saint Kitts e Nevis
-KP=Coreia do Norte
-KR=Coreia do Sul
 KY=Ilhas Caim\u00e3o
 KZ=Cazaquist\u00e3o
-LA=Lao, Rep\u00fablica Popular Democr\u00e1tica
+LA=Laos, Rep\u00fablica Popular Democr\u00e1tica do
 LV=Let\u00f3nia
 MC=M\u00f3naco
 MD=Mold\u00e1via, Rep\u00fablica da
 MG=Madag\u00e1scar
-MK=Maced\u00f3nia, Rep\u00fablica da
-MO=Macau - Regi\u00e3o Administrativa Especial da China
+MK=Maced\u00f3nia
+MM=Mianmar
+MO=Regi\u00e3o Administrativa Especial de Macau
 MP=Ilhas Mariana do Norte
+MS=Monserrate
 MU=Maur\u00edcias
 NC=Nova Caled\u00f3nia
-PG=Papua Nova Guin\u00e9
+NL=Pa\u00edses Baixos
+PG=Papu\u00e1sia-Nova Guin\u00e9
 PL=Pol\u00f3nia
 PS=Territ\u00f3rio Palestiniano
-RE=Reunion
+QA=Qatar
 RO=Rom\u00e9nia
 SC=Seicheles
 SG=Singapura
 SI=Eslov\u00e9nia
 SM=S\u00e3o Marino
 TC=Ilhas Turcas e Caicos
-TD=Tchade
-TF=Territ\u00f3rios Franceses a Sul
 TJ=Tajiquist\u00e3o
 TM=Turquemenist\u00e3o
-UM=Ilhas Minor Outlying (E.U.A)
-UZ=Uzbaquist\u00e3o
-VA=Santa S\u00e9 (Estado da Cidade do Vaticano)
-VC=Saint Vincent e Grenadines
-VG=Ilhas Virgin Brit\u00e2nicas
-VI=Ilhas Virgin E.U.A.
+TT=Trindade e Tobago
+UZ=Usbequist\u00e3o
+VI=Ilhas Virgens E.U.A.
 VN=Vietname
 YE=I\u00e9men
+ZW=Zimbabwe
+009=Oce\u00e2nia
+015=Norte de \u00c1frica
+035=Sudeste Asi\u00e1tico
+154=Europa do Norte
--- a/test/java/time/tck/java/time/AbstractTCKTest.java	Mon Dec 23 14:03:25 2013 -0500
+++ b/test/java/time/tck/java/time/AbstractTCKTest.java	Mon Dec 23 14:05:20 2013 -0500
@@ -58,17 +58,18 @@
 
 import static org.testng.Assert.assertEquals;
 import static org.testng.Assert.assertSame;
+import static org.testng.Assert.fail;
 
 import java.io.ByteArrayInputStream;
 import java.io.ByteArrayOutputStream;
 import java.io.DataInputStream;
+import java.io.DataOutputStream;
 import java.io.IOException;
 import java.io.ObjectInputStream;
 import java.io.ObjectOutputStream;
 import java.io.ObjectStreamConstants;
 import java.io.Serializable;
 import java.lang.reflect.Field;
-import java.util.Arrays;
 import java.util.Formatter;
 
 /**
@@ -164,6 +165,42 @@
         }
     }
 
+    /**
+     * Verify the class cannot be deserialized from a handcoded stream.
+     * Fail if the deserialization does <em>not</em> throw an Exception.
+     * @param serClass the class to embed in the handcoded stream
+     * @throws Exception if an unexpected condition occurs
+     */
+    protected static void assertNotSerializable(Class<?> serClass) throws Exception {
+        Field field = serClass.getDeclaredField("serialVersionUID");
+        field.setAccessible(true);
+        long serVer = (Long) field.get(null);
+        ByteArrayOutputStream baos = new ByteArrayOutputStream();
+        try (DataOutputStream out = new DataOutputStream(baos)) {
+            out.writeShort(ObjectStreamConstants.STREAM_MAGIC);
+            out.writeShort(ObjectStreamConstants.STREAM_VERSION);
+            out.writeByte(ObjectStreamConstants.TC_OBJECT);
+            out.writeByte(ObjectStreamConstants.TC_CLASSDESC);
+            out.writeUTF(serClass.getName());
+            out.writeLong(serVer);
+            out.writeByte(ObjectStreamConstants.SC_SERIALIZABLE);   // Flags ObjectStreamConstants
+            out.writeShort(0);  // number of fields
+            out.writeByte(ObjectStreamConstants.TC_ENDBLOCKDATA);
+            out.writeByte(ObjectStreamConstants.TC_NULL);  // no superclasses
+        }
+
+        byte[] bytes = baos.toByteArray();
+
+        try (ByteArrayInputStream bis = new ByteArrayInputStream(bytes);
+            ObjectInputStream in = new ObjectInputStream(bis)) {
+            Object o = in.readObject();
+        } catch (Exception ioe) {
+            // Expected exception
+            return;
+        }
+        fail("Class should not be deserializable " + serClass.getName());
+    }
+
 
     /**
      * Utility method to dump a byte array in a java syntax.
--- a/test/java/time/tck/java/time/chrono/serial/TCKChronoLocalDateSerialization.java	Mon Dec 23 14:03:25 2013 -0500
+++ b/test/java/time/tck/java/time/chrono/serial/TCKChronoLocalDateSerialization.java	Mon Dec 23 14:05:20 2013 -0500
@@ -161,4 +161,25 @@
 
         assertSerializedBySer(date, hijrahDateBytes, hijrahChronoBytes, dateBytes);
     }
+
+
+    //-----------------------------------------------------------------------
+    // Regular data factory for names and descriptions of available calendars
+    //-----------------------------------------------------------------------
+    @DataProvider(name = "invalidSerialformClasses")
+    Object[][] invalid_serial_classes() {
+        return new Object[][]{
+            {JapaneseEra.class},
+            {JapaneseDate.class},
+            {MinguoDate.class},
+            {ThaiBuddhistDate.class},
+            {HijrahDate.class},
+        };
+    }
+
+    @Test(dataProvider="invalidSerialformClasses")
+    public void test_invalid_serialform(Class<?> clazz) throws Exception {
+        assertNotSerializable(clazz);
+    }
+
 }
--- a/test/java/time/tck/java/time/chrono/serial/TCKChronologySerialization.java	Mon Dec 23 14:03:25 2013 -0500
+++ b/test/java/time/tck/java/time/chrono/serial/TCKChronologySerialization.java	Mon Dec 23 14:05:20 2013 -0500
@@ -111,4 +111,24 @@
         assertSerializedBySer(chrono, bytes);
     }
 
+
+    //-----------------------------------------------------------------------
+    // Regular data factory for names and descriptions of available calendars
+    //-----------------------------------------------------------------------
+    @DataProvider(name = "invalidSerialformClasses")
+    Object[][] invalid_serial_classes() {
+        return new Object[][]{
+            {IsoChronology.class},
+            {JapaneseChronology.class},
+            {MinguoChronology.class},
+            {ThaiBuddhistChronology.class},
+            {HijrahChronology.class},
+        };
+    }
+
+    @Test(dataProvider="invalidSerialformClasses")
+    public void test_invalid_serialform(Class<?> clazz) throws Exception {
+        assertNotSerializable(clazz);
+    }
+
 }
--- a/test/java/time/tck/java/time/serial/TCKDurationSerialization.java	Mon Dec 23 14:03:25 2013 -0500
+++ b/test/java/time/tck/java/time/serial/TCKDurationSerialization.java	Mon Dec 23 14:05:20 2013 -0500
@@ -110,4 +110,9 @@
         assertSerializableSame(Duration.ZERO);
     }
 
+    @Test
+    public void test_invalid_serialform() throws Exception {
+        assertNotSerializable(Duration.class);
+    }
+
 }
--- a/test/java/time/tck/java/time/serial/TCKInstantSerialization.java	Mon Dec 23 14:03:25 2013 -0500
+++ b/test/java/time/tck/java/time/serial/TCKInstantSerialization.java	Mon Dec 23 14:05:20 2013 -0500
@@ -91,5 +91,10 @@
         assertSerializedBySer(Instant.ofEpochSecond(654321, 123456789), bytes);
     }
 
+    @Test
+    public void test_invalid_serialform() throws Exception {
+        assertNotSerializable(Instant.class);
+    }
+
 
 }
--- a/test/java/time/tck/java/time/serial/TCKLocalDateSerialization.java	Mon Dec 23 14:03:25 2013 -0500
+++ b/test/java/time/tck/java/time/serial/TCKLocalDateSerialization.java	Mon Dec 23 14:05:20 2013 -0500
@@ -102,4 +102,9 @@
         assertSerializedBySer(LocalDate.of(2012, 9, 16), bytes);
     }
 
+    @Test
+    public void test_invalid_serialform() throws Exception {
+        assertNotSerializable(LocalDate.class);
+    }
+
 }
--- a/test/java/time/tck/java/time/serial/TCKLocalDateTimeSerialization.java	Mon Dec 23 14:03:25 2013 -0500
+++ b/test/java/time/tck/java/time/serial/TCKLocalDateTimeSerialization.java	Mon Dec 23 14:05:20 2013 -0500
@@ -99,4 +99,9 @@
         assertSerializedBySer(LocalDateTime.of(2012, 9, 16, 22, 17, 59, 459_000_000), bytes);
     }
 
+    @Test
+    public void test_invalid_serialform() throws Exception {
+        assertNotSerializable(LocalDateTime.class);
+    }
+
 }
--- a/test/java/time/tck/java/time/serial/TCKLocalTimeSerialization.java	Mon Dec 23 14:03:25 2013 -0500
+++ b/test/java/time/tck/java/time/serial/TCKLocalTimeSerialization.java	Mon Dec 23 14:05:20 2013 -0500
@@ -141,5 +141,9 @@
         assertSerializedBySer(LocalTime.of(22, 17, 59, 459_000_000), bytes);
     }
 
+    @Test
+    public void test_invalid_serialform() throws Exception {
+        assertNotSerializable(LocalTime.class);
+    }
 
 }
--- a/test/java/time/tck/java/time/serial/TCKMonthDaySerialization.java	Mon Dec 23 14:03:25 2013 -0500
+++ b/test/java/time/tck/java/time/serial/TCKMonthDaySerialization.java	Mon Dec 23 14:05:20 2013 -0500
@@ -99,4 +99,9 @@
         assertSerializedBySer(MonthDay.of(9, 16), bytes);
     }
 
+    @Test
+    public void test_invalid_serialform() throws Exception {
+        assertNotSerializable(MonthDay.class);
+    }
+
 }
--- a/test/java/time/tck/java/time/serial/TCKOffsetDateTimeSerialization.java	Mon Dec 23 14:03:25 2013 -0500
+++ b/test/java/time/tck/java/time/serial/TCKOffsetDateTimeSerialization.java	Mon Dec 23 14:05:20 2013 -0500
@@ -111,4 +111,9 @@
         assertSerializedBySer(OffsetDateTime.of(ldt, ZoneOffset.ofHours(1)), bytes);
     }
 
+    @Test
+    public void test_invalid_serialform() throws Exception {
+        assertNotSerializable(OffsetDateTime.class);
+    }
+
 }
--- a/test/java/time/tck/java/time/serial/TCKOffsetTimeSerialization.java	Mon Dec 23 14:03:25 2013 -0500
+++ b/test/java/time/tck/java/time/serial/TCKOffsetTimeSerialization.java	Mon Dec 23 14:05:20 2013 -0500
@@ -107,5 +107,9 @@
         assertSerializedBySer(OffsetTime.of(22, 17, 59, 464_000_000, ZoneOffset.ofHours(1)), bytes);
     }
 
+    @Test
+    public void test_invalid_serialform() throws Exception {
+        assertNotSerializable(OffsetTime.class);
+    }
 
 }
--- a/test/java/time/tck/java/time/serial/TCKPeriodSerialization.java	Mon Dec 23 14:03:25 2013 -0500
+++ b/test/java/time/tck/java/time/serial/TCKPeriodSerialization.java	Mon Dec 23 14:05:20 2013 -0500
@@ -78,4 +78,9 @@
         assertSerializable(Period.of(1, 2, 3));
     }
 
+    @Test
+    public void test_invalid_serialform() throws Exception {
+        assertNotSerializable(Period.class);
+    }
+
 }
--- a/test/java/time/tck/java/time/serial/TCKYearMonthSerialization.java	Mon Dec 23 14:03:25 2013 -0500
+++ b/test/java/time/tck/java/time/serial/TCKYearMonthSerialization.java	Mon Dec 23 14:05:20 2013 -0500
@@ -100,4 +100,9 @@
         assertSerializedBySer(YearMonth.of(2012, 9), bytes);
     }
 
+    @Test
+    public void test_invalid_serialform() throws Exception {
+        assertNotSerializable(YearMonth.class);
+    }
+
 }
--- a/test/java/time/tck/java/time/serial/TCKYearSerialization.java	Mon Dec 23 14:03:25 2013 -0500
+++ b/test/java/time/tck/java/time/serial/TCKYearSerialization.java	Mon Dec 23 14:05:20 2013 -0500
@@ -91,4 +91,9 @@
         assertSerializedBySer(Year.of(2012), bytes);
     }
 
+    @Test
+    public void test_invalid_serialform() throws Exception {
+        assertNotSerializable(Year.class);
+    }
+
 }
--- a/test/java/time/tck/java/time/serial/TCKZoneOffsetSerialization.java	Mon Dec 23 14:03:25 2013 -0500
+++ b/test/java/time/tck/java/time/serial/TCKZoneOffsetSerialization.java	Mon Dec 23 14:05:20 2013 -0500
@@ -114,5 +114,9 @@
         assertSerializedBySer(ZoneOffset.ofTotalSeconds(53265), bytes);
     }
 
+    @Test
+    public void test_invalid_serialform() throws Exception {
+        assertNotSerializable(ZoneOffset.class);
+    }
 
 }
--- a/test/java/time/tck/java/time/serial/TCKZonedDateTimeSerialization.java	Mon Dec 23 14:03:25 2013 -0500
+++ b/test/java/time/tck/java/time/serial/TCKZonedDateTimeSerialization.java	Mon Dec 23 14:05:20 2013 -0500
@@ -139,4 +139,9 @@
         assertSerializedBySer(zdt, bytes);
     }
 
+    @Test
+    public void test_invalid_serialform() throws Exception {
+        assertNotSerializable(ZonedDateTime.class);
+    }
+
 }
--- a/test/java/time/tck/java/time/temporal/serial/TCKValueRangeSerialization.java	Mon Dec 23 14:03:25 2013 -0500
+++ b/test/java/time/tck/java/time/temporal/serial/TCKValueRangeSerialization.java	Mon Dec 23 14:05:20 2013 -0500
@@ -60,11 +60,16 @@
 package tck.java.time.temporal.serial;
 
 import static org.testng.Assert.assertEquals;
+import static org.testng.Assert.fail;
 
+import java.io.ByteArrayInputStream;
 import java.io.ByteArrayOutputStream;
 import java.io.IOException;
+import java.io.InvalidObjectException;
+import java.io.ObjectInputStream;
 import java.io.ObjectOutputStream;
 import java.time.temporal.ValueRange;
+import java.util.Arrays;
 
 import org.testng.annotations.Test;
 
@@ -117,4 +122,57 @@
         }
     }
 
+    @Test
+    public void test_invalid_serialform() throws Exception {
+        byte[] template = {
+            (byte)172, (byte)237,   0,   5, 115, 114,   0,  29, 106,  97, /* \u00ac \u00ed \u0000 \u0005 s r \u0000 \u001d j a */
+            118,  97,  46, 116, 105, 109, 101,  46, 116, 101, /* v a . t i m e . t e */
+            109, 112, 111, 114,  97, 108,  46,  86,  97, 108, /* m p o r a l . V a l */
+            117, 101,  82,  97, 110, 103, 101, (byte)154, 113, (byte)169, /* u e R a n g e \u009a q \u00a9 */
+             86, (byte)242, (byte)205,  90, (byte)184,   2,   0,   4,  74,   0, /* V \u00f2 \u00cd Z \u00b8 \u0002 \u0000 \u0004 J \u0000 */
+             10, 109,  97, 120,  76,  97, 114, 103, 101, 115, /*  m a x L a r g e s */
+            116,  74,   0,  11, 109,  97, 120,  83, 109,  97, /* t J \u0000 \u000b m a x S m a */
+            108, 108, 101, 115, 116,  74,   0,  10, 109, 105,/* l l e s t J \u0000 m i */
+            110,  76,  97, 114, 103, 101, 115, 116,  74,   0, /* n L a r g e s t J \u0000 */
+             11, 109, 105, 110,  83, 109,  97, 108, 108, 101, /* \u000b m i n S m a l l e */
+            115, 116, 120, 112,   0,   0,   0,   0,   0,   0, /* s t x p \u0000 \u0000 \u0000 \u0000 \u0000 \u0000 */
+              0,  40,   0,   0,   0,   0,   0,   0,   0,  30, /* \u0000 ( \u0000 \u0000 \u0000 \u0000 \u0000 \u0000 \u0000 \u001e */
+              0,   0,   0,   0,   0,   0,   0,  20,   0,   0, /* \u0000 \u0000 \u0000 \u0000 \u0000 \u0000 \u0000 \u0014 \u0000 \u0000 */
+              0,   0,   0,   0,   0,  10,                     /* \u0000 \u0000 \u0000 \u0000 \u0000 */
+        };
+
+        // minSmallest > minLargest, insert invalid values and deserialize
+        byte[] bad1 = {0, 0, 0, 2, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 4};
+        byte[] val = Arrays.copyOf(template, template.length);
+        System.arraycopy(bad1, 0, val, 114, bad1.length);
+        try (ObjectInputStream in = new ObjectInputStream(new ByteArrayInputStream(val))) {
+            in.readObject();
+            fail("Invalid minSmallest > minLargest " + ValueRange.class.getName());
+        } catch (InvalidObjectException ioe) {
+            // Expected exception
+        }
+
+        // maxSmallest > maxLargest, insert invalid values and deserialize
+        byte[] bad2 = {0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 4, 0, 0, 0, 3};
+        val = Arrays.copyOf(template, template.length);
+        System.arraycopy(bad1, 0, val, 114, bad2.length);
+        try (ObjectInputStream in = new ObjectInputStream(new ByteArrayInputStream(val))) {
+            in.readObject();
+            fail("Invalid maxSmallest > maxLargest " + ValueRange.class.getName());
+        } catch (InvalidObjectException ioe) {
+            // Expected exception
+        }
+
+        // minLagest > maxLargest, insert invalid values and deserialize
+        byte[] bad3 = {0, 0, 0, 1, 0, 0, 0, 5, 0, 0, 0, 3, 0, 0, 0, 4};
+        val = Arrays.copyOf(template, template.length);
+        System.arraycopy(bad1, 0, val, 114, bad3.length);
+        try (ObjectInputStream in = new ObjectInputStream(new ByteArrayInputStream(val))) {
+            in.readObject();
+            fail("Invalid minLagest > maxLargest " + ValueRange.class.getName());
+        } catch (InvalidObjectException ioe) {
+            // Expected exception
+        }
+    }
+
 }
--- a/test/java/time/tck/java/time/temporal/serial/TCKWeekFieldsSerialization.java	Mon Dec 23 14:03:25 2013 -0500
+++ b/test/java/time/tck/java/time/temporal/serial/TCKWeekFieldsSerialization.java	Mon Dec 23 14:05:20 2013 -0500
@@ -56,13 +56,21 @@
  */
 package tck.java.time.temporal.serial;
 
+import static org.testng.Assert.assertEquals;
+import static org.testng.Assert.fail;
+
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
 import org.testng.annotations.DataProvider;
 import org.testng.annotations.Test;
 import tck.java.time.AbstractTCKTest;
 
 import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
 import java.time.DayOfWeek;
 import java.time.temporal.WeekFields;
+import java.util.Arrays;
 
 /**
  * Test serialization of WeekFields.
@@ -90,5 +98,58 @@
         return objects;
     }
 
+    @Test
+    public void test_invalid_serialform() throws Exception {
+        WeekFields wf = WeekFields.of(DayOfWeek.MONDAY, 7);
+        ByteArrayOutputStream baos = new ByteArrayOutputStream(64);
+        ObjectOutputStream out = new ObjectOutputStream(baos);
+        out.writeObject(wf);
+        byte[] template = baos.toByteArray();
+
+        // (minimalDays = 5) {
+        byte[] good1 = {0, 0, 0, 5};
+        byte[] val = Arrays.copyOf(template, template.length);
+        System.arraycopy(good1, 0, val, 105, good1.length);
+        try (ObjectInputStream in = new ObjectInputStream(new ByteArrayInputStream(val))) {
+            Object o = in.readObject();
+            assertEquals(o, WeekFields.of(DayOfWeek.MONDAY, 5), "Should be MONDAY, min = 5");
+        } catch (Exception ioe) {
+            fail("Unexpected exception " + ioe);
+        }
+
+        // (minimalDays < 1) {
+        byte[] bad1 = {0, 0, 0, 0};
+        val = Arrays.copyOf(template, template.length);
+        System.arraycopy(bad1, 0, val, 105, bad1.length);
+        try (ObjectInputStream in = new ObjectInputStream(new ByteArrayInputStream(val))) {
+            in.readObject();
+            fail("Invalid minimalDays < 1 " + WeekFields.class.getName());
+        } catch (Exception ioe) {
+            // Expected exception
+        }
+
+        // (minimalDays > 7) {
+        byte[] bad2 = {0, 0, 0, 8};
+        val = Arrays.copyOf(template, template.length);
+        System.arraycopy(bad2, 0, val, 105, bad2.length);
+        try (ObjectInputStream in = new ObjectInputStream(new ByteArrayInputStream(val))) {
+            in.readObject();
+            fail("Invalid minimalDays > 7 " + WeekFields.class.getName());
+        } catch (Exception ioe) {
+            // Expected exception
+        }
+
+        // (StartDay = null) {
+        byte[] bad3 = {0x70};
+        val = Arrays.copyOf(template, 110);
+        System.arraycopy(bad3, 0, val, 105 + 4, bad3.length);
+        try (ObjectInputStream in = new ObjectInputStream(new ByteArrayInputStream(val))) {
+            in.readObject();
+            fail("Invalid startDay == null " + WeekFields.class.getName());
+        } catch (Exception ioe) {
+            // Expected exception
+        }
+
+    }
 
 }
--- a/test/java/time/tck/java/time/zone/serial/TCKZoneOffsetTransitionRuleSerialization.java	Mon Dec 23 14:03:25 2013 -0500
+++ b/test/java/time/tck/java/time/zone/serial/TCKZoneOffsetTransitionRuleSerialization.java	Mon Dec 23 14:05:20 2013 -0500
@@ -133,4 +133,9 @@
         assertSerializable(test);
     }
 
+    @Test
+    public void test_invalid_serialform() throws Exception {
+        assertNotSerializable(ZoneOffsetTransitionRule.class);
+    }
+
 }
--- a/test/java/time/tck/java/time/zone/serial/TCKZoneOffsetTransitionSerialization.java	Mon Dec 23 14:03:25 2013 -0500
+++ b/test/java/time/tck/java/time/zone/serial/TCKZoneOffsetTransitionSerialization.java	Mon Dec 23 14:05:20 2013 -0500
@@ -110,4 +110,9 @@
         assertSerializable(test);
     }
 
+    @Test
+    public void test_invalid_serialform() throws Exception {
+        assertNotSerializable(ZoneOffsetTransition.class);
+    }
+
 }
--- a/test/java/time/tck/java/time/zone/serial/TCKZoneRulesSerialization.java	Mon Dec 23 14:03:25 2013 -0500
+++ b/test/java/time/tck/java/time/zone/serial/TCKZoneRulesSerialization.java	Mon Dec 23 14:05:20 2013 -0500
@@ -70,11 +70,13 @@
 
 import static org.testng.Assert.assertEquals;
 
+import tck.java.time.AbstractTCKTest;
+
 /**
  * Test serialization of ZoneRules.
  */
 @Test
-public class TCKZoneRulesSerialization {
+public class TCKZoneRulesSerialization extends AbstractTCKTest{
 
     public void test_serialization_loaded() throws Exception {
         assertSerialization(europeLondon());
@@ -118,5 +120,9 @@
         return ZoneId.of("America/New_York").getRules();
     }
 
+    @Test
+    public void test_invalid_serialform() throws Exception {
+        assertNotSerializable(ZoneRules.class);
+    }
 
 }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/javax/xml/jaxp/parsers/8029955/EntityScannerTest.java	Mon Dec 23 14:05:20 2013 -0500
@@ -0,0 +1,67 @@
+/*
+ * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/**
+ * @test
+ * @bug 8029955
+ * @summary test that the size of whitespace lookup buffer is adjusted as needed
+ * @run main EntityScannerTest
+ */
+
+import java.io.*;
+import org.xml.sax.InputSource;
+import org.xml.sax.XMLReader;
+import org.xml.sax.helpers.XMLReaderFactory;
+
+
+/**
+ *
+ * @author Joe Wang huizhe.wang@oracle.com
+ */
+public class EntityScannerTest {
+
+    /**
+     * main method.
+     *
+     * @param args Standard args.
+     */
+    public static void main(String[] args) {
+        try {
+            StringBuilder builder = new StringBuilder();
+            builder.append("<root attr=\"");
+            for (int i = 0; i < 200; i++) {
+                builder.append("\n");
+            }
+            builder.append("foo.");
+            builder.append("\" />");
+            final XMLReader reader = XMLReaderFactory.createXMLReader();
+            System.out.println(reader.getClass().getName());
+            reader.parse(new InputSource(new StringReader(builder.toString())));
+        } catch (ArrayIndexOutOfBoundsException e) {
+            throw new RuntimeException("Test failed: ArrayIndexOutOfBoundsException " + e.getMessage());
+        } catch (Exception e) {
+            throw new RuntimeException(e.getMessage());
+        }
+    }
+
+}
--- a/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/DHKeyExchange/DHEKeySizing.java	Mon Dec 23 14:03:25 2013 -0500
+++ b/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/DHKeyExchange/DHEKeySizing.java	Mon Dec 23 14:05:20 2013 -0500
@@ -443,7 +443,7 @@
         TrustManagerFactory tmf = TrustManagerFactory.getInstance("SunX509");
         tmf.init(ts);
 
-        SSLContext sslCtx = SSLContext.getInstance("TLS");
+        SSLContext sslCtx = SSLContext.getInstance("TLSv1");
         sslCtx.init(kmf.getKeyManagers(), tmf.getTrustManagers(), null);
 
         return sslCtx;
--- a/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/EngineArgs/DebugReportsOneExtraByte.java	Mon Dec 23 14:03:25 2013 -0500
+++ b/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/EngineArgs/DebugReportsOneExtraByte.java	Mon Dec 23 14:05:20 2013 -0500
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -159,7 +159,7 @@
         TrustManagerFactory tmf = TrustManagerFactory.getInstance("SunX509");
         tmf.init(ts);
 
-        SSLContext sslCtx = SSLContext.getInstance("TLS");
+        SSLContext sslCtx = SSLContext.getInstance("TLSv1");
 
         sslCtx.init(kmf.getKeyManagers(), tmf.getTrustManagers(), null);
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLContextImpl/CustomizedDefaultProtocols.java	Mon Dec 23 14:05:20 2013 -0500
@@ -0,0 +1,239 @@
+/*
+ * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+// SunJSSE does not support dynamic system properties, no way to re-use
+// system properties in samevm/agentvm mode.
+
+/*
+ * @test
+ * @bug 7093640
+ * @summary Enable TLS 1.1 and TLS 1.2 by default in client side of SunJSSE
+ * @run main/othervm -Djdk.tls.client.protocols="SSLv3,TLSv1,TLSv1.1"
+ *      CustomizedDefaultProtocols
+ */
+
+import javax.net.*;
+import javax.net.ssl.*;
+import java.util.Arrays;
+
+public class CustomizedDefaultProtocols {
+    static enum ContextVersion {
+        TLS_CV_01("SSL",
+                new String[] {"SSLv3", "TLSv1", "TLSv1.1"}),
+        TLS_CV_02("TLS",
+                new String[] {"SSLv3", "TLSv1", "TLSv1.1"}),
+        TLS_CV_03("SSLv3",
+                new String[] {"SSLv3", "TLSv1"}),
+        TLS_CV_04("TLSv1",
+                new String[] {"SSLv3", "TLSv1"}),
+        TLS_CV_05("TLSv1.1",
+                new String[] {"SSLv3", "TLSv1", "TLSv1.1"}),
+        TLS_CV_06("TLSv1.2",
+                new String[] {"SSLv3", "TLSv1", "TLSv1.1", "TLSv1.2"}),
+        TLS_CV_07("Default",
+                new String[] {"SSLv3", "TLSv1", "TLSv1.1"});
+
+        final String contextVersion;
+        final String[] enabledProtocols;
+        final static String[] supportedProtocols = new String[] {
+                "SSLv2Hello", "SSLv3", "TLSv1", "TLSv1.1", "TLSv1.2"};
+
+        ContextVersion(String contextVersion, String[] enabledProtocols) {
+            this.contextVersion = contextVersion;
+            this.enabledProtocols = enabledProtocols;
+        }
+    }
+
+    private static boolean checkProtocols(String[] target, String[] expected) {
+        boolean success = true;
+        if (target.length == 0) {
+            System.out.println("\tError: No protocols");
+            success = false;
+        }
+
+        if (!Arrays.equals(target, expected)) {
+            System.out.println("\tError: Expected to get protocols " +
+                    Arrays.toString(expected));
+            System.out.println("\tError: The actual protocols " +
+                    Arrays.toString(target));
+            success = false;
+        }
+
+        return success;
+    }
+
+    private static boolean checkCipherSuites(String[] target) {
+        boolean success = true;
+        if (target.length == 0) {
+            System.out.println("\tError: No cipher suites");
+            success = false;
+        }
+
+        return success;
+    }
+
+    public static void main(String[] args) throws Exception {
+        boolean failed = false;
+        for (ContextVersion cv : ContextVersion.values()) {
+            System.out.println("Checking SSLContext of " + cv.contextVersion);
+            SSLContext context = SSLContext.getInstance(cv.contextVersion);
+
+            // Default SSLContext is initialized automatically.
+            if (!cv.contextVersion.equals("Default")) {
+                // Use default TK, KM and random.
+                context.init((KeyManager[])null, (TrustManager[])null, null);
+            }
+
+            //
+            // Check SSLContext
+            //
+            // Check default SSLParameters of SSLContext
+            System.out.println("\tChecking default SSLParameters");
+            SSLParameters parameters = context.getDefaultSSLParameters();
+
+            String[] protocols = parameters.getProtocols();
+            failed |= !checkProtocols(protocols, cv.enabledProtocols);
+
+            String[] ciphers = parameters.getCipherSuites();
+            failed |= !checkCipherSuites(ciphers);
+
+            // Check supported SSLParameters of SSLContext
+            System.out.println("\tChecking supported SSLParameters");
+            parameters = context.getSupportedSSLParameters();
+
+            protocols = parameters.getProtocols();
+            failed |= !checkProtocols(protocols, cv.supportedProtocols);
+
+            ciphers = parameters.getCipherSuites();
+            failed |= !checkCipherSuites(ciphers);
+
+            //
+            // Check SSLEngine
+            //
+            // Check SSLParameters of SSLEngine
+            System.out.println();
+            System.out.println("\tChecking SSLEngine of this SSLContext");
+            System.out.println("\tChecking SSLEngine.getSSLParameters()");
+            SSLEngine engine = context.createSSLEngine();
+            engine.setUseClientMode(true);
+            parameters = engine.getSSLParameters();
+
+            protocols = parameters.getProtocols();
+            failed |= !checkProtocols(protocols, cv.enabledProtocols);
+
+            ciphers = parameters.getCipherSuites();
+            failed |= !checkCipherSuites(ciphers);
+
+            System.out.println("\tChecking SSLEngine.getEnabledProtocols()");
+            protocols = engine.getEnabledProtocols();
+            failed |= !checkProtocols(protocols, cv.enabledProtocols);
+
+            System.out.println("\tChecking SSLEngine.getEnabledCipherSuites()");
+            ciphers = engine.getEnabledCipherSuites();
+            failed |= !checkCipherSuites(ciphers);
+
+            System.out.println("\tChecking SSLEngine.getSupportedProtocols()");
+            protocols = engine.getSupportedProtocols();
+            failed |= !checkProtocols(protocols, cv.supportedProtocols);
+
+            System.out.println(
+                    "\tChecking SSLEngine.getSupportedCipherSuites()");
+            ciphers = engine.getSupportedCipherSuites();
+            failed |= !checkCipherSuites(ciphers);
+
+            //
+            // Check SSLSocket
+            //
+            // Check SSLParameters of SSLSocket
+            System.out.println();
+            System.out.println("\tChecking SSLSocket of this SSLContext");
+            System.out.println("\tChecking SSLSocket.getSSLParameters()");
+            SocketFactory fac = context.getSocketFactory();
+            SSLSocket socket = (SSLSocket)fac.createSocket();
+            parameters = socket.getSSLParameters();
+
+            protocols = parameters.getProtocols();
+            failed |= !checkProtocols(protocols, cv.enabledProtocols);
+
+            ciphers = parameters.getCipherSuites();
+            failed |= !checkCipherSuites(ciphers);
+
+            System.out.println("\tChecking SSLEngine.getEnabledProtocols()");
+            protocols = socket.getEnabledProtocols();
+            failed |= !checkProtocols(protocols, cv.enabledProtocols);
+
+            System.out.println("\tChecking SSLEngine.getEnabledCipherSuites()");
+            ciphers = socket.getEnabledCipherSuites();
+            failed |= !checkCipherSuites(ciphers);
+
+            System.out.println("\tChecking SSLEngine.getSupportedProtocols()");
+            protocols = socket.getSupportedProtocols();
+            failed |= !checkProtocols(protocols, cv.supportedProtocols);
+
+            System.out.println(
+                    "\tChecking SSLEngine.getSupportedCipherSuites()");
+            ciphers = socket.getSupportedCipherSuites();
+            failed |= !checkCipherSuites(ciphers);
+
+            //
+            // Check SSLServerSocket
+            //
+            // Check SSLParameters of SSLServerSocket
+            System.out.println();
+            System.out.println("\tChecking SSLServerSocket of this SSLContext");
+            System.out.println("\tChecking SSLServerSocket.getSSLParameters()");
+            SSLServerSocketFactory sf = context.getServerSocketFactory();
+            SSLServerSocket ssocket = (SSLServerSocket)sf.createServerSocket();
+            parameters = ssocket.getSSLParameters();
+
+            protocols = parameters.getProtocols();
+            failed |= !checkProtocols(protocols, cv.supportedProtocols);
+
+            ciphers = parameters.getCipherSuites();
+            failed |= !checkCipherSuites(ciphers);
+
+            System.out.println("\tChecking SSLEngine.getEnabledProtocols()");
+            protocols = ssocket.getEnabledProtocols();
+            failed |= !checkProtocols(protocols, cv.supportedProtocols);
+
+            System.out.println("\tChecking SSLEngine.getEnabledCipherSuites()");
+            ciphers = ssocket.getEnabledCipherSuites();
+            failed |= !checkCipherSuites(ciphers);
+
+            System.out.println("\tChecking SSLEngine.getSupportedProtocols()");
+            protocols = ssocket.getSupportedProtocols();
+            failed |= !checkProtocols(protocols, cv.supportedProtocols);
+
+            System.out.println(
+                    "\tChecking SSLEngine.getSupportedCipherSuites()");
+            ciphers = ssocket.getSupportedCipherSuites();
+            failed |= !checkCipherSuites(ciphers);
+        }
+
+        if (failed) {
+            throw new Exception("Run into problems, see log for more details");
+        } else {
+            System.out.println("\t... Success");
+        }
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLContextImpl/DefaultEnabledProtocols.java	Mon Dec 23 14:05:20 2013 -0500
@@ -0,0 +1,238 @@
+/*
+ * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+// SunJSSE does not support dynamic system properties, no way to re-use
+// system properties in samevm/agentvm mode.
+
+/*
+ * @test
+ * @bug 7093640
+ * @summary Enable TLS 1.1 and TLS 1.2 by default in client side of SunJSSE
+ * @run main/othervm DefaultEnabledProtocols
+ */
+
+import javax.net.*;
+import javax.net.ssl.*;
+import java.util.Arrays;
+
+public class DefaultEnabledProtocols {
+    static enum ContextVersion {
+        TLS_CV_01("SSL",
+                new String[] {"SSLv3", "TLSv1", "TLSv1.1", "TLSv1.2"}),
+        TLS_CV_02("TLS",
+                new String[] {"SSLv3", "TLSv1", "TLSv1.1", "TLSv1.2"}),
+        TLS_CV_03("SSLv3",
+                new String[] {"SSLv3", "TLSv1"}),
+        TLS_CV_04("TLSv1",
+                new String[] {"SSLv3", "TLSv1"}),
+        TLS_CV_05("TLSv1.1",
+                new String[] {"SSLv3", "TLSv1", "TLSv1.1"}),
+        TLS_CV_06("TLSv1.2",
+                new String[] {"SSLv3", "TLSv1", "TLSv1.1", "TLSv1.2"}),
+        TLS_CV_07("Default",
+                new String[] {"SSLv3", "TLSv1", "TLSv1.1", "TLSv1.2"});
+
+        final String contextVersion;
+        final String[] enabledProtocols;
+        final static String[] supportedProtocols = new String[] {
+                "SSLv2Hello", "SSLv3", "TLSv1", "TLSv1.1", "TLSv1.2"};
+
+        ContextVersion(String contextVersion, String[] enabledProtocols) {
+            this.contextVersion = contextVersion;
+            this.enabledProtocols = enabledProtocols;
+        }
+    }
+
+    private static boolean checkProtocols(String[] target, String[] expected) {
+        boolean success = true;
+        if (target.length == 0) {
+            System.out.println("\tError: No protocols");
+            success = false;
+        }
+
+        if (!Arrays.equals(target, expected)) {
+            System.out.println("\tError: Expected to get protocols " +
+                    Arrays.toString(expected));
+            System.out.println("\tError: The actual protocols " +
+                    Arrays.toString(target));
+            success = false;
+        }
+
+        return success;
+    }
+
+    private static boolean checkCipherSuites(String[] target) {
+        boolean success = true;
+        if (target.length == 0) {
+            System.out.println("\tError: No cipher suites");
+            success = false;
+        }
+
+        return success;
+    }
+
+    public static void main(String[] args) throws Exception {
+        boolean failed = false;
+        for (ContextVersion cv : ContextVersion.values()) {
+            System.out.println("Checking SSLContext of " + cv.contextVersion);
+            SSLContext context = SSLContext.getInstance(cv.contextVersion);
+
+            // Default SSLContext is initialized automatically.
+            if (!cv.contextVersion.equals("Default")) {
+                // Use default TK, KM and random.
+                context.init((KeyManager[])null, (TrustManager[])null, null);
+            }
+
+            //
+            // Check SSLContext
+            //
+            // Check default SSLParameters of SSLContext
+            System.out.println("\tChecking default SSLParameters");
+            SSLParameters parameters = context.getDefaultSSLParameters();
+
+            String[] protocols = parameters.getProtocols();
+            failed |= !checkProtocols(protocols, cv.enabledProtocols);
+
+            String[] ciphers = parameters.getCipherSuites();
+            failed |= !checkCipherSuites(ciphers);
+
+            // Check supported SSLParameters of SSLContext
+            System.out.println("\tChecking supported SSLParameters");
+            parameters = context.getSupportedSSLParameters();
+
+            protocols = parameters.getProtocols();
+            failed |= !checkProtocols(protocols, cv.supportedProtocols);
+
+            ciphers = parameters.getCipherSuites();
+            failed |= !checkCipherSuites(ciphers);
+
+            //
+            // Check SSLEngine
+            //
+            // Check SSLParameters of SSLEngine
+            System.out.println();
+            System.out.println("\tChecking SSLEngine of this SSLContext");
+            System.out.println("\tChecking SSLEngine.getSSLParameters()");
+            SSLEngine engine = context.createSSLEngine();
+            engine.setUseClientMode(true);
+            parameters = engine.getSSLParameters();
+
+            protocols = parameters.getProtocols();
+            failed |= !checkProtocols(protocols, cv.enabledProtocols);
+
+            ciphers = parameters.getCipherSuites();
+            failed |= !checkCipherSuites(ciphers);
+
+            System.out.println("\tChecking SSLEngine.getEnabledProtocols()");
+            protocols = engine.getEnabledProtocols();
+            failed |= !checkProtocols(protocols, cv.enabledProtocols);
+
+            System.out.println("\tChecking SSLEngine.getEnabledCipherSuites()");
+            ciphers = engine.getEnabledCipherSuites();
+            failed |= !checkCipherSuites(ciphers);
+
+            System.out.println("\tChecking SSLEngine.getSupportedProtocols()");
+            protocols = engine.getSupportedProtocols();
+            failed |= !checkProtocols(protocols, cv.supportedProtocols);
+
+            System.out.println(
+                    "\tChecking SSLEngine.getSupportedCipherSuites()");
+            ciphers = engine.getSupportedCipherSuites();
+            failed |= !checkCipherSuites(ciphers);
+
+            //
+            // Check SSLSocket
+            //
+            // Check SSLParameters of SSLSocket
+            System.out.println();
+            System.out.println("\tChecking SSLSocket of this SSLContext");
+            System.out.println("\tChecking SSLSocket.getSSLParameters()");
+            SocketFactory fac = context.getSocketFactory();
+            SSLSocket socket = (SSLSocket)fac.createSocket();
+            parameters = socket.getSSLParameters();
+
+            protocols = parameters.getProtocols();
+            failed |= !checkProtocols(protocols, cv.enabledProtocols);
+
+            ciphers = parameters.getCipherSuites();
+            failed |= !checkCipherSuites(ciphers);
+
+            System.out.println("\tChecking SSLEngine.getEnabledProtocols()");
+            protocols = socket.getEnabledProtocols();
+            failed |= !checkProtocols(protocols, cv.enabledProtocols);
+
+            System.out.println("\tChecking SSLEngine.getEnabledCipherSuites()");
+            ciphers = socket.getEnabledCipherSuites();
+            failed |= !checkCipherSuites(ciphers);
+
+            System.out.println("\tChecking SSLEngine.getSupportedProtocols()");
+            protocols = socket.getSupportedProtocols();
+            failed |= !checkProtocols(protocols, cv.supportedProtocols);
+
+            System.out.println(
+                    "\tChecking SSLEngine.getSupportedCipherSuites()");
+            ciphers = socket.getSupportedCipherSuites();
+            failed |= !checkCipherSuites(ciphers);
+
+            //
+            // Check SSLServerSocket
+            //
+            // Check SSLParameters of SSLServerSocket
+            System.out.println();
+            System.out.println("\tChecking SSLServerSocket of this SSLContext");
+            System.out.println("\tChecking SSLServerSocket.getSSLParameters()");
+            SSLServerSocketFactory sf = context.getServerSocketFactory();
+            SSLServerSocket ssocket = (SSLServerSocket)sf.createServerSocket();
+            parameters = ssocket.getSSLParameters();
+
+            protocols = parameters.getProtocols();
+            failed |= !checkProtocols(protocols, cv.supportedProtocols);
+
+            ciphers = parameters.getCipherSuites();
+            failed |= !checkCipherSuites(ciphers);
+
+            System.out.println("\tChecking SSLEngine.getEnabledProtocols()");
+            protocols = ssocket.getEnabledProtocols();
+            failed |= !checkProtocols(protocols, cv.supportedProtocols);
+
+            System.out.println("\tChecking SSLEngine.getEnabledCipherSuites()");
+            ciphers = ssocket.getEnabledCipherSuites();
+            failed |= !checkCipherSuites(ciphers);
+
+            System.out.println("\tChecking SSLEngine.getSupportedProtocols()");
+            protocols = ssocket.getSupportedProtocols();
+            failed |= !checkProtocols(protocols, cv.supportedProtocols);
+
+            System.out.println(
+                    "\tChecking SSLEngine.getSupportedCipherSuites()");
+            ciphers = ssocket.getSupportedCipherSuites();
+            failed |= !checkCipherSuites(ciphers);
+        }
+
+        if (failed) {
+            throw new Exception("Run into problems, see log for more details");
+        } else {
+            System.out.println("\t... Success");
+        }
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLContextImpl/IllegalProtocolProperty.java	Mon Dec 23 14:05:20 2013 -0500
@@ -0,0 +1,138 @@
+/*
+ * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+// SunJSSE does not support dynamic system properties, no way to re-use
+// system properties in samevm/agentvm mode.
+
+/*
+ * @test
+ * @bug 7093640
+ * @summary Enable TLS 1.1 and TLS 1.2 by default in client side of SunJSSE
+ * @run main/othervm -Djdk.tls.client.protocols="XSLv3,TLSv1"
+ *      IllegalProtocolProperty
+ */
+
+import javax.net.ssl.*;
+import java.security.NoSuchAlgorithmException;
+
+public class IllegalProtocolProperty {
+    static enum ContextVersion {
+        TLS_CV_01("SSL", "TLSv1", "TLSv1.2", true),
+        TLS_CV_02("TLS", "TLSv1", "TLSv1.2", true),
+        TLS_CV_03("SSLv3", "TLSv1", "TLSv1.2", false),
+        TLS_CV_04("TLSv1", "TLSv1", "TLSv1.2", false),
+        TLS_CV_05("TLSv1.1", "TLSv1.1", "TLSv1.2", false),
+        TLS_CV_06("TLSv1.2", "TLSv1.2", "TLSv1.2", false),
+        TLS_CV_07("Default", "TLSv1", "TLSv1.2", true);
+
+        final String contextVersion;
+        final String defaultProtocolVersion;
+        final String supportedProtocolVersion;
+        final boolean impacted;
+
+        ContextVersion(String contextVersion, String defaultProtocolVersion,
+                String supportedProtocolVersion, boolean impacted) {
+            this.contextVersion = contextVersion;
+            this.defaultProtocolVersion = defaultProtocolVersion;
+            this.supportedProtocolVersion = supportedProtocolVersion;
+            this.impacted = impacted;
+        }
+    }
+
+    public static void main(String[] args) throws Exception {
+        for (ContextVersion cv : ContextVersion.values()) {
+            System.out.println("Checking SSLContext of " + cv.contextVersion);
+
+            SSLContext context;
+            try {
+                context = SSLContext.getInstance(cv.contextVersion);
+                if (cv.impacted) {
+                    throw new Exception(
+                        "illegal system property jdk.tls.client.protocols: " +
+                        System.getProperty("jdk.tls.client.protocols"));
+                }
+            } catch (NoSuchAlgorithmException nsae) {
+                if (cv.impacted) {
+                    System.out.println(
+                        "\tIgnore: illegal system property " +
+                        "jdk.tls.client.protocols=" +
+                        System.getProperty("jdk.tls.client.protocols"));
+                    continue;
+                } else {
+                    throw nsae;
+                }
+            }
+
+            // Default SSLContext is initialized automatically.
+            if (!cv.contextVersion.equals("Default")) {
+                // Use default TK, KM and random.
+                context.init((KeyManager[])null, (TrustManager[])null, null);
+            }
+
+            SSLParameters parameters = context.getDefaultSSLParameters();
+
+            String[] protocols = parameters.getProtocols();
+            String[] ciphers = parameters.getCipherSuites();
+
+            if (protocols.length == 0 || ciphers.length == 0) {
+                throw new Exception("No default protocols or cipher suites");
+            }
+
+            boolean isMatch = false;
+            for (String protocol : protocols) {
+                System.out.println("\tdefault protocol version " + protocol);
+                if (protocol.equals(cv.defaultProtocolVersion)) {
+                    isMatch = true;
+                    break;
+                }
+            }
+
+            if (!isMatch) {
+                throw new Exception("No matched default protocol");
+            }
+
+            parameters = context.getSupportedSSLParameters();
+
+            protocols = parameters.getProtocols();
+            ciphers = parameters.getCipherSuites();
+
+            if (protocols.length == 0 || ciphers.length == 0) {
+                throw new Exception("No supported protocols or cipher suites");
+            }
+
+            isMatch = false;
+            for (String protocol : protocols) {
+                System.out.println("\tsupported protocol version " + protocol);
+                if (protocol.equals(cv.supportedProtocolVersion)) {
+                    isMatch = true;
+                    break;
+                }
+            }
+
+            if (!isMatch) {
+                throw new Exception("No matched supported protocol");
+            }
+            System.out.println("\t... Success");
+        }
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLContextImpl/NoOldVersionContext.java	Mon Dec 23 14:05:20 2013 -0500
@@ -0,0 +1,239 @@
+/*
+ * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+// SunJSSE does not support dynamic system properties, no way to re-use
+// system properties in samevm/agentvm mode.
+
+/*
+ * @test
+ * @bug 7093640
+ * @summary Enable TLS 1.1 and TLS 1.2 by default in client side of SunJSSE
+ * @run main/othervm -Djdk.tls.client.protocols="TLSv1,TLSv1.1,TLSv1.2"
+ *      NoOldVersionContext
+ */
+
+import javax.net.*;
+import javax.net.ssl.*;
+import java.util.Arrays;
+
+public class NoOldVersionContext {
+    static enum ContextVersion {
+        TLS_CV_01("SSL",
+                new String[] {"TLSv1", "TLSv1.1", "TLSv1.2"}),
+        TLS_CV_02("TLS",
+                new String[] {"TLSv1", "TLSv1.1", "TLSv1.2"}),
+        TLS_CV_03("SSLv3",
+                new String[] {"SSLv3", "TLSv1"}),
+        TLS_CV_04("TLSv1",
+                new String[] {"SSLv3", "TLSv1"}),
+        TLS_CV_05("TLSv1.1",
+                new String[] {"SSLv3", "TLSv1", "TLSv1.1"}),
+        TLS_CV_06("TLSv1.2",
+                new String[] {"SSLv3", "TLSv1", "TLSv1.1", "TLSv1.2"}),
+        TLS_CV_07("Default",
+                new String[] {"TLSv1", "TLSv1.1", "TLSv1.2"});
+
+        final String contextVersion;
+        final String[] enabledProtocols;
+        final static String[] supportedProtocols = new String[] {
+                "SSLv2Hello", "SSLv3", "TLSv1", "TLSv1.1", "TLSv1.2"};
+
+        ContextVersion(String contextVersion, String[] enabledProtocols) {
+            this.contextVersion = contextVersion;
+            this.enabledProtocols = enabledProtocols;
+        }
+    }
+
+    private static boolean checkProtocols(String[] target, String[] expected) {
+        boolean success = true;
+        if (target.length == 0) {
+            System.out.println("\tError: No protocols");
+            success = false;
+        }
+
+        if (!Arrays.equals(target, expected)) {
+            System.out.println("\tError: Expected to get protocols " +
+                    Arrays.toString(expected));
+            System.out.println("\tError: The actual protocols " +
+                    Arrays.toString(target));
+            success = false;
+        }
+
+        return success;
+    }
+
+    private static boolean checkCipherSuites(String[] target) {
+        boolean success = true;
+        if (target.length == 0) {
+            System.out.println("\tError: No cipher suites");
+            success = false;
+        }
+
+        return success;
+    }
+
+    public static void main(String[] args) throws Exception {
+        boolean failed = false;
+        for (ContextVersion cv : ContextVersion.values()) {
+            System.out.println("Checking SSLContext of " + cv.contextVersion);
+            SSLContext context = SSLContext.getInstance(cv.contextVersion);
+
+            // Default SSLContext is initialized automatically.
+            if (!cv.contextVersion.equals("Default")) {
+                // Use default TK, KM and random.
+                context.init((KeyManager[])null, (TrustManager[])null, null);
+            }
+
+            //
+            // Check SSLContext
+            //
+            // Check default SSLParameters of SSLContext
+            System.out.println("\tChecking default SSLParameters");
+            SSLParameters parameters = context.getDefaultSSLParameters();
+
+            String[] protocols = parameters.getProtocols();
+            failed |= !checkProtocols(protocols, cv.enabledProtocols);
+
+            String[] ciphers = parameters.getCipherSuites();
+            failed |= !checkCipherSuites(ciphers);
+
+            // Check supported SSLParameters of SSLContext
+            System.out.println("\tChecking supported SSLParameters");
+            parameters = context.getSupportedSSLParameters();
+
+            protocols = parameters.getProtocols();
+            failed |= !checkProtocols(protocols, cv.supportedProtocols);
+
+            ciphers = parameters.getCipherSuites();
+            failed |= !checkCipherSuites(ciphers);
+
+            //
+            // Check SSLEngine
+            //
+            // Check SSLParameters of SSLEngine
+            System.out.println();
+            System.out.println("\tChecking SSLEngine of this SSLContext");
+            System.out.println("\tChecking SSLEngine.getSSLParameters()");
+            SSLEngine engine = context.createSSLEngine();
+            engine.setUseClientMode(true);
+            parameters = engine.getSSLParameters();
+
+            protocols = parameters.getProtocols();
+            failed |= !checkProtocols(protocols, cv.enabledProtocols);
+
+            ciphers = parameters.getCipherSuites();
+            failed |= !checkCipherSuites(ciphers);
+
+            System.out.println("\tChecking SSLEngine.getEnabledProtocols()");
+            protocols = engine.getEnabledProtocols();
+            failed |= !checkProtocols(protocols, cv.enabledProtocols);
+
+            System.out.println("\tChecking SSLEngine.getEnabledCipherSuites()");
+            ciphers = engine.getEnabledCipherSuites();
+            failed |= !checkCipherSuites(ciphers);
+
+            System.out.println("\tChecking SSLEngine.getSupportedProtocols()");
+            protocols = engine.getSupportedProtocols();
+            failed |= !checkProtocols(protocols, cv.supportedProtocols);
+
+            System.out.println(
+                    "\tChecking SSLEngine.getSupportedCipherSuites()");
+            ciphers = engine.getSupportedCipherSuites();
+            failed |= !checkCipherSuites(ciphers);
+
+            //
+            // Check SSLSocket
+            //
+            // Check SSLParameters of SSLSocket
+            System.out.println();
+            System.out.println("\tChecking SSLSocket of this SSLContext");
+            System.out.println("\tChecking SSLSocket.getSSLParameters()");
+            SocketFactory fac = context.getSocketFactory();
+            SSLSocket socket = (SSLSocket)fac.createSocket();
+            parameters = socket.getSSLParameters();
+
+            protocols = parameters.getProtocols();
+            failed |= !checkProtocols(protocols, cv.enabledProtocols);
+
+            ciphers = parameters.getCipherSuites();
+            failed |= !checkCipherSuites(ciphers);
+
+            System.out.println("\tChecking SSLEngine.getEnabledProtocols()");
+            protocols = socket.getEnabledProtocols();
+            failed |= !checkProtocols(protocols, cv.enabledProtocols);
+
+            System.out.println("\tChecking SSLEngine.getEnabledCipherSuites()");
+            ciphers = socket.getEnabledCipherSuites();
+            failed |= !checkCipherSuites(ciphers);
+
+            System.out.println("\tChecking SSLEngine.getSupportedProtocols()");
+            protocols = socket.getSupportedProtocols();
+            failed |= !checkProtocols(protocols, cv.supportedProtocols);
+
+            System.out.println(
+                    "\tChecking SSLEngine.getSupportedCipherSuites()");
+            ciphers = socket.getSupportedCipherSuites();
+            failed |= !checkCipherSuites(ciphers);
+
+            //
+            // Check SSLServerSocket
+            //
+            // Check SSLParameters of SSLServerSocket
+            System.out.println();
+            System.out.println("\tChecking SSLServerSocket of this SSLContext");
+            System.out.println("\tChecking SSLServerSocket.getSSLParameters()");
+            SSLServerSocketFactory sf = context.getServerSocketFactory();
+            SSLServerSocket ssocket = (SSLServerSocket)sf.createServerSocket();
+            parameters = ssocket.getSSLParameters();
+
+            protocols = parameters.getProtocols();
+            failed |= !checkProtocols(protocols, cv.supportedProtocols);
+
+            ciphers = parameters.getCipherSuites();
+            failed |= !checkCipherSuites(ciphers);
+
+            System.out.println("\tChecking SSLEngine.getEnabledProtocols()");
+            protocols = ssocket.getEnabledProtocols();
+            failed |= !checkProtocols(protocols, cv.supportedProtocols);
+
+            System.out.println("\tChecking SSLEngine.getEnabledCipherSuites()");
+            ciphers = ssocket.getEnabledCipherSuites();
+            failed |= !checkCipherSuites(ciphers);
+
+            System.out.println("\tChecking SSLEngine.getSupportedProtocols()");
+            protocols = ssocket.getSupportedProtocols();
+            failed |= !checkProtocols(protocols, cv.supportedProtocols);
+
+            System.out.println(
+                    "\tChecking SSLEngine.getSupportedCipherSuites()");
+            ciphers = ssocket.getSupportedCipherSuites();
+            failed |= !checkCipherSuites(ciphers);
+        }
+
+        if (failed) {
+            throw new Exception("Run into problems, see log for more details");
+        } else {
+            System.out.println("\t... Success");
+        }
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLContextImpl/SSLContextVersion.java	Mon Dec 23 14:05:20 2013 -0500
@@ -0,0 +1,116 @@
+/*
+ * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+// SunJSSE does not support dynamic system properties, no way to re-use
+// system properties in samevm/agentvm mode.
+
+/*
+ * @test
+ * @bug 6976117
+ * @summary SSLContext.getInstance("TLSv1.1") returns SSLEngines/SSLSockets
+ *          without TLSv1.1 enabled
+ * @run main/othervm SSLContextVersion
+ */
+
+import javax.net.ssl.*;
+
+public class SSLContextVersion {
+    static enum ContextVersion {
+        TLS_CV_01("SSL", "TLSv1.2", "TLSv1.2"),
+        TLS_CV_02("TLS", "TLSv1.2", "TLSv1.2"),
+        TLS_CV_03("SSLv3", "TLSv1", "TLSv1.2"),
+        TLS_CV_04("TLSv1", "TLSv1", "TLSv1.2"),
+        TLS_CV_05("TLSv1.1", "TLSv1.1", "TLSv1.2"),
+        TLS_CV_06("TLSv1.2", "TLSv1.2", "TLSv1.2"),
+        TLS_CV_07("Default", "TLSv1.2", "TLSv1.2");
+
+        final String contextVersion;
+        final String defaultProtocolVersion;
+        final String supportedProtocolVersion;
+
+        ContextVersion(String contextVersion, String defaultProtocolVersion,
+                String supportedProtocolVersion) {
+            this.contextVersion = contextVersion;
+            this.defaultProtocolVersion = defaultProtocolVersion;
+            this.supportedProtocolVersion = supportedProtocolVersion;
+        }
+    }
+
+    public static void main(String[] args) throws Exception {
+        for (ContextVersion cv : ContextVersion.values()) {
+            System.out.println("Checking SSLContext of " + cv.contextVersion);
+            SSLContext context = SSLContext.getInstance(cv.contextVersion);
+
+            // Default SSLContext is initialized automatically.
+            if (!cv.contextVersion.equals("Default")) {
+                // Use default TK, KM and random.
+                context.init((KeyManager[])null, (TrustManager[])null, null);
+            }
+
+            SSLParameters parameters = context.getDefaultSSLParameters();
+
+            String[] protocols = parameters.getProtocols();
+            String[] ciphers = parameters.getCipherSuites();
+
+            if (protocols.length == 0 || ciphers.length == 0) {
+                throw new Exception("No default protocols or cipher suites");
+            }
+
+            boolean isMatch = false;
+            for (String protocol : protocols) {
+                System.out.println("\tdefault protocol version " + protocol);
+                if (protocol.equals(cv.defaultProtocolVersion)) {
+                    isMatch = true;
+                    break;
+                }
+            }
+
+            if (!isMatch) {
+                throw new Exception("No matched default protocol");
+            }
+
+            parameters = context.getSupportedSSLParameters();
+
+            protocols = parameters.getProtocols();
+            ciphers = parameters.getCipherSuites();
+
+            if (protocols.length == 0 || ciphers.length == 0) {
+                throw new Exception("No supported protocols or cipher suites");
+            }
+
+            isMatch = false;
+            for (String protocol : protocols) {
+                System.out.println("\tsupported protocol version " + protocol);
+                if (protocol.equals(cv.supportedProtocolVersion)) {
+                    isMatch = true;
+                    break;
+                }
+            }
+
+            if (!isMatch) {
+                throw new Exception("No matched supported protocol");
+            }
+            System.out.println("\t... Success");
+        }
+    }
+}
--- a/test/sun/security/ssl/javax/net/ssl/SSLContextVersion.java	Mon Dec 23 14:03:25 2013 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,112 +0,0 @@
-/*
- * Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- * @test
- * @bug 6976117
- * @summary SSLContext.getInstance("TLSv1.1") returns SSLEngines/SSLSockets
- *          without TLSv1.1 enabled
- */
-
-import javax.net.ssl.*;
-
-public class SSLContextVersion {
-    static enum ContextVersion {
-        TLS_CV_01("SSL", "TLSv1", "TLSv1.2"),
-        TLS_CV_02("TLS", "TLSv1", "TLSv1.2"),
-        TLS_CV_03("SSLv3", "TLSv1", "TLSv1.2"),
-        TLS_CV_04("TLSv1", "TLSv1", "TLSv1.2"),
-        TLS_CV_05("TLSv1.1", "TLSv1.1", "TLSv1.2"),
-        TLS_CV_06("TLSv1.2", "TLSv1.2", "TLSv1.2"),
-        TLS_CV_07("Default", "TLSv1", "TLSv1.2");
-
-        final String contextVersion;
-        final String defaultProtocolVersion;
-        final String supportedProtocolVersion;
-
-        ContextVersion(String contextVersion, String defaultProtocolVersion,
-                String supportedProtocolVersion) {
-            this.contextVersion = contextVersion;
-            this.defaultProtocolVersion = defaultProtocolVersion;
-            this.supportedProtocolVersion = supportedProtocolVersion;
-        }
-    }
-
-    public static void main(String[] args) throws Exception {
-        for (ContextVersion cv : ContextVersion.values()) {
-            System.out.println("Checking SSLContext of " + cv.contextVersion);
-            SSLContext context = SSLContext.getInstance(cv.contextVersion);
-
-            // Default SSLContext is initialized automatically.
-            if (!cv.contextVersion.equals("Default")) {
-                // Use default TK, KM and random.
-                context.init((KeyManager[])null, (TrustManager[])null, null);
-            }
-
-            SSLParameters parameters = context.getDefaultSSLParameters();
-
-            String[] protocols = parameters.getProtocols();
-            String[] ciphers = parameters.getCipherSuites();
-
-            if (protocols.length == 0 || ciphers.length == 0) {
-                throw new Exception("No default protocols or cipher suites");
-            }
-
-            boolean isMatch = false;
-            for (String protocol : protocols) {
-                System.out.println("\tdefault protocol version " + protocol);
-                if (protocol.equals(cv.defaultProtocolVersion)) {
-                    isMatch = true;
-                    break;
-                }
-            }
-
-            if (!isMatch) {
-                throw new Exception("No matched default protocol");
-            }
-
-            parameters = context.getSupportedSSLParameters();
-
-            protocols = parameters.getProtocols();
-            ciphers = parameters.getCipherSuites();
-
-            if (protocols.length == 0 || ciphers.length == 0) {
-                throw new Exception("No supported protocols or cipher suites");
-            }
-
-            isMatch = false;
-            for (String protocol : protocols) {
-                System.out.println("\tsupported protocol version " + protocol);
-                if (protocol.equals(cv.supportedProtocolVersion)) {
-                    isMatch = true;
-                    break;
-                }
-            }
-
-            if (!isMatch) {
-                throw new Exception("No matched supported protocol");
-            }
-            System.out.println("\t... Success");
-        }
-    }
-}
--- a/test/sun/text/resources/LocaleData	Mon Dec 23 14:03:25 2013 -0500
+++ b/test/sun/text/resources/LocaleData	Mon Dec 23 14:05:20 2013 -0500
@@ -3550,8 +3550,9 @@
 CurrencyNames/es_US/USD=US$
 CalendarData/es_US/firstDayOfWeek=1
 #bug 4400849
+#bug 7090826 pt data updated to CLDR 21.0.1
 LocaleNames/pt/aa=afar
-LocaleNames/pt/ab=abkhazian
+LocaleNames/pt/ab=abc\u00e1zio
 LocaleNames/pt/ae=av\u00e9stico
 LocaleNames/pt/af=afric\u00e2ner
 LocaleNames/pt/am=am\u00e1rico
@@ -3572,7 +3573,7 @@
 LocaleNames/pt/br=bret\u00e3o
 LocaleNames/pt/bs=b\u00f3snio
 LocaleNames/pt/ca=catal\u00e3o
-LocaleNames/pt/ce=chechene
+LocaleNames/pt/ce=checheno
 LocaleNames/pt/ch=chamorro
 LocaleNames/pt/co=c\u00f3rsico
 LocaleNames/pt/cr=cree
@@ -3597,7 +3598,7 @@
 LocaleNames/pt/fj=fijiano
 LocaleNames/pt/fo=fero\u00eas
 LocaleNames/pt/fr=franc\u00eas
-LocaleNames/pt/fy=fris\u00e3o
+LocaleNames/pt/fy=fr\u00edsio ocidental
 LocaleNames/pt/ga=irland\u00eas
 LocaleNames/pt/gd=ga\u00e9lico escoc\u00eas
 LocaleNames/pt/gl=galego
@@ -3606,7 +3607,7 @@
 LocaleNames/pt/gv=manx
 LocaleNames/pt/ha=hau\u00e7\u00e1
 LocaleNames/pt/he=hebraico
-LocaleNames/pt/hi=hindi
+LocaleNames/pt/hi=h\u00edndi
 LocaleNames/pt/ho=hiri motu
 LocaleNames/pt/hr=croata
 LocaleNames/pt/ht=haitiano
@@ -3629,14 +3630,14 @@
 LocaleNames/pt/ka=georgiano
 LocaleNames/pt/kg=congol\u00eas
 LocaleNames/pt/ki=quicuio
-LocaleNames/pt/kj=Kuanyama
+LocaleNames/pt/kj=kuanyama
 LocaleNames/pt/kk=cazaque
 LocaleNames/pt/kl=groenland\u00eas
 LocaleNames/pt/km=cmer
 LocaleNames/pt/kn=canar\u00eas
 LocaleNames/pt/ko=coreano
 LocaleNames/pt/kr=can\u00fari
-LocaleNames/pt/ks=kashmiri
+LocaleNames/pt/ks=caxemira
 LocaleNames/pt/ku=curdo
 LocaleNames/pt/kv=komi
 LocaleNames/pt/kw=c\u00f3rnico
@@ -3644,14 +3645,14 @@
 LocaleNames/pt/la=latim
 LocaleNames/pt/lb=luxemburgu\u00eas
 LocaleNames/pt/lg=luganda
-LocaleNames/pt/li=limburgish
+LocaleNames/pt/li=limburgu\u00eas
 LocaleNames/pt/ln=lingala
 LocaleNames/pt/lo=laosiano
 LocaleNames/pt/lt=lituano
 LocaleNames/pt/lu=luba-catanga
 LocaleNames/pt/lv=let\u00e3o
 LocaleNames/pt/mg=malgaxe
-LocaleNames/pt/mh=marshall\u00eas
+LocaleNames/pt/mh=marshal\u00eas
 LocaleNames/pt/mi=maori
 LocaleNames/pt/mk=maced\u00f4nio
 LocaleNames/pt/ml=malaiala
@@ -3663,16 +3664,16 @@
 LocaleNames/pt/my=birman\u00eas
 LocaleNames/pt/na=nauruano
 LocaleNames/pt/nb=bokm\u00e5l noruegu\u00eas
-LocaleNames/pt/nd=ndebele, north
+LocaleNames/pt/nd=ndebele do norte
 LocaleNames/pt/ne=nepali
 LocaleNames/pt/ng=dongo
 LocaleNames/pt/nl=holand\u00eas
 LocaleNames/pt/nn=nynorsk noruegu\u00eas
 LocaleNames/pt/no=noruegu\u00eas
-LocaleNames/pt/nr=ndebele, south
+LocaleNames/pt/nr=ndebele do sul
 LocaleNames/pt/nv=navajo
-LocaleNames/pt/ny=nianja; chicheua; cheua
-LocaleNames/pt/oc=occit\u00e2nico (ap\u00f3s 1500); proven\u00e7al
+LocaleNames/pt/ny=nianja
+LocaleNames/pt/oc=occit\u00e2nico
 LocaleNames/pt/oj=ojibwa
 LocaleNames/pt/om=oromo
 LocaleNames/pt/or=oriya
@@ -3680,10 +3681,10 @@
 LocaleNames/pt/pa=panjabi
 LocaleNames/pt/pi=p\u00e1li
 LocaleNames/pt/pl=polon\u00eas
-LocaleNames/pt/ps=pashto (pushto)
+LocaleNames/pt/ps=pashto
 LocaleNames/pt/pt=portugu\u00eas
 LocaleNames/pt/qu=qu\u00edchua
-LocaleNames/pt/rm=rhaeto-romance
+LocaleNames/pt/rm=reto-romano
 LocaleNames/pt/rn=rundi
 LocaleNames/pt/ro=romeno
 LocaleNames/pt/ru=russo
@@ -3691,19 +3692,19 @@
 LocaleNames/pt/sa=s\u00e2nscrito
 LocaleNames/pt/sc=sardo
 LocaleNames/pt/sd=sindi
-LocaleNames/pt/se=northern sami
+LocaleNames/pt/se=sami do norte
 LocaleNames/pt/sg=sango
 LocaleNames/pt/si=cingal\u00eas
 LocaleNames/pt/sk=eslovaco
-LocaleNames/pt/sl=eslov\u00eanio
+LocaleNames/pt/sl=esloveno
 LocaleNames/pt/so=somali
 LocaleNames/pt/sq=alban\u00eas
 LocaleNames/pt/sr=s\u00e9rvio
 LocaleNames/pt/ss=swati
-LocaleNames/pt/st=soto, do sul
+LocaleNames/pt/st=soto do sul
 LocaleNames/pt/su=sundan\u00eas
 LocaleNames/pt/sv=sueco
-LocaleNames/pt/sw=sua\u00edli
+LocaleNames/pt/sw=suaili
 LocaleNames/pt/ta=t\u00e2mil
 LocaleNames/pt/te=telugu
 LocaleNames/pt/tg=tadjique
@@ -3711,7 +3712,7 @@
 LocaleNames/pt/ti=tigr\u00ednia
 LocaleNames/pt/tk=turcomano
 LocaleNames/pt/tn=tswana
-LocaleNames/pt/to=tonga (ilhas tonga)
+LocaleNames/pt/to=tongan\u00eas
 LocaleNames/pt/tr=turco
 LocaleNames/pt/ts=tsonga
 LocaleNames/pt/tt=tatar
@@ -3724,8 +3725,8 @@
 LocaleNames/pt/ve=venda
 LocaleNames/pt/vi=vietnamita
 LocaleNames/pt/vo=volapuque
-LocaleNames/pt/wa=walloon
-LocaleNames/pt/wo=uolofe
+LocaleNames/pt/wa=val\u00e3o
+LocaleNames/pt/wo=u\u00f3lofe
 LocaleNames/pt/xh=xosa
 LocaleNames/pt/yi=i\u00eddiche
 LocaleNames/pt/yo=ioruba
@@ -3743,11 +3744,11 @@
 LocaleNames/pt/AT=\u00c1ustria
 LocaleNames/pt/AU=Austr\u00e1lia
 LocaleNames/pt/AZ=Azerbaij\u00e3o
-LocaleNames/pt/BA=B\u00f3snia-Herzeg\u00f3vina
+LocaleNames/pt/BA=B\u00f3snia-Herzegovina
 LocaleNames/pt/BE=B\u00e9lgica
 LocaleNames/pt/BF=Burquina Faso
 LocaleNames/pt/BG=Bulg\u00e1ria
-LocaleNames/pt/BH=Bareine
+LocaleNames/pt/BH=Bahrain
 LocaleNames/pt/BM=Bermudas
 LocaleNames/pt/BO=Bol\u00edvia
 LocaleNames/pt/BR=Brasil
@@ -3755,8 +3756,8 @@
 LocaleNames/pt/BV=Ilha Bouvet
 LocaleNames/pt/BW=Botsuana
 LocaleNames/pt/CA=Canad\u00e1
-LocaleNames/pt/CC=Ilhas Cocos (Keeling)
-LocaleNames/pt/CD=Congo, Rep\u00fablica Democr\u00e1tica do
+LocaleNames/pt/CC=Ilhas Coco
+LocaleNames/pt/CD=Congo-Kinshasa
 LocaleNames/pt/CF=Rep\u00fablica Centro-Africana
 LocaleNames/pt/CH=Su\u00ed\u00e7a
 LocaleNames/pt/CI=Costa do Marfim
@@ -3776,12 +3777,12 @@
 LocaleNames/pt/EE=Est\u00f4nia
 LocaleNames/pt/EG=Egito
 LocaleNames/pt/EH=Saara Ocidental
-LocaleNames/pt/ER=Eritr\u00e9ia
+LocaleNames/pt/ER=Eritreia
 LocaleNames/pt/ES=Espanha
 LocaleNames/pt/ET=Eti\u00f3pia
 LocaleNames/pt/FI=Finl\u00e2ndia
 LocaleNames/pt/FK=Ilhas Malvinas
-LocaleNames/pt/FM=Micron\u00e9sia, Estados Federados da
+LocaleNames/pt/FM=Micron\u00e9sia
 LocaleNames/pt/FO=Ilhas Faroe
 LocaleNames/pt/FR=Fran\u00e7a
 LocaleNames/pt/GA=Gab\u00e3o
@@ -3819,11 +3820,11 @@
 LocaleNames/pt/KI=Quiribati
 LocaleNames/pt/KM=Comores
 LocaleNames/pt/KN=S\u00e3o Cristov\u00e3o e Nevis
-LocaleNames/pt/KP=Cor\u00e9ia, Norte
-LocaleNames/pt/KR=Cor\u00e9ia, Sul
+LocaleNames/pt/KP=Coreia do Norte
+LocaleNames/pt/KR=Coreia do Sul
 LocaleNames/pt/KY=Ilhas Caiman
 LocaleNames/pt/KZ=Casaquist\u00e3o
-LocaleNames/pt/LA=Rep\u00fablica Democr\u00e1tica Popular de Lao
+LocaleNames/pt/LA=Rep\u00fablica Popular Democr\u00e1tica do Laos
 LocaleNames/pt/LB=L\u00edbano
 LocaleNames/pt/LC=Santa L\u00facia
 LocaleNames/pt/LR=Lib\u00e9ria
@@ -3834,10 +3835,10 @@
 LocaleNames/pt/LY=L\u00edbia
 LocaleNames/pt/MA=Marrocos
 LocaleNames/pt/MC=M\u00f4naco
-LocaleNames/pt/MD=Moldova, Rep\u00fablica de
+LocaleNames/pt/MD=Mold\u00e1via
 LocaleNames/pt/MH=Ilhas Marshall
-LocaleNames/pt/MK=Maced\u00f4nia, Rep\u00fablica da
-LocaleNames/pt/MM=Mianm\u00e1
+LocaleNames/pt/MK=Maced\u00f4nia
+LocaleNames/pt/MM=Mianmar [Birm\u00e2nia]
 LocaleNames/pt/MN=Mong\u00f3lia
 LocaleNames/pt/MO=Macau, Regi\u00e3o Admin. Especial da China
 LocaleNames/pt/MP=Ilhas Marianas do Norte
@@ -3854,7 +3855,7 @@
 LocaleNames/pt/NF=Ilha Norfolk
 LocaleNames/pt/NG=Nig\u00e9ria
 LocaleNames/pt/NI=Nicar\u00e1gua
-LocaleNames/pt/NL=Pa\u00edses Baixos
+LocaleNames/pt/NL=Holanda
 LocaleNames/pt/NO=Noruega
 LocaleNames/pt/NZ=Nova Zel\u00e2ndia
 LocaleNames/pt/OM=Om\u00e3
@@ -3866,7 +3867,7 @@
 LocaleNames/pt/PL=Pol\u00f4nia
 LocaleNames/pt/PM=Saint Pierre e Miquelon
 LocaleNames/pt/PR=Porto Rico
-LocaleNames/pt/PS=Territ\u00f3rio da Palestina
+LocaleNames/pt/PS=Territ\u00f3rios palestinos
 LocaleNames/pt/PY=Paraguai
 LocaleNames/pt/QA=Catar
 LocaleNames/pt/RE=Reuni\u00e3o
@@ -3892,7 +3893,7 @@
 LocaleNames/pt/TF=Territ\u00f3rios Franceses do Sul
 LocaleNames/pt/TH=Tail\u00e2ndia
 LocaleNames/pt/TJ=Tadjiquist\u00e3o
-LocaleNames/pt/TL=Timor Leste
+LocaleNames/pt/TL=Timor-Leste
 LocaleNames/pt/TM=Turcomenist\u00e3o
 LocaleNames/pt/TN=Tun\u00edsia
 LocaleNames/pt/TR=Turquia
@@ -3912,7 +3913,7 @@
 LocaleNames/pt/YE=I\u00eamen
 LocaleNames/pt/ZA=\u00c1frica do Sul
 LocaleNames/pt/ZM=Z\u00e2mbia
-LocaleNames/pt/ZW=Zimb\u00e1bwe
+LocaleNames/pt/ZW=Zimb\u00e1bue
 # pt_PT
 LocaleNames/pt_PT/cs=checo
 LocaleNames/pt_PT/et=est\u00f3nio
@@ -3921,7 +3922,7 @@
 LocaleNames/pt_PT/AE=Emiratos \u00c1rabes Unidos
 LocaleNames/pt_PT/AM=Arm\u00e9nia
 LocaleNames/pt_PT/AQ=Ant\u00e1rctica
-LocaleNames/pt_PT/AZ=Azerbeij\u00e3o
+LocaleNames/pt_PT/AZ=Azerbaij\u00e3o
 LocaleNames/pt_PT/BA=B\u00f3snia-Herzegovina
 LocaleNames/pt_PT/BJ=Benim
 LocaleNames/pt_PT/BY=Bielorr\u00fassia
@@ -3930,13 +3931,13 @@
 LocaleNames/pt_PT/CZ=Rep\u00fablica Checa
 LocaleNames/pt_PT/EE=Est\u00f3nia
 LocaleNames/pt_PT/EG=Egipto
-LocaleNames/pt_PT/EH=Sahara Ocidental
+LocaleNames/pt_PT/EH=Sara Ocidental
 LocaleNames/pt_PT/ER=Eritreia
 LocaleNames/pt_PT/FK=Ilhas Falkland
 LocaleNames/pt_PT/GL=Gronel\u00e2ndia
-LocaleNames/pt_PT/GS=Ilhas South Georgia e South Sandwich
+LocaleNames/pt_PT/GS=Ge\u00f3rgia do Sul e Ilhas Sandwich do Sul
 LocaleNames/pt_PT/GW=Guin\u00e9-Bissau
-LocaleNames/pt_PT/HK=Hong Kong - Regi\u00e3o Administrativa Especial da China
+LocaleNames/pt_PT/HK=Regi\u00e3o Administrativa Especial de Hong Kong
 LocaleNames/pt_PT/KE=Qu\u00e9nia
 LocaleNames/pt_PT/KG=Quirguizist\u00e3o
 LocaleNames/pt_PT/KN=Saint Kitts e Nevis
@@ -3944,36 +3945,36 @@
 LocaleNames/pt_PT/KR=Coreia do Sul
 LocaleNames/pt_PT/KY=Ilhas Caim\u00e3o
 LocaleNames/pt_PT/KZ=Cazaquist\u00e3o
-LocaleNames/pt_PT/LA=Lao, Rep\u00fablica Popular Democr\u00e1tica
+LocaleNames/pt_PT/LA=Laos, Rep\u00fablica Popular Democr\u00e1tica do
 LocaleNames/pt_PT/LV=Let\u00f3nia
 LocaleNames/pt_PT/MC=M\u00f3naco
 LocaleNames/pt_PT/MD=Mold\u00e1via, Rep\u00fablica da
 LocaleNames/pt_PT/MG=Madag\u00e1scar
-LocaleNames/pt_PT/MK=Maced\u00f3nia, Rep\u00fablica da
-LocaleNames/pt_PT/MO=Macau - Regi\u00e3o Administrativa Especial da China
+LocaleNames/pt_PT/MK=Maced\u00f3nia
+LocaleNames/pt_PT/MO=Regi\u00e3o Administrativa Especial de Macau
 LocaleNames/pt_PT/MP=Ilhas Mariana do Norte
 LocaleNames/pt_PT/MU=Maur\u00edcias
 LocaleNames/pt_PT/NC=Nova Caled\u00f3nia
-LocaleNames/pt_PT/PG=Papua Nova Guin\u00e9
+LocaleNames/pt_PT/PG=Papu\u00e1sia-Nova Guin\u00e9
 LocaleNames/pt_PT/PL=Pol\u00f3nia
 LocaleNames/pt_PT/PS=Territ\u00f3rio Palestiniano
-LocaleNames/pt_PT/RE=Reunion
+LocaleNames/pt_PT/RE=Reuni\u00e3o
 LocaleNames/pt_PT/RO=Rom\u00e9nia
 LocaleNames/pt_PT/SC=Seicheles
 LocaleNames/pt_PT/SG=Singapura
 LocaleNames/pt_PT/SI=Eslov\u00e9nia
 LocaleNames/pt_PT/SM=S\u00e3o Marino
 LocaleNames/pt_PT/TC=Ilhas Turcas e Caicos
-LocaleNames/pt_PT/TD=Tchade
-LocaleNames/pt_PT/TF=Territ\u00f3rios Franceses a Sul
+LocaleNames/pt_PT/TD=Chade
+LocaleNames/pt_PT/TF=Territ\u00f3rios Franceses do Sul
 LocaleNames/pt_PT/TJ=Tajiquist\u00e3o
 LocaleNames/pt_PT/TM=Turquemenist\u00e3o
-LocaleNames/pt_PT/UM=Ilhas Minor Outlying (E.U.A)
-LocaleNames/pt_PT/UZ=Uzbaquist\u00e3o
-LocaleNames/pt_PT/VA=Santa S\u00e9 (Estado da Cidade do Vaticano)
-LocaleNames/pt_PT/VC=Saint Vincent e Grenadines
-LocaleNames/pt_PT/VG=Ilhas Virgin Brit\u00e2nicas
-LocaleNames/pt_PT/VI=Ilhas Virgin E.U.A.
+LocaleNames/pt_PT/UM=Ilhas Menores Distantes dos Estados Unidos
+LocaleNames/pt_PT/UZ=Usbequist\u00e3o
+LocaleNames/pt_PT/VA=Vaticano
+LocaleNames/pt_PT/VC=S\u00e3o Vicente e Granadinas
+LocaleNames/pt_PT/VG=Ilhas Virgens Brit\u00e2nicas
+LocaleNames/pt_PT/VI=Ilhas Virgens E.U.A.
 LocaleNames/pt_PT/VN=Vietname
 LocaleNames/pt_PT/YE=I\u00e9men
 #bug 6290792 Gaelic support
@@ -4685,11 +4686,13 @@
 FormatData/fi/TimePatterns/1='klo 'H.mm.ss
 
 # bug 6455680 Update locale data derived from CLDR1.3 to CLDR1.4
+# bug 7090826 pt data updated to CLDR 21.0.1
 LocaleNames/pt/CS=S\u00e9rvia e Montenegro
 
 # bug 6498742: data for IR & ZW changed
-LocaleNames/pt_PT/IR=Ir\u00e3
-LocaleNames/pt_PT/ZW=Zimb\u00e1bwe
+# bug 7090826 pt data updated to CLDR 21.0.1
+LocaleNames/pt_PT/IR=Ir\u00e3o
+LocaleNames/pt_PT/ZW=Zimbabwe
 
 LocaleNames/el/ar=\u0391\u03c1\u03b1\u03b2\u03b9\u03ba\u03ac
 LocaleNames/el/be=\u039b\u03b5\u03c5\u03ba\u03bf\u03c1\u03c9\u03c3\u03b9\u03ba\u03ac
@@ -5452,26 +5455,26 @@
 LocaleNames/pt_BR/AX=Ilhas Aland
 LocaleNames/pt_BR/BA=B\u00f3snia-Herzegovina
 LocaleNames/pt_BR/BH=Bahrain
-LocaleNames/pt_BR/KP=Cor\u00e9ia do Norte
+LocaleNames/pt_BR/KP=Coreia do Norte
 LocaleNames/pt_BR/MK=Maced\u00f4nia
 LocaleNames/pt_BR/ZW=Zimb\u00e1bue
 LocaleNames/pt_PT/ee=eve
 LocaleNames/pt_PT/fo=fero\u00eas
 LocaleNames/pt_PT/gl=galego
 LocaleNames/pt_PT/ha=hau\u00e7\u00e1
-LocaleNames/pt_PT/hy=arm\u00eanio
-LocaleNames/pt_PT/ig=ibo
+LocaleNames/pt_PT/hy=arm\u00e9nio
+LocaleNames/pt_PT/ig=igbo
 LocaleNames/pt_PT/ki=quicuio
 LocaleNames/pt_PT/kl=groenland\u00eas
 LocaleNames/pt_PT/km=cmer
-LocaleNames/pt_PT/mh=marshall\u00eas
-LocaleNames/pt_PT/mk=maced\u00f4nio
-LocaleNames/pt_PT/nr=ndebele, south
-LocaleNames/pt_PT/os=ossetic
-LocaleNames/pt_PT/st=soto, do sul
-LocaleNames/pt_PT/ta=t\u00e2mil
-LocaleNames/pt_PT/AI=Anguilla
-LocaleNames/pt_PT/AX=\u00c5land Islands
+LocaleNames/pt_PT/mh=marshal\u00eas
+LocaleNames/pt_PT/mk=maced\u00f3nio
+LocaleNames/pt_PT/nr=ndebele do sul
+LocaleNames/pt_PT/os=oss\u00e9tico
+LocaleNames/pt_PT/st=soto do sul
+LocaleNames/pt_PT/ta=T\u00e2mil
+LocaleNames/pt_PT/AI=Anguila
+LocaleNames/pt_PT/AX=Ilhas \u00c5land
 
 # JE, GG, IM (6544471)
 LocaleNames//JE=Jersey
--- a/test/sun/text/resources/LocaleDataTest.java	Mon Dec 23 14:03:25 2013 -0500
+++ b/test/sun/text/resources/LocaleDataTest.java	Mon Dec 23 14:05:20 2013 -0500
@@ -35,7 +35,7 @@
  *      6645405 6650730 6910489 6573250 6870908 6585666 6716626 6914413 6916787
  *      6919624 6998391 7019267 7020960 7025837 7020583 7036905 7066203 7101495
  *      7003124 7085757 7028073 7171028 7189611 8000983 7195759 8004489 8006509
- *      7114053 7074882 7040556 8013836 8021121 6192407 6931564 8027695
+ *      7114053 7074882 7040556 8013836 8021121 6192407 6931564 8027695 7090826
  * @summary Verify locale data
  *
  */