Merge jdk7-b43
authorduke
Wed, 05 Jul 2017 16:45:14 +0200
changeset 1756 41bd0a702bc8
parent 1755 b144aadaeb0d (diff)
parent 1656 7157899b7d32 (current diff)
child 1757 d1d9fa27cd56
child 1758 72a127c48637
child 1759 ec694d49c4be
child 1761 5a4e2f4daa2a
child 1766 4ad5c0f4cf79
child 1779 8a25de0ed498
child 1781 4c202c81d33f
child 1783 8a29755677e2
child 1785 aa6e214df46c
child 1786 88f03aba5cf9
child 1883 de1afa26fdd7
child 2134 125f0fb7e9b1
Merge
--- a/.hgtags-top-repo	Wed Jul 05 16:44:40 2017 +0200
+++ b/.hgtags-top-repo	Wed Jul 05 16:45:14 2017 +0200
@@ -16,3 +16,4 @@
 ab523b49de1fc73fefe6855ce1e0349bdbd7af29 jdk7-b39
 44be42de6693063fb191989bf0e188de2fa51e7c jdk7-b40
 541bdc5ad32fc33255944d0a044ad992f3d915e8 jdk7-b41
+94052b87287303527125026fe4b2698cf867ea83 jdk7-b42
--- a/corba/.hgtags	Wed Jul 05 16:44:40 2017 +0200
+++ b/corba/.hgtags	Wed Jul 05 16:45:14 2017 +0200
@@ -16,3 +16,4 @@
 55078b6661e286e90387d1d9950bd865f5cc436e jdk7-b39
 184e21992f47a8d730df1adc5b21a108f3125489 jdk7-b40
 c90eeda9594ed2983403e2049aed8d503126c62e jdk7-b41
+ccd6a16502e0650d91d85c4b86be05cbcd461a87 jdk7-b42
--- a/hotspot/.hgtags	Wed Jul 05 16:44:40 2017 +0200
+++ b/hotspot/.hgtags	Wed Jul 05 16:45:14 2017 +0200
@@ -16,3 +16,4 @@
 49ca90d77f34571b0757ebfcb8a7848ef2696b88 jdk7-b39
 81a0cbe3b28460ce836109934ece03db7afaf9cc jdk7-b40
 f9d938ede1960d18cb7cf23c645b026519c1a678 jdk7-b41
+ad8c8ca4ab0f4c86e74c061958f44a8f4a930f2c jdk7-b42
--- a/hotspot/make/hotspot_version	Wed Jul 05 16:44:40 2017 +0200
+++ b/hotspot/make/hotspot_version	Wed Jul 05 16:45:14 2017 +0200
@@ -35,7 +35,7 @@
 
 HS_MAJOR_VER=14
 HS_MINOR_VER=0
-HS_BUILD_NUMBER=09
+HS_BUILD_NUMBER=10
 
 JDK_MAJOR_VER=1
 JDK_MINOR_VER=7
--- a/hotspot/make/linux/adlc_updater	Wed Jul 05 16:44:40 2017 +0200
+++ b/hotspot/make/linux/adlc_updater	Wed Jul 05 16:45:14 2017 +0200
@@ -7,5 +7,13 @@
 #
 # adlc-updater <file> <source-dir> <target-dir>
 #
-[ -f $3/$1 ] && cmp -s $2/$1 $3/$1 || \
-( [ -f $3/$1 ]; echo Updating $3/$1 ; touch $2/made-change ; mv $2/$1 $3/$1 )
+fix_lines() {
+  # repair bare #line directives in $1 to refer to $2
+  awk < $1 > $1+ '
+    /^#line 999999$/ {print "#line " (NR+1) " \"" F2 "\""; next}
+    {print}
+  ' F2=$2
+  mv $1+ $1
+}
+[ -f $3/$1 ] && (fix_lines $2/$1 $3/$1; cmp -s $2/$1 $3/$1) || \
+( [ -f $3/$1 ] && echo Updating $3/$1 ; touch $2/made-change ; mv $2/$1 $3/$1 )
--- a/hotspot/make/linux/makefiles/adlc.make	Wed Jul 05 16:44:40 2017 +0200
+++ b/hotspot/make/linux/makefiles/adlc.make	Wed Jul 05 16:45:14 2017 +0200
@@ -54,9 +54,11 @@
 Src_Dirs_I = ${Src_Dirs} $(GENERATED)
 INCLUDES += $(Src_Dirs_I:%=-I%)
 
+# set flags for adlc compilation
+CPPFLAGS = $(SYSDEFS) $(INCLUDES)
+
 # Force assertions on.
-SYSDEFS += -DASSERT
-CPPFLAGS = $(SYSDEFS) $(INCLUDES)
+CPPFLAGS += -DASSERT
 
 # CFLAGS_WARN holds compiler options to suppress/enable warnings.
 # Suppress warnings (for now)
@@ -125,7 +127,15 @@
 # Note that product files are updated via "mv", which is atomic.
 TEMPDIR := $(OUTDIR)/mktmp$(shell echo $$$$)
 
-ADLCFLAGS = -q -T
+# Pass -D flags into ADLC.
+ADLCFLAGS += $(SYSDEFS)
+
+# Note "+="; it is a hook so flags.make can add more flags, like -g or -DFOO.
+ADLCFLAGS += -q -T
+
+# Normally, debugging is done directly on the ad_<arch>*.cpp files.
+# But -g will put #line directives in those files pointing back to <arch>.ad.
+#ADLCFLAGS += -g
 
 ifdef LP64
 ADLCFLAGS += -D_LP64
@@ -140,6 +150,8 @@
 #
 ADLC_UPDATER_DIRECTORY = $(GAMMADIR)/make/$(OS)
 ADLC_UPDATER = adlc_updater
+$(ADLC_UPDATER): $(ADLC_UPDATER_DIRECTORY)/$(ADLC_UPDATER)
+	$(QUIETLY) cp $< $@; chmod +x $@
 
 # This action refreshes all generated adlc files simultaneously.
 # The way it works is this:
@@ -149,9 +161,8 @@
 # 4) call $(ADLC_UPDATER) on each generated adlc file. It will selectively update changed or missing files.
 # 5) If we actually updated any files, echo a notice.
 #
-refresh_adfiles: $(EXEC) $(SOURCE.AD)
+refresh_adfiles: $(EXEC) $(SOURCE.AD) $(ADLC_UPDATER)
 	@rm -rf $(TEMPDIR); mkdir $(TEMPDIR)
-	$(QUIETLY) [ -f $(ADLC_UPDATER) ] || ( cp $(ADLC_UPDATER_DIRECTORY)/$(ADLC_UPDATER) . ; chmod +x $(ADLC_UPDATER) )
 	$(QUIETLY) $(EXEC) $(ADLCFLAGS) $(SOURCE.AD) \
  -c$(TEMPDIR)/ad_$(Platform_arch_model).cpp -h$(TEMPDIR)/ad_$(Platform_arch_model).hpp -a$(TEMPDIR)/dfa_$(Platform_arch_model).cpp -v$(TEMPDIR)/adGlobals_$(Platform_arch_model).hpp \
 	    || { rm -rf $(TEMPDIR); exit 1; }
@@ -174,7 +185,15 @@
 # #########################################################################
 
 $(SOURCE.AD): $(SOURCES.AD)
-	$(QUIETLY) cat $(SOURCES.AD) > $(SOURCE.AD)
+	$(QUIETLY) $(PROCESS_AD_FILES) $(SOURCES.AD) > $(SOURCE.AD)
+
+#PROCESS_AD_FILES = cat
+# Pass through #line directives, in case user enables -g option above:
+PROCESS_AD_FILES = awk '{ \
+    if (CUR_FN != FILENAME) { CUR_FN=FILENAME; NR_BASE=NR-1; need_lineno=1 } \
+    if (need_lineno && $$0 !~ /\/\//) \
+      { print "\n\n\#line " (NR-NR_BASE) " \"" FILENAME "\""; need_lineno=0 }; \
+    print }'
 
 $(OUTDIR)/%.o: %.cpp
 	@echo Compiling $<
--- a/hotspot/make/solaris/adlc_updater	Wed Jul 05 16:44:40 2017 +0200
+++ b/hotspot/make/solaris/adlc_updater	Wed Jul 05 16:45:14 2017 +0200
@@ -7,5 +7,13 @@
 #
 # adlc-updater <file> <source-dir> <target-dir>
 #
-[ -f $3/$1 ] && cmp -s $2/$1 $3/$1 || \
-( [ -f $3/$1 ]; echo Updating $3/$1 ; touch $2/made-change ; mv $2/$1 $3/$1 )
+fix_lines() {
+  # repair bare #line directives in $1 to refer to $2
+  awk < $1 > $1+ '
+    /^#line 999999$/ {print "#line " (NR+1) " \"" F2 "\""; next}
+    {print}
+  ' F2=$2
+  mv $1+ $1
+}
+[ -f $3/$1 ] && (fix_lines $2/$1 $3/$1; cmp -s $2/$1 $3/$1) || \
+( [ -f $3/$1 ] && echo Updating $3/$1 ; touch $2/made-change ; mv $2/$1 $3/$1 )
--- a/hotspot/make/solaris/makefiles/adlc.make	Wed Jul 05 16:44:40 2017 +0200
+++ b/hotspot/make/solaris/makefiles/adlc.make	Wed Jul 05 16:45:14 2017 +0200
@@ -54,9 +54,11 @@
 Src_Dirs_I = ${Src_Dirs} $(GENERATED)
 INCLUDES += $(Src_Dirs_I:%=-I%)
 
+# set flags for adlc compilation
+CPPFLAGS = $(SYSDEFS) $(INCLUDES)
+
 # Force assertions on.
-SYSDEFS += -DASSERT
-CPPFLAGS = $(SYSDEFS) $(INCLUDES)
+CPPFLAGS += -DASSERT
 
 ifndef USE_GCC
   # We need libCstd.so for adlc 
@@ -141,7 +143,15 @@
 # Note that product files are updated via "mv", which is atomic.
 TEMPDIR := $(OUTDIR)/mktmp$(shell echo $$$$)
 
-ADLCFLAGS = -q -T
+# Pass -D flags into ADLC.
+ADLCFLAGS += $(SYSDEFS)
+
+# Note "+="; it is a hook so flags.make can add more flags, like -g or -DFOO.
+ADLCFLAGS += -q -T
+
+# Normally, debugging is done directly on the ad_<arch>*.cpp files.
+# But -g will put #line directives in those files pointing back to <arch>.ad.
+#ADLCFLAGS += -g
 
 ifdef LP64
 ADLCFLAGS += -D_LP64
@@ -156,6 +166,8 @@
 #
 ADLC_UPDATER_DIRECTORY = $(GAMMADIR)/make/$(OS)
 ADLC_UPDATER = adlc_updater
+$(ADLC_UPDATER): $(ADLC_UPDATER_DIRECTORY)/$(ADLC_UPDATER)
+	$(QUIETLY) cp $< $@; chmod +x $@
 
 # This action refreshes all generated adlc files simultaneously.
 # The way it works is this:
@@ -165,9 +177,8 @@
 # 4) call $(ADLC_UPDATER) on each generated adlc file. It will selectively update changed or missing files.
 # 5) If we actually updated any files, echo a notice.
 #
-refresh_adfiles: $(EXEC) $(SOURCE.AD)
+refresh_adfiles: $(EXEC) $(SOURCE.AD) $(ADLC_UPDATER)
 	@rm -rf $(TEMPDIR); mkdir $(TEMPDIR)
-	$(QUIETLY) [ -f $(ADLC_UPDATER) ] || ( cp $(ADLC_UPDATER_DIRECTORY)/$(ADLC_UPDATER) . ; chmod +x $(ADLC_UPDATER) )
 	$(QUIETLY) $(EXEC) $(ADLCFLAGS) $(SOURCE.AD) \
  -c$(TEMPDIR)/ad_$(Platform_arch_model).cpp -h$(TEMPDIR)/ad_$(Platform_arch_model).hpp -a$(TEMPDIR)/dfa_$(Platform_arch_model).cpp -v$(TEMPDIR)/adGlobals_$(Platform_arch_model).hpp \
 	    || { rm -rf $(TEMPDIR); exit 1; }
@@ -190,7 +201,15 @@
 # #########################################################################
 
 $(SOURCE.AD): $(SOURCES.AD)
-	$(QUIETLY) cat $(SOURCES.AD) > $(SOURCE.AD)
+	$(QUIETLY) $(PROCESS_AD_FILES) $(SOURCES.AD) > $(SOURCE.AD)
+
+#PROCESS_AD_FILES = cat
+# Pass through #line directives, in case user enables -g option above:
+PROCESS_AD_FILES = awk '{ \
+    if (CUR_FN != FILENAME) { CUR_FN=FILENAME; NR_BASE=NR-1; need_lineno=1 } \
+    if (need_lineno && $$0 !~ /\/\//) \
+      { print "\n\n\#line " (NR-NR_BASE) " \"" FILENAME "\""; need_lineno=0 }; \
+    print }'
 
 $(OUTDIR)/%.o: %.cpp
 	@echo Compiling $<
--- a/hotspot/src/os/linux/vm/os_linux.cpp	Wed Jul 05 16:44:40 2017 +0200
+++ b/hotspot/src/os/linux/vm/os_linux.cpp	Wed Jul 05 16:45:14 2017 +0200
@@ -2500,7 +2500,7 @@
 }
 
 bool os::unguard_memory(char* addr, size_t size) {
-  return linux_mprotect(addr, size, PROT_READ|PROT_WRITE|PROT_EXEC);
+  return linux_mprotect(addr, size, PROT_READ|PROT_WRITE);
 }
 
 // Large page support
--- a/hotspot/src/os/solaris/vm/os_solaris.cpp	Wed Jul 05 16:44:40 2017 +0200
+++ b/hotspot/src/os/solaris/vm/os_solaris.cpp	Wed Jul 05 16:45:14 2017 +0200
@@ -1638,16 +1638,24 @@
 // getTimeNanos is guaranteed to not move backward on Solaris
 inline hrtime_t getTimeNanos() {
   if (VM_Version::supports_cx8()) {
-    bool retry = false;
-    hrtime_t newtime = gethrtime();
-    hrtime_t oldmaxtime = max_hrtime;
-    hrtime_t retmaxtime = oldmaxtime;
-    while ((newtime > retmaxtime) && (retry == false || retmaxtime != oldmaxtime)) {
-      oldmaxtime = retmaxtime;
-      retmaxtime = Atomic::cmpxchg(newtime, (volatile jlong *)&max_hrtime, oldmaxtime);
-      retry = true;
-    }
-    return (newtime > retmaxtime) ? newtime : retmaxtime;
+    const hrtime_t now = gethrtime();
+    const hrtime_t prev = max_hrtime;
+    if (now <= prev)  return prev;   // same or retrograde time;
+    const hrtime_t obsv = Atomic::cmpxchg(now, (volatile jlong*)&max_hrtime, prev);
+    assert(obsv >= prev, "invariant");   // Monotonicity
+    // If the CAS succeeded then we're done and return "now".
+    // If the CAS failed and the observed value "obs" is >= now then
+    // we should return "obs".  If the CAS failed and now > obs > prv then
+    // some other thread raced this thread and installed a new value, in which case
+    // we could either (a) retry the entire operation, (b) retry trying to install now
+    // or (c) just return obs.  We use (c).   No loop is required although in some cases
+    // we might discard a higher "now" value in deference to a slightly lower but freshly
+    // installed obs value.   That's entirely benign -- it admits no new orderings compared
+    // to (a) or (b) -- and greatly reduces coherence traffic.
+    // We might also condition (c) on the magnitude of the delta between obs and now.
+    // Avoiding excessive CAS operations to hot RW locations is critical.
+    // See http://blogs.sun.com/dave/entry/cas_and_cache_trivia_invalidate
+    return (prev == obsv) ? now : obsv ;
   } else {
     return oldgetTimeNanos();
   }
@@ -3026,6 +3034,8 @@
 
 // Protect memory (Used to pass readonly pages through
 // JNI GetArray<type>Elements with empty arrays.)
+// Also, used for serialization page and for compressed oops null pointer
+// checking.
 bool os::protect_memory(char* addr, size_t bytes, ProtType prot,
                         bool is_committed) {
   unsigned int p = 0;
@@ -3049,7 +3059,7 @@
 }
 
 bool os::unguard_memory(char* addr, size_t bytes) {
-  return solaris_mprotect(addr, bytes, PROT_READ|PROT_WRITE|PROT_EXEC);
+  return solaris_mprotect(addr, bytes, PROT_READ|PROT_WRITE);
 }
 
 // Large page support
--- a/hotspot/src/os/windows/vm/os_windows.cpp	Wed Jul 05 16:44:40 2017 +0200
+++ b/hotspot/src/os/windows/vm/os_windows.cpp	Wed Jul 05 16:45:14 2017 +0200
@@ -2020,10 +2020,11 @@
         if (UnguardOnExecutionViolation > 0 && addr != last_addr &&
             (UnguardOnExecutionViolation > 1 || os::address_is_in_vm(addr))) {
 
-          // Unguard and retry
+          // Set memory to RWX and retry
           address page_start =
             (address) align_size_down((intptr_t) addr, (intptr_t) page_size);
-          bool res = os::unguard_memory((char*) page_start, page_size);
+          bool res = os::protect_memory((char*) page_start, page_size,
+                                        os::MEM_PROT_RWX);
 
           if (PrintMiscellaneous && Verbose) {
             char buf[256];
@@ -2755,12 +2756,12 @@
 
 bool os::guard_memory(char* addr, size_t bytes) {
   DWORD old_status;
-  return VirtualProtect(addr, bytes, PAGE_EXECUTE_READWRITE | PAGE_GUARD, &old_status) != 0;
+  return VirtualProtect(addr, bytes, PAGE_READWRITE | PAGE_GUARD, &old_status) != 0;
 }
 
 bool os::unguard_memory(char* addr, size_t bytes) {
   DWORD old_status;
-  return VirtualProtect(addr, bytes, PAGE_EXECUTE_READWRITE, &old_status) != 0;
+  return VirtualProtect(addr, bytes, PAGE_READWRITE, &old_status) != 0;
 }
 
 void os::realign_memory(char *addr, size_t bytes, size_t alignment_hint) { }
--- a/hotspot/src/os_cpu/linux_x86/vm/os_linux_x86.cpp	Wed Jul 05 16:44:40 2017 +0200
+++ b/hotspot/src/os_cpu/linux_x86/vm/os_linux_x86.cpp	Wed Jul 05 16:45:14 2017 +0200
@@ -422,10 +422,11 @@
       if (addr != last_addr &&
           (UnguardOnExecutionViolation > 1 || os::address_is_in_vm(addr))) {
 
-        // Unguard and retry
+        // Set memory to RWX and retry
         address page_start =
           (address) align_size_down((intptr_t) addr, (intptr_t) page_size);
-        bool res = os::unguard_memory((char*) page_start, page_size);
+        bool res = os::protect_memory((char*) page_start, page_size,
+                                      os::MEM_PROT_RWX);
 
         if (PrintMiscellaneous && Verbose) {
           char buf[256];
--- a/hotspot/src/os_cpu/solaris_x86/vm/os_solaris_x86.cpp	Wed Jul 05 16:44:40 2017 +0200
+++ b/hotspot/src/os_cpu/solaris_x86/vm/os_solaris_x86.cpp	Wed Jul 05 16:45:14 2017 +0200
@@ -203,10 +203,10 @@
   return frame(fr->sender_sp(), fr->link(), fr->sender_pc());
 }
 
-extern "C" intptr_t *_get_previous_fp();  // in .il file.
+extern "C" intptr_t *_get_current_fp();  // in .il file
 
 frame os::current_frame() {
-  intptr_t* fp = _get_previous_fp();
+  intptr_t* fp = _get_current_fp();  // it's inlined so want current fp
   frame myframe((intptr_t*)os::current_stack_pointer(),
                 (intptr_t*)fp,
                 CAST_FROM_FN_PTR(address, os::current_frame));
@@ -576,10 +576,11 @@
       if (addr != last_addr &&
           (UnguardOnExecutionViolation > 1 || os::address_is_in_vm(addr))) {
 
-        // Unguard and retry
+        // Make memory rwx and retry
         address page_start =
           (address) align_size_down((intptr_t) addr, (intptr_t) page_size);
-        bool res = os::unguard_memory((char*) page_start, page_size);
+        bool res = os::protect_memory((char*) page_start, page_size,
+                                      os::MEM_PROT_RWX);
 
         if (PrintMiscellaneous && Verbose) {
           char buf[256];
--- a/hotspot/src/os_cpu/solaris_x86/vm/solaris_x86_32.il	Wed Jul 05 16:44:40 2017 +0200
+++ b/hotspot/src/os_cpu/solaris_x86/vm/solaris_x86_32.il	Wed Jul 05 16:45:14 2017 +0200
@@ -37,10 +37,10 @@
       movl     %gs:0, %eax 
       .end
 
-  // Get callers fp
-      .inline _get_previous_fp,0
+  // Get current fp
+      .inline _get_current_fp,0
+      .volatile
       movl     %ebp, %eax 
-      movl     %eax, %eax
       .end
 
   // Support for jint Atomic::add(jint inc, volatile jint* dest)
--- a/hotspot/src/os_cpu/solaris_x86/vm/solaris_x86_64.il	Wed Jul 05 16:44:40 2017 +0200
+++ b/hotspot/src/os_cpu/solaris_x86/vm/solaris_x86_64.il	Wed Jul 05 16:45:14 2017 +0200
@@ -30,10 +30,10 @@
       movq     %fs:0, %rax 
       .end
 
-  // Get the frame pointer from previous frame.
-      .inline _get_previous_fp,0
+  // Get the frame pointer from current frame.
+      .inline _get_current_fp,0
+      .volatile
       movq     %rbp, %rax 
-      movq     %rax, %rax 
       .end
 
   // Support for jint Atomic::add(jint add_value, volatile jint* dest)
--- a/hotspot/src/share/vm/adlc/adlparse.cpp	Wed Jul 05 16:44:40 2017 +0200
+++ b/hotspot/src/share/vm/adlc/adlparse.cpp	Wed Jul 05 16:45:14 2017 +0200
@@ -108,6 +108,7 @@
     else if (!strcmp(ident, "pipeline"))   pipe_parse();
     else if (!strcmp(ident, "definitions")) definitions_parse();
     else if (!strcmp(ident, "peephole"))   peep_parse();
+    else if (!strcmp(ident, "#line"))      preproc_line();
     else if (!strcmp(ident, "#define"))    preproc_define();
     else if (!strcmp(ident, "#undef"))     preproc_undef();
     else {
@@ -786,9 +787,11 @@
         parse_err(SYNERR, "missing identifier inside register block.\n");
         return;
       }
-      if (strcmp(token,"reg_def")==0)     { reg_def_parse(); }
-      if (strcmp(token,"reg_class")==0)   { reg_class_parse(); }
-      if (strcmp(token,"alloc_class")==0) { alloc_class_parse(); }
+      if (strcmp(token,"reg_def")==0)          { reg_def_parse(); }
+      else if (strcmp(token,"reg_class")==0)   { reg_class_parse(); }
+      else if (strcmp(token,"alloc_class")==0) { alloc_class_parse(); }
+      else if (strcmp(token,"#define")==0)     { preproc_define(); }
+      else { parse_err(SYNERR, "bad token %s inside register block.\n", token); break; }
       skipws();
     }
   }
@@ -903,11 +906,7 @@
   skipws_no_preproc();              // Skip leading whitespace
   // Prepend location descriptor, for debugging; cf. ADLParser::find_cpp_block
   if (_AD._adlocation_debug) {
-    const char* file     = _AD._ADL_file._name;
-    int         line     = linenum();
-    char*       location = (char *)malloc(strlen(file) + 100);
-    sprintf(location, "#line %d \"%s\"\n", line, file);
-    encoding->add_code(location);
+    encoding->add_code(get_line_string());
   }
 
   // Collect the parts of the encode description
@@ -948,6 +947,10 @@
 
   skipws();
 
+  if (_AD._adlocation_debug) {
+    encoding->add_code(end_line_marker());
+  }
+
   // Debug Stuff
   if (_AD._adl_debug > 1) fprintf(stderr,"EncodingClass Form: %s\n", ec_name);
 }
@@ -2349,7 +2352,11 @@
         return;
       }
       RegDef *regDef = _AD._register->getRegDef(rname);
-      reg_class->addReg(regDef);     // add regDef to regClass
+      if (!regDef) {
+        parse_err(SEMERR, "unknown identifier %s inside reg_class list.\n", rname);
+      } else {
+        reg_class->addReg(regDef); // add regDef to regClass
+      }
 
       // Check for ',' and position to next token.
       skipws();
@@ -2746,7 +2753,8 @@
   char      *rule = NULL;         // String representation of predicate
 
   skipws();                       // Skip leading whitespace
-  if ( (rule = get_paren_expr("pred expression")) == NULL ) {
+  int line = linenum();
+  if ( (rule = get_paren_expr("pred expression", true)) == NULL ) {
     parse_err(SYNERR, "incorrect or missing expression for 'predicate'\n");
     return NULL;
   }
@@ -3407,7 +3415,12 @@
         // Check if there is a string to pass through to output
         char *start = _ptr;       // Record start of the next string
         while ((_curchar != '$') && (_curchar != '"') && (_curchar != '%') && (_curchar != '\n')) {
-          if (_curchar == '\\')  next_char();  // superquote
+          if (_curchar == '\\') {
+            next_char();  // superquote
+            if ((_curchar == '$') || (_curchar == '%'))
+              // hack to avoid % escapes and warnings about undefined \ escapes
+              *(_ptr-1) = _curchar;
+          }
           if (_curchar == '\n')  parse_err(SYNERR, "newline in string");  // unimplemented!
           next_char();
         }
@@ -3942,8 +3955,7 @@
     next_char();                  // Skip block delimiter
     skipws_no_preproc();          // Skip leading whitespace
     cppBlock = _ptr;              // Point to start of expression
-    const char* file = _AD._ADL_file._name;
-    int         line = linenum();
+    int line = linenum();
     next = _ptr + 1;
     while(((_curchar != '%') || (*next != '}')) && (_curchar != '\0')) {
       next_char_or_line();
@@ -3958,15 +3970,16 @@
     _curchar = *_ptr;             // Maintain invariant
 
     // Prepend location descriptor, for debugging.
-    char* location = (char *)malloc(strlen(file) + 100);
-    *location = '\0';
-    if (_AD._adlocation_debug)
-      sprintf(location, "#line %d \"%s\"\n", line, file);
-    char* result = (char *)malloc(strlen(location) + strlen(cppBlock) + 1);
-    strcpy(result, location);
-    strcat(result, cppBlock);
-    cppBlock = result;
-    free(location);
+    if (_AD._adlocation_debug) {
+      char* location = get_line_string(line);
+      char* end_loc  = end_line_marker();
+      char* result = (char *)malloc(strlen(location) + strlen(cppBlock) + strlen(end_loc) + 1);
+      strcpy(result, location);
+      strcat(result, cppBlock);
+      strcat(result, end_loc);
+      cppBlock = result;
+      free(location);
+    }
   }
 
   return cppBlock;
@@ -4036,13 +4049,26 @@
 
 // Helper function around get_expr
 // Sets _curchar to '(' so that get_paren_expr will search for a matching ')'
-char *ADLParser::get_paren_expr(const char *description) {
+char *ADLParser::get_paren_expr(const char *description, bool include_location) {
+  int line = linenum();
   if (_curchar != '(')            // Escape if not valid starting position
     return NULL;
   next_char();                    // Skip the required initial paren.
   char *token2 = get_expr(description, ")");
   if (_curchar == ')')
     next_char();                  // Skip required final paren.
+  int junk = 0;
+  if (include_location && _AD._adlocation_debug && !is_int_token(token2, junk)) {
+    // Prepend location descriptor, for debugging.
+    char* location = get_line_string(line);
+    char* end_loc  = end_line_marker();
+    char* result = (char *)malloc(strlen(location) + strlen(token2) + strlen(end_loc) + 1);
+    strcpy(result, location);
+    strcat(result, token2);
+    strcat(result, end_loc);
+    token2 = result;
+    free(location);
+  }
   return token2;
 }
 
@@ -4082,10 +4108,16 @@
   if (do_preproc && start != NULL) {
     const char* def = _AD.get_preproc_def(start);
     if (def != NULL && strcmp(def, start)) {
-      const char* def2 = _AD.get_preproc_def(def);
-      if (def2 != NULL && strcmp(def2, def)) {
-        parse_err(SYNERR, "unimplemented: using %s defined as %s => %s",
-                  start, def, def2);
+      const char* def1 = def;
+      const char* def2 = _AD.get_preproc_def(def1);
+      // implement up to 2 levels of #define
+      if (def2 != NULL && strcmp(def2, def1)) {
+        def = def2;
+        const char* def3 = _AD.get_preproc_def(def2);
+        if (def3 != NULL && strcmp(def3, def2) && strcmp(def3, def1)) {
+          parse_err(SYNERR, "unimplemented: using %s defined as %s => %s => %s",
+                    start, def1, def2, def3);
+        }
       }
       start = strdup(def);
     }
@@ -4431,6 +4463,35 @@
 }
 
 
+//-------------------------------preproc_line----------------------------------
+// A "#line" keyword has been seen, so parse the rest of the line.
+void ADLParser::preproc_line(void) {
+  int line = get_int();
+  skipws_no_preproc();
+  const char* file = NULL;
+  if (_curchar == '"') {
+    next_char();              // Move past the initial '"'
+    file = _ptr;
+    while (true) {
+      if (_curchar == '\n') {
+        parse_err(SYNERR, "missing '\"' at end of #line directive");
+        return;
+      }
+      if (_curchar == '"') {
+        *_ptr  = '\0';          // Terminate the string
+        next_char();
+        skipws_no_preproc();
+        break;
+      }
+      next_char();
+    }
+  }
+  ensure_end_of_line();
+  if (file != NULL)
+    _AD._ADL_file._name = file;
+  _buf.set_linenum(line);
+}
+
 //------------------------------preproc_define---------------------------------
 // A "#define" keyword has been seen, so parse the rest of the line.
 void ADLParser::preproc_define(void) {
@@ -4494,6 +4555,7 @@
 // A preprocessor directive has been encountered.  Be sure it has fallen at
 // the begining of a line, or else report an error.
 void ADLParser::ensure_start_of_line(void) {
+  if (_curchar == '\n') { next_line(); return; }
   assert( _ptr >= _curline && _ptr < _curline+strlen(_curline),
           "Must be able to find which line we are in" );
 
@@ -4662,6 +4724,7 @@
 
 //---------------------------next_char-----------------------------------------
 void ADLParser::next_char() {
+  if (_curchar == '\n')  parse_err(WARN, "must call next_line!");
   _curchar = *++_ptr;
   // if ( _curchar == '\n' ) {
   //   next_line();
@@ -4682,6 +4745,18 @@
 //---------------------------next_line-----------------------------------------
 void ADLParser::next_line() {
   _curline = _buf.get_line();
+  _curchar = ' ';
+}
+
+//------------------------get_line_string--------------------------------------
+// Prepended location descriptor, for debugging.
+// Must return a malloced string (that can be freed if desired).
+char* ADLParser::get_line_string(int linenum) {
+  const char* file = _AD._ADL_file._name;
+  int         line = linenum ? linenum : this->linenum();
+  char* location = (char *)malloc(strlen(file) + 100);
+  sprintf(location, "\n#line %d \"%s\"\n", line, file);
+  return location;
 }
 
 //-------------------------is_literal_constant---------------------------------
@@ -4722,6 +4797,66 @@
   return true;
 }
 
+static const char* skip_expr_ws(const char* str) {
+  const char * cp = str;
+  while (cp[0]) {
+    if (cp[0] <= ' ') {
+      ++cp;
+    } else if (cp[0] == '#') {
+      ++cp;
+      while (cp[0] == ' ')  ++cp;
+      assert(0 == strncmp(cp, "line", 4), "must be a #line directive");
+      const char* eol = strchr(cp, '\n');
+      assert(eol != NULL, "must find end of line");
+      if (eol == NULL)  eol = cp + strlen(cp);
+      cp = eol;
+    } else {
+      break;
+    }
+  }
+  return cp;
+}
+
+//-----------------------equivalent_expressions--------------------------------
+bool ADLParser::equivalent_expressions(const char* str1, const char* str2) {
+  if (str1 == str2)
+    return true;
+  else if (str1 == NULL || str2 == NULL)
+    return false;
+  const char* cp1 = str1;
+  const char* cp2 = str2;
+  char in_quote = '\0';
+  while (cp1[0] && cp2[0]) {
+    if (!in_quote) {
+      // skip spaces and/or cpp directives
+      const char* cp1a = skip_expr_ws(cp1);
+      const char* cp2a = skip_expr_ws(cp2);
+      if (cp1a > cp1 && cp2a > cp2) {
+        cp1 = cp1a; cp2 = cp2a;
+        continue;
+      }
+      if (cp1a > cp1 || cp2a > cp2)  break; // fail
+    }
+    // match one non-space char
+    if (cp1[0] != cp2[0])  break; // fail
+    char ch = cp1[0];
+    cp1++; cp2++;
+    // watch for quotes
+    if (in_quote && ch == '\\') {
+      if (cp1[0] != cp2[0])  break; // fail
+      if (!cp1[0])  break;
+      cp1++; cp2++;
+    }
+    if (in_quote && ch == in_quote) {
+      in_quote = '\0';
+    } else if (!in_quote && (ch == '"' || ch == '\'')) {
+      in_quote = ch;
+    }
+  }
+  return (!cp1[0] && !cp2[0]);
+}
+
+
 //-------------------------------trim------------------------------------------
 void ADLParser::trim(char* &token) {
   while (*token <= ' ')  token++;
--- a/hotspot/src/share/vm/adlc/adlparse.hpp	Wed Jul 05 16:44:40 2017 +0200
+++ b/hotspot/src/share/vm/adlc/adlparse.hpp	Wed Jul 05 16:45:14 2017 +0200
@@ -93,6 +93,7 @@
   void pipe_parse(void);        // Parse pipeline section
   void definitions_parse(void); // Parse definitions section
   void peep_parse(void);        // Parse peephole rule definitions
+  void preproc_line(void);      // Parse a #line statement
   void preproc_define(void);    // Parse a #define statement
   void preproc_undef(void);     // Parse an #undef statement
 
@@ -226,7 +227,7 @@
   void  get_effectlist(FormDict &effects, FormDict &operands); // Parse effect-operand pairs
   // Return the contents of a parenthesized expression.
   // Requires initial '(' and consumes final ')', which is replaced by '\0'.
-  char *get_paren_expr(const char *description);
+  char *get_paren_expr(const char *description, bool include_location = false);
   // Return expression up to next stop-char, which terminator replaces.
   // Does not require initial '('.  Does not consume final stop-char.
   // Final stop-char is left in _curchar, but is also is replaced by '\0'.
@@ -234,6 +235,11 @@
   char *find_cpp_block(const char *description); // Parse a C++ code block
   // Issue parser error message & go to EOL
   void parse_err(int flag, const char *fmt, ...);
+  // Create a location marker for this file and line.
+  char *get_line_string(int linenum = 0);
+  // Return a location marker which tells the C preprocessor to
+  // forget the previous location marker.  (Requires awk postprocessing.)
+  char *end_line_marker() { return (char*)"\n#line 999999\n"; }
 
   // Return pointer to current character
   inline char  cur_char(void);
@@ -268,5 +274,6 @@
   static bool is_literal_constant(const char *hex_string);
   static bool is_hex_digit(char digit);
   static bool is_int_token(const char* token, int& intval);
+  static bool equivalent_expressions(const char* str1, const char* str2);
   static void trim(char* &token);  // trim leading & trailing spaces
 };
--- a/hotspot/src/share/vm/adlc/archDesc.cpp	Wed Jul 05 16:44:40 2017 +0200
+++ b/hotspot/src/share/vm/adlc/archDesc.cpp	Wed Jul 05 16:45:14 2017 +0200
@@ -140,7 +140,7 @@
       if ((rch == _rchild) || (rch && _rchild && !strcmp(rch, _rchild))) {
         char * predStr = get_pred();
         char * prStr = pr?pr->_pred:NULL;
-        if ((prStr == predStr) || (prStr && predStr && !strcmp(prStr, predStr))) {
+        if (ADLParser::equivalent_expressions(prStr, predStr)) {
           return true;
         }
       }
--- a/hotspot/src/share/vm/adlc/dfa.cpp	Wed Jul 05 16:44:40 2017 +0200
+++ b/hotspot/src/share/vm/adlc/dfa.cpp	Wed Jul 05 16:45:14 2017 +0200
@@ -458,7 +458,7 @@
 
 
 class dfa_shared_preds {
-  enum { count = 2 };
+  enum { count = 4 };
 
   static bool        _found[count];
   static const char* _type [count];
@@ -479,12 +479,15 @@
     char c  = *prev;
     switch( c ) {
     case ' ':
+    case '\n':
       return dfa_shared_preds::valid_loc(pred, prev);
     case '!':
     case '(':
     case '<':
     case '=':
       return true;
+    case '"':  // such as: #line 10 "myfile.ad"\n mypredicate
+      return true;
     case '|':
       if( prev != pred && *(prev-1) == '|' ) return true;
     case '&':
@@ -564,10 +567,14 @@
   }
 };
 // shared predicates, _var and _pred entry should be the same length
-bool         dfa_shared_preds::_found[dfa_shared_preds::count] = { false, false };
-const char*  dfa_shared_preds::_type[dfa_shared_preds::count]  = { "int", "bool" };
-const char*  dfa_shared_preds::_var [dfa_shared_preds::count]  = { "_n_get_int__", "Compile__current____select_24_bit_instr__" };
-const char*  dfa_shared_preds::_pred[dfa_shared_preds::count]  = { "n->get_int()", "Compile::current()->select_24_bit_instr()" };
+bool         dfa_shared_preds::_found[dfa_shared_preds::count]
+  = { false, false, false, false };
+const char*  dfa_shared_preds::_type[dfa_shared_preds::count]
+  = { "int", "jlong", "intptr_t", "bool" };
+const char*  dfa_shared_preds::_var [dfa_shared_preds::count]
+  = { "_n_get_int__", "_n_get_long__", "_n_get_intptr_t__", "Compile__current____select_24_bit_instr__" };
+const char*  dfa_shared_preds::_pred[dfa_shared_preds::count]
+  = { "n->get_int()", "n->get_long()", "n->get_intptr_t()", "Compile::current()->select_24_bit_instr()" };
 
 
 void ArchDesc::gen_dfa_state_body(FILE* fp, Dict &minimize, ProductionState &status, Dict &operands_chained_from, int i) {
--- a/hotspot/src/share/vm/adlc/filebuff.hpp	Wed Jul 05 16:44:40 2017 +0200
+++ b/hotspot/src/share/vm/adlc/filebuff.hpp	Wed Jul 05 16:45:14 2017 +0200
@@ -68,6 +68,7 @@
   // and increments bufeol and filepos to point at the end of that line.
   char *get_line(void);
   int linenum() const { return _linenum; }
+  void set_linenum(int line) { _linenum = line; }
 
   // This converts a pointer into the buffer to a file offset.  It only works
   // when the pointer is valid (i.e. just obtained from getline()).
--- a/hotspot/src/share/vm/adlc/formssel.cpp	Wed Jul 05 16:44:40 2017 +0200
+++ b/hotspot/src/share/vm/adlc/formssel.cpp	Wed Jul 05 16:45:14 2017 +0200
@@ -1102,10 +1102,7 @@
   }
   if( pred1 != NULL && pred2 != NULL ) {
     // compare the predicates
-    const char *str1 = pred1->_pred;
-    const char *str2 = pred2->_pred;
-    if( (str1 == NULL && str2 == NULL)
-        || (str1 != NULL && str2 != NULL && strcmp(str1,str2) == 0) ) {
+    if (ADLParser::equivalent_expressions(pred1->_pred, pred2->_pred)) {
       return true;
     }
   }
--- a/hotspot/src/share/vm/c1/c1_LIRGenerator.cpp	Wed Jul 05 16:44:40 2017 +0200
+++ b/hotspot/src/share/vm/c1/c1_LIRGenerator.cpp	Wed Jul 05 16:45:14 2017 +0200
@@ -1210,8 +1210,8 @@
         break;
       case T_LONG:
       case T_DOUBLE:
-        if (c->as_jint_hi_bits() != other->as_jint_lo_bits()) continue;
-        if (c->as_jint_lo_bits() != other->as_jint_hi_bits()) continue;
+        if (c->as_jint_hi_bits() != other->as_jint_hi_bits()) continue;
+        if (c->as_jint_lo_bits() != other->as_jint_lo_bits()) continue;
         break;
       case T_OBJECT:
         if (c->as_jobject() != other->as_jobject()) continue;
--- a/hotspot/src/share/vm/c1/c1_Optimizer.cpp	Wed Jul 05 16:44:40 2017 +0200
+++ b/hotspot/src/share/vm/c1/c1_Optimizer.cpp	Wed Jul 05 16:45:14 2017 +0200
@@ -327,8 +327,6 @@
                 BlockBegin* fsux = if_->fsux();
                 if (swapped) {
                   cond = Instruction::mirror(cond);
-                  tsux = if_->fsux();
-                  fsux = if_->tsux();
                 }
 
                 BlockBegin* tblock = tval->compare(cond, con, tsux, fsux);
--- a/hotspot/src/share/vm/c1/c1_Runtime1.cpp	Wed Jul 05 16:44:40 2017 +0200
+++ b/hotspot/src/share/vm/c1/c1_Runtime1.cpp	Wed Jul 05 16:45:14 2017 +0200
@@ -842,6 +842,13 @@
     if (TracePatching) {
       tty->print_cr("Deoptimizing for patching volatile field reference");
     }
+    // It's possible the nmethod was invalidated in the last
+    // safepoint, but if it's still alive then make it not_entrant.
+    nmethod* nm = CodeCache::find_nmethod(caller_frame.pc());
+    if (nm != NULL) {
+      nm->make_not_entrant();
+    }
+
     VM_DeoptimizeFrame deopt(thread, caller_frame.id());
     VMThread::execute(&deopt);
 
--- a/hotspot/src/share/vm/classfile/classFileParser.cpp	Wed Jul 05 16:44:40 2017 +0200
+++ b/hotspot/src/share/vm/classfile/classFileParser.cpp	Wed Jul 05 16:45:14 2017 +0200
@@ -581,7 +581,8 @@
       interf = KlassHandle(THREAD, k);
       vmtimer->resume();
 
-      cp->klass_at_put(interface_index, interf()); // eagerly resolve
+      if (LinkWellKnownClasses)  // my super type is well known to me
+        cp->klass_at_put(interface_index, interf()); // eagerly resolve
     }
 
     if (!Klass::cast(interf())->is_interface()) {
@@ -2699,7 +2700,8 @@
                                                            CHECK_(nullHandle));
       KlassHandle kh (THREAD, k);
       super_klass = instanceKlassHandle(THREAD, kh());
-      cp->klass_at_put(super_class_index, super_klass()); // eagerly resolve
+      if (LinkWellKnownClasses)  // my super class is well known to me
+        cp->klass_at_put(super_class_index, super_klass()); // eagerly resolve
     }
     if (super_klass.not_null()) {
       if (super_klass->is_interface()) {
@@ -3128,7 +3130,8 @@
     this_klass->set_method_ordering(method_ordering());
     this_klass->set_initial_method_idnum(methods->length());
     this_klass->set_name(cp->klass_name_at(this_class_index));
-    cp->klass_at_put(this_class_index, this_klass()); // eagerly resolve
+    if (LinkWellKnownClasses)  // I am well known to myself
+      cp->klass_at_put(this_class_index, this_klass()); // eagerly resolve
     this_klass->set_protection_domain(protection_domain());
     this_klass->set_fields_annotations(fields_annotations());
     this_klass->set_methods_annotations(methods_annotations());
--- a/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp	Wed Jul 05 16:44:40 2017 +0200
+++ b/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.cpp	Wed Jul 05 16:45:14 2017 +0200
@@ -2954,7 +2954,7 @@
       // The object has been either evacuated or is dead. Fill it with a
       // dummy object.
       MemRegion mr((HeapWord*)obj, obj->size());
-      SharedHeap::fill_region_with_object(mr);
+      CollectedHeap::fill_with_object(mr);
       _cm->clearRangeBothMaps(mr);
     }
   }
@@ -3225,7 +3225,7 @@
     // Otherwise, try to claim it.
     block = r->par_allocate(free_words);
   } while (block == NULL);
-  SharedHeap::fill_region_with_object(MemRegion(block, free_words));
+  fill_with_object(block, free_words);
 }
 
 #define use_local_bitmaps         1
@@ -3619,9 +3619,8 @@
       guarantee(alloc_buffer(purpose)->contains(obj + word_sz - 1),
                 "should contain whole object");
       alloc_buffer(purpose)->undo_allocation(obj, word_sz);
-    }
-    else {
-      SharedHeap::fill_region_with_object(MemRegion(obj, word_sz));
+    } else {
+      CollectedHeap::fill_with_object(obj, word_sz);
       add_to_undo_waste(word_sz);
     }
   }
--- a/hotspot/src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp	Wed Jul 05 16:44:40 2017 +0200
+++ b/hotspot/src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp	Wed Jul 05 16:45:14 2017 +0200
@@ -181,7 +181,7 @@
 
   void scrub(CardTableModRefBS* ctbs, BitMap* card_bm) {
     HeapWord* hr_bot = hr()->bottom();
-    int hr_first_card_index = ctbs->index_for(hr_bot);
+    size_t hr_first_card_index = ctbs->index_for(hr_bot);
     bm()->set_intersection_at_offset(*card_bm, hr_first_card_index);
 #if PRT_COUNT_OCCUPIED
     recount_occupied();
--- a/hotspot/src/share/vm/gc_implementation/g1/heapRegionSeq.cpp	Wed Jul 05 16:44:40 2017 +0200
+++ b/hotspot/src/share/vm/gc_implementation/g1/heapRegionSeq.cpp	Wed Jul 05 16:45:14 2017 +0200
@@ -102,7 +102,7 @@
       HeapWord* tmp = hr->allocate(sz);
       assert(tmp != NULL, "Humongous allocation failure");
       MemRegion mr = MemRegion(tmp, sz);
-      SharedHeap::fill_region_with_object(mr);
+      CollectedHeap::fill_with_object(mr);
       hr->declare_filled_region_to_BOT(mr);
       if (i == first) {
         first_hr->set_startsHumongous();
--- a/hotspot/src/share/vm/gc_implementation/parNew/parGCAllocBuffer.cpp	Wed Jul 05 16:44:40 2017 +0200
+++ b/hotspot/src/share/vm/gc_implementation/parNew/parGCAllocBuffer.cpp	Wed Jul 05 16:45:14 2017 +0200
@@ -51,14 +51,14 @@
   if (_retained) {
     // If the buffer had been retained shorten the previous filler object.
     assert(_retained_filler.end() <= _top, "INVARIANT");
-    SharedHeap::fill_region_with_object(_retained_filler);
+    CollectedHeap::fill_with_object(_retained_filler);
     // Wasted space book-keeping, otherwise (normally) done in invalidate()
     _wasted += _retained_filler.word_size();
     _retained = false;
   }
   assert(!end_of_gc || !_retained, "At this point, end_of_gc ==> !_retained.");
   if (_top < _hard_end) {
-    SharedHeap::fill_region_with_object(MemRegion(_top, _hard_end));
+    CollectedHeap::fill_with_object(_top, _hard_end);
     if (!retain) {
       invalidate();
     } else {
@@ -155,7 +155,7 @@
 // modifying the _next_threshold state in the BOT.
 void ParGCAllocBufferWithBOT::fill_region_with_block(MemRegion mr,
                                                      bool contig) {
-  SharedHeap::fill_region_with_object(mr);
+  CollectedHeap::fill_with_object(mr);
   if (contig) {
     _bt.alloc_block(mr.start(), mr.end());
   } else {
@@ -171,7 +171,7 @@
            "or else _true_end should be equal to _hard_end");
     assert(_retained, "or else _true_end should be equal to _hard_end");
     assert(_retained_filler.end() <= _top, "INVARIANT");
-    SharedHeap::fill_region_with_object(_retained_filler);
+    CollectedHeap::fill_with_object(_retained_filler);
     if (_top < _hard_end) {
       fill_region_with_block(MemRegion(_top, _hard_end), true);
     }
@@ -316,11 +316,9 @@
         while (_top <= chunk_boundary) {
           assert(pointer_delta(_hard_end, chunk_boundary) >= AlignmentReserve,
                  "Consequence of last card handling above.");
-          MemRegion chunk_portion(chunk_boundary, _hard_end);
-          _bt.BlockOffsetArray::alloc_block(chunk_portion.start(),
-                                            chunk_portion.end());
-          SharedHeap::fill_region_with_object(chunk_portion);
-          _hard_end = chunk_portion.start();
+          _bt.BlockOffsetArray::alloc_block(chunk_boundary, _hard_end);
+          CollectedHeap::fill_with_object(chunk_boundary, _hard_end);
+          _hard_end = chunk_boundary;
           chunk_boundary -= ChunkSizeInWords;
         }
         _end = _hard_end - AlignmentReserve;
--- a/hotspot/src/share/vm/gc_implementation/parNew/parNewGeneration.cpp	Wed Jul 05 16:44:40 2017 +0200
+++ b/hotspot/src/share/vm/gc_implementation/parNew/parNewGeneration.cpp	Wed Jul 05 16:45:14 2017 +0200
@@ -201,7 +201,7 @@
            "Should contain whole object.");
     to_space_alloc_buffer()->undo_allocation(obj, word_sz);
   } else {
-    SharedHeap::fill_region_with_object(MemRegion(obj, word_sz));
+    CollectedHeap::fill_with_object(obj, word_sz);
   }
 }
 
--- a/hotspot/src/share/vm/gc_implementation/parallelScavenge/psMarkSweep.cpp	Wed Jul 05 16:44:40 2017 +0200
+++ b/hotspot/src/share/vm/gc_implementation/parallelScavenge/psMarkSweep.cpp	Wed Jul 05 16:45:14 2017 +0200
@@ -389,7 +389,7 @@
   // full GC.
   const size_t alignment = old_gen->virtual_space()->alignment();
   const size_t eden_used = eden_space->used_in_bytes();
-  const size_t promoted = (size_t)(size_policy->avg_promoted()->padded_average());
+  const size_t promoted = (size_t)size_policy->avg_promoted()->padded_average();
   const size_t absorb_size = align_size_up(eden_used + promoted, alignment);
   const size_t eden_capacity = eden_space->capacity_in_bytes();
 
@@ -416,16 +416,14 @@
 
   // Fill the unused part of the old gen.
   MutableSpace* const old_space = old_gen->object_space();
-  MemRegion old_gen_unused(old_space->top(), old_space->end());
+  HeapWord* const unused_start = old_space->top();
+  size_t const unused_words = pointer_delta(old_space->end(), unused_start);
 
-  // If the unused part of the old gen cannot be filled, skip
-  // absorbing eden.
-  if (old_gen_unused.word_size() < SharedHeap::min_fill_size()) {
-    return false;
-  }
-
-  if (!old_gen_unused.is_empty()) {
-    SharedHeap::fill_region_with_object(old_gen_unused);
+  if (unused_words > 0) {
+    if (unused_words < CollectedHeap::min_fill_size()) {
+      return false;  // If the old gen cannot be filled, must give up.
+    }
+    CollectedHeap::fill_with_objects(unused_start, unused_words);
   }
 
   // Take the live data from eden and set both top and end in the old gen to
@@ -441,9 +439,8 @@
 
   // Update the object start array for the filler object and the data from eden.
   ObjectStartArray* const start_array = old_gen->start_array();
-  HeapWord* const start = old_gen_unused.start();
-  for (HeapWord* addr = start; addr < new_top; addr += oop(addr)->size()) {
-    start_array->allocate_block(addr);
+  for (HeapWord* p = unused_start; p < new_top; p += oop(p)->size()) {
+    start_array->allocate_block(p);
   }
 
   // Could update the promoted average here, but it is not typically updated at
--- a/hotspot/src/share/vm/gc_implementation/parallelScavenge/psMarkSweepDecorator.cpp	Wed Jul 05 16:44:40 2017 +0200
+++ b/hotspot/src/share/vm/gc_implementation/parallelScavenge/psMarkSweepDecorator.cpp	Wed Jul 05 16:45:14 2017 +0200
@@ -275,22 +275,9 @@
                                             HeapWord* q, size_t deadlength) {
   if (allowed_deadspace_words >= deadlength) {
     allowed_deadspace_words -= deadlength;
-    oop(q)->set_mark(markOopDesc::prototype()->set_marked());
-    const size_t aligned_min_int_array_size =
-      align_object_size(typeArrayOopDesc::header_size(T_INT));
-    if (deadlength >= aligned_min_int_array_size) {
-      oop(q)->set_klass(Universe::intArrayKlassObj());
-      assert(((deadlength - aligned_min_int_array_size) * (HeapWordSize/sizeof(jint))) < (size_t)max_jint,
-                "deadspace too big for Arrayoop");
-      typeArrayOop(q)->set_length((int)((deadlength - aligned_min_int_array_size)
-                                            * (HeapWordSize/sizeof(jint))));
-    } else {
-      assert((int) deadlength == instanceOopDesc::header_size(),
-             "size for smallest fake dead object doesn't match");
-      oop(q)->set_klass(SystemDictionary::object_klass());
-    }
-    assert((int) deadlength == oop(q)->size(),
-           "make sure size for fake dead object match");
+    CollectedHeap::fill_with_object(q, deadlength);
+    oop(q)->set_mark(oop(q)->mark()->set_marked());
+    assert((int) deadlength == oop(q)->size(), "bad filler object size");
     // Recall that we required "q == compaction_top".
     return true;
   } else {
--- a/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp	Wed Jul 05 16:44:40 2017 +0200
+++ b/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.cpp	Wed Jul 05 16:45:14 2017 +0200
@@ -88,6 +88,72 @@
 GrowableArray<size_t>   * PSParallelCompact::_last_gc_live_oops_size = NULL;
 #endif
 
+void SplitInfo::record(size_t src_region_idx, size_t partial_obj_size,
+                       HeapWord* destination)
+{
+  assert(src_region_idx != 0, "invalid src_region_idx");
+  assert(partial_obj_size != 0, "invalid partial_obj_size argument");
+  assert(destination != NULL, "invalid destination argument");
+
+  _src_region_idx = src_region_idx;
+  _partial_obj_size = partial_obj_size;
+  _destination = destination;
+
+  // These fields may not be updated below, so make sure they're clear.
+  assert(_dest_region_addr == NULL, "should have been cleared");
+  assert(_first_src_addr == NULL, "should have been cleared");
+
+  // Determine the number of destination regions for the partial object.
+  HeapWord* const last_word = destination + partial_obj_size - 1;
+  const ParallelCompactData& sd = PSParallelCompact::summary_data();
+  HeapWord* const beg_region_addr = sd.region_align_down(destination);
+  HeapWord* const end_region_addr = sd.region_align_down(last_word);
+
+  if (beg_region_addr == end_region_addr) {
+    // One destination region.
+    _destination_count = 1;
+    if (end_region_addr == destination) {
+      // The destination falls on a region boundary, thus the first word of the
+      // partial object will be the first word copied to the destination region.
+      _dest_region_addr = end_region_addr;
+      _first_src_addr = sd.region_to_addr(src_region_idx);
+    }
+  } else {
+    // Two destination regions.  When copied, the partial object will cross a
+    // destination region boundary, so a word somewhere within the partial
+    // object will be the first word copied to the second destination region.
+    _destination_count = 2;
+    _dest_region_addr = end_region_addr;
+    const size_t ofs = pointer_delta(end_region_addr, destination);
+    assert(ofs < _partial_obj_size, "sanity");
+    _first_src_addr = sd.region_to_addr(src_region_idx) + ofs;
+  }
+}
+
+void SplitInfo::clear()
+{
+  _src_region_idx = 0;
+  _partial_obj_size = 0;
+  _destination = NULL;
+  _destination_count = 0;
+  _dest_region_addr = NULL;
+  _first_src_addr = NULL;
+  assert(!is_valid(), "sanity");
+}
+
+#ifdef  ASSERT
+void SplitInfo::verify_clear()
+{
+  assert(_src_region_idx == 0, "not clear");
+  assert(_partial_obj_size == 0, "not clear");
+  assert(_destination == NULL, "not clear");
+  assert(_destination_count == 0, "not clear");
+  assert(_dest_region_addr == NULL, "not clear");
+  assert(_first_src_addr == NULL, "not clear");
+}
+#endif  // #ifdef ASSERT
+
+
 #ifndef PRODUCT
 const char* PSParallelCompact::space_names[] = {
   "perm", "old ", "eden", "from", "to  "
@@ -416,21 +482,134 @@
   }
 }
 
-bool ParallelCompactData::summarize(HeapWord* target_beg, HeapWord* target_end,
-                                    HeapWord* source_beg, HeapWord* source_end,
-                                    HeapWord** target_next,
-                                    HeapWord** source_next) {
-  // This is too strict.
-  // assert(region_offset(source_beg) == 0, "not RegionSize aligned");
+// Find the point at which a space can be split and, if necessary, record the
+// split point.
+//
+// If the current src region (which overflowed the destination space) doesn't
+// have a partial object, the split point is at the beginning of the current src
+// region (an "easy" split, no extra bookkeeping required).
+//
+// If the current src region has a partial object, the split point is in the
+// region where that partial object starts (call it the split_region).  If
+// split_region has a partial object, then the split point is just after that
+// partial object (a "hard" split where we have to record the split data and
+// zero the partial_obj_size field).  With a "hard" split, we know that the
+// partial_obj ends within split_region because the partial object that caused
+// the overflow starts in split_region.  If split_region doesn't have a partial
+// obj, then the split is at the beginning of split_region (another "easy"
+// split).
+HeapWord*
+ParallelCompactData::summarize_split_space(size_t src_region,
+                                           SplitInfo& split_info,
+                                           HeapWord* destination,
+                                           HeapWord* target_end,
+                                           HeapWord** target_next)
+{
+  assert(destination <= target_end, "sanity");
+  assert(destination + _region_data[src_region].data_size() > target_end,
+    "region should not fit into target space");
+
+  size_t split_region = src_region;
+  HeapWord* split_destination = destination;
+  size_t partial_obj_size = _region_data[src_region].partial_obj_size();
+
+  if (destination + partial_obj_size > target_end) {
+    // The split point is just after the partial object (if any) in the
+    // src_region that contains the start of the object that overflowed the
+    // destination space.
+    //
+    // Find the start of the "overflow" object and set split_region to the
+    // region containing it.
+    HeapWord* const overflow_obj = _region_data[src_region].partial_obj_addr();
+    split_region = addr_to_region_idx(overflow_obj);
+
+    // Clear the source_region field of all destination regions whose first word
+    // came from data after the split point (a non-null source_region field
+    // implies a region must be filled).
+    //
+    // An alternative to the simple loop below:  clear during post_compact(),
+    // which uses memcpy instead of individual stores, and is easy to
+    // parallelize.  (The downside is that it clears the entire RegionData
+    // object as opposed to just one field.)
+    //
+    // post_compact() would have to clear the summary data up to the highest
+    // address that was written during the summary phase, which would be
+    //
+    //         max(top, max(new_top, clear_top))
+    //
+    // where clear_top is a new field in SpaceInfo.  Would have to set clear_top
+    // to destination + partial_obj_size, where both have the values passed to
+    // this routine.
+    const RegionData* const sr = region(split_region);
+    const size_t beg_idx =
+      addr_to_region_idx(region_align_up(sr->destination() +
+                                         sr->partial_obj_size()));
+    const size_t end_idx =
+      addr_to_region_idx(region_align_up(destination + partial_obj_size));
+
+    if (TraceParallelOldGCSummaryPhase) {
+        gclog_or_tty->print_cr("split:  clearing source_region field in ["
+                               SIZE_FORMAT ", " SIZE_FORMAT ")",
+                               beg_idx, end_idx);
+    }
+    for (size_t idx = beg_idx; idx < end_idx; ++idx) {
+      _region_data[idx].set_source_region(0);
+    }
+
+    // Set split_destination and partial_obj_size to reflect the split region.
+    split_destination = sr->destination();
+    partial_obj_size = sr->partial_obj_size();
+  }
+
+  // The split is recorded only if a partial object extends onto the region.
+  if (partial_obj_size != 0) {
+    _region_data[split_region].set_partial_obj_size(0);
+    split_info.record(split_region, partial_obj_size, split_destination);
+  }
+
+  // Setup the continuation addresses.
+  *target_next = split_destination + partial_obj_size;
+  HeapWord* const source_next = region_to_addr(split_region) + partial_obj_size;
 
   if (TraceParallelOldGCSummaryPhase) {
-    tty->print_cr("tb=" PTR_FORMAT " te=" PTR_FORMAT " "
-                  "sb=" PTR_FORMAT " se=" PTR_FORMAT " "
-                  "tn=" PTR_FORMAT " sn=" PTR_FORMAT,
-                  target_beg, target_end,
-                  source_beg, source_end,
-                  target_next != 0 ? *target_next : (HeapWord*) 0,
-                  source_next != 0 ? *source_next : (HeapWord*) 0);
+    const char * split_type = partial_obj_size == 0 ? "easy" : "hard";
+    gclog_or_tty->print_cr("%s split:  src=" PTR_FORMAT " src_c=" SIZE_FORMAT
+                           " pos=" SIZE_FORMAT,
+                           split_type, source_next, split_region,
+                           partial_obj_size);
+    gclog_or_tty->print_cr("%s split:  dst=" PTR_FORMAT " dst_c=" SIZE_FORMAT
+                           " tn=" PTR_FORMAT,
+                           split_type, split_destination,
+                           addr_to_region_idx(split_destination),
+                           *target_next);
+
+    if (partial_obj_size != 0) {
+      HeapWord* const po_beg = split_info.destination();
+      HeapWord* const po_end = po_beg + split_info.partial_obj_size();
+      gclog_or_tty->print_cr("%s split:  "
+                             "po_beg=" PTR_FORMAT " " SIZE_FORMAT " "
+                             "po_end=" PTR_FORMAT " " SIZE_FORMAT,
+                             split_type,
+                             po_beg, addr_to_region_idx(po_beg),
+                             po_end, addr_to_region_idx(po_end));
+    }
+  }
+
+  return source_next;
+}
+
+bool ParallelCompactData::summarize(SplitInfo& split_info,
+                                    HeapWord* source_beg, HeapWord* source_end,
+                                    HeapWord** source_next,
+                                    HeapWord* target_beg, HeapWord* target_end,
+                                    HeapWord** target_next)
+{
+  if (TraceParallelOldGCSummaryPhase) {
+    HeapWord* const source_next_val = source_next == NULL ? NULL : *source_next;
+    tty->print_cr("sb=" PTR_FORMAT " se=" PTR_FORMAT " sn=" PTR_FORMAT
+                  "tb=" PTR_FORMAT " te=" PTR_FORMAT " tn=" PTR_FORMAT,
+                  source_beg, source_end, source_next_val,
+                  target_beg, target_end, *target_next);
   }
 
   size_t cur_region = addr_to_region_idx(source_beg);
@@ -438,45 +617,53 @@
 
   HeapWord *dest_addr = target_beg;
   while (cur_region < end_region) {
+    // The destination must be set even if the region has no data.
+    _region_data[cur_region].set_destination(dest_addr);
+
     size_t words = _region_data[cur_region].data_size();
-
-#if     1
-    assert(pointer_delta(target_end, dest_addr) >= words,
-           "source region does not fit into target region");
-#else
-    // XXX - need some work on the corner cases here.  If the region does not
-    // fit, then must either make sure any partial_obj from the region fits, or
-    // "undo" the initial part of the partial_obj that is in the previous
-    // region.
-    if (dest_addr + words >= target_end) {
-      // Let the caller know where to continue.
-      *target_next = dest_addr;
-      *source_next = region_to_addr(cur_region);
-      return false;
-    }
-#endif  // #if 1
-
-    _region_data[cur_region].set_destination(dest_addr);
-
-    // Set the destination_count for cur_region, and if necessary, update
-    // source_region for a destination region.  The source_region field is
-    // updated if cur_region is the first (left-most) region to be copied to a
-    // destination region.
-    //
-    // The destination_count calculation is a bit subtle.  A region that has
-    // data that compacts into itself does not count itself as a destination.
-    // This maintains the invariant that a zero count means the region is
-    // available and can be claimed and then filled.
     if (words > 0) {
+      // If cur_region does not fit entirely into the target space, find a point
+      // at which the source space can be 'split' so that part is copied to the
+      // target space and the rest is copied elsewhere.
+      if (dest_addr + words > target_end) {
+        assert(source_next != NULL, "source_next is NULL when splitting");
+        *source_next = summarize_split_space(cur_region, split_info, dest_addr,
+                                             target_end, target_next);
+        return false;
+      }
+
+      // Compute the destination_count for cur_region, and if necessary, update
+      // source_region for a destination region.  The source_region field is
+      // updated if cur_region is the first (left-most) region to be copied to a
+      // destination region.
+      //
+      // The destination_count calculation is a bit subtle.  A region that has
+      // data that compacts into itself does not count itself as a destination.
+      // This maintains the invariant that a zero count means the region is
+      // available and can be claimed and then filled.
+      uint destination_count = 0;
+      if (split_info.is_split(cur_region)) {
+        // The current region has been split:  the partial object will be copied
+        // to one destination space and the remaining data will be copied to
+        // another destination space.  Adjust the initial destination_count and,
+        // if necessary, set the source_region field if the partial object will
+        // cross a destination region boundary.
+        destination_count = split_info.destination_count();
+        if (destination_count == 2) {
+          size_t dest_idx = addr_to_region_idx(split_info.dest_region_addr());
+          _region_data[dest_idx].set_source_region(cur_region);
+        }
+      }
+
       HeapWord* const last_addr = dest_addr + words - 1;
       const size_t dest_region_1 = addr_to_region_idx(dest_addr);
       const size_t dest_region_2 = addr_to_region_idx(last_addr);
-#if     0
+
       // Initially assume that the destination regions will be the same and
       // adjust the value below if necessary.  Under this assumption, if
       // cur_region == dest_region_2, then cur_region will be compacted
       // completely into itself.
-      uint destination_count = cur_region == dest_region_2 ? 0 : 1;
+      destination_count += cur_region == dest_region_2 ? 0 : 1;
       if (dest_region_1 != dest_region_2) {
         // Destination regions differ; adjust destination_count.
         destination_count += 1;
@@ -487,25 +674,6 @@
         // region.
         _region_data[dest_region_1].set_source_region(cur_region);
       }
-#else
-      // Initially assume that the destination regions will be different and
-      // adjust the value below if necessary.  Under this assumption, if
-      // cur_region == dest_region2, then cur_region will be compacted partially
-      // into dest_region_1 and partially into itself.
-      uint destination_count = cur_region == dest_region_2 ? 1 : 2;
-      if (dest_region_1 != dest_region_2) {
-        // Data from cur_region will be copied to the start of dest_region_2.
-        _region_data[dest_region_2].set_source_region(cur_region);
-      } else {
-        // Destination regions are the same; adjust destination_count.
-        destination_count -= 1;
-        if (region_offset(dest_addr) == 0) {
-          // Data from cur_region will be copied to the start of the destination
-          // region.
-          _region_data[dest_region_1].set_source_region(cur_region);
-        }
-      }
-#endif  // #if 0
 
       _region_data[cur_region].set_destination_count(destination_count);
       _region_data[cur_region].set_data_location(region_to_addr(cur_region));
@@ -558,7 +726,7 @@
   size_t live_to_left = bitmap->live_words_in_range(search_start, oop(addr));
 
   result += partial_obj_size + live_to_left;
-  assert(result <= addr, "object cannot move to the right");
+  DEBUG_ONLY(PSParallelCompact::check_new_location(addr, result);)
   return result;
 }
 
@@ -749,6 +917,13 @@
   const size_t end_region =
     _summary_data.addr_to_region_idx(_summary_data.region_align_up(max_top));
   _summary_data.clear_range(beg_region, end_region);
+
+  // Clear the data used to 'split' regions.
+  SplitInfo& split_info = _space_info[id].split_info();
+  if (split_info.is_valid()) {
+    split_info.clear();
+  }
+  DEBUG_ONLY(split_info.verify_clear();)
 }
 
 void PSParallelCompact::pre_compact(PreGCValues* pre_gc_values)
@@ -807,10 +982,11 @@
 {
   TraceTime tm("post compact", print_phases(), true, gclog_or_tty);
 
-  // Clear the marking bitmap and summary data and update top() in each space.
   for (unsigned int id = perm_space_id; id < last_space_id; ++id) {
+    // Clear the marking bitmap, summary data and split info.
     clear_data_covering_space(SpaceId(id));
-    _space_info[id].space()->set_top(_space_info[id].new_top());
+    // Update top().  Must be done after clearing the bitmap and summary data.
+    _space_info[id].publish_new_top();
   }
 
   MutableSpace* const eden_space = _space_info[eden_space_id].space();
@@ -1151,6 +1327,13 @@
 PSParallelCompact::compute_dense_prefix(const SpaceId id,
                                         bool maximum_compaction)
 {
+  if (ParallelOldGCSplitALot) {
+    if (_space_info[id].dense_prefix() != _space_info[id].space()->bottom()) {
+      // The value was chosen to provoke splitting a young gen space; use it.
+      return _space_info[id].dense_prefix();
+    }
+  }
+
   const size_t region_size = ParallelCompactData::RegionSize;
   const ParallelCompactData& sd = summary_data();
 
@@ -1239,16 +1422,221 @@
   return sd.region_to_addr(best_cp);
 }
 
+#ifndef PRODUCT
+void
+PSParallelCompact::fill_with_live_objects(SpaceId id, HeapWord* const start,
+                                          size_t words)
+{
+  if (TraceParallelOldGCSummaryPhase) {
+    tty->print_cr("fill_with_live_objects [" PTR_FORMAT " " PTR_FORMAT ") "
+                  SIZE_FORMAT, start, start + words, words);
+  }
+
+  ObjectStartArray* const start_array = _space_info[id].start_array();
+  CollectedHeap::fill_with_objects(start, words);
+  for (HeapWord* p = start; p < start + words; p += oop(p)->size()) {
+    _mark_bitmap.mark_obj(p, words);
+    _summary_data.add_obj(p, words);
+    start_array->allocate_block(p);
+  }
+}
+
+void
+PSParallelCompact::summarize_new_objects(SpaceId id, HeapWord* start)
+{
+  ParallelCompactData& sd = summary_data();
+  MutableSpace* space = _space_info[id].space();
+
+  // Find the source and destination start addresses.
+  HeapWord* const src_addr = sd.region_align_down(start);
+  HeapWord* dst_addr;
+  if (src_addr < start) {
+    dst_addr = sd.addr_to_region_ptr(src_addr)->destination();
+  } else if (src_addr > space->bottom()) {
+    // The start (the original top() value) is aligned to a region boundary so
+    // the associated region does not have a destination.  Compute the
+    // destination from the previous region.
+    RegionData* const cp = sd.addr_to_region_ptr(src_addr) - 1;
+    dst_addr = cp->destination() + cp->data_size();
+  } else {
+    // Filling the entire space.
+    dst_addr = space->bottom();
+  }
+  assert(dst_addr != NULL, "sanity");
+
+  // Update the summary data.
+  bool result = _summary_data.summarize(_space_info[id].split_info(),
+                                        src_addr, space->top(), NULL,
+                                        dst_addr, space->end(),
+                                        _space_info[id].new_top_addr());
+  assert(result, "should not fail:  bad filler object size");
+}
+
+void
+PSParallelCompact::provoke_split_fill_survivor(SpaceId id)
+{
+  if (total_invocations() % (ParallelOldGCSplitInterval * 3) != 0) {
+    return;
+  }
+
+  MutableSpace* const space = _space_info[id].space();
+  if (space->is_empty()) {
+    HeapWord* b = space->bottom();
+    HeapWord* t = b + space->capacity_in_words() / 2;
+    space->set_top(t);
+    if (ZapUnusedHeapArea) {
+      space->set_top_for_allocations();
+    }
+
+    size_t obj_len = 8;
+    while (b + obj_len <= t) {
+      CollectedHeap::fill_with_object(b, obj_len);
+      mark_bitmap()->mark_obj(b, obj_len);
+      summary_data().add_obj(b, obj_len);
+      b += obj_len;
+      obj_len = (obj_len & 0x18) + 8; // 8 16 24 32 8 16 24 32 ...
+    }
+    if (b < t) {
+      // The loop didn't completely fill to t (top); adjust top downward.
+      space->set_top(b);
+      if (ZapUnusedHeapArea) {
+        space->set_top_for_allocations();
+      }
+    }
+
+    HeapWord** nta = _space_info[id].new_top_addr();
+    bool result = summary_data().summarize(_space_info[id].split_info(),
+                                           space->bottom(), space->top(), NULL,
+                                           space->bottom(), space->end(), nta);
+    assert(result, "space must fit into itself");
+  }
+}
+
+void
+PSParallelCompact::provoke_split(bool & max_compaction)
+{
+  if (total_invocations() % ParallelOldGCSplitInterval != 0) {
+    return;
+  }
+
+  const size_t region_size = ParallelCompactData::RegionSize;
+  ParallelCompactData& sd = summary_data();
+
+  MutableSpace* const eden_space = _space_info[eden_space_id].space();
+  MutableSpace* const from_space = _space_info[from_space_id].space();
+  const size_t eden_live = pointer_delta(eden_space->top(),
+                                         _space_info[eden_space_id].new_top());
+  const size_t from_live = pointer_delta(from_space->top(),
+                                         _space_info[from_space_id].new_top());
+
+  const size_t min_fill_size = CollectedHeap::min_fill_size();
+  const size_t eden_free = pointer_delta(eden_space->end(), eden_space->top());
+  const size_t eden_fillable = eden_free >= min_fill_size ? eden_free : 0;
+  const size_t from_free = pointer_delta(from_space->end(), from_space->top());
+  const size_t from_fillable = from_free >= min_fill_size ? from_free : 0;
+
+  // Choose the space to split; need at least 2 regions live (or fillable).
+  SpaceId id;
+  MutableSpace* space;
+  size_t live_words;
+  size_t fill_words;
+  if (eden_live + eden_fillable >= region_size * 2) {
+    id = eden_space_id;
+    space = eden_space;
+    live_words = eden_live;
+    fill_words = eden_fillable;
+  } else if (from_live + from_fillable >= region_size * 2) {
+    id = from_space_id;
+    space = from_space;
+    live_words = from_live;
+    fill_words = from_fillable;
+  } else {
+    return; // Give up.
+  }
+  assert(fill_words == 0 || fill_words >= min_fill_size, "sanity");
+
+  if (live_words < region_size * 2) {
+    // Fill from top() to end() w/live objects of mixed sizes.
+    HeapWord* const fill_start = space->top();
+    live_words += fill_words;
+
+    space->set_top(fill_start + fill_words);
+    if (ZapUnusedHeapArea) {
+      space->set_top_for_allocations();
+    }
+
+    HeapWord* cur_addr = fill_start;
+    while (fill_words > 0) {
+      const size_t r = (size_t)os::random() % (region_size / 2) + min_fill_size;
+      size_t cur_size = MIN2(align_object_size_(r), fill_words);
+      if (fill_words - cur_size < min_fill_size) {
+        cur_size = fill_words; // Avoid leaving a fragment too small to fill.
+      }
+
+      CollectedHeap::fill_with_object(cur_addr, cur_size);
+      mark_bitmap()->mark_obj(cur_addr, cur_size);
+      sd.add_obj(cur_addr, cur_size);
+
+      cur_addr += cur_size;
+      fill_words -= cur_size;
+    }
+
+    summarize_new_objects(id, fill_start);
+  }
+
+  max_compaction = false;
+
+  // Manipulate the old gen so that it has room for about half of the live data
+  // in the target young gen space (live_words / 2).
+  id = old_space_id;
+  space = _space_info[id].space();
+  const size_t free_at_end = space->free_in_words();
+  const size_t free_target = align_object_size(live_words / 2);
+  const size_t dead = pointer_delta(space->top(), _space_info[id].new_top());
+
+  if (free_at_end >= free_target + min_fill_size) {
+    // Fill space above top() and set the dense prefix so everything survives.
+    HeapWord* const fill_start = space->top();
+    const size_t fill_size = free_at_end - free_target;
+    space->set_top(space->top() + fill_size);
+    if (ZapUnusedHeapArea) {
+      space->set_top_for_allocations();
+    }
+    fill_with_live_objects(id, fill_start, fill_size);
+    summarize_new_objects(id, fill_start);
+    _space_info[id].set_dense_prefix(sd.region_align_down(space->top()));
+  } else if (dead + free_at_end > free_target) {
+    // Find a dense prefix that makes the right amount of space available.
+    HeapWord* cur = sd.region_align_down(space->top());
+    HeapWord* cur_destination = sd.addr_to_region_ptr(cur)->destination();
+    size_t dead_to_right = pointer_delta(space->end(), cur_destination);
+    while (dead_to_right < free_target) {
+      cur -= region_size;
+      cur_destination = sd.addr_to_region_ptr(cur)->destination();
+      dead_to_right = pointer_delta(space->end(), cur_destination);
+    }
+    _space_info[id].set_dense_prefix(cur);
+  }
+}
+#endif // #ifndef PRODUCT
+
 void PSParallelCompact::summarize_spaces_quick()
 {
   for (unsigned int i = 0; i < last_space_id; ++i) {
     const MutableSpace* space = _space_info[i].space();
-    bool result = _summary_data.summarize(space->bottom(), space->end(),
-                                          space->bottom(), space->top(),
-                                          _space_info[i].new_top_addr());
-    assert(result, "should never fail");
+    HeapWord** nta = _space_info[i].new_top_addr();
+    bool result = _summary_data.summarize(_space_info[i].split_info(),
+                                          space->bottom(), space->top(), NULL,
+                                          space->bottom(), space->end(), nta);
+    assert(result, "space must fit into itself");
     _space_info[i].set_dense_prefix(space->bottom());
   }
+
+#ifndef PRODUCT
+  if (ParallelOldGCSplitALot) {
+    provoke_split_fill_survivor(to_space_id);
+  }
+#endif // #ifndef PRODUCT
 }
 
 void PSParallelCompact::fill_dense_prefix_end(SpaceId id)
@@ -1308,8 +1696,7 @@
     }
 #endif  // #ifdef _LP64
 
-    MemRegion region(obj_beg, obj_len);
-    SharedHeap::fill_region_with_object(region);
+    CollectedHeap::fill_with_object(obj_beg, obj_len);
     _mark_bitmap.mark_obj(obj_beg, obj_len);
     _summary_data.add_obj(obj_beg, obj_len);
     assert(start_array(id) != NULL, "sanity");
@@ -1318,11 +1705,23 @@
 }
 
 void
+PSParallelCompact::clear_source_region(HeapWord* beg_addr, HeapWord* end_addr)
+{
+  RegionData* const beg_ptr = _summary_data.addr_to_region_ptr(beg_addr);
+  HeapWord* const end_aligned_up = _summary_data.region_align_up(end_addr);
+  RegionData* const end_ptr = _summary_data.addr_to_region_ptr(end_aligned_up);
+  for (RegionData* cur = beg_ptr; cur < end_ptr; ++cur) {
+    cur->set_source_region(0);
+  }
+}
+
+void
 PSParallelCompact::summarize_space(SpaceId id, bool maximum_compaction)
 {
   assert(id < last_space_id, "id out of range");
-  assert(_space_info[id].dense_prefix() == _space_info[id].space()->bottom(),
-         "should have been set in summarize_spaces_quick()");
+  assert(_space_info[id].dense_prefix() == _space_info[id].space()->bottom() ||
+         ParallelOldGCSplitALot && id == old_space_id,
+         "should have been reset in summarize_spaces_quick()");
 
   const MutableSpace* space = _space_info[id].space();
   if (_space_info[id].new_top() != space->bottom()) {
@@ -1338,20 +1737,24 @@
     }
 #endif  // #ifndef PRODUCT
 
-    // If dead space crosses the dense prefix boundary, it is (at least
-    // partially) filled with a dummy object, marked live and added to the
-    // summary data.  This simplifies the copy/update phase and must be done
-    // before the final locations of objects are determined, to prevent leaving
-    // a fragment of dead space that is too small to fill with an object.
+    // Recompute the summary data, taking into account the dense prefix.  If
+    // every last byte will be reclaimed, then the existing summary data which
+    // compacts everything can be left in place.
     if (!maximum_compaction && dense_prefix_end != space->bottom()) {
+      // If dead space crosses the dense prefix boundary, it is (at least
+      // partially) filled with a dummy object, marked live and added to the
+      // summary data.  This simplifies the copy/update phase and must be done
+      // before the final locations of objects are determined, to prevent
+      // leaving a fragment of dead space that is too small to fill.
       fill_dense_prefix_end(id);
+
+      // Compute the destination of each Region, and thus each object.
+      _summary_data.summarize_dense_prefix(space->bottom(), dense_prefix_end);
+      _summary_data.summarize(_space_info[id].split_info(),
+                              dense_prefix_end, space->top(), NULL,
+                              dense_prefix_end, space->end(),
+                              _space_info[id].new_top_addr());
     }
-
-    // Compute the destination of each Region, and thus each object.
-    _summary_data.summarize_dense_prefix(space->bottom(), dense_prefix_end);
-    _summary_data.summarize(dense_prefix_end, space->end(),
-                            dense_prefix_end, space->top(),
-                            _space_info[id].new_top_addr());
   }
 
   if (TraceParallelOldGCSummaryPhase) {
@@ -1371,6 +1774,30 @@
   }
 }
 
+#ifndef PRODUCT
+void PSParallelCompact::summary_phase_msg(SpaceId dst_space_id,
+                                          HeapWord* dst_beg, HeapWord* dst_end,
+                                          SpaceId src_space_id,
+                                          HeapWord* src_beg, HeapWord* src_end)
+{
+  if (TraceParallelOldGCSummaryPhase) {
+    tty->print_cr("summarizing %d [%s] into %d [%s]:  "
+                  "src=" PTR_FORMAT "-" PTR_FORMAT " "
+                  SIZE_FORMAT "-" SIZE_FORMAT " "
+                  "dst=" PTR_FORMAT "-" PTR_FORMAT " "
+                  SIZE_FORMAT "-" SIZE_FORMAT,
+                  src_space_id, space_names[src_space_id],
+                  dst_space_id, space_names[dst_space_id],
+                  src_beg, src_end,
+                  _summary_data.addr_to_region_idx(src_beg),
+                  _summary_data.addr_to_region_idx(src_end),
+                  dst_beg, dst_end,
+                  _summary_data.addr_to_region_idx(dst_beg),
+                  _summary_data.addr_to_region_idx(dst_end));
+  }
+}
+#endif  // #ifndef PRODUCT
+
 void PSParallelCompact::summary_phase(ParCompactionManager* cm,
                                       bool maximum_compaction)
 {
@@ -1403,57 +1830,80 @@
 
   // The amount of live data that will end up in old space (assuming it fits).
   size_t old_space_total_live = 0;
-  unsigned int id;
-  for (id = old_space_id; id < last_space_id; ++id) {
+  assert(perm_space_id < old_space_id, "should not count perm data here");
+  for (unsigned int id = old_space_id; id < last_space_id; ++id) {
     old_space_total_live += pointer_delta(_space_info[id].new_top(),
                                           _space_info[id].space()->bottom());
   }
 
-  const MutableSpace* old_space = _space_info[old_space_id].space();
-  if (old_space_total_live > old_space->capacity_in_words()) {
+  MutableSpace* const old_space = _space_info[old_space_id].space();
+  const size_t old_capacity = old_space->capacity_in_words();
+  if (old_space_total_live > old_capacity) {
     // XXX - should also try to expand
     maximum_compaction = true;
-  } else if (!UseParallelOldGCDensePrefix) {
-    maximum_compaction = true;
   }
+#ifndef PRODUCT
+  if (ParallelOldGCSplitALot && old_space_total_live < old_capacity) {
+    provoke_split(maximum_compaction);
+  }
+#endif // #ifndef PRODUCT
 
   // Permanent and Old generations.
   summarize_space(perm_space_id, maximum_compaction);
   summarize_space(old_space_id, maximum_compaction);
 
-  // Summarize the remaining spaces (those in the young gen) into old space.  If
-  // the live data from a space doesn't fit, the existing summarization is left
-  // intact, so the data is compacted down within the space itself.
-  HeapWord** new_top_addr = _space_info[old_space_id].new_top_addr();
-  HeapWord* const target_space_end = old_space->end();
-  for (id = eden_space_id; id < last_space_id; ++id) {
+  // Summarize the remaining spaces in the young gen.  The initial target space
+  // is the old gen.  If a space does not fit entirely into the target, then the
+  // remainder is compacted into the space itself and that space becomes the new
+  // target.
+  SpaceId dst_space_id = old_space_id;
+  HeapWord* dst_space_end = old_space->end();
+  HeapWord** new_top_addr = _space_info[dst_space_id].new_top_addr();
+  for (unsigned int id = eden_space_id; id < last_space_id; ++id) {
     const MutableSpace* space = _space_info[id].space();
     const size_t live = pointer_delta(_space_info[id].new_top(),
                                       space->bottom());
-    const size_t available = pointer_delta(target_space_end, *new_top_addr);
+    const size_t available = pointer_delta(dst_space_end, *new_top_addr);
+
+    NOT_PRODUCT(summary_phase_msg(dst_space_id, *new_top_addr, dst_space_end,
+                                  SpaceId(id), space->bottom(), space->top());)
     if (live > 0 && live <= available) {
       // All the live data will fit.
-      if (TraceParallelOldGCSummaryPhase) {
-        tty->print_cr("summarizing %d into old_space @ " PTR_FORMAT,
-                      id, *new_top_addr);
-      }
-      _summary_data.summarize(*new_top_addr, target_space_end,
-                              space->bottom(), space->top(),
-                              new_top_addr);
-
-      // Clear the source_region field for each region in the space.
-      HeapWord* const new_top = _space_info[id].new_top();
-      HeapWord* const clear_end = _summary_data.region_align_up(new_top);
-      RegionData* beg_region =
-        _summary_data.addr_to_region_ptr(space->bottom());
-      RegionData* end_region = _summary_data.addr_to_region_ptr(clear_end);
-      while (beg_region < end_region) {
-        beg_region->set_source_region(0);
-        ++beg_region;
-      }
+      bool done = _summary_data.summarize(_space_info[id].split_info(),
+                                          space->bottom(), space->top(),
+                                          NULL,
+                                          *new_top_addr, dst_space_end,
+                                          new_top_addr);
+      assert(done, "space must fit into old gen");
 
       // Reset the new_top value for the space.
       _space_info[id].set_new_top(space->bottom());
+    } else if (live > 0) {
+      // Attempt to fit part of the source space into the target space.
+      HeapWord* next_src_addr = NULL;
+      bool done = _summary_data.summarize(_space_info[id].split_info(),
+                                          space->bottom(), space->top(),
+                                          &next_src_addr,
+                                          *new_top_addr, dst_space_end,
+                                          new_top_addr);
+      assert(!done, "space should not fit into old gen");
+      assert(next_src_addr != NULL, "sanity");
+
+      // The source space becomes the new target, so the remainder is compacted
+      // within the space itself.
+      dst_space_id = SpaceId(id);
+      dst_space_end = space->end();
+      new_top_addr = _space_info[id].new_top_addr();
+      NOT_PRODUCT(summary_phase_msg(dst_space_id,
+                                    space->bottom(), dst_space_end,
+                                    SpaceId(id), next_src_addr, space->top());)
+      done = _summary_data.summarize(_space_info[id].split_info(),
+                                     next_src_addr, space->top(),
+                                     NULL,
+                                     space->bottom(), dst_space_end,
+                                     new_top_addr);
+      assert(done, "space must fit when compacted into itself");
+      assert(*new_top_addr <= space->top(), "usage should not grow");
     }
   }
 
@@ -1807,9 +2257,14 @@
 
   // Fill the unused part of the old gen.
   MutableSpace* const old_space = old_gen->object_space();
-  MemRegion old_gen_unused(old_space->top(), old_space->end());
-  if (!old_gen_unused.is_empty()) {
-    SharedHeap::fill_region_with_object(old_gen_unused);
+  HeapWord* const unused_start = old_space->top();
+  size_t const unused_words = pointer_delta(old_space->end(), unused_start);
+
+  if (unused_words > 0) {
+    if (unused_words < CollectedHeap::min_fill_size()) {
+      return false;  // If the old gen cannot be filled, must give up.
+    }
+    CollectedHeap::fill_with_objects(unused_start, unused_words);
   }
 
   // Take the live data from eden and set both top and end in the old gen to
@@ -1825,9 +2280,8 @@
 
   // Update the object start array for the filler object and the data from eden.
   ObjectStartArray* const start_array = old_gen->start_array();
-  HeapWord* const start = old_gen_unused.start();
-  for (HeapWord* addr = start; addr < new_top; addr += oop(addr)->size()) {
-    start_array->allocate_block(addr);
+  for (HeapWord* p = unused_start; p < new_top; p += oop(p)->size()) {
+    start_array->allocate_block(p);
   }
 
   // Could update the promoted average here, but it is not typically updated at
@@ -2048,14 +2502,13 @@
   // regions in the dense prefix.  Assume that 1 gc thread
   // will work on opening the gaps and the remaining gc threads
   // will work on the dense prefix.
-  SpaceId space_id = old_space_id;
-  while (space_id != last_space_id) {
+  unsigned int space_id;
+  for (space_id = old_space_id; space_id < last_space_id; ++ space_id) {
     HeapWord* const dense_prefix_end = _space_info[space_id].dense_prefix();
     const MutableSpace* const space = _space_info[space_id].space();
 
     if (dense_prefix_end == space->bottom()) {
       // There is no dense prefix for this space.
-      space_id = next_compaction_space_id(space_id);
       continue;
     }
 
@@ -2105,23 +2558,20 @@
         // region_index_end is not processed
         size_t region_index_end = MIN2(region_index_start + regions_per_thread,
                                        region_index_end_dense_prefix);
-        q->enqueue(new UpdateDensePrefixTask(
-                                 space_id,
-                                 region_index_start,
-                                 region_index_end));
+        q->enqueue(new UpdateDensePrefixTask(SpaceId(space_id),
+                                             region_index_start,
+                                             region_index_end));
         region_index_start = region_index_end;
       }
     }
     // This gets any part of the dense prefix that did not
     // fit evenly.
     if (region_index_start < region_index_end_dense_prefix) {
-      q->enqueue(new UpdateDensePrefixTask(
-                                 space_id,
-                                 region_index_start,
-                                 region_index_end_dense_prefix));
+      q->enqueue(new UpdateDensePrefixTask(SpaceId(space_id),
+                                           region_index_start,
+                                           region_index_end_dense_prefix));
     }
-    space_id = next_compaction_space_id(space_id);
-  }  // End tasks for dense prefix
+  }
 }
 
 void PSParallelCompact::enqueue_region_stealing_tasks(
@@ -2567,16 +3017,24 @@
   return m->bit_to_addr(cur_beg);
 }
 
-HeapWord*
-PSParallelCompact::first_src_addr(HeapWord* const dest_addr,
-                                 size_t src_region_idx)
+HeapWord* PSParallelCompact::first_src_addr(HeapWord* const dest_addr,
+                                            SpaceId src_space_id,
+                                            size_t src_region_idx)
 {
+  assert(summary_data().is_region_aligned(dest_addr), "not aligned");
+
+  const SplitInfo& split_info = _space_info[src_space_id].split_info();
+  if (split_info.dest_region_addr() == dest_addr) {
+    // The partial object ending at the split point contains the first word to
+    // be copied to dest_addr.
+    return split_info.first_src_addr();
+  }
+
+  const ParallelCompactData& sd = summary_data();
   ParMarkBitMap* const bitmap = mark_bitmap();
-  const ParallelCompactData& sd = summary_data();
   const size_t RegionSize = ParallelCompactData::RegionSize;
 
   assert(sd.is_region_aligned(dest_addr), "not aligned");
-
   const RegionData* const src_region_ptr = sd.region(src_region_idx);
   const size_t partial_obj_size = src_region_ptr->partial_obj_size();
   HeapWord* const src_region_destination = src_region_ptr->destination();
@@ -2625,19 +3083,34 @@
 }
 
 void PSParallelCompact::decrement_destination_counts(ParCompactionManager* cm,
+                                                     SpaceId src_space_id,
                                                      size_t beg_region,
                                                      HeapWord* end_addr)
 {
   ParallelCompactData& sd = summary_data();
+
+#ifdef ASSERT
+  MutableSpace* const src_space = _space_info[src_space_id].space();
+  HeapWord* const beg_addr = sd.region_to_addr(beg_region);
+  assert(src_space->contains(beg_addr) || beg_addr == src_space->end(),
+         "src_space_id does not match beg_addr");
+  assert(src_space->contains(end_addr) || end_addr == src_space->end(),
+         "src_space_id does not match end_addr");
+#endif // #ifdef ASSERT
+
   RegionData* const beg = sd.region(beg_region);
-  HeapWord* const end_addr_aligned_up = sd.region_align_up(end_addr);
-  RegionData* const end = sd.addr_to_region_ptr(end_addr_aligned_up);
-  size_t cur_idx = beg_region;
-  for (RegionData* cur = beg; cur < end; ++cur, ++cur_idx) {
+  RegionData* const end = sd.addr_to_region_ptr(sd.region_align_up(end_addr));
+
+  // Regions up to new_top() are enqueued if they become available.
+  HeapWord* const new_top = _space_info[src_space_id].new_top();
+  RegionData* const enqueue_end =
+    sd.addr_to_region_ptr(sd.region_align_up(new_top));
+
+  for (RegionData* cur = beg; cur < end; ++cur) {
     assert(cur->data_size() > 0, "region must have live data");
     cur->decrement_destination_count();
-    if (cur_idx <= cur->source_region() && cur->available() && cur->claim()) {
-      cm->save_for_processing(cur_idx);
+    if (cur < enqueue_end && cur->available() && cur->claim()) {
+      cm->save_for_processing(sd.region(cur));
     }
   }
 }
@@ -2737,7 +3210,7 @@
   HeapWord* src_space_top = _space_info[src_space_id].space()->top();
 
   MoveAndUpdateClosure closure(bitmap, cm, start_array, dest_addr, words);
-  closure.set_source(first_src_addr(dest_addr, src_region_idx));
+  closure.set_source(first_src_addr(dest_addr, src_space_id, src_region_idx));
 
   // Adjust src_region_idx to prepare for decrementing destination counts (the
   // destination count is not decremented when a region is copied to itself).
@@ -2752,7 +3225,8 @@
     HeapWord* const old_src_addr = closure.source();
     closure.copy_partial_obj();
     if (closure.is_full()) {
-      decrement_destination_counts(cm, src_region_idx, closure.source());
+      decrement_destination_counts(cm, src_space_id, src_region_idx,
+                                   closure.source());
       region_ptr->set_deferred_obj_addr(NULL);
       region_ptr->set_completed();
       return;
@@ -2761,7 +3235,7 @@
     HeapWord* const end_addr = sd.region_align_down(closure.source());
     if (sd.region_align_down(old_src_addr) != end_addr) {
       // The partial object was copied from more than one source region.
-      decrement_destination_counts(cm, src_region_idx, end_addr);
+      decrement_destination_counts(cm, src_space_id, src_region_idx, end_addr);
 
       // Move to the next source region, possibly switching spaces as well.  All
       // args except end_addr may be modified.
@@ -2801,19 +3275,21 @@
       region_ptr->set_deferred_obj_addr(closure.destination());
       status = closure.copy_until_full(); // copies from closure.source()
 
-      decrement_destination_counts(cm, src_region_idx, closure.source());
+      decrement_destination_counts(cm, src_space_id, src_region_idx,
+                                   closure.source());
       region_ptr->set_completed();
       return;
     }
 
     if (status == ParMarkBitMap::full) {
-      decrement_destination_counts(cm, src_region_idx, closure.source());
+      decrement_destination_counts(cm, src_space_id, src_region_idx,
+                                   closure.source());
       region_ptr->set_deferred_obj_addr(NULL);
       region_ptr->set_completed();
       return;
     }
 
-    decrement_destination_counts(cm, src_region_idx, end_addr);
+    decrement_destination_counts(cm, src_space_id, src_region_idx, end_addr);
 
     // Move to the next source region, possibly switching spaces as well.  All
     // args except end_addr may be modified.
@@ -2892,7 +3368,7 @@
 ParMarkBitMap::IterationStatus MoveAndUpdateClosure::copy_until_full()
 {
   if (source() != destination()) {
-    assert(source() > destination(), "must copy to the left");
+    DEBUG_ONLY(PSParallelCompact::check_new_location(source(), destination());)
     Copy::aligned_conjoint_words(source(), destination(), words_remaining());
   }
   update_state(words_remaining());
@@ -2913,7 +3389,7 @@
   // This test is necessary; if omitted, the pointer updates to a partial object
   // that crosses the dense prefix boundary could be overwritten.
   if (source() != destination()) {
-    assert(source() > destination(), "must copy to the left");
+    DEBUG_ONLY(PSParallelCompact::check_new_location(source(), destination());)
     Copy::aligned_conjoint_words(source(), destination(), words);
   }
   update_state(words);
@@ -2938,7 +3414,7 @@
   }
 
   if (destination() != source()) {
-    assert(destination() < source(), "must copy to the left");
+    DEBUG_ONLY(PSParallelCompact::check_new_location(source(), destination());)
     Copy::aligned_conjoint_words(source(), destination(), words);
   }
 
@@ -3008,34 +3484,3 @@
     summary_data().calc_new_pointer(Universe::intArrayKlassObj());
 }
 
-// The initial implementation of this method created a field
-// _next_compaction_space_id in SpaceInfo and initialized
-// that field in SpaceInfo::initialize_space_info().  That
-// required that _next_compaction_space_id be declared a
-// SpaceId in SpaceInfo and that would have required that
-// either SpaceId be declared in a separate class or that
-// it be declared in SpaceInfo.  It didn't seem consistent
-// to declare it in SpaceInfo (didn't really fit logically).
-// Alternatively, defining a separate class to define SpaceId
-// seem excessive.  This implementation is simple and localizes
-// the knowledge.
-
-PSParallelCompact::SpaceId
-PSParallelCompact::next_compaction_space_id(SpaceId id) {
-  assert(id < last_space_id, "id out of range");
-  switch (id) {
-    case perm_space_id :
-      return last_space_id;
-    case old_space_id :
-      return eden_space_id;
-    case eden_space_id :
-      return from_space_id;
-    case from_space_id :
-      return to_space_id;
-    case to_space_id :
-      return last_space_id;
-    default:
-      assert(false, "Bad space id");
-      return last_space_id;
-  }
-}
--- a/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.hpp	Wed Jul 05 16:44:40 2017 +0200
+++ b/hotspot/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.hpp	Wed Jul 05 16:45:14 2017 +0200
@@ -36,6 +36,123 @@
 class MoveAndUpdateClosure;
 class RefProcTaskExecutor;
 
+// The SplitInfo class holds the information needed to 'split' a source region
+// so that the live data can be copied to two destination *spaces*.  Normally,
+// all the live data in a region is copied to a single destination space (e.g.,
+// everything live in a region in eden is copied entirely into the old gen).
+// However, when the heap is nearly full, all the live data in eden may not fit
+// into the old gen.  Copying only some of the regions from eden to old gen
+// requires finding a region that does not contain a partial object (i.e., no
+// live object crosses the region boundary) somewhere near the last object that
+// does fit into the old gen.  Since it's not always possible to find such a
+// region, splitting is necessary for predictable behavior.
+//
+// A region is always split at the end of the partial object.  This avoids
+// additional tests when calculating the new location of a pointer, which is a
+// very hot code path.  The partial object and everything to its left will be
+// copied to another space (call it dest_space_1).  The live data to the right
+// of the partial object will be copied either within the space itself, or to a
+// different destination space (distinct from dest_space_1).
+//
+// Split points are identified during the summary phase, when region
+// destinations are computed:  data about the split, including the
+// partial_object_size, is recorded in a SplitInfo record and the
+// partial_object_size field in the summary data is set to zero.  The zeroing is
+// possible (and necessary) since the partial object will move to a different
+// destination space than anything to its right, thus the partial object should
+// not affect the locations of any objects to its right.
+//
+// The recorded data is used during the compaction phase, but only rarely:  when
+// the partial object on the split region will be copied across a destination
+// region boundary.  This test is made once each time a region is filled, and is
+// a simple address comparison, so the overhead is negligible (see
+// PSParallelCompact::first_src_addr()).
+//
+// Notes:
+//
+// Only regions with partial objects are split; a region without a partial
+// object does not need any extra bookkeeping.
+//
+// At most one region is split per space, so the amount of data required is
+// constant.
+//
+// A region is split only when the destination space would overflow.  Once that
+// happens, the destination space is abandoned and no other data (even from
+// other source spaces) is targeted to that destination space.  Abandoning the
+// destination space may leave a somewhat large unused area at the end, if a
+// large object caused the overflow.
+//
+// Future work:
+//
+// More bookkeeping would be required to continue to use the destination space.
+// The most general solution would allow data from regions in two different
+// source spaces to be "joined" in a single destination region.  At the very
+// least, additional code would be required in next_src_region() to detect the
+// join and skip to an out-of-order source region.  If the join region was also
+// the last destination region to which a split region was copied (the most
+// likely case), then additional work would be needed to get fill_region() to
+// stop iteration and switch to a new source region at the right point.  Basic
+// idea would be to use a fake value for the top of the source space.  It is
+// doable, if a bit tricky.
+//
+// A simpler (but less general) solution would fill the remainder of the
+// destination region with a dummy object and continue filling the next
+// destination region.
+
+class SplitInfo
+{
+public:
+  // Return true if this split info is valid (i.e., if a split has been
+  // recorded).  The very first region cannot have a partial object and thus is
+  // never split, so 0 is the 'invalid' value.
+  bool is_valid() const { return _src_region_idx > 0; }
+
+  // Return true if this split holds data for the specified source region.
+  inline bool is_split(size_t source_region) const;
+
+  // The index of the split region, the size of the partial object on that
+  // region and the destination of the partial object.
+  size_t    src_region_idx() const   { return _src_region_idx; }
+  size_t    partial_obj_size() const { return _partial_obj_size; }
+  HeapWord* destination() const      { return _destination; }
+
+  // The destination count of the partial object referenced by this split
+  // (either 1 or 2).  This must be added to the destination count of the
+  // remainder of the source region.
+  unsigned int destination_count() const { return _destination_count; }
+
+  // If a word within the partial object will be written to the first word of a
+  // destination region, this is the address of the destination region;
+  // otherwise this is NULL.
+  HeapWord* dest_region_addr() const     { return _dest_region_addr; }
+
+  // If a word within the partial object will be written to the first word of a
+  // destination region, this is the address of that word within the partial
+  // object; otherwise this is NULL.
+  HeapWord* first_src_addr() const       { return _first_src_addr; }
+
+  // Record the data necessary to split the region src_region_idx.
+  void record(size_t src_region_idx, size_t partial_obj_size,
+              HeapWord* destination);
+
+  void clear();
+
+  DEBUG_ONLY(void verify_clear();)
+
+private:
+  size_t       _src_region_idx;
+  size_t       _partial_obj_size;
+  HeapWord*    _destination;
+  unsigned int _destination_count;
+  HeapWord*    _dest_region_addr;
+  HeapWord*    _first_src_addr;
+};
+
+inline bool SplitInfo::is_split(size_t region_idx) const
+{
+  return _src_region_idx == region_idx && is_valid();
+}
+
 class SpaceInfo
 {
  public:
@@ -58,18 +175,23 @@
   // is no start array.
   ObjectStartArray* start_array() const { return _start_array; }
 
+  SplitInfo& split_info() { return _split_info; }
+
   void set_space(MutableSpace* s)           { _space = s; }
   void set_new_top(HeapWord* addr)          { _new_top = addr; }
   void set_min_dense_prefix(HeapWord* addr) { _min_dense_prefix = addr; }
   void set_dense_prefix(HeapWord* addr)     { _dense_prefix = addr; }
   void set_start_array(ObjectStartArray* s) { _start_array = s; }
 
+  void publish_new_top() const              { _space->set_top(_new_top); }
+
  private:
   MutableSpace*     _space;
   HeapWord*         _new_top;
   HeapWord*         _min_dense_prefix;
   HeapWord*         _dense_prefix;
   ObjectStartArray* _start_array;
+  SplitInfo         _split_info;
 };
 
 class ParallelCompactData
@@ -230,9 +352,14 @@
   // must be region-aligned; end need not be.
   void summarize_dense_prefix(HeapWord* beg, HeapWord* end);
 
-  bool summarize(HeapWord* target_beg, HeapWord* target_end,
+  HeapWord* summarize_split_space(size_t src_region, SplitInfo& split_info,
+                                  HeapWord* destination, HeapWord* target_end,
+                                  HeapWord** target_next);
+  bool summarize(SplitInfo& split_info,
                  HeapWord* source_beg, HeapWord* source_end,
-                 HeapWord** target_next, HeapWord** source_next = 0);
+                 HeapWord** source_next,
+                 HeapWord* target_beg, HeapWord* target_end,
+                 HeapWord** target_next);
 
   void clear();
   void clear_range(size_t beg_region, size_t end_region);
@@ -838,13 +965,31 @@
   // non-empty.
   static void fill_dense_prefix_end(SpaceId id);
 
+  // Clear the summary data source_region field for the specified addresses.
+  static void clear_source_region(HeapWord* beg_addr, HeapWord* end_addr);
+
+#ifndef PRODUCT
+  // Routines to provoke splitting a young gen space (ParallelOldGCSplitALot).
+
+  // Fill the region [start, start + words) with live object(s).  Only usable
+  // for the old and permanent generations.
+  static void fill_with_live_objects(SpaceId id, HeapWord* const start,
+                                     size_t words);
+  // Include the new objects in the summary data.
+  static void summarize_new_objects(SpaceId id, HeapWord* start);
+
+  // Add live objects to a survivor space since it's rare that both survivors
+  // are non-empty.
+  static void provoke_split_fill_survivor(SpaceId id);
+
+  // Add live objects and/or choose the dense prefix to provoke splitting.
+  static void provoke_split(bool & maximum_compaction);
+#endif
+
   static void summarize_spaces_quick();
   static void summarize_space(SpaceId id, bool maximum_compaction);
   static void summary_phase(ParCompactionManager* cm, bool maximum_compaction);
 
-  // The space that is compacted after space_id.
-  static SpaceId next_compaction_space_id(SpaceId space_id);
-
   // Adjust addresses in roots.  Does not adjust addresses in heap.
   static void adjust_roots();
 
@@ -999,6 +1144,7 @@
   // Return the address of the word to be copied to dest_addr, which must be
   // aligned to a region boundary.
   static HeapWord* first_src_addr(HeapWord* const dest_addr,
+                                  SpaceId src_space_id,
                                   size_t src_region_idx);
 
   // Determine the next source region, set closure.source() to the start of the
@@ -1012,8 +1158,10 @@
                                 HeapWord* end_addr);
 
   // Decrement the destination count for each non-empty source region in the
-  // range [beg_region, region(region_align_up(end_addr))).
+  // range [beg_region, region(region_align_up(end_addr))).  If the destination
+  // count for a region goes to 0 and it needs to be filled, enqueue it.
   static void decrement_destination_counts(ParCompactionManager* cm,
+                                           SpaceId src_space_id,
                                            size_t beg_region,
                                            HeapWord* end_addr);
 
@@ -1081,9 +1229,15 @@
                                        const SpaceId id,
                                        const bool maximum_compaction,
                                        HeapWord* const addr);
+  static void summary_phase_msg(SpaceId dst_space_id,
+                                HeapWord* dst_beg, HeapWord* dst_end,
+                                SpaceId src_space_id,
+                                HeapWord* src_beg, HeapWord* src_end);
 #endif  // #ifndef PRODUCT
 
 #ifdef  ASSERT
+  // Sanity check the new location of a word in the heap.
+  static inline void check_new_location(HeapWord* old_addr, HeapWord* new_addr);
   // Verify that all the regions have been emptied.
   static void verify_complete(SpaceId space_id);
 #endif  // #ifdef ASSERT
@@ -1251,6 +1405,15 @@
   }
 }
 
+#ifdef ASSERT
+inline void
+PSParallelCompact::check_new_location(HeapWord* old_addr, HeapWord* new_addr)
+{
+  assert(old_addr >= new_addr || space_id(old_addr) != space_id(new_addr),
+         "must move left or to a different space");
+}
+#endif // ASSERT
+
 class MoveAndUpdateClosure: public ParMarkBitMapClosure {
  public:
   inline MoveAndUpdateClosure(ParMarkBitMap* bitmap, ParCompactionManager* cm,
@@ -1324,31 +1487,28 @@
   oop(addr)->update_contents(compaction_manager());
 }
 
-class FillClosure: public ParMarkBitMapClosure {
- public:
+class FillClosure: public ParMarkBitMapClosure
+{
+public:
   FillClosure(ParCompactionManager* cm, PSParallelCompact::SpaceId space_id) :
     ParMarkBitMapClosure(PSParallelCompact::mark_bitmap(), cm),
-    _space_id(space_id),
-    _start_array(PSParallelCompact::start_array(space_id)) {
-    assert(_space_id == PSParallelCompact::perm_space_id ||
-           _space_id == PSParallelCompact::old_space_id,
+    _start_array(PSParallelCompact::start_array(space_id))
+  {
+    assert(space_id == PSParallelCompact::perm_space_id ||
+           space_id == PSParallelCompact::old_space_id,
            "cannot use FillClosure in the young gen");
-    assert(bitmap() != NULL, "need a bitmap");
-    assert(_start_array != NULL, "need a start array");
-  }
-
-  void fill_region(HeapWord* addr, size_t size) {
-    MemRegion region(addr, size);
-    SharedHeap::fill_region_with_object(region);
-    _start_array->allocate_block(addr);
   }
 
   virtual IterationStatus do_addr(HeapWord* addr, size_t size) {
-    fill_region(addr, size);
+    CollectedHeap::fill_with_objects(addr, size);
+    HeapWord* const end = addr + size;
+    do {
+      _start_array->allocate_block(addr);
+      addr += oop(addr)->size();
+    } while (addr < end);
     return ParMarkBitMap::incomplete;
   }
 
 private:
-  const PSParallelCompact::SpaceId _space_id;
-  ObjectStartArray* const          _start_array;
+  ObjectStartArray* const _start_array;
 };
--- a/hotspot/src/share/vm/gc_implementation/parallelScavenge/psPromotionManager.cpp	Wed Jul 05 16:44:40 2017 +0200
+++ b/hotspot/src/share/vm/gc_implementation/parallelScavenge/psPromotionManager.cpp	Wed Jul 05 16:45:14 2017 +0200
@@ -499,26 +499,15 @@
       // We lost, someone else "owns" this object
       guarantee(o->is_forwarded(), "Object must be forwarded if the cas failed.");
 
-      // Unallocate the space used. NOTE! We may have directly allocated
-      // the object. If so, we cannot deallocate it, so we have to test!
+      // Try to deallocate the space.  If it was directly allocated we cannot
+      // deallocate it, so we have to test.  If the deallocation fails,
+      // overwrite with a filler object.
       if (new_obj_is_tenured) {
         if (!_old_lab.unallocate_object(new_obj)) {
-          // The promotion lab failed to unallocate the object.
-          // We need to overwrite the object with a filler that
-          // contains no interior pointers.
-          MemRegion mr((HeapWord*)new_obj, new_obj_size);
-          // Clean this up and move to oopFactory (see bug 4718422)
-          SharedHeap::fill_region_with_object(mr);
+          CollectedHeap::fill_with_object((HeapWord*) new_obj, new_obj_size);
         }
-      } else {
-        if (!_young_lab.unallocate_object(new_obj)) {
-          // The promotion lab failed to unallocate the object.
-          // We need to overwrite the object with a filler that
-          // contains no interior pointers.
-          MemRegion mr((HeapWord*)new_obj, new_obj_size);
-          // Clean this up and move to oopFactory (see bug 4718422)
-          SharedHeap::fill_region_with_object(mr);
-        }
+      } else if (!_young_lab.unallocate_object(new_obj)) {
+        CollectedHeap::fill_with_object((HeapWord*) new_obj, new_obj_size);
       }
 
       // don't update this before the unallocation!
--- a/hotspot/src/share/vm/gc_implementation/shared/mutableNUMASpace.cpp	Wed Jul 05 16:44:40 2017 +0200
+++ b/hotspot/src/share/vm/gc_implementation/shared/mutableNUMASpace.cpp	Wed Jul 05 16:45:14 2017 +0200
@@ -76,8 +76,8 @@
     MutableSpace *s = ls->space();
     if (s->top() < top()) { // For all spaces preceeding the one containing top()
       if (s->free_in_words() > 0) {
-        SharedHeap::fill_region_with_object(MemRegion(s->top(), s->end()));
         size_t area_touched_words = pointer_delta(s->end(), s->top());
+        CollectedHeap::fill_with_object(s->top(), area_touched_words);
 #ifndef ASSERT
         if (!ZapUnusedHeapArea) {
           area_touched_words = MIN2((size_t)align_object_size(typeArrayOopDesc::header_size(T_INT)),
@@ -686,11 +686,11 @@
       // a minimal object; assuming that's not the last chunk in which case we don't care.
       if (i < lgrp_spaces()->length() - 1) {
         size_t remainder = pointer_delta(s->end(), value);
-        const size_t minimal_object_size = oopDesc::header_size();
-        if (remainder < minimal_object_size && remainder > 0) {
-          // Add a filler object of a minimal size, it will cross the chunk boundary.
-          SharedHeap::fill_region_with_object(MemRegion(value, minimal_object_size));
-          value += minimal_object_size;
+        const size_t min_fill_size = CollectedHeap::min_fill_size();
+        if (remainder < min_fill_size && remainder > 0) {
+          // Add a minimum size filler object; it will cross the chunk boundary.
+          CollectedHeap::fill_with_object(value, min_fill_size);
+          value += min_fill_size;
           assert(!s->contains(value), "Should be in the next chunk");
           // Restart the loop from the same chunk, since the value has moved
           // to the next one.
--- a/hotspot/src/share/vm/gc_interface/collectedHeap.cpp	Wed Jul 05 16:44:40 2017 +0200
+++ b/hotspot/src/share/vm/gc_interface/collectedHeap.cpp	Wed Jul 05 16:45:14 2017 +0200
@@ -30,12 +30,21 @@
 int CollectedHeap::_fire_out_of_memory_count = 0;
 #endif
 
+size_t CollectedHeap::_filler_array_max_size = 0;
+
 // Memory state functions.
 
-CollectedHeap::CollectedHeap() :
-  _reserved(), _barrier_set(NULL), _is_gc_active(false),
-  _total_collections(0), _total_full_collections(0),
-  _gc_cause(GCCause::_no_gc), _gc_lastcause(GCCause::_no_gc) {
+CollectedHeap::CollectedHeap()
+{
+  const size_t max_len = size_t(arrayOopDesc::max_array_length(T_INT));
+  const size_t elements_per_word = HeapWordSize / sizeof(jint);
+  _filler_array_max_size = align_object_size(filler_array_hdr_size() +
+                                             max_len * elements_per_word);
+
+  _barrier_set = NULL;
+  _is_gc_active = false;
+  _total_collections = _total_full_collections = 0;
+  _gc_cause = _gc_lastcause = GCCause::_no_gc;
   NOT_PRODUCT(_promotion_failure_alot_count = 0;)
   NOT_PRODUCT(_promotion_failure_alot_gc_number = 0;)
 
@@ -128,6 +137,94 @@
   return obj;
 }
 
+size_t CollectedHeap::filler_array_hdr_size() {
+  return size_t(arrayOopDesc::header_size(T_INT));
+}
+
+size_t CollectedHeap::filler_array_min_size() {
+  return align_object_size(filler_array_hdr_size());
+}
+
+size_t CollectedHeap::filler_array_max_size() {
+  return _filler_array_max_size;
+}
+
+#ifdef ASSERT
+void CollectedHeap::fill_args_check(HeapWord* start, size_t words)
+{
+  assert(words >= min_fill_size(), "too small to fill");
+  assert(words % MinObjAlignment == 0, "unaligned size");
+  assert(Universe::heap()->is_in_reserved(start), "not in heap");
+  assert(Universe::heap()->is_in_reserved(start + words - 1), "not in heap");
+}
+
+void CollectedHeap::zap_filler_array(HeapWord* start, size_t words)
+{
+  if (ZapFillerObjects) {
+    Copy::fill_to_words(start + filler_array_hdr_size(),
+                        words - filler_array_hdr_size(), 0XDEAFBABE);
+  }
+}
+#endif // ASSERT
+
+void
+CollectedHeap::fill_with_array(HeapWord* start, size_t words)
+{
+  assert(words >= filler_array_min_size(), "too small for an array");
+  assert(words <= filler_array_max_size(), "too big for a single object");
+
+  const size_t payload_size = words - filler_array_hdr_size();
+  const size_t len = payload_size * HeapWordSize / sizeof(jint);
+
+  // Set the length first for concurrent GC.
+  ((arrayOop)start)->set_length((int)len);
+  post_allocation_setup_common(Universe::intArrayKlassObj(), start, words);
+  DEBUG_ONLY(zap_filler_array(start, words);)
+}
+
+void
+CollectedHeap::fill_with_object_impl(HeapWord* start, size_t words)
+{
+  assert(words <= filler_array_max_size(), "too big for a single object");
+
+  if (words >= filler_array_min_size()) {
+    fill_with_array(start, words);
+  } else if (words > 0) {
+    assert(words == min_fill_size(), "unaligned size");
+    post_allocation_setup_common(SystemDictionary::object_klass(), start,
+                                 words);
+  }
+}
+
+void CollectedHeap::fill_with_object(HeapWord* start, size_t words)
+{
+  DEBUG_ONLY(fill_args_check(start, words);)
+  HandleMark hm;  // Free handles before leaving.
+  fill_with_object_impl(start, words);
+}
+
+void CollectedHeap::fill_with_objects(HeapWord* start, size_t words)
+{
+  DEBUG_ONLY(fill_args_check(start, words);)
+  HandleMark hm;  // Free handles before leaving.
+
+#ifdef LP64
+  // A single array can fill ~8G, so multiple objects are needed only in 64-bit.
+  // First fill with arrays, ensuring that any remaining space is big enough to
+  // fill.  The remainder is filled with a single object.
+  const size_t min = min_fill_size();
+  const size_t max = filler_array_max_size();
+  while (words > max) {
+    const size_t cur = words - max >= min ? max : max - min;
+    fill_with_array(start, cur);
+    start += cur;
+    words -= cur;
+  }
+#endif
+
+  fill_with_object_impl(start, words);
+}
+
 oop CollectedHeap::new_store_barrier(oop new_obj) {
   // %%% This needs refactoring.  (It was imported from the server compiler.)
   guarantee(can_elide_tlab_store_barriers(), "store barrier elision not supported");
--- a/hotspot/src/share/vm/gc_interface/collectedHeap.hpp	Wed Jul 05 16:44:40 2017 +0200
+++ b/hotspot/src/share/vm/gc_interface/collectedHeap.hpp	Wed Jul 05 16:45:14 2017 +0200
@@ -47,6 +47,9 @@
   static int       _fire_out_of_memory_count;
 #endif
 
+  // Used for filler objects (static, but initialized in ctor).
+  static size_t _filler_array_max_size;
+
  protected:
   MemRegion _reserved;
   BarrierSet* _barrier_set;
@@ -119,6 +122,21 @@
   // Clears an allocated object.
   inline static void init_obj(HeapWord* obj, size_t size);
 
+  // Filler object utilities.
+  static inline size_t filler_array_hdr_size();
+  static inline size_t filler_array_min_size();
+  static inline size_t filler_array_max_size();
+
+  DEBUG_ONLY(static void fill_args_check(HeapWord* start, size_t words);)
+  DEBUG_ONLY(static void zap_filler_array(HeapWord* start, size_t words);)
+
+  // Fill with a single array; caller must ensure filler_array_min_size() <=
+  // words <= filler_array_max_size().
+  static inline void fill_with_array(HeapWord* start, size_t words);
+
+  // Fill with a single object (either an int array or a java.lang.Object).
+  static inline void fill_with_object_impl(HeapWord* start, size_t words);
+
   // Verification functions
   virtual void check_for_bad_heap_word_value(HeapWord* addr, size_t size)
     PRODUCT_RETURN;
@@ -294,6 +312,27 @@
   // The boundary between a "large" and "small" array of primitives, in words.
   virtual size_t large_typearray_limit() = 0;
 
+  // Utilities for turning raw memory into filler objects.
+  //
+  // min_fill_size() is the smallest region that can be filled.
+  // fill_with_objects() can fill arbitrary-sized regions of the heap using
+  // multiple objects.  fill_with_object() is for regions known to be smaller
+  // than the largest array of integers; it uses a single object to fill the
+  // region and has slightly less overhead.
+  static size_t min_fill_size() {
+    return size_t(align_object_size(oopDesc::header_size()));
+  }
+
+  static void fill_with_objects(HeapWord* start, size_t words);
+
+  static void fill_with_object(HeapWord* start, size_t words);
+  static void fill_with_object(MemRegion region) {
+    fill_with_object(region.start(), region.word_size());
+  }
+  static void fill_with_object(HeapWord* start, HeapWord* end) {
+    fill_with_object(start, pointer_delta(end, start));
+  }
+
   // Some heaps may offer a contiguous region for shared non-blocking
   // allocation, via inlined code (by exporting the address of the top and
   // end fields defining the extent of the contiguous allocation region.)
--- a/hotspot/src/share/vm/gc_interface/collectedHeap.inline.hpp	Wed Jul 05 16:44:40 2017 +0200
+++ b/hotspot/src/share/vm/gc_interface/collectedHeap.inline.hpp	Wed Jul 05 16:45:14 2017 +0200
@@ -34,7 +34,6 @@
 void CollectedHeap::post_allocation_setup_no_klass_install(KlassHandle klass,
                                                            HeapWord* objPtr,
                                                            size_t size) {
-
   oop obj = (oop)objPtr;
 
   assert(obj != NULL, "NULL object pointer");
@@ -44,9 +43,6 @@
     // May be bootstrapping
     obj->set_mark(markOopDesc::prototype());
   }
-
-  // support low memory notifications (no-op if not enabled)
-  LowMemoryDetector::detect_low_memory_for_collected_pools();
 }
 
 void CollectedHeap::post_allocation_install_obj_klass(KlassHandle klass,
@@ -65,6 +61,9 @@
 
 // Support for jvmti and dtrace
 inline void post_allocation_notify(KlassHandle klass, oop obj) {
+  // support low memory notifications (no-op if not enabled)
+  LowMemoryDetector::detect_low_memory_for_collected_pools();
+
   // support for JVMTI VMObjectAlloc event (no-op if not enabled)
   JvmtiExport::vm_object_alloc_event_collector(obj);
 
--- a/hotspot/src/share/vm/includeDB_gc	Wed Jul 05 16:44:40 2017 +0200
+++ b/hotspot/src/share/vm/includeDB_gc	Wed Jul 05 16:45:14 2017 +0200
@@ -28,21 +28,22 @@
 collectedHeap.cpp                       collectedHeap.inline.hpp
 collectedHeap.cpp                       init.hpp
 collectedHeap.cpp                       oop.inline.hpp
+collectedHeap.cpp                       systemDictionary.hpp
 collectedHeap.cpp                       thread_<os_family>.inline.hpp
 
 collectedHeap.hpp                       allocation.hpp
 collectedHeap.hpp                       barrierSet.hpp
 collectedHeap.hpp                       gcCause.hpp
 collectedHeap.hpp                       handles.hpp
-collectedHeap.hpp			perfData.hpp
+collectedHeap.hpp                       perfData.hpp
 collectedHeap.hpp                       safepoint.hpp
 
 collectedHeap.inline.hpp                arrayOop.hpp
 collectedHeap.inline.hpp                collectedHeap.hpp
 collectedHeap.inline.hpp                copy.hpp
 collectedHeap.inline.hpp                jvmtiExport.hpp
-collectedHeap.inline.hpp		            lowMemoryDetector.hpp
-collectedHeap.inline.hpp		            sharedRuntime.hpp
+collectedHeap.inline.hpp                lowMemoryDetector.hpp
+collectedHeap.inline.hpp                sharedRuntime.hpp
 collectedHeap.inline.hpp                thread.hpp
 collectedHeap.inline.hpp                threadLocalAllocBuffer.inline.hpp
 collectedHeap.inline.hpp                universe.hpp
--- a/hotspot/src/share/vm/memory/cardTableModRefBS.cpp	Wed Jul 05 16:44:40 2017 +0200
+++ b/hotspot/src/share/vm/memory/cardTableModRefBS.cpp	Wed Jul 05 16:45:14 2017 +0200
@@ -283,7 +283,7 @@
     } else {
       entry = byte_after(old_region.last());
     }
-    assert(index_for(new_region.last()) < (int) _guard_index,
+    assert(index_for(new_region.last()) <  _guard_index,
       "The guard card will be overwritten");
     // This line commented out cleans the newly expanded region and
     // not the aligned up expanded region.
--- a/hotspot/src/share/vm/memory/cardTableModRefBS.hpp	Wed Jul 05 16:44:40 2017 +0200
+++ b/hotspot/src/share/vm/memory/cardTableModRefBS.hpp	Wed Jul 05 16:45:14 2017 +0200
@@ -428,7 +428,7 @@
   }
 
   // Mapping from address to card marking array index.
-  int index_for(void* p) {
+  size_t index_for(void* p) {
     assert(_whole_heap.contains(p),
            "out of bounds access to card marking array");
     return byte_for(p) - _byte_map;
--- a/hotspot/src/share/vm/memory/permGen.cpp	Wed Jul 05 16:44:40 2017 +0200
+++ b/hotspot/src/share/vm/memory/permGen.cpp	Wed Jul 05 16:45:14 2017 +0200
@@ -26,20 +26,24 @@
 #include "incls/_permGen.cpp.incl"
 
 HeapWord* PermGen::mem_allocate_in_gen(size_t size, Generation* gen) {
-  MutexLocker ml(Heap_lock);
   GCCause::Cause next_cause = GCCause::_permanent_generation_full;
   GCCause::Cause prev_cause = GCCause::_no_gc;
+  unsigned int gc_count_before, full_gc_count_before;
+  HeapWord* obj;
 
   for (;;) {
-    HeapWord* obj = gen->allocate(size, false);
-    if (obj != NULL) {
-      return obj;
-    }
-    if (gen->capacity() < _capacity_expansion_limit ||
-        prev_cause != GCCause::_no_gc) {
-      obj = gen->expand_and_allocate(size, false);
-    }
-    if (obj == NULL && prev_cause != GCCause::_last_ditch_collection) {
+    {
+      MutexLocker ml(Heap_lock);
+      if ((obj = gen->allocate(size, false)) != NULL) {
+        return obj;
+      }
+      if (gen->capacity() < _capacity_expansion_limit ||
+          prev_cause != GCCause::_no_gc) {
+        obj = gen->expand_and_allocate(size, false);
+      }
+      if (obj != NULL || prev_cause == GCCause::_last_ditch_collection) {
+        return obj;
+      }
       if (GC_locker::is_active_and_needs_gc()) {
         // If this thread is not in a jni critical section, we stall
         // the requestor until the critical section has cleared and
@@ -61,31 +65,27 @@
           return NULL;
         }
       }
+      // Read the GC count while holding the Heap_lock
+      gc_count_before      = SharedHeap::heap()->total_collections();
+      full_gc_count_before = SharedHeap::heap()->total_full_collections();
+    }
 
-      // Read the GC count while holding the Heap_lock
-      unsigned int gc_count_before      = SharedHeap::heap()->total_collections();
-      unsigned int full_gc_count_before = SharedHeap::heap()->total_full_collections();
-      {
-        MutexUnlocker mu(Heap_lock);  // give up heap lock, execute gets it back
-        VM_GenCollectForPermanentAllocation op(size, gc_count_before, full_gc_count_before,
-                                               next_cause);
-        VMThread::execute(&op);
-        if (!op.prologue_succeeded() || op.gc_locked()) {
-          assert(op.result() == NULL, "must be NULL if gc_locked() is true");
-          continue;  // retry and/or stall as necessary
-        }
-        obj = op.result();
-        assert(obj == NULL || SharedHeap::heap()->is_in_reserved(obj),
-               "result not in heap");
-        if (obj != NULL) {
-          return obj;
-        }
-      }
-      prev_cause = next_cause;
-      next_cause = GCCause::_last_ditch_collection;
-    } else {
+    // Give up heap lock above, VMThread::execute below gets it back
+    VM_GenCollectForPermanentAllocation op(size, gc_count_before, full_gc_count_before,
+                                           next_cause);
+    VMThread::execute(&op);
+    if (!op.prologue_succeeded() || op.gc_locked()) {
+      assert(op.result() == NULL, "must be NULL if gc_locked() is true");
+      continue;  // retry and/or stall as necessary
+    }
+    obj = op.result();
+    assert(obj == NULL || SharedHeap::heap()->is_in_reserved(obj),
+           "result not in heap");
+    if (obj != NULL) {
       return obj;
     }
+    prev_cause = next_cause;
+    next_cause = GCCause::_last_ditch_collection;
   }
 }
 
--- a/hotspot/src/share/vm/memory/sharedHeap.cpp	Wed Jul 05 16:44:40 2017 +0200
+++ b/hotspot/src/share/vm/memory/sharedHeap.cpp	Wed Jul 05 16:45:14 2017 +0200
@@ -248,46 +248,6 @@
   perm_gen()->ref_processor_init();
 }
 
-void SharedHeap::fill_region_with_object(MemRegion mr) {
-  // Disable the posting of JVMTI VMObjectAlloc events as we
-  // don't want the filling of tlabs with filler arrays to be
-  // reported to the profiler.
-  NoJvmtiVMObjectAllocMark njm;
-
-  // Disable low memory detector because there is no real allocation.
-  LowMemoryDetectorDisabler lmd_dis;
-
-  // It turns out that post_allocation_setup_array takes a handle, so the
-  // call below contains an implicit conversion.  Best to free that handle
-  // as soon as possible.
-  HandleMark hm;
-
-  size_t word_size = mr.word_size();
-  size_t aligned_array_header_size =
-    align_object_size(typeArrayOopDesc::header_size(T_INT));
-
-  if (word_size >= aligned_array_header_size) {
-    const size_t array_length =
-      pointer_delta(mr.end(), mr.start()) -
-      typeArrayOopDesc::header_size(T_INT);
-    const size_t array_length_words =
-      array_length * (HeapWordSize/sizeof(jint));
-    post_allocation_setup_array(Universe::intArrayKlassObj(),
-                                mr.start(),
-                                mr.word_size(),
-                                (int)array_length_words);
-#ifdef ASSERT
-    HeapWord* elt_words = (mr.start() + typeArrayOopDesc::header_size(T_INT));
-    Copy::fill_to_words(elt_words, array_length, 0xDEAFBABE);
-#endif
-  } else {
-    assert(word_size == (size_t)oopDesc::header_size(), "Unaligned?");
-    post_allocation_setup_obj(SystemDictionary::object_klass(),
-                              mr.start(),
-                              mr.word_size());
-  }
-}
-
 // Some utilities.
 void SharedHeap::print_size_transition(outputStream* out,
                                        size_t bytes_before,
--- a/hotspot/src/share/vm/memory/sharedHeap.hpp	Wed Jul 05 16:44:40 2017 +0200
+++ b/hotspot/src/share/vm/memory/sharedHeap.hpp	Wed Jul 05 16:45:14 2017 +0200
@@ -108,14 +108,6 @@
 
   void set_perm(PermGen* perm_gen) { _perm_gen = perm_gen; }
 
-  // A helper function that fills a region of the heap with
-  // with a single object.
-  static void fill_region_with_object(MemRegion mr);
-
-  // Minimum garbage fill object size
-  static size_t min_fill_size()          { return (size_t)align_object_size(oopDesc::header_size()); }
-  static size_t min_fill_size_in_bytes() { return min_fill_size() * HeapWordSize; }
-
   // This function returns the "GenRemSet" object that allows us to scan
   // generations; at least the perm gen, possibly more in a fully
   // generational heap.
--- a/hotspot/src/share/vm/memory/space.cpp	Wed Jul 05 16:44:40 2017 +0200
+++ b/hotspot/src/share/vm/memory/space.cpp	Wed Jul 05 16:45:14 2017 +0200
@@ -409,19 +409,9 @@
                                         HeapWord* q, size_t deadlength) {
   if (allowed_deadspace_words >= deadlength) {
     allowed_deadspace_words -= deadlength;
-    oop(q)->set_mark(markOopDesc::prototype()->set_marked());
-    const size_t min_int_array_size = typeArrayOopDesc::header_size(T_INT);
-    if (deadlength >= min_int_array_size) {
-      oop(q)->set_klass(Universe::intArrayKlassObj());
-      typeArrayOop(q)->set_length((int)((deadlength - min_int_array_size)
-                                            * (HeapWordSize/sizeof(jint))));
-    } else {
-      assert((int) deadlength == instanceOopDesc::header_size(),
-             "size for smallest fake dead object doesn't match");
-      oop(q)->set_klass(SystemDictionary::object_klass());
-    }
-    assert((int) deadlength == oop(q)->size(),
-           "make sure size for fake dead object match");
+    CollectedHeap::fill_with_object(q, deadlength);
+    oop(q)->set_mark(oop(q)->mark()->set_marked());
+    assert((int) deadlength == oop(q)->size(), "bad filler object size");
     // Recall that we required "q == compaction_top".
     return true;
   } else {
--- a/hotspot/src/share/vm/memory/tenuredGeneration.cpp	Wed Jul 05 16:44:40 2017 +0200
+++ b/hotspot/src/share/vm/memory/tenuredGeneration.cpp	Wed Jul 05 16:45:14 2017 +0200
@@ -387,7 +387,7 @@
               "should contain whole object");
     buf->undo_allocation(obj, word_sz);
   } else {
-    SharedHeap::fill_region_with_object(MemRegion(obj, word_sz));
+    CollectedHeap::fill_with_object(obj, word_sz);
   }
 }
 
--- a/hotspot/src/share/vm/memory/threadLocalAllocBuffer.cpp	Wed Jul 05 16:44:40 2017 +0200
+++ b/hotspot/src/share/vm/memory/threadLocalAllocBuffer.cpp	Wed Jul 05 16:45:14 2017 +0200
@@ -100,8 +100,7 @@
 void ThreadLocalAllocBuffer::make_parsable(bool retire) {
   if (end() != NULL) {
     invariants();
-    MemRegion mr(top(), hard_end());
-    SharedHeap::fill_region_with_object(mr);
+    CollectedHeap::fill_with_object(top(), hard_end());
 
     if (retire || ZeroTLAB) {  // "Reset" the TLAB
       set_start(NULL);
--- a/hotspot/src/share/vm/memory/universe.cpp	Wed Jul 05 16:44:40 2017 +0200
+++ b/hotspot/src/share/vm/memory/universe.cpp	Wed Jul 05 16:45:14 2017 +0200
@@ -49,16 +49,16 @@
 klassOop Universe::_constantPoolCacheKlassObj         = NULL;
 klassOop Universe::_compiledICHolderKlassObj          = NULL;
 klassOop Universe::_systemObjArrayKlassObj            = NULL;
-oop Universe::_int_mirror                             =  NULL;
-oop Universe::_float_mirror                           =  NULL;
-oop Universe::_double_mirror                          =  NULL;
-oop Universe::_byte_mirror                            =  NULL;
-oop Universe::_bool_mirror                            =  NULL;
-oop Universe::_char_mirror                            =  NULL;
-oop Universe::_long_mirror                            =  NULL;
-oop Universe::_short_mirror                           =  NULL;
-oop Universe::_void_mirror                            =  NULL;
-oop Universe::_mirrors[T_VOID+1]                      =  { NULL /*, NULL...*/ };
+oop Universe::_int_mirror                             = NULL;
+oop Universe::_float_mirror                           = NULL;
+oop Universe::_double_mirror                          = NULL;
+oop Universe::_byte_mirror                            = NULL;
+oop Universe::_bool_mirror                            = NULL;
+oop Universe::_char_mirror                            = NULL;
+oop Universe::_long_mirror                            = NULL;
+oop Universe::_short_mirror                           = NULL;
+oop Universe::_void_mirror                            = NULL;
+oop Universe::_mirrors[T_VOID+1]                      = { NULL /*, NULL...*/ };
 oop Universe::_main_thread_group                      = NULL;
 oop Universe::_system_thread_group                    = NULL;
 typeArrayOop Universe::_the_empty_byte_array          = NULL;
@@ -257,16 +257,16 @@
         _typeArrayKlassObjs[T_INT]     = _intArrayKlassObj;
         _typeArrayKlassObjs[T_LONG]    = _longArrayKlassObj;
 
-        _methodKlassObj         = methodKlass::create_klass(CHECK);
-        _constMethodKlassObj    = constMethodKlass::create_klass(CHECK);
-        _methodDataKlassObj     = methodDataKlass::create_klass(CHECK);
+        _methodKlassObj             = methodKlass::create_klass(CHECK);
+        _constMethodKlassObj        = constMethodKlass::create_klass(CHECK);
+        _methodDataKlassObj         = methodDataKlass::create_klass(CHECK);
         _constantPoolKlassObj       = constantPoolKlass::create_klass(CHECK);
         _constantPoolCacheKlassObj  = constantPoolCacheKlass::create_klass(CHECK);
 
         _compiledICHolderKlassObj   = compiledICHolderKlass::create_klass(CHECK);
         _systemObjArrayKlassObj     = objArrayKlassKlass::cast(objArrayKlassKlassObj())->allocate_system_objArray_klass(CHECK);
 
-        _the_empty_byte_array      = oopFactory::new_permanent_byteArray(0, CHECK);
+        _the_empty_byte_array       = oopFactory::new_permanent_byteArray(0, CHECK);
         _the_empty_short_array      = oopFactory::new_permanent_shortArray(0, CHECK);
         _the_empty_int_array        = oopFactory::new_permanent_intArray(0, CHECK);
         _the_empty_system_obj_array = oopFactory::new_system_objArray(0, CHECK);
@@ -274,7 +274,6 @@
         _the_array_interfaces_array = oopFactory::new_system_objArray(2, CHECK);
         _vm_exception               = oopFactory::new_symbol("vm exception holder", CHECK);
       } else {
-
         FileMapInfo *mapinfo = FileMapInfo::current_info();
         char* buffer = mapinfo->region_base(CompactingPermGenGen::md);
         void** vtbl_list = (void**)buffer;
--- a/hotspot/src/share/vm/memory/universe.hpp	Wed Jul 05 16:44:40 2017 +0200
+++ b/hotspot/src/share/vm/memory/universe.hpp	Wed Jul 05 16:45:14 2017 +0200
@@ -92,6 +92,7 @@
 
 
 class Universe: AllStatic {
+  // Ugh.  Universe is much too friendly.
   friend class MarkSweep;
   friend class oopDesc;
   friend class ClassLoader;
--- a/hotspot/src/share/vm/oops/arrayOop.hpp	Wed Jul 05 16:44:40 2017 +0200
+++ b/hotspot/src/share/vm/oops/arrayOop.hpp	Wed Jul 05 16:45:14 2017 +0200
@@ -96,19 +96,20 @@
       : typesize_in_bytes/HeapWordSize);
   }
 
-  // This method returns the  maximum length that can passed into
-  // typeArrayOop::object_size(scale, length, header_size) without causing an
-  // overflow. We substract an extra 2*wordSize to guard against double word
-  // alignments.  It gets the scale from the type2aelembytes array.
+  // Return the maximum length of an array of BasicType.  The length can passed
+  // to typeArrayOop::object_size(scale, length, header_size) without causing an
+  // overflow.
   static int32_t max_array_length(BasicType type) {
     assert(type >= 0 && type < T_CONFLICT, "wrong type");
     assert(type2aelembytes(type) != 0, "wrong type");
-    // We use max_jint, since object_size is internally represented by an 'int'
-    // This gives us an upper bound of max_jint words for the size of the oop.
-    int32_t max_words = (max_jint - header_size(type) - 2);
-    int elembytes = type2aelembytes(type);
-    jlong len = ((jlong)max_words * HeapWordSize) / elembytes;
-    return (len > max_jint) ? max_jint : (int32_t)len;
+    const int bytes_per_element = type2aelembytes(type);
+    if (bytes_per_element < HeapWordSize) {
+      return max_jint;
+    }
+
+    const int32_t max_words = align_size_down(max_jint, MinObjAlignment);
+    const int32_t max_element_words = max_words - header_size(type);
+    const int32_t words_per_element = bytes_per_element >> LogHeapWordSize;
+    return max_element_words / words_per_element;
   }
-
 };
--- a/hotspot/src/share/vm/oops/typeArrayKlass.cpp	Wed Jul 05 16:44:40 2017 +0200
+++ b/hotspot/src/share/vm/oops/typeArrayKlass.cpp	Wed Jul 05 16:45:14 2017 +0200
@@ -36,13 +36,14 @@
   return element_type() == tak->element_type();
 }
 
-klassOop typeArrayKlass::create_klass(BasicType type, int scale, TRAPS) {
+klassOop typeArrayKlass::create_klass(BasicType type, int scale,
+                                      const char* name_str, TRAPS) {
   typeArrayKlass o;
 
   symbolHandle sym(symbolOop(NULL));
   // bootstrapping: don't create sym if symbolKlass not created yet
-  if (Universe::symbolKlassObj() != NULL) {
-    sym = oopFactory::new_symbol_handle(external_name(type), CHECK_NULL);
+  if (Universe::symbolKlassObj() != NULL && name_str != NULL) {
+    sym = oopFactory::new_symbol_handle(name_str, CHECK_NULL);
   }
   KlassHandle klassklass (THREAD, Universe::typeArrayKlassKlassObj());
 
--- a/hotspot/src/share/vm/oops/typeArrayKlass.hpp	Wed Jul 05 16:44:40 2017 +0200
+++ b/hotspot/src/share/vm/oops/typeArrayKlass.hpp	Wed Jul 05 16:45:14 2017 +0200
@@ -39,7 +39,11 @@
 
   // klass allocation
   DEFINE_ALLOCATE_PERMANENT(typeArrayKlass);
-  static klassOop create_klass(BasicType type, int scale, TRAPS);
+  static klassOop create_klass(BasicType type, int scale, const char* name_str,
+                               TRAPS);
+  static inline klassOop create_klass(BasicType type, int scale, TRAPS) {
+    return create_klass(type, scale, external_name(type), CHECK_NULL);
+  }
 
   int oop_size(oop obj) const;
   int klass_oop_size() const  { return object_size(); }
--- a/hotspot/src/share/vm/opto/compile.cpp	Wed Jul 05 16:44:40 2017 +0200
+++ b/hotspot/src/share/vm/opto/compile.cpp	Wed Jul 05 16:45:14 2017 +0200
@@ -2192,6 +2192,9 @@
 
   case Op_DecodeN:
     assert(!n->in(1)->is_EncodeP(), "should be optimized out");
+    // DecodeN could be pinned on Sparc where it can't be fold into
+    // an address expression, see the code for Op_CastPP above.
+    assert(n->in(0) == NULL || !Matcher::clone_shift_expressions, "no control except on sparc");
     break;
 
   case Op_EncodeP: {
--- a/hotspot/src/share/vm/opto/macro.cpp	Wed Jul 05 16:44:40 2017 +0200
+++ b/hotspot/src/share/vm/opto/macro.cpp	Wed Jul 05 16:45:14 2017 +0200
@@ -1724,6 +1724,13 @@
     if (klass_node == NULL) {
       Node* k_adr = basic_plus_adr(obj, oopDesc::klass_offset_in_bytes());
       klass_node = transform_later( LoadKlassNode::make(_igvn, mem, k_adr, _igvn.type(k_adr)->is_ptr()) );
+#ifdef _LP64
+      if (UseCompressedOops && klass_node->is_DecodeN()) {
+        assert(klass_node->in(1)->Opcode() == Op_LoadNKlass, "sanity");
+        klass_node->in(1)->init_req(0, ctrl);
+      } else
+#endif
+      klass_node->init_req(0, ctrl);
     }
     Node *proto_node = make_load(ctrl, mem, klass_node, Klass::prototype_header_offset_in_bytes() + sizeof(oopDesc), TypeX_X, TypeX_X->basic_type());
 
--- a/hotspot/src/share/vm/prims/jni.cpp	Wed Jul 05 16:44:40 2017 +0200
+++ b/hotspot/src/share/vm/prims/jni.cpp	Wed Jul 05 16:45:14 2017 +0200
@@ -2173,7 +2173,8 @@
     size_t size = os::vm_allocation_granularity();
     bad_address = os::reserve_memory(size);
     if (bad_address != NULL) {
-      os::protect_memory(bad_address, size, os::MEM_PROT_READ);
+      os::protect_memory(bad_address, size, os::MEM_PROT_READ,
+                         /*is_committed*/false);
     }
   }
   return bad_address;
--- a/hotspot/src/share/vm/runtime/arguments.cpp	Wed Jul 05 16:44:40 2017 +0200
+++ b/hotspot/src/share/vm/runtime/arguments.cpp	Wed Jul 05 16:45:14 2017 +0200
@@ -444,9 +444,9 @@
 }
 
 // Parses a memory size specification string.
-static bool atomll(const char *s, jlong* result) {
-  jlong n = 0;
-  int args_read = sscanf(s, os::jlong_format_specifier(), &n);
+static bool atomull(const char *s, julong* result) {
+  julong n = 0;
+  int args_read = sscanf(s, os::julong_format_specifier(), &n);
   if (args_read != 1) {
     return false;
   }
@@ -460,15 +460,20 @@
   switch (*s) {
     case 'T': case 't':
       *result = n * G * K;
+      // Check for overflow.
+      if (*result/((julong)G * K) != n) return false;
       return true;
     case 'G': case 'g':
       *result = n * G;
+      if (*result/G != n) return false;
       return true;
     case 'M': case 'm':
       *result = n * M;
+      if (*result/M != n) return false;
       return true;
     case 'K': case 'k':
       *result = n * K;
+      if (*result/K != n) return false;
       return true;
     case '\0':
       *result = n;
@@ -478,10 +483,10 @@
   }
 }
 
-Arguments::ArgsRange Arguments::check_memory_size(jlong size, jlong min_size) {
+Arguments::ArgsRange Arguments::check_memory_size(julong size, julong min_size) {
   if (size < min_size) return arg_too_small;
   // Check that size will fit in a size_t (only relevant on 32-bit)
-  if ((julong) size > max_uintx) return arg_too_big;
+  if (size > max_uintx) return arg_too_big;
   return arg_in_range;
 }
 
@@ -522,10 +527,10 @@
 
 
 static bool set_numeric_flag(char* name, char* value, FlagValueOrigin origin) {
-  jlong v;
+  julong v;
   intx intx_v;
   bool is_neg = false;
-  // Check the sign first since atomll() parses only unsigned values.
+  // Check the sign first since atomull() parses only unsigned values.
   if (*value == '-') {
     if (!CommandLineFlags::intxAt(name, &intx_v)) {
       return false;
@@ -533,7 +538,7 @@
     value++;
     is_neg = true;
   }
-  if (!atomll(value, &v)) {
+  if (!atomull(value, &v)) {
     return false;
   }
   intx_v = (intx) v;
@@ -1517,6 +1522,16 @@
     MarkSweepAlwaysCompactCount = 1;  // Move objects every gc.
   }
 
+  if (UseParallelOldGC && ParallelOldGCSplitALot) {
+    // Settings to encourage splitting.
+    if (!FLAG_IS_CMDLINE(NewRatio)) {
+      FLAG_SET_CMDLINE(intx, NewRatio, 2);
+    }
+    if (!FLAG_IS_CMDLINE(ScavengeBeforeFullGC)) {
+      FLAG_SET_CMDLINE(bool, ScavengeBeforeFullGC, false);
+    }
+  }
+
   status = status && verify_percentage(GCHeapFreeLimit, "GCHeapFreeLimit");
   status = status && verify_percentage(GCTimeLimit, "GCTimeLimit");
   if (GCTimeLimit == 100) {
@@ -1667,9 +1682,9 @@
 }
 
 Arguments::ArgsRange Arguments::parse_memory_size(const char* s,
-                                                  jlong* long_arg,
-                                                  jlong min_size) {
-  if (!atomll(s, long_arg)) return arg_unreadable;
+                                                  julong* long_arg,
+                                                  julong min_size) {
+  if (!atomull(s, long_arg)) return arg_unreadable;
   return check_memory_size(*long_arg, min_size);
 }
 
@@ -1847,7 +1862,7 @@
       FLAG_SET_CMDLINE(bool, BackgroundCompilation, false);
     // -Xmn for compatibility with other JVM vendors
     } else if (match_option(option, "-Xmn", &tail)) {
-      jlong long_initial_eden_size = 0;
+      julong long_initial_eden_size = 0;
       ArgsRange errcode = parse_memory_size(tail, &long_initial_eden_size, 1);
       if (errcode != arg_in_range) {
         jio_fprintf(defaultStream::error_stream(),
@@ -1859,7 +1874,7 @@
       FLAG_SET_CMDLINE(uintx, NewSize, (size_t) long_initial_eden_size);
     // -Xms
     } else if (match_option(option, "-Xms", &tail)) {
-      jlong long_initial_heap_size = 0;
+      julong long_initial_heap_size = 0;
       ArgsRange errcode = parse_memory_size(tail, &long_initial_heap_size, 1);
       if (errcode != arg_in_range) {
         jio_fprintf(defaultStream::error_stream(),
@@ -1872,7 +1887,7 @@
       set_min_heap_size(initial_heap_size());
     // -Xmx
     } else if (match_option(option, "-Xmx", &tail)) {
-      jlong long_max_heap_size = 0;
+      julong long_max_heap_size = 0;
       ArgsRange errcode = parse_memory_size(tail, &long_max_heap_size, 1);
       if (errcode != arg_in_range) {
         jio_fprintf(defaultStream::error_stream(),
@@ -1905,7 +1920,7 @@
       }
     // -Xss
     } else if (match_option(option, "-Xss", &tail)) {
-      jlong long_ThreadStackSize = 0;
+      julong long_ThreadStackSize = 0;
       ArgsRange errcode = parse_memory_size(tail, &long_ThreadStackSize, 1000);
       if (errcode != arg_in_range) {
         jio_fprintf(defaultStream::error_stream(),
@@ -1921,9 +1936,9 @@
           // HotSpot does not have separate native and Java stacks, ignore silently for compatibility
     // -Xmaxjitcodesize
     } else if (match_option(option, "-Xmaxjitcodesize", &tail)) {
-      jlong long_ReservedCodeCacheSize = 0;
+      julong long_ReservedCodeCacheSize = 0;
       ArgsRange errcode = parse_memory_size(tail, &long_ReservedCodeCacheSize,
-                                            InitialCodeCacheSize);
+                                            (size_t)InitialCodeCacheSize);
       if (errcode != arg_in_range) {
         jio_fprintf(defaultStream::error_stream(),
                     "Invalid maximum code cache size: %s\n",
@@ -2228,7 +2243,7 @@
     } else if (match_option(option, "-XX:TLEFragmentationRatio=", &tail)) {
       // No longer used.
     } else if (match_option(option, "-XX:TLESize=", &tail)) {
-      jlong long_tlab_size = 0;
+      julong long_tlab_size = 0;
       ArgsRange errcode = parse_memory_size(tail, &long_tlab_size, 1);
       if (errcode != arg_in_range) {
         jio_fprintf(defaultStream::error_stream(),
@@ -2283,7 +2298,7 @@
         "-XX:ParCMSPromoteBlocksToClaim in the future\n");
     } else
     if (match_option(option, "-XX:ParallelGCOldGenAllocBufferSize=", &tail)) {
-      jlong old_plab_size = 0;
+      julong old_plab_size = 0;
       ArgsRange errcode = parse_memory_size(tail, &old_plab_size, 1);
       if (errcode != arg_in_range) {
         jio_fprintf(defaultStream::error_stream(),
@@ -2291,13 +2306,13 @@
         describe_range_error(errcode);
         return JNI_EINVAL;
       }
-      FLAG_SET_CMDLINE(uintx, OldPLABSize, (julong)old_plab_size);
+      FLAG_SET_CMDLINE(uintx, OldPLABSize, old_plab_size);
       jio_fprintf(defaultStream::error_stream(),
                   "Please use -XX:OldPLABSize in place of "
                   "-XX:ParallelGCOldGenAllocBufferSize in the future\n");
     } else
     if (match_option(option, "-XX:ParallelGCToSpaceAllocBufferSize=", &tail)) {
-      jlong young_plab_size = 0;
+      julong young_plab_size = 0;
       ArgsRange errcode = parse_memory_size(tail, &young_plab_size, 1);
       if (errcode != arg_in_range) {
         jio_fprintf(defaultStream::error_stream(),
@@ -2305,7 +2320,7 @@
         describe_range_error(errcode);
         return JNI_EINVAL;
       }
-      FLAG_SET_CMDLINE(uintx, YoungPLABSize, (julong)young_plab_size);
+      FLAG_SET_CMDLINE(uintx, YoungPLABSize, young_plab_size);
       jio_fprintf(defaultStream::error_stream(),
                   "Please use -XX:YoungPLABSize in place of "
                   "-XX:ParallelGCToSpaceAllocBufferSize in the future\n");
--- a/hotspot/src/share/vm/runtime/arguments.hpp	Wed Jul 05 16:44:40 2017 +0200
+++ b/hotspot/src/share/vm/runtime/arguments.hpp	Wed Jul 05 16:45:14 2017 +0200
@@ -339,9 +339,9 @@
   }
   static bool verify_percentage(uintx value, const char* name);
   static void describe_range_error(ArgsRange errcode);
-  static ArgsRange check_memory_size(jlong size, jlong min_size);
-  static ArgsRange parse_memory_size(const char* s, jlong* long_arg,
-                                     jlong min_size);
+  static ArgsRange check_memory_size(julong size, julong min_size);
+  static ArgsRange parse_memory_size(const char* s, julong* long_arg,
+                                     julong min_size);
 
   // methods to build strings from individual args
   static void build_jvm_args(const char* arg);
--- a/hotspot/src/share/vm/runtime/globals.hpp	Wed Jul 05 16:44:40 2017 +0200
+++ b/hotspot/src/share/vm/runtime/globals.hpp	Wed Jul 05 16:45:14 2017 +0200
@@ -625,6 +625,9 @@
   develop(bool, CheckZapUnusedHeapArea, false,                              \
           "Check zapping of unused heap space")                             \
                                                                             \
+  develop(bool, ZapFillerObjects, trueInDebug,                              \
+          "Zap filler objects with 0xDEAFBABE")                             \
+                                                                            \
   develop(bool, PrintVMMessages, true,                                      \
           "Print vm messages on console")                                   \
                                                                             \
@@ -818,7 +821,7 @@
   product(bool, ClassUnloading, true,                                       \
           "Do unloading of classes")                                        \
                                                                             \
-  diagnostic(bool, LinkWellKnownClasses, true,                              \
+  diagnostic(bool, LinkWellKnownClasses, false,                             \
           "Resolve a well known class as soon as its name is seen")         \
                                                                             \
   develop(bool, DisableStartThread, false,                                  \
@@ -1200,11 +1203,12 @@
   product(uintx, ParallelCMSThreads, 0,                                     \
           "Max number of threads CMS will use for concurrent work")         \
                                                                             \
-  develop(bool, ParallelOldMTUnsafeMarkBitMap, false,                       \
-          "Use the Parallel Old MT unsafe in marking the bitmap")           \
-                                                                            \
-  develop(bool, ParallelOldMTUnsafeUpdateLiveData, false,                   \
-          "Use the Parallel Old MT unsafe in update of live size")          \
+  develop(bool, ParallelOldGCSplitALot, false,                              \
+          "Provoke splitting (copying data from a young gen space to"       \
+          "multiple destination spaces)")                                   \
+                                                                            \
+  develop(uintx, ParallelOldGCSplitInterval, 3,                             \
+          "How often to provoke splitting a young gen space")               \
                                                                             \
   develop(bool, TraceRegionTasksQueuing, false,                             \
           "Trace the queuing of the region tasks")                          \
--- a/hotspot/src/share/vm/runtime/javaCalls.cpp	Wed Jul 05 16:44:40 2017 +0200
+++ b/hotspot/src/share/vm/runtime/javaCalls.cpp	Wed Jul 05 16:45:14 2017 +0200
@@ -504,7 +504,7 @@
       intptr_t v = _value[p];
       if (v != 0 ) {
         size_t t = (size_t)v;
-        bad = (t < (size_t)os::vm_page_size() ) || !(*(oop*)v)->is_oop_or_null(true);
+        bad = (t < (size_t)os::vm_page_size() ) || !Handle::raw_resolve((oop *)v)->is_oop_or_null(true);
         if (CheckJNICalls && bad) {
           ReportJNIFatalError((JavaThread*)_thread, "Bad JNI oop argument");
         }
--- a/hotspot/src/share/vm/runtime/os.cpp	Wed Jul 05 16:44:40 2017 +0200
+++ b/hotspot/src/share/vm/runtime/os.cpp	Wed Jul 05 16:45:14 2017 +0200
@@ -932,8 +932,9 @@
   // the mutator thread if such case is encountered. See bug 6546278 for details.
   Thread::muxAcquire(&SerializePageLock, "serialize_thread_states");
   os::protect_memory((char *)os::get_memory_serialize_page(),
-                     os::vm_page_size(), MEM_PROT_READ, /*is_committed*/true );
-  os::unguard_memory((char *)os::get_memory_serialize_page(), os::vm_page_size());
+                     os::vm_page_size(), MEM_PROT_READ);
+  os::protect_memory((char *)os::get_memory_serialize_page(),
+                     os::vm_page_size(), MEM_PROT_RW);
   Thread::muxRelease(&SerializePageLock);
 }
 
--- a/hotspot/src/share/vm/runtime/os.hpp	Wed Jul 05 16:44:40 2017 +0200
+++ b/hotspot/src/share/vm/runtime/os.hpp	Wed Jul 05 16:45:14 2017 +0200
@@ -208,7 +208,7 @@
 
   enum ProtType { MEM_PROT_NONE, MEM_PROT_READ, MEM_PROT_RW, MEM_PROT_RWX };
   static bool   protect_memory(char* addr, size_t bytes, ProtType prot,
-                               bool is_committed = false);
+                               bool is_committed = true);
 
   static bool   guard_memory(char* addr, size_t bytes);
   static bool   unguard_memory(char* addr, size_t bytes);
--- a/hotspot/src/share/vm/runtime/synchronizer.cpp	Wed Jul 05 16:44:40 2017 +0200
+++ b/hotspot/src/share/vm/runtime/synchronizer.cpp	Wed Jul 05 16:45:14 2017 +0200
@@ -3363,13 +3363,13 @@
    //   If the wakee is cold then transiently setting it's affinity
    //   to the current CPU is a good idea.
    //   See http://j2se.east/~dice/PERSIST/050624-PullAffinity.txt
+   DTRACE_MONITOR_PROBE(contended__exit, this, object(), Self);
    Trigger->unpark() ;
 
    // Maintain stats and report events to JVMTI
    if (ObjectSynchronizer::_sync_Parks != NULL) {
       ObjectSynchronizer::_sync_Parks->inc() ;
    }
-   DTRACE_MONITOR_PROBE(contended__exit, this, object(), Self);
 }
 
 
--- a/hotspot/src/share/vm/services/management.cpp	Wed Jul 05 16:44:40 2017 +0200
+++ b/hotspot/src/share/vm/services/management.cpp	Wed Jul 05 16:45:14 2017 +0200
@@ -694,10 +694,10 @@
                -1);
   }
 
-  if (threshold > max_intx) {
-    THROW_MSG_(vmSymbols::java_lang_IllegalArgumentException(),
-               "Invalid threshold value > max value of size_t",
-               -1);
+  if ((size_t)threshold > max_uintx) {
+    stringStream st;
+    st.print("Invalid valid threshold value. Threshold value (" UINT64_FORMAT ") > max value of size_t (" SIZE_FORMAT ")", (size_t)threshold, max_uintx);
+    THROW_MSG_(vmSymbols::java_lang_IllegalArgumentException(), st.as_string(), -1);
   }
 
   MemoryPool* pool = get_memory_pool_from_jobject(obj, CHECK_(0L));
--- a/hotspot/src/share/vm/utilities/vmError.cpp	Wed Jul 05 16:44:40 2017 +0200
+++ b/hotspot/src/share/vm/utilities/vmError.cpp	Wed Jul 05 16:45:14 2017 +0200
@@ -332,6 +332,8 @@
 
      // VM version
      st->print_cr("#");
+     JDK_Version::current().to_string(buf, sizeof(buf));
+     st->print_cr("# JRE version: %s", buf);
      st->print_cr("# Java VM: %s (%s %s %s %s)",
                    Abstract_VM_Version::vm_name(),
                    Abstract_VM_Version::vm_release(),
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/hotspot/test/compiler/6757316/Test6757316.java	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,43 @@
+/*
+ * Copyright 2008 Sun Microsystems, Inc.  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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+/**
+ * @test
+ * @bug 6757316
+ * @summary load_constant() produces a wrong long constant, with high a low words swapped
+ * @run main/othervm -Xcomp Test6757316
+ */
+
+public class Test6757316 {
+    public static void main(String[] args) {
+        long[] arr = {
+            0x11111111aaaaaaaaL,
+            0xaaaaaaaa11111111L,
+            0x11111111aaaaaaaaL,
+            0xaaaaaaaa11111111L
+        };
+        if (arr[0] == arr[1]) {
+            throw new InternalError();
+        }
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/hotspot/test/compiler/6758234/Test6758234.java	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,40 @@
+/*
+ * Copyright 2008 Sun Microsystems, Inc.  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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+/**
+ * @test
+ * @bug 6758234
+ * @summary if (k cond (a ? : b: c)) returns reversed answer if k is constant and b and c are longs
+ * @run main/othervm -Xcomp -XX:CompileOnly=Test6758234.main Test6758234
+ */
+
+public class Test6758234 {
+    static int x = 0;
+    static int y = 1;
+
+    public static void main(String[] args) {
+        if (1 != ((x < y) ? 1L : 0)) {
+            throw new InternalError();
+        }
+   }
+}
--- a/jaxp/.hgtags	Wed Jul 05 16:44:40 2017 +0200
+++ b/jaxp/.hgtags	Wed Jul 05 16:45:14 2017 +0200
@@ -16,3 +16,4 @@
 831b80be6cea8e7d7da197ccdac5fd4c701a5033 jdk7-b39
 54946f466e2c047c44c903f1bec400b685c2508e jdk7-b40
 0758bd3e2852e4f931ba211cc4d48f589450eeb4 jdk7-b41
+036e0dca841a5a17f784d15c86a9da88d2a6f1e6 jdk7-b42
--- a/jaxws/.hgtags	Wed Jul 05 16:44:40 2017 +0200
+++ b/jaxws/.hgtags	Wed Jul 05 16:45:14 2017 +0200
@@ -16,3 +16,4 @@
 077bc9b1b035a409a76bd5366f73ed9dd9846934 jdk7-b39
 70a6ac6dd737fe45c2fadb57646195b2b4fe269d jdk7-b40
 a8379d24aa03386610169cb0f4e4b8ed266a2e8d jdk7-b41
+621c02d83abc850c170fb6726d57b19f1eaf5033 jdk7-b42
--- a/jdk/.hgtags	Wed Jul 05 16:44:40 2017 +0200
+++ b/jdk/.hgtags	Wed Jul 05 16:45:14 2017 +0200
@@ -16,3 +16,4 @@
 4e51997582effa006dde5c6d8b8820b2045b9c7f jdk7-b39
 2201dad60231a3c3e0346e3a0250d69ca3b71fd4 jdk7-b40
 44941f893cea95ecdd5987b12e548069bd803849 jdk7-b41
+3ef0bdfa7609f79d4f2ea621f30cf593a2e432ce jdk7-b42
--- a/jdk/make/java/nio/FILES_java.gmk	Wed Jul 05 16:44:40 2017 +0200
+++ b/jdk/make/java/nio/FILES_java.gmk	Wed Jul 05 16:45:14 2017 +0200
@@ -113,8 +113,7 @@
 	sun/nio/cs/FastCharsetProvider.java \
 	sun/nio/cs/HistoricallyNamedCharset.java \
 	sun/nio/cs/ISO_8859_1.java \
-	sun/nio/cs/ISO_8859_15.java \
-	sun/nio/cs/MS1252.java \
+	sun/nio/cs/SingleByte.java \
 	sun/nio/cs/SingleByteDecoder.java \
 	sun/nio/cs/SingleByteEncoder.java \
 	sun/nio/cs/StreamEncoder.java \
@@ -268,6 +267,34 @@
 	java/nio/charset/IllegalCharsetNameException.java \
 	java/nio/charset/UnsupportedCharsetException.java
 
+FILES_gen_sbcs = \
+	sun/nio/cs/ISO_8859_2.java \
+	sun/nio/cs/ISO_8859_4.java \
+	sun/nio/cs/ISO_8859_5.java \
+	sun/nio/cs/ISO_8859_7.java \
+	sun/nio/cs/ISO_8859_9.java \
+	sun/nio/cs/ISO_8859_13.java \
+	sun/nio/cs/ISO_8859_15.java \
+	sun/nio/cs/IBM437.java \
+	sun/nio/cs/IBM737.java \
+	sun/nio/cs/IBM775.java \
+	sun/nio/cs/IBM850.java \
+	sun/nio/cs/IBM852.java \
+	sun/nio/cs/IBM855.java \
+	sun/nio/cs/IBM857.java \
+	sun/nio/cs/IBM858.java \
+	sun/nio/cs/IBM862.java \
+	sun/nio/cs/IBM866.java \
+	sun/nio/cs/IBM874.java \
+	sun/nio/cs/KOI8_R.java \
+	sun/nio/cs/KOI8_U.java \
+	sun/nio/cs/MS1250.java \
+	sun/nio/cs/MS1251.java \
+	sun/nio/cs/MS1252.java \
+	sun/nio/cs/MS1253.java \
+	sun/nio/cs/MS1254.java \
+	sun/nio/cs/MS1257.java
+
 FILES_gen_csp = sun/nio/cs/StandardCharsets.java
 
 FILES_gen_sor = sun/nio/ch/SocketOptionRegistry.java
@@ -275,4 +302,4 @@
 FILES_gen = $(FILES_gen_coder) $(FILES_gen_buffer) $(FILES_gen_ex) \
     $(FILES_gen_csp) $(FILES_gen_sor)
 
-FILES_java = $(FILES_src) $(FILES_gen)
+FILES_java = $(FILES_src) $(FILES_gen) $(FILES_gen_sbcs)
--- a/jdk/make/java/nio/Makefile	Wed Jul 05 16:44:40 2017 +0200
+++ b/jdk/make/java/nio/Makefile	Wed Jul 05 16:45:14 2017 +0200
@@ -182,7 +182,9 @@
 SCH_GEN=$(SNIO_GEN)/ch
 SCS_GEN=$(SNIO_GEN)/cs
 
-sources: $(SPP_JARFILE) $(FILES_genout)
+FILES_gensbcs_out = $(FILES_gen_sbcs:%.java=$(GENSRCDIR)/%.java)
+
+sources: $(SPP_JARFILE) $(FILES_genout) $(FILES_gensbcs_out)
 
 #
 # Generated buffer classes
@@ -657,4 +659,15 @@
 	NAWK="$(NAWK)" SH="$(SH)" $(SH) -e addNotices.sh $(SOR_COPYRIGHT_YEARS) > $@
 	$(GENSOR_EXE) >> $@
 
+#
+# Generated sun.nio.cs SingleByte classes
+#
+GENCSSRC = $(BUILDDIR)/tools/CharsetMapping
+CHARSETMAPPING_JARFILE = $(BUILDTOOLJARDIR)/charsetmapping.jar
+
+$(FILES_gensbcs_out): $(GENCSSRC)/SingleByte-X.java $(GENCSSRC)/sbcs
+	@$(prep-target)
+	$(BOOT_JAVA_CMD) -cp $(CHARSETMAPPING_JARFILE) build.tools.charsetmapping.GenerateSBCS \
+		$(GENCSSRC) $(SCS_GEN) sbcs
+
 .PHONY: sources 
--- a/jdk/make/sun/awt/mapfile-mawt-vers	Wed Jul 05 16:44:40 2017 +0200
+++ b/jdk/make/sun/awt/mapfile-mawt-vers	Wed Jul 05 16:45:14 2017 +0200
@@ -407,6 +407,7 @@
 		Java_sun_java2d_x11_X11SurfaceData_initSurface;
 		Java_sun_java2d_x11_X11SurfaceData_isDrawableValid;
 		Java_sun_java2d_x11_X11SurfaceData_isDgaAvailable;
+		Java_sun_java2d_x11_X11SurfaceData_isShmPMAvailable;
 		Java_sun_java2d_x11_X11SurfaceData_setInvalid;
 		Java_sun_java2d_x11_X11SurfaceData_flushNativeSurface;
                 Java_sun_java2d_x11_X11SurfaceData_XCreateGC;
--- a/jdk/make/sun/nio/FILES_java.gmk	Wed Jul 05 16:44:40 2017 +0200
+++ b/jdk/make/sun/nio/FILES_java.gmk	Wed Jul 05 16:45:14 2017 +0200
@@ -29,7 +29,7 @@
 # Core character converters are built from make/java/java.
 #
 
-FILES_java = \
+FILES_src = \
 	sun/io/ByteToCharDoubleByte.java \
 	sun/io/ByteToCharDBCS_ASCII.java \
 	sun/io/ByteToCharDBCS_EBCDIC.java \
@@ -303,3 +303,77 @@
 	sun/io/CharToByteMacTurkish.java \
 	sun/io/CharToByteMacUkraine.java \
 	sun/io/CharToByteTIS620.java
+
+FILES_gen_extsbcs = \
+	sun/nio/cs/ext/IBM037.java \
+	sun/nio/cs/ext/IBM1006.java \
+	sun/nio/cs/ext/IBM1025.java \
+	sun/nio/cs/ext/IBM1026.java \
+	sun/nio/cs/ext/IBM1046.java \
+	sun/nio/cs/ext/IBM1047.java \
+	sun/nio/cs/ext/IBM1097.java \
+	sun/nio/cs/ext/IBM1098.java \
+	sun/nio/cs/ext/IBM1112.java \
+	sun/nio/cs/ext/IBM1122.java \
+	sun/nio/cs/ext/IBM1123.java \
+	sun/nio/cs/ext/IBM1124.java \
+	sun/nio/cs/ext/IBM1140.java \
+	sun/nio/cs/ext/IBM1141.java \
+	sun/nio/cs/ext/IBM1142.java \
+	sun/nio/cs/ext/IBM1143.java \
+	sun/nio/cs/ext/IBM1144.java \
+	sun/nio/cs/ext/IBM1145.java \
+	sun/nio/cs/ext/IBM1146.java \
+	sun/nio/cs/ext/IBM1147.java \
+	sun/nio/cs/ext/IBM1148.java \
+	sun/nio/cs/ext/IBM1149.java \
+	sun/nio/cs/ext/IBM273.java \
+	sun/nio/cs/ext/IBM277.java \
+	sun/nio/cs/ext/IBM278.java \
+	sun/nio/cs/ext/IBM280.java \
+	sun/nio/cs/ext/IBM284.java \
+	sun/nio/cs/ext/IBM285.java \
+	sun/nio/cs/ext/IBM297.java \
+	sun/nio/cs/ext/IBM420.java \
+	sun/nio/cs/ext/IBM424.java \
+	sun/nio/cs/ext/IBM500.java \
+	sun/nio/cs/ext/IBM838.java \
+	sun/nio/cs/ext/IBM856.java \
+	sun/nio/cs/ext/IBM860.java \
+	sun/nio/cs/ext/IBM861.java \
+	sun/nio/cs/ext/IBM863.java \
+	sun/nio/cs/ext/IBM864.java \
+	sun/nio/cs/ext/IBM865.java \
+	sun/nio/cs/ext/IBM868.java \
+	sun/nio/cs/ext/IBM869.java \
+	sun/nio/cs/ext/IBM870.java \
+	sun/nio/cs/ext/IBM871.java \
+	sun/nio/cs/ext/IBM875.java \
+	sun/nio/cs/ext/IBM918.java \
+	sun/nio/cs/ext/IBM921.java \
+	sun/nio/cs/ext/IBM922.java \
+	sun/nio/cs/ext/ISO_8859_11.java \
+	sun/nio/cs/ext/ISO_8859_3.java \
+	sun/nio/cs/ext/ISO_8859_6.java \
+	sun/nio/cs/ext/ISO_8859_8.java \
+	sun/nio/cs/ext/MS1255.java \
+	sun/nio/cs/ext/MS1256.java \
+	sun/nio/cs/ext/MS1258.java \
+	sun/nio/cs/ext/MS874.java \
+	sun/nio/cs/ext/MacArabic.java \
+	sun/nio/cs/ext/MacCentralEurope.java \
+	sun/nio/cs/ext/MacCroatian.java \
+	sun/nio/cs/ext/MacCyrillic.java \
+	sun/nio/cs/ext/MacDingbat.java \
+	sun/nio/cs/ext/MacGreek.java \
+	sun/nio/cs/ext/MacHebrew.java \
+	sun/nio/cs/ext/MacIceland.java \
+	sun/nio/cs/ext/MacRoman.java \
+	sun/nio/cs/ext/MacRomania.java \
+	sun/nio/cs/ext/MacSymbol.java \
+	sun/nio/cs/ext/MacThai.java \
+	sun/nio/cs/ext/MacTurkish.java \
+	sun/nio/cs/ext/MacUkraine.java \
+	sun/nio/cs/ext/TIS_620.java
+
+FILES_java = $(FILES_src) $(FILES_gen_extsbcs)
\ No newline at end of file
--- a/jdk/make/sun/nio/Makefile	Wed Jul 05 16:44:40 2017 +0200
+++ b/jdk/make/sun/nio/Makefile	Wed Jul 05 16:45:14 2017 +0200
@@ -60,12 +60,15 @@
 # this define is for the rule:
 CHARSETS_JAR = $(LIBDIR)/charsets.jar
 
+# extsbcs
+FILES_genout_extsbcs = $(FILES_gen_extsbcs:%.java=$(GENSRCDIR)/%.java)
+
 #
 # Rules
 #
 include $(BUILDDIR)/common/Classes.gmk
 
-build: $(CHARSETS_JAR)
+build: $(FILES_genout_extsbcs) $(CHARSETS_JAR)
 
 #
 # Extra rules to build character converters.
@@ -74,6 +77,8 @@
 SERVICE_DESCRIPTION_PATH = META-INF/services/$(SERVICE_DESCRIPTION)
 
 GENCSDATASRC = $(BUILDDIR)/tools/CharsetMapping
+GENCSEXT = $(GENSRCDIR)/sun/nio/cs/ext
+
 FILES_MAP = $(GENCSDATASRC)/sjis0213.map
 FILES_DAT = $(CLASSDESTDIR)/sun/nio/cs/ext/sjis0213.dat
 CHARSETMAPPING_JARFILE = $(BUILDTOOLJARDIR)/charsetmapping.jar
@@ -83,6 +88,15 @@
 	$(BOOT_JAVA_CMD) -jar $(CHARSETMAPPING_JARFILE) \
 		$(FILES_MAP) $(FILES_DAT)
 
+
+$(FILES_genout_extsbcs): $(GENCSDATASRC)/SingleByte-X.java $(GENCSDATASRC)/extsbcs
+	@$(prep-target)
+	$(RM) -r $(GENCSEXT)
+	$(MKDIR) -p $(GENCSEXT)
+	$(BOOT_JAVA_CMD) -cp $(CHARSETMAPPING_JARFILE) build.tools.charsetmapping.GenerateSBCS \
+		$(GENCSDATASRC) $(GENCSEXT) extsbcs
+
+
 $(CLASSDESTDIR)/$(SERVICE_DESCRIPTION_PATH): \
   $(SHARE_SRC)/classes/sun/nio/cs/ext/$(SERVICE_DESCRIPTION_PATH)
 	$(install-file)
--- a/jdk/make/sun/xawt/mapfile-vers	Wed Jul 05 16:44:40 2017 +0200
+++ b/jdk/make/sun/xawt/mapfile-vers	Wed Jul 05 16:45:14 2017 +0200
@@ -337,6 +337,7 @@
         Java_sun_java2d_x11_X11SurfaceData_initIDs;
 	Java_sun_java2d_x11_X11SurfaceData_isDrawableValid;
         Java_sun_java2d_x11_X11SurfaceData_isDgaAvailable;
+	Java_sun_java2d_x11_X11SurfaceData_isShmPMAvailable;
         Java_sun_java2d_x11_X11SurfaceData_initOps;
         Java_sun_java2d_x11_X11SurfaceData_initSurface;
         Java_sun_java2d_x11_X11SurfaceData_flushNativeSurface;
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/IBM037.c2b	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,1 @@
+0x15	U+0085
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/IBM037.map	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,257 @@
+#Generated from IBM037.java
+0x00	U+0000
+0x01	U+0001
+0x02	U+0002
+0x03	U+0003
+0x04	U+009c
+0x05	U+0009
+0x06	U+0086
+0x07	U+007f
+0x08	U+0097
+0x09	U+008d
+0x0a	U+008e
+0x0b	U+000b
+0x0c	U+000c
+0x0d	U+000d
+0x0e	U+000e
+0x0f	U+000f
+0x10	U+0010
+0x11	U+0011
+0x12	U+0012
+0x13	U+0013
+0x14	U+009d
+0x15	U+000a
+0x16	U+0008
+0x17	U+0087
+0x18	U+0018
+0x19	U+0019
+0x1a	U+0092
+0x1b	U+008f
+0x1c	U+001c
+0x1d	U+001d
+0x1e	U+001e
+0x1f	U+001f
+0x20	U+0080
+0x21	U+0081
+0x22	U+0082
+0x23	U+0083
+0x24	U+0084
+0x25	U+000a
+0x26	U+0017
+0x27	U+001b
+0x28	U+0088
+0x29	U+0089
+0x2a	U+008a
+0x2b	U+008b
+0x2c	U+008c
+0x2d	U+0005
+0x2e	U+0006
+0x2f	U+0007
+0x30	U+0090
+0x31	U+0091
+0x32	U+0016
+0x33	U+0093
+0x34	U+0094
+0x35	U+0095
+0x36	U+0096
+0x37	U+0004
+0x38	U+0098
+0x39	U+0099
+0x3a	U+009a
+0x3b	U+009b
+0x3c	U+0014
+0x3d	U+0015
+0x3e	U+009e
+0x3f	U+001a
+0x40	U+0020
+0x41	U+00a0
+0x42	U+00e2
+0x43	U+00e4
+0x44	U+00e0
+0x45	U+00e1
+0x46	U+00e3
+0x47	U+00e5
+0x48	U+00e7
+0x49	U+00f1
+0x4a	U+00a2
+0x4b	U+002e
+0x4c	U+003c
+0x4d	U+0028
+0x4e	U+002b
+0x4f	U+007c
+0x50	U+0026
+0x51	U+00e9
+0x52	U+00ea
+0x53	U+00eb
+0x54	U+00e8
+0x55	U+00ed
+0x56	U+00ee
+0x57	U+00ef
+0x58	U+00ec
+0x59	U+00df
+0x5a	U+0021
+0x5b	U+0024
+0x5c	U+002a
+0x5d	U+0029
+0x5e	U+003b
+0x5f	U+00ac
+0x60	U+002d
+0x61	U+002f
+0x62	U+00c2
+0x63	U+00c4
+0x64	U+00c0
+0x65	U+00c1
+0x66	U+00c3
+0x67	U+00c5
+0x68	U+00c7
+0x69	U+00d1
+0x6a	U+00a6
+0x6b	U+002c
+0x6c	U+0025
+0x6d	U+005f
+0x6e	U+003e
+0x6f	U+003f
+0x70	U+00f8
+0x71	U+00c9
+0x72	U+00ca
+0x73	U+00cb
+0x74	U+00c8
+0x75	U+00cd
+0x76	U+00ce
+0x77	U+00cf
+0x78	U+00cc
+0x79	U+0060
+0x7a	U+003a
+0x7b	U+0023
+0x7c	U+0040
+0x7d	U+0027
+0x7e	U+003d
+0x7f	U+0022
+0x80	U+00d8
+0x81	U+0061
+0x82	U+0062
+0x83	U+0063
+0x84	U+0064
+0x85	U+0065
+0x86	U+0066
+0x87	U+0067
+0x88	U+0068
+0x89	U+0069
+0x8a	U+00ab
+0x8b	U+00bb
+0x8c	U+00f0
+0x8d	U+00fd
+0x8e	U+00fe
+0x8f	U+00b1
+0x90	U+00b0
+0x91	U+006a
+0x92	U+006b
+0x93	U+006c
+0x94	U+006d
+0x95	U+006e
+0x96	U+006f
+0x97	U+0070
+0x98	U+0071
+0x99	U+0072
+0x9a	U+00aa
+0x9b	U+00ba
+0x9c	U+00e6
+0x9d	U+00b8
+0x9e	U+00c6
+0x9f	U+00a4
+0xa0	U+00b5
+0xa1	U+007e
+0xa2	U+0073
+0xa3	U+0074
+0xa4	U+0075
+0xa5	U+0076
+0xa6	U+0077
+0xa7	U+0078
+0xa8	U+0079
+0xa9	U+007a
+0xaa	U+00a1
+0xab	U+00bf
+0xac	U+00d0
+0xad	U+00dd
+0xae	U+00de
+0xaf	U+00ae
+0xb0	U+005e
+0xb1	U+00a3
+0xb2	U+00a5
+0xb3	U+00b7
+0xb4	U+00a9
+0xb5	U+00a7
+0xb6	U+00b6
+0xb7	U+00bc
+0xb8	U+00bd
+0xb9	U+00be
+0xba	U+005b
+0xbb	U+005d
+0xbc	U+00af
+0xbd	U+00a8
+0xbe	U+00b4
+0xbf	U+00d7
+0xc0	U+007b
+0xc1	U+0041
+0xc2	U+0042
+0xc3	U+0043
+0xc4	U+0044
+0xc5	U+0045
+0xc6	U+0046
+0xc7	U+0047
+0xc8	U+0048
+0xc9	U+0049
+0xca	U+00ad
+0xcb	U+00f4
+0xcc	U+00f6
+0xcd	U+00f2
+0xce	U+00f3
+0xcf	U+00f5
+0xd0	U+007d
+0xd1	U+004a
+0xd2	U+004b
+0xd3	U+004c
+0xd4	U+004d
+0xd5	U+004e
+0xd6	U+004f
+0xd7	U+0050
+0xd8	U+0051
+0xd9	U+0052
+0xda	U+00b9
+0xdb	U+00fb
+0xdc	U+00fc
+0xdd	U+00f9
+0xde	U+00fa
+0xdf	U+00ff
+0xe0	U+005c
+0xe1	U+00f7
+0xe2	U+0053
+0xe3	U+0054
+0xe4	U+0055
+0xe5	U+0056
+0xe6	U+0057
+0xe7	U+0058
+0xe8	U+0059
+0xe9	U+005a
+0xea	U+00b2
+0xeb	U+00d4
+0xec	U+00d6
+0xed	U+00d2
+0xee	U+00d3
+0xef	U+00d5
+0xf0	U+0030
+0xf1	U+0031
+0xf2	U+0032
+0xf3	U+0033
+0xf4	U+0034
+0xf5	U+0035
+0xf6	U+0036
+0xf7	U+0037
+0xf8	U+0038
+0xf9	U+0039
+0xfa	U+00b3
+0xfb	U+00db
+0xfc	U+00dc
+0xfd	U+00d9
+0xfe	U+00da
+0xff	U+009f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/IBM037.nr	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,1 @@
+0x25	U+000a
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/IBM1006.map	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,257 @@
+#Generated from IBM1006.java
+0x00	U+0000
+0x01	U+0001
+0x02	U+0002
+0x03	U+0003
+0x04	U+0004
+0x05	U+0005
+0x06	U+0006
+0x07	U+0007
+0x08	U+0008
+0x09	U+0009
+0x0a	U+000a
+0x0b	U+000b
+0x0c	U+000c
+0x0d	U+000d
+0x0e	U+000e
+0x0f	U+000f
+0x10	U+0010
+0x11	U+0011
+0x12	U+0012
+0x13	U+0013
+0x14	U+0014
+0x15	U+0015
+0x16	U+0016
+0x17	U+0017
+0x18	U+0018
+0x19	U+0019
+0x1a	U+001a
+0x1b	U+001b
+0x1c	U+001c
+0x1d	U+001d
+0x1e	U+001e
+0x1f	U+001f
+0x20	U+0020
+0x21	U+0021
+0x22	U+0022
+0x23	U+0023
+0x24	U+0024
+0x25	U+0025
+0x26	U+0026
+0x27	U+0027
+0x28	U+0028
+0x29	U+0029
+0x2a	U+002a
+0x2b	U+002b
+0x2c	U+002c
+0x2d	U+002d
+0x2e	U+002e
+0x2f	U+002f
+0x30	U+0030
+0x31	U+0031
+0x32	U+0032
+0x33	U+0033
+0x34	U+0034
+0x35	U+0035
+0x36	U+0036
+0x37	U+0037
+0x38	U+0038
+0x39	U+0039
+0x3a	U+003a
+0x3b	U+003b
+0x3c	U+003c
+0x3d	U+003d
+0x3e	U+003e
+0x3f	U+003f
+0x40	U+0040
+0x41	U+0041
+0x42	U+0042
+0x43	U+0043
+0x44	U+0044
+0x45	U+0045
+0x46	U+0046
+0x47	U+0047
+0x48	U+0048
+0x49	U+0049
+0x4a	U+004a
+0x4b	U+004b
+0x4c	U+004c
+0x4d	U+004d
+0x4e	U+004e
+0x4f	U+004f
+0x50	U+0050
+0x51	U+0051
+0x52	U+0052
+0x53	U+0053
+0x54	U+0054
+0x55	U+0055
+0x56	U+0056
+0x57	U+0057
+0x58	U+0058
+0x59	U+0059
+0x5a	U+005a
+0x5b	U+005b
+0x5c	U+005c
+0x5d	U+005d
+0x5e	U+005e
+0x5f	U+005f
+0x60	U+0060
+0x61	U+0061
+0x62	U+0062
+0x63	U+0063
+0x64	U+0064
+0x65	U+0065
+0x66	U+0066
+0x67	U+0067
+0x68	U+0068
+0x69	U+0069
+0x6a	U+006a
+0x6b	U+006b
+0x6c	U+006c
+0x6d	U+006d
+0x6e	U+006e
+0x6f	U+006f
+0x70	U+0070
+0x71	U+0071
+0x72	U+0072
+0x73	U+0073
+0x74	U+0074
+0x75	U+0075
+0x76	U+0076
+0x77	U+0077
+0x78	U+0078
+0x79	U+0079
+0x7a	U+007a
+0x7b	U+007b
+0x7c	U+007c
+0x7d	U+007d
+0x7e	U+007e
+0x7f	U+007f
+0x80	U+0080
+0x81	U+0081
+0x82	U+0082
+0x83	U+0083
+0x84	U+0084
+0x85	U+0085
+0x86	U+0086
+0x87	U+0087
+0x88	U+0088
+0x89	U+0089
+0x8a	U+008a
+0x8b	U+008b
+0x8c	U+008c
+0x8d	U+008d
+0x8e	U+008e
+0x8f	U+008f
+0x90	U+0090
+0x91	U+0091
+0x92	U+0092
+0x93	U+0093
+0x94	U+0094
+0x95	U+0095
+0x96	U+0096
+0x97	U+0097
+0x98	U+0098
+0x99	U+0099
+0x9a	U+009a
+0x9b	U+009b
+0x9c	U+009c
+0x9d	U+009d
+0x9e	U+009e
+0x9f	U+009f
+0xa0	U+00a0
+0xa1	U+06f0
+0xa2	U+06f1
+0xa3	U+06f2
+0xa4	U+06f3
+0xa5	U+06f4
+0xa6	U+06f5
+0xa7	U+06f6
+0xa8	U+06f7
+0xa9	U+06f8
+0xaa	U+06f9
+0xab	U+060c
+0xac	U+061b
+0xad	U+00ad
+0xae	U+061f
+0xaf	U+fe81
+0xb0	U+fe8d
+0xb1	U+fe8e
+0xb2	U+f8fb
+0xb3	U+fe8f
+0xb4	U+fe91
+0xb5	U+fb56
+0xb6	U+fb58
+0xb7	U+fe93
+0xb8	U+fe95
+0xb9	U+fe97
+0xba	U+fb66
+0xbb	U+fb68
+0xbc	U+fe99
+0xbd	U+fe9b
+0xbe	U+fe9d
+0xbf	U+fe9f
+0xc0	U+fb7a
+0xc1	U+fb7c
+0xc2	U+fea1
+0xc3	U+fea3
+0xc4	U+fea5
+0xc5	U+fea7
+0xc6	U+fea9
+0xc7	U+fb88
+0xc8	U+feab
+0xc9	U+fead
+0xca	U+fb8c
+0xcb	U+feaf
+0xcc	U+fb8a
+0xcd	U+feb1
+0xce	U+feb3
+0xcf	U+feb5
+0xd0	U+feb7
+0xd1	U+feb9
+0xd2	U+febb
+0xd3	U+febd
+0xd4	U+febf
+0xd5	U+fec3
+0xd6	U+fec7
+0xd7	U+fec9
+0xd8	U+feca
+0xd9	U+fecb
+0xda	U+fecc
+0xdb	U+fecd
+0xdc	U+fece
+0xdd	U+fecf
+0xde	U+fed0
+0xdf	U+fed1
+0xe0	U+fed3
+0xe1	U+fed5
+0xe2	U+fed7
+0xe3	U+fb8e
+0xe4	U+fedb
+0xe5	U+fb92
+0xe6	U+fb94
+0xe7	U+fedd
+0xe8	U+fedf
+0xe9	U+fee0
+0xea	U+fee1
+0xeb	U+fee3
+0xec	U+fb9e
+0xed	U+fee5
+0xee	U+fee7
+0xef	U+fe85
+0xf0	U+feed
+0xf1	U+fba6
+0xf2	U+fba8
+0xf3	U+fba9
+0xf4	U+fbaa
+0xf5	U+fe80
+0xf6	U+fe89
+0xf7	U+fe8a
+0xf8	U+fe8b
+0xf9	U+fbfc
+0xfa	U+fbfd
+0xfb	U+fbfe
+0xfc	U+fbb0
+0xfd	U+fbae
+0xfe	U+fe7c
+0xff	U+fe7d
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/IBM1025.c2b	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,1 @@
+0x15	U+0085
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/IBM1025.map	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,257 @@
+#Generated from IBM1025.java
+0x00	U+0000
+0x01	U+0001
+0x02	U+0002
+0x03	U+0003
+0x04	U+009c
+0x05	U+0009
+0x06	U+0086
+0x07	U+007f
+0x08	U+0097
+0x09	U+008d
+0x0a	U+008e
+0x0b	U+000b
+0x0c	U+000c
+0x0d	U+000d
+0x0e	U+000e
+0x0f	U+000f
+0x10	U+0010
+0x11	U+0011
+0x12	U+0012
+0x13	U+0013
+0x14	U+009d
+0x15	U+000a
+0x16	U+0008
+0x17	U+0087
+0x18	U+0018
+0x19	U+0019
+0x1a	U+0092
+0x1b	U+008f
+0x1c	U+001c
+0x1d	U+001d
+0x1e	U+001e
+0x1f	U+001f
+0x20	U+0080
+0x21	U+0081
+0x22	U+0082
+0x23	U+0083
+0x24	U+0084
+0x25	U+000a
+0x26	U+0017
+0x27	U+001b
+0x28	U+0088
+0x29	U+0089
+0x2a	U+008a
+0x2b	U+008b
+0x2c	U+008c
+0x2d	U+0005
+0x2e	U+0006
+0x2f	U+0007
+0x30	U+0090
+0x31	U+0091
+0x32	U+0016
+0x33	U+0093
+0x34	U+0094
+0x35	U+0095
+0x36	U+0096
+0x37	U+0004
+0x38	U+0098
+0x39	U+0099
+0x3a	U+009a
+0x3b	U+009b
+0x3c	U+0014
+0x3d	U+0015
+0x3e	U+009e
+0x3f	U+001a
+0x40	U+0020
+0x41	U+00a0
+0x42	U+0452
+0x43	U+0453
+0x44	U+0451
+0x45	U+0454
+0x46	U+0455
+0x47	U+0456
+0x48	U+0457
+0x49	U+0458
+0x4a	U+005b
+0x4b	U+002e
+0x4c	U+003c
+0x4d	U+0028
+0x4e	U+002b
+0x4f	U+0021
+0x50	U+0026
+0x51	U+0459
+0x52	U+045a
+0x53	U+045b
+0x54	U+045c
+0x55	U+045e
+0x56	U+045f
+0x57	U+042a
+0x58	U+2116
+0x59	U+0402
+0x5a	U+005d
+0x5b	U+0024
+0x5c	U+002a
+0x5d	U+0029
+0x5e	U+003b
+0x5f	U+005e
+0x60	U+002d
+0x61	U+002f
+0x62	U+0403
+0x63	U+0401
+0x64	U+0404
+0x65	U+0405
+0x66	U+0406
+0x67	U+0407
+0x68	U+0408
+0x69	U+0409
+0x6a	U+007c
+0x6b	U+002c
+0x6c	U+0025
+0x6d	U+005f
+0x6e	U+003e
+0x6f	U+003f
+0x70	U+040a
+0x71	U+040b
+0x72	U+040c
+0x73	U+00ad
+0x74	U+040e
+0x75	U+040f
+0x76	U+044e
+0x77	U+0430
+0x78	U+0431
+0x79	U+0060
+0x7a	U+003a
+0x7b	U+0023
+0x7c	U+0040
+0x7d	U+0027
+0x7e	U+003d
+0x7f	U+0022
+0x80	U+0446
+0x81	U+0061
+0x82	U+0062
+0x83	U+0063
+0x84	U+0064
+0x85	U+0065
+0x86	U+0066
+0x87	U+0067
+0x88	U+0068
+0x89	U+0069
+0x8a	U+0434
+0x8b	U+0435
+0x8c	U+0444
+0x8d	U+0433
+0x8e	U+0445
+0x8f	U+0438
+0x90	U+0439
+0x91	U+006a
+0x92	U+006b
+0x93	U+006c
+0x94	U+006d
+0x95	U+006e
+0x96	U+006f
+0x97	U+0070
+0x98	U+0071
+0x99	U+0072
+0x9a	U+043a
+0x9b	U+043b
+0x9c	U+043c
+0x9d	U+043d
+0x9e	U+043e
+0x9f	U+043f
+0xa0	U+044f
+0xa1	U+007e
+0xa2	U+0073
+0xa3	U+0074
+0xa4	U+0075
+0xa5	U+0076
+0xa6	U+0077
+0xa7	U+0078
+0xa8	U+0079
+0xa9	U+007a
+0xaa	U+0440
+0xab	U+0441
+0xac	U+0442
+0xad	U+0443
+0xae	U+0436
+0xaf	U+0432
+0xb0	U+044c
+0xb1	U+044b
+0xb2	U+0437
+0xb3	U+0448
+0xb4	U+044d
+0xb5	U+0449
+0xb6	U+0447
+0xb7	U+044a
+0xb8	U+042e
+0xb9	U+0410
+0xba	U+0411
+0xbb	U+0426
+0xbc	U+0414
+0xbd	U+0415
+0xbe	U+0424
+0xbf	U+0413
+0xc0	U+007b
+0xc1	U+0041
+0xc2	U+0042
+0xc3	U+0043
+0xc4	U+0044
+0xc5	U+0045
+0xc6	U+0046
+0xc7	U+0047
+0xc8	U+0048
+0xc9	U+0049
+0xca	U+0425
+0xcb	U+0418
+0xcc	U+0419
+0xcd	U+041a
+0xce	U+041b
+0xcf	U+041c
+0xd0	U+007d
+0xd1	U+004a
+0xd2	U+004b
+0xd3	U+004c
+0xd4	U+004d
+0xd5	U+004e
+0xd6	U+004f
+0xd7	U+0050
+0xd8	U+0051
+0xd9	U+0052
+0xda	U+041d
+0xdb	U+041e
+0xdc	U+041f
+0xdd	U+042f
+0xde	U+0420
+0xdf	U+0421
+0xe0	U+005c
+0xe1	U+00a7
+0xe2	U+0053
+0xe3	U+0054
+0xe4	U+0055
+0xe5	U+0056
+0xe6	U+0057
+0xe7	U+0058
+0xe8	U+0059
+0xe9	U+005a
+0xea	U+0422
+0xeb	U+0423
+0xec	U+0416
+0xed	U+0412
+0xee	U+042c
+0xef	U+042b
+0xf0	U+0030
+0xf1	U+0031
+0xf2	U+0032
+0xf3	U+0033
+0xf4	U+0034
+0xf5	U+0035
+0xf6	U+0036
+0xf7	U+0037
+0xf8	U+0038
+0xf9	U+0039
+0xfa	U+0417
+0xfb	U+0428
+0xfc	U+042d
+0xfd	U+0429
+0xfe	U+0427
+0xff	U+009f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/IBM1025.nr	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,1 @@
+0x25	U+000a
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/IBM1026.c2b	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,1 @@
+0x15	U+0085
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/IBM1026.map	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,257 @@
+#Generated from IBM1026.java
+0x00	U+0000
+0x01	U+0001
+0x02	U+0002
+0x03	U+0003
+0x04	U+009c
+0x05	U+0009
+0x06	U+0086
+0x07	U+007f
+0x08	U+0097
+0x09	U+008d
+0x0a	U+008e
+0x0b	U+000b
+0x0c	U+000c
+0x0d	U+000d
+0x0e	U+000e
+0x0f	U+000f
+0x10	U+0010
+0x11	U+0011
+0x12	U+0012
+0x13	U+0013
+0x14	U+009d
+0x15	U+000a
+0x16	U+0008
+0x17	U+0087
+0x18	U+0018
+0x19	U+0019
+0x1a	U+0092
+0x1b	U+008f
+0x1c	U+001c
+0x1d	U+001d
+0x1e	U+001e
+0x1f	U+001f
+0x20	U+0080
+0x21	U+0081
+0x22	U+0082
+0x23	U+0083
+0x24	U+0084
+0x25	U+000a
+0x26	U+0017
+0x27	U+001b
+0x28	U+0088
+0x29	U+0089
+0x2a	U+008a
+0x2b	U+008b
+0x2c	U+008c
+0x2d	U+0005
+0x2e	U+0006
+0x2f	U+0007
+0x30	U+0090
+0x31	U+0091
+0x32	U+0016
+0x33	U+0093
+0x34	U+0094
+0x35	U+0095
+0x36	U+0096
+0x37	U+0004
+0x38	U+0098
+0x39	U+0099
+0x3a	U+009a
+0x3b	U+009b
+0x3c	U+0014
+0x3d	U+0015
+0x3e	U+009e
+0x3f	U+001a
+0x40	U+0020
+0x41	U+00a0
+0x42	U+00e2
+0x43	U+00e4
+0x44	U+00e0
+0x45	U+00e1
+0x46	U+00e3
+0x47	U+00e5
+0x48	U+007b
+0x49	U+00f1
+0x4a	U+00c7
+0x4b	U+002e
+0x4c	U+003c
+0x4d	U+0028
+0x4e	U+002b
+0x4f	U+0021
+0x50	U+0026
+0x51	U+00e9
+0x52	U+00ea
+0x53	U+00eb
+0x54	U+00e8
+0x55	U+00ed
+0x56	U+00ee
+0x57	U+00ef
+0x58	U+00ec
+0x59	U+00df
+0x5a	U+011e
+0x5b	U+0130
+0x5c	U+002a
+0x5d	U+0029
+0x5e	U+003b
+0x5f	U+005e
+0x60	U+002d
+0x61	U+002f
+0x62	U+00c2
+0x63	U+00c4
+0x64	U+00c0
+0x65	U+00c1
+0x66	U+00c3
+0x67	U+00c5
+0x68	U+005b
+0x69	U+00d1
+0x6a	U+015f
+0x6b	U+002c
+0x6c	U+0025
+0x6d	U+005f
+0x6e	U+003e
+0x6f	U+003f
+0x70	U+00f8
+0x71	U+00c9
+0x72	U+00ca
+0x73	U+00cb
+0x74	U+00c8
+0x75	U+00cd
+0x76	U+00ce
+0x77	U+00cf
+0x78	U+00cc
+0x79	U+0131
+0x7a	U+003a
+0x7b	U+00d6
+0x7c	U+015e
+0x7d	U+0027
+0x7e	U+003d
+0x7f	U+00dc
+0x80	U+00d8
+0x81	U+0061
+0x82	U+0062
+0x83	U+0063
+0x84	U+0064
+0x85	U+0065
+0x86	U+0066
+0x87	U+0067
+0x88	U+0068
+0x89	U+0069
+0x8a	U+00ab
+0x8b	U+00bb
+0x8c	U+007d
+0x8d	U+0060
+0x8e	U+00a6
+0x8f	U+00b1
+0x90	U+00b0
+0x91	U+006a
+0x92	U+006b
+0x93	U+006c
+0x94	U+006d
+0x95	U+006e
+0x96	U+006f
+0x97	U+0070
+0x98	U+0071
+0x99	U+0072
+0x9a	U+00aa
+0x9b	U+00ba
+0x9c	U+00e6
+0x9d	U+00b8
+0x9e	U+00c6
+0x9f	U+00a4
+0xa0	U+00b5
+0xa1	U+00f6
+0xa2	U+0073
+0xa3	U+0074
+0xa4	U+0075
+0xa5	U+0076
+0xa6	U+0077
+0xa7	U+0078
+0xa8	U+0079
+0xa9	U+007a
+0xaa	U+00a1
+0xab	U+00bf
+0xac	U+005d
+0xad	U+0024
+0xae	U+0040
+0xaf	U+00ae
+0xb0	U+00a2
+0xb1	U+00a3
+0xb2	U+00a5
+0xb3	U+00b7
+0xb4	U+00a9
+0xb5	U+00a7
+0xb6	U+00b6
+0xb7	U+00bc
+0xb8	U+00bd
+0xb9	U+00be
+0xba	U+00ac
+0xbb	U+007c
+0xbc	U+00af
+0xbd	U+00a8
+0xbe	U+00b4
+0xbf	U+00d7
+0xc0	U+00e7
+0xc1	U+0041
+0xc2	U+0042
+0xc3	U+0043
+0xc4	U+0044
+0xc5	U+0045
+0xc6	U+0046
+0xc7	U+0047
+0xc8	U+0048
+0xc9	U+0049
+0xca	U+00ad
+0xcb	U+00f4
+0xcc	U+007e
+0xcd	U+00f2
+0xce	U+00f3
+0xcf	U+00f5
+0xd0	U+011f
+0xd1	U+004a
+0xd2	U+004b
+0xd3	U+004c
+0xd4	U+004d
+0xd5	U+004e
+0xd6	U+004f
+0xd7	U+0050
+0xd8	U+0051
+0xd9	U+0052
+0xda	U+00b9
+0xdb	U+00fb
+0xdc	U+005c
+0xdd	U+00f9
+0xde	U+00fa
+0xdf	U+00ff
+0xe0	U+00fc
+0xe1	U+00f7
+0xe2	U+0053
+0xe3	U+0054
+0xe4	U+0055
+0xe5	U+0056
+0xe6	U+0057
+0xe7	U+0058
+0xe8	U+0059
+0xe9	U+005a
+0xea	U+00b2
+0xeb	U+00d4
+0xec	U+0023
+0xed	U+00d2
+0xee	U+00d3
+0xef	U+00d5
+0xf0	U+0030
+0xf1	U+0031
+0xf2	U+0032
+0xf3	U+0033
+0xf4	U+0034
+0xf5	U+0035
+0xf6	U+0036
+0xf7	U+0037
+0xf8	U+0038
+0xf9	U+0039
+0xfa	U+00b3
+0xfb	U+00db
+0xfc	U+0022
+0xfd	U+00d9
+0xfe	U+00da
+0xff	U+009f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/IBM1026.nr	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,1 @@
+0x25	U+000a
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/IBM1046.map	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,257 @@
+#Generated from IBM1046.java
+0x00	U+0000
+0x01	U+0001
+0x02	U+0002
+0x03	U+0003
+0x04	U+0004
+0x05	U+0005
+0x06	U+0006
+0x07	U+0007
+0x08	U+0008
+0x09	U+0009
+0x0a	U+000a
+0x0b	U+000b
+0x0c	U+000c
+0x0d	U+000d
+0x0e	U+000e
+0x0f	U+000f
+0x10	U+0010
+0x11	U+0011
+0x12	U+0012
+0x13	U+0013
+0x14	U+0014
+0x15	U+0015
+0x16	U+0016
+0x17	U+0017
+0x18	U+0018
+0x19	U+0019
+0x1a	U+001a
+0x1b	U+001b
+0x1c	U+001c
+0x1d	U+001d
+0x1e	U+001e
+0x1f	U+001f
+0x20	U+0020
+0x21	U+0021
+0x22	U+0022
+0x23	U+0023
+0x24	U+0024
+0x25	U+0025
+0x26	U+0026
+0x27	U+0027
+0x28	U+0028
+0x29	U+0029
+0x2a	U+002a
+0x2b	U+002b
+0x2c	U+002c
+0x2d	U+002d
+0x2e	U+002e
+0x2f	U+002f
+0x30	U+0030
+0x31	U+0031
+0x32	U+0032
+0x33	U+0033
+0x34	U+0034
+0x35	U+0035
+0x36	U+0036
+0x37	U+0037
+0x38	U+0038
+0x39	U+0039
+0x3a	U+003a
+0x3b	U+003b
+0x3c	U+003c
+0x3d	U+003d
+0x3e	U+003e
+0x3f	U+003f
+0x40	U+0040
+0x41	U+0041
+0x42	U+0042
+0x43	U+0043
+0x44	U+0044
+0x45	U+0045
+0x46	U+0046
+0x47	U+0047
+0x48	U+0048
+0x49	U+0049
+0x4a	U+004a
+0x4b	U+004b
+0x4c	U+004c
+0x4d	U+004d
+0x4e	U+004e
+0x4f	U+004f
+0x50	U+0050
+0x51	U+0051
+0x52	U+0052
+0x53	U+0053
+0x54	U+0054
+0x55	U+0055
+0x56	U+0056
+0x57	U+0057
+0x58	U+0058
+0x59	U+0059
+0x5a	U+005a
+0x5b	U+005b
+0x5c	U+005c
+0x5d	U+005d
+0x5e	U+005e
+0x5f	U+005f
+0x60	U+0060
+0x61	U+0061
+0x62	U+0062
+0x63	U+0063
+0x64	U+0064
+0x65	U+0065
+0x66	U+0066
+0x67	U+0067
+0x68	U+0068
+0x69	U+0069
+0x6a	U+006a
+0x6b	U+006b
+0x6c	U+006c
+0x6d	U+006d
+0x6e	U+006e
+0x6f	U+006f
+0x70	U+0070
+0x71	U+0071
+0x72	U+0072
+0x73	U+0073
+0x74	U+0074
+0x75	U+0075
+0x76	U+0076
+0x77	U+0077
+0x78	U+0078
+0x79	U+0079
+0x7a	U+007a
+0x7b	U+007b
+0x7c	U+007c
+0x7d	U+007d
+0x7e	U+007e
+0x7f	U+007f
+0x80	U+fe88
+0x81	U+00d7
+0x82	U+00f7
+0x83	U+f8f6
+0x84	U+f8f5
+0x85	U+f8f4
+0x86	U+f8f7
+0x87	U+fe71
+0x88	U+0088
+0x89	U+25a0
+0x8a	U+2502
+0x8b	U+2500
+0x8c	U+2510
+0x8d	U+250c
+0x8e	U+2514
+0x8f	U+2518
+0x90	U+fe79
+0x91	U+fe7b
+0x92	U+fe7d
+0x93	U+fe7f
+0x94	U+fe77
+0x95	U+fe8a
+0x96	U+fef0
+0x97	U+fef3
+0x98	U+fef2
+0x99	U+fece
+0x9a	U+fecf
+0x9b	U+fed0
+0x9c	U+fef6
+0x9d	U+fef8
+0x9e	U+fefa
+0x9f	U+fefc
+0xa0	U+00a0
+0xa1	U+f8fa
+0xa2	U+f8f9
+0xa3	U+f8f8
+0xa4	U+00a4
+0xa5	U+f8fb
+0xa6	U+fe8b
+0xa7	U+fe91
+0xa8	U+fe97
+0xa9	U+fe9b
+0xaa	U+fe9f
+0xab	U+fea3
+0xac	U+060c
+0xad	U+00ad
+0xae	U+fea7
+0xaf	U+feb3
+0xb0	U+0660
+0xb1	U+0661
+0xb2	U+0662
+0xb3	U+0663
+0xb4	U+0664
+0xb5	U+0665
+0xb6	U+0666
+0xb7	U+0667
+0xb8	U+0668
+0xb9	U+0669
+0xba	U+feb7
+0xbb	U+061b
+0xbc	U+febb
+0xbd	U+febf
+0xbe	U+feca
+0xbf	U+061f
+0xc0	U+fecb
+0xc1	U+fe80
+0xc2	U+fe81
+0xc3	U+fe83
+0xc4	U+fe85
+0xc5	U+fe87
+0xc6	U+fe89
+0xc7	U+fe8d
+0xc8	U+fe8f
+0xc9	U+fe93
+0xca	U+fe95
+0xcb	U+fe99
+0xcc	U+fe9d
+0xcd	U+fea1
+0xce	U+fea5
+0xcf	U+fea9
+0xd0	U+feab
+0xd1	U+fead
+0xd2	U+feaf
+0xd3	U+feb1
+0xd4	U+feb5
+0xd5	U+feb9
+0xd6	U+febd
+0xd7	U+fec3
+0xd8	U+fec7
+0xd9	U+fec9
+0xda	U+fecd
+0xdb	U+fecc
+0xdc	U+fe82
+0xdd	U+fe84
+0xde	U+fe8e
+0xdf	U+fed3
+0xe0	U+0640
+0xe1	U+fed1
+0xe2	U+fed5
+0xe3	U+fed9
+0xe4	U+fedd
+0xe5	U+fee1
+0xe6	U+fee5
+0xe7	U+feeb
+0xe8	U+feed
+0xe9	U+feef
+0xea	U+fef1
+0xeb	U+fe70
+0xec	U+fe72
+0xed	U+fe74
+0xee	U+fe76
+0xef	U+fe78
+0xf0	U+fe7a
+0xf1	U+fe7c
+0xf2	U+fe7e
+0xf3	U+fed7
+0xf4	U+fedb
+0xf5	U+fedf
+0xf6	U+f8fc
+0xf7	U+fef5
+0xf8	U+fef7
+0xf9	U+fef9
+0xfa	U+fefb
+0xfb	U+fee3
+0xfc	U+fee7
+0xfd	U+feec
+0xfe	U+fee9
+0xff	U+fffd
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/IBM1047.map	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,257 @@
+#Generated from IBM1047.java
+0x00	U+0000
+0x01	U+0001
+0x02	U+0002
+0x03	U+0003
+0x04	U+009c
+0x05	U+0009
+0x06	U+0086
+0x07	U+007f
+0x08	U+0097
+0x09	U+008d
+0x0a	U+008e
+0x0b	U+000b
+0x0c	U+000c
+0x0d	U+000d
+0x0e	U+000e
+0x0f	U+000f
+0x10	U+0010
+0x11	U+0011
+0x12	U+0012
+0x13	U+0013
+0x14	U+009d
+0x15	U+000a
+0x16	U+0008
+0x17	U+0087
+0x18	U+0018
+0x19	U+0019
+0x1a	U+0092
+0x1b	U+008f
+0x1c	U+001c
+0x1d	U+001d
+0x1e	U+001e
+0x1f	U+001f
+0x20	U+0080
+0x21	U+0081
+0x22	U+0082
+0x23	U+0083
+0x24	U+0084
+0x25	U+0085
+0x26	U+0017
+0x27	U+001b
+0x28	U+0088
+0x29	U+0089
+0x2a	U+008a
+0x2b	U+008b
+0x2c	U+008c
+0x2d	U+0005
+0x2e	U+0006
+0x2f	U+0007
+0x30	U+0090
+0x31	U+0091
+0x32	U+0016
+0x33	U+0093
+0x34	U+0094
+0x35	U+0095
+0x36	U+0096
+0x37	U+0004
+0x38	U+0098
+0x39	U+0099
+0x3a	U+009a
+0x3b	U+009b
+0x3c	U+0014
+0x3d	U+0015
+0x3e	U+009e
+0x3f	U+001a
+0x40	U+0020
+0x41	U+00a0
+0x42	U+00e2
+0x43	U+00e4
+0x44	U+00e0
+0x45	U+00e1
+0x46	U+00e3
+0x47	U+00e5
+0x48	U+00e7
+0x49	U+00f1
+0x4a	U+00a2
+0x4b	U+002e
+0x4c	U+003c
+0x4d	U+0028
+0x4e	U+002b
+0x4f	U+007c
+0x50	U+0026
+0x51	U+00e9
+0x52	U+00ea
+0x53	U+00eb
+0x54	U+00e8
+0x55	U+00ed
+0x56	U+00ee
+0x57	U+00ef
+0x58	U+00ec
+0x59	U+00df
+0x5a	U+0021
+0x5b	U+0024
+0x5c	U+002a
+0x5d	U+0029
+0x5e	U+003b
+0x5f	U+005e
+0x60	U+002d
+0x61	U+002f
+0x62	U+00c2
+0x63	U+00c4
+0x64	U+00c0
+0x65	U+00c1
+0x66	U+00c3
+0x67	U+00c5
+0x68	U+00c7
+0x69	U+00d1
+0x6a	U+00a6
+0x6b	U+002c
+0x6c	U+0025
+0x6d	U+005f
+0x6e	U+003e
+0x6f	U+003f
+0x70	U+00f8
+0x71	U+00c9
+0x72	U+00ca
+0x73	U+00cb
+0x74	U+00c8
+0x75	U+00cd
+0x76	U+00ce
+0x77	U+00cf
+0x78	U+00cc
+0x79	U+0060
+0x7a	U+003a
+0x7b	U+0023
+0x7c	U+0040
+0x7d	U+0027
+0x7e	U+003d
+0x7f	U+0022
+0x80	U+00d8
+0x81	U+0061
+0x82	U+0062
+0x83	U+0063
+0x84	U+0064
+0x85	U+0065
+0x86	U+0066
+0x87	U+0067
+0x88	U+0068
+0x89	U+0069
+0x8a	U+00ab
+0x8b	U+00bb
+0x8c	U+00f0
+0x8d	U+00fd
+0x8e	U+00fe
+0x8f	U+00b1
+0x90	U+00b0
+0x91	U+006a
+0x92	U+006b
+0x93	U+006c
+0x94	U+006d
+0x95	U+006e
+0x96	U+006f
+0x97	U+0070
+0x98	U+0071
+0x99	U+0072
+0x9a	U+00aa
+0x9b	U+00ba
+0x9c	U+00e6
+0x9d	U+00b8
+0x9e	U+00c6
+0x9f	U+00a4
+0xa0	U+00b5
+0xa1	U+007e
+0xa2	U+0073
+0xa3	U+0074
+0xa4	U+0075
+0xa5	U+0076
+0xa6	U+0077
+0xa7	U+0078
+0xa8	U+0079
+0xa9	U+007a
+0xaa	U+00a1
+0xab	U+00bf
+0xac	U+00d0
+0xad	U+005b
+0xae	U+00de
+0xaf	U+00ae
+0xb0	U+00ac
+0xb1	U+00a3
+0xb2	U+00a5
+0xb3	U+00b7
+0xb4	U+00a9
+0xb5	U+00a7
+0xb6	U+00b6
+0xb7	U+00bc
+0xb8	U+00bd
+0xb9	U+00be
+0xba	U+00dd
+0xbb	U+00a8
+0xbc	U+00af
+0xbd	U+005d
+0xbe	U+00b4
+0xbf	U+00d7
+0xc0	U+007b
+0xc1	U+0041
+0xc2	U+0042
+0xc3	U+0043
+0xc4	U+0044
+0xc5	U+0045
+0xc6	U+0046
+0xc7	U+0047
+0xc8	U+0048
+0xc9	U+0049
+0xca	U+00ad
+0xcb	U+00f4
+0xcc	U+00f6
+0xcd	U+00f2
+0xce	U+00f3
+0xcf	U+00f5
+0xd0	U+007d
+0xd1	U+004a
+0xd2	U+004b
+0xd3	U+004c
+0xd4	U+004d
+0xd5	U+004e
+0xd6	U+004f
+0xd7	U+0050
+0xd8	U+0051
+0xd9	U+0052
+0xda	U+00b9
+0xdb	U+00fb
+0xdc	U+00fc
+0xdd	U+00f9
+0xde	U+00fa
+0xdf	U+00ff
+0xe0	U+005c
+0xe1	U+00f7
+0xe2	U+0053
+0xe3	U+0054
+0xe4	U+0055
+0xe5	U+0056
+0xe6	U+0057
+0xe7	U+0058
+0xe8	U+0059
+0xe9	U+005a
+0xea	U+00b2
+0xeb	U+00d4
+0xec	U+00d6
+0xed	U+00d2
+0xee	U+00d3
+0xef	U+00d5
+0xf0	U+0030
+0xf1	U+0031
+0xf2	U+0032
+0xf3	U+0033
+0xf4	U+0034
+0xf5	U+0035
+0xf6	U+0036
+0xf7	U+0037
+0xf8	U+0038
+0xf9	U+0039
+0xfa	U+00b3
+0xfb	U+00db
+0xfc	U+00dc
+0xfd	U+00d9
+0xfe	U+00da
+0xff	U+009f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/IBM1097.map	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,257 @@
+#Generated from IBM1097.java
+0x00	U+0000
+0x01	U+0001
+0x02	U+0002
+0x03	U+0003
+0x04	U+009c
+0x05	U+0009
+0x06	U+0086
+0x07	U+007f
+0x08	U+0097
+0x09	U+008d
+0x0a	U+008e
+0x0b	U+000b
+0x0c	U+000c
+0x0d	U+000d
+0x0e	U+000e
+0x0f	U+000f
+0x10	U+0010
+0x11	U+0011
+0x12	U+0012
+0x13	U+0013
+0x14	U+009d
+0x15	U+0085
+0x16	U+0008
+0x17	U+0087
+0x18	U+0018
+0x19	U+0019
+0x1a	U+0092
+0x1b	U+008f
+0x1c	U+001c
+0x1d	U+001d
+0x1e	U+001e
+0x1f	U+001f
+0x20	U+0080
+0x21	U+0081
+0x22	U+0082
+0x23	U+0083
+0x24	U+0084
+0x25	U+000a
+0x26	U+0017
+0x27	U+001b
+0x28	U+0088
+0x29	U+0089
+0x2a	U+008a
+0x2b	U+008b
+0x2c	U+008c
+0x2d	U+0005
+0x2e	U+0006
+0x2f	U+0007
+0x30	U+0090
+0x31	U+0091
+0x32	U+0016
+0x33	U+0093
+0x34	U+0094
+0x35	U+0095
+0x36	U+0096
+0x37	U+0004
+0x38	U+0098
+0x39	U+0099
+0x3a	U+009a
+0x3b	U+009b
+0x3c	U+0014
+0x3d	U+0015
+0x3e	U+009e
+0x3f	U+001a
+0x40	U+0020
+0x41	U+00a0
+0x42	U+060c
+0x43	U+064b
+0x44	U+fe81
+0x45	U+fe82
+0x46	U+f8fa
+0x47	U+fe8d
+0x48	U+fe8e
+0x49	U+f8fb
+0x4a	U+00a4
+0x4b	U+002e
+0x4c	U+003c
+0x4d	U+0028
+0x4e	U+002b
+0x4f	U+007c
+0x50	U+0026
+0x51	U+fe80
+0x52	U+fe83
+0x53	U+fe84
+0x54	U+f8f9
+0x55	U+fe85
+0x56	U+fe8b
+0x57	U+fe8f
+0x58	U+fe91
+0x59	U+fb56
+0x5a	U+0021
+0x5b	U+0024
+0x5c	U+002a
+0x5d	U+0029
+0x5e	U+003b
+0x5f	U+00ac
+0x60	U+002d
+0x61	U+002f
+0x62	U+fb58
+0x63	U+fe95
+0x64	U+fe97
+0x65	U+fe99
+0x66	U+fe9b
+0x67	U+fe9d
+0x68	U+fe9f
+0x69	U+fb7a
+0x6a	U+061b
+0x6b	U+002c
+0x6c	U+0025
+0x6d	U+005f
+0x6e	U+003e
+0x6f	U+003f
+0x70	U+fb7c
+0x71	U+fea1
+0x72	U+fea3
+0x73	U+fea5
+0x74	U+fea7
+0x75	U+fea9
+0x76	U+feab
+0x77	U+fead
+0x78	U+feaf
+0x79	U+0060
+0x7a	U+003a
+0x7b	U+0023
+0x7c	U+0040
+0x7d	U+0027
+0x7e	U+003d
+0x7f	U+0022
+0x80	U+fb8a
+0x81	U+0061
+0x82	U+0062
+0x83	U+0063
+0x84	U+0064
+0x85	U+0065
+0x86	U+0066
+0x87	U+0067
+0x88	U+0068
+0x89	U+0069
+0x8a	U+00ab
+0x8b	U+00bb
+0x8c	U+feb1
+0x8d	U+feb3
+0x8e	U+feb5
+0x8f	U+feb7
+0x90	U+feb9
+0x91	U+006a
+0x92	U+006b
+0x93	U+006c
+0x94	U+006d
+0x95	U+006e
+0x96	U+006f
+0x97	U+0070
+0x98	U+0071
+0x99	U+0072
+0x9a	U+febb
+0x9b	U+febd
+0x9c	U+febf
+0x9d	U+fec1
+0x9e	U+fec3
+0x9f	U+fec5
+0xa0	U+fec7
+0xa1	U+007e
+0xa2	U+0073
+0xa3	U+0074
+0xa4	U+0075
+0xa5	U+0076
+0xa6	U+0077
+0xa7	U+0078
+0xa8	U+0079
+0xa9	U+007a
+0xaa	U+fec9
+0xab	U+feca
+0xac	U+fecb
+0xad	U+fecc
+0xae	U+fecd
+0xaf	U+fece
+0xb0	U+fecf
+0xb1	U+fed0
+0xb2	U+fed1
+0xb3	U+fed3
+0xb4	U+fed5
+0xb5	U+fed7
+0xb6	U+fb8e
+0xb7	U+fedb
+0xb8	U+fb92
+0xb9	U+fb94
+0xba	U+005b
+0xbb	U+005d
+0xbc	U+fedd
+0xbd	U+fedf
+0xbe	U+fee1
+0xbf	U+00d7
+0xc0	U+007b
+0xc1	U+0041
+0xc2	U+0042
+0xc3	U+0043
+0xc4	U+0044
+0xc5	U+0045
+0xc6	U+0046
+0xc7	U+0047
+0xc8	U+0048
+0xc9	U+0049
+0xca	U+00ad
+0xcb	U+fee3
+0xcc	U+fee5
+0xcd	U+fee7
+0xce	U+feed
+0xcf	U+fee9
+0xd0	U+007d
+0xd1	U+004a
+0xd2	U+004b
+0xd3	U+004c
+0xd4	U+004d
+0xd5	U+004e
+0xd6	U+004f
+0xd7	U+0050
+0xd8	U+0051
+0xd9	U+0052
+0xda	U+feeb
+0xdb	U+feec
+0xdc	U+fba4
+0xdd	U+fbfc
+0xde	U+fbfd
+0xdf	U+fbfe
+0xe0	U+005c
+0xe1	U+061f
+0xe2	U+0053
+0xe3	U+0054
+0xe4	U+0055
+0xe5	U+0056
+0xe6	U+0057
+0xe7	U+0058
+0xe8	U+0059
+0xe9	U+005a
+0xea	U+0640
+0xeb	U+06f0
+0xec	U+06f1
+0xed	U+06f2
+0xee	U+06f3
+0xef	U+06f4
+0xf0	U+0030
+0xf1	U+0031
+0xf2	U+0032
+0xf3	U+0033
+0xf4	U+0034
+0xf5	U+0035
+0xf6	U+0036
+0xf7	U+0037
+0xf8	U+0038
+0xf9	U+0039
+0xfa	U+06f5
+0xfb	U+06f6
+0xfc	U+06f7
+0xfd	U+06f8
+0xfe	U+06f9
+0xff	U+009f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/IBM1098.map	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,257 @@
+#Generated from IBM1098.java
+0x00	U+0000
+0x01	U+0001
+0x02	U+0002
+0x03	U+0003
+0x04	U+0004
+0x05	U+0005
+0x06	U+0006
+0x07	U+0007
+0x08	U+0008
+0x09	U+0009
+0x0a	U+000a
+0x0b	U+000b
+0x0c	U+000c
+0x0d	U+000d
+0x0e	U+000e
+0x0f	U+000f
+0x10	U+0010
+0x11	U+0011
+0x12	U+0012
+0x13	U+0013
+0x14	U+0014
+0x15	U+0015
+0x16	U+0016
+0x17	U+0017
+0x18	U+0018
+0x19	U+0019
+0x1a	U+001a
+0x1b	U+001b
+0x1c	U+001c
+0x1d	U+001d
+0x1e	U+001e
+0x1f	U+001f
+0x20	U+0020
+0x21	U+0021
+0x22	U+0022
+0x23	U+0023
+0x24	U+0024
+0x25	U+0025
+0x26	U+0026
+0x27	U+0027
+0x28	U+0028
+0x29	U+0029
+0x2a	U+002a
+0x2b	U+002b
+0x2c	U+002c
+0x2d	U+002d
+0x2e	U+002e
+0x2f	U+002f
+0x30	U+0030
+0x31	U+0031
+0x32	U+0032
+0x33	U+0033
+0x34	U+0034
+0x35	U+0035
+0x36	U+0036
+0x37	U+0037
+0x38	U+0038
+0x39	U+0039
+0x3a	U+003a
+0x3b	U+003b
+0x3c	U+003c
+0x3d	U+003d
+0x3e	U+003e
+0x3f	U+003f
+0x40	U+0040
+0x41	U+0041
+0x42	U+0042
+0x43	U+0043
+0x44	U+0044
+0x45	U+0045
+0x46	U+0046
+0x47	U+0047
+0x48	U+0048
+0x49	U+0049
+0x4a	U+004a
+0x4b	U+004b
+0x4c	U+004c
+0x4d	U+004d
+0x4e	U+004e
+0x4f	U+004f
+0x50	U+0050
+0x51	U+0051
+0x52	U+0052
+0x53	U+0053
+0x54	U+0054
+0x55	U+0055
+0x56	U+0056
+0x57	U+0057
+0x58	U+0058
+0x59	U+0059
+0x5a	U+005a
+0x5b	U+005b
+0x5c	U+005c
+0x5d	U+005d
+0x5e	U+005e
+0x5f	U+005f
+0x60	U+0060
+0x61	U+0061
+0x62	U+0062
+0x63	U+0063
+0x64	U+0064
+0x65	U+0065
+0x66	U+0066
+0x67	U+0067
+0x68	U+0068
+0x69	U+0069
+0x6a	U+006a
+0x6b	U+006b
+0x6c	U+006c
+0x6d	U+006d
+0x6e	U+006e
+0x6f	U+006f
+0x70	U+0070
+0x71	U+0071
+0x72	U+0072
+0x73	U+0073
+0x74	U+0074
+0x75	U+0075
+0x76	U+0076
+0x77	U+0077
+0x78	U+0078
+0x79	U+0079
+0x7a	U+007a
+0x7b	U+007b
+0x7c	U+007c
+0x7d	U+007d
+0x7e	U+007e
+0x7f	U+007f
+0x80	U+fffd
+0x81	U+fffd
+0x82	U+060c
+0x83	U+061b
+0x84	U+061f
+0x85	U+064b
+0x86	U+fe81
+0x87	U+fe82
+0x88	U+f8fa
+0x89	U+fe8d
+0x8a	U+fe8e
+0x8b	U+f8fb
+0x8c	U+fe80
+0x8d	U+fe83
+0x8e	U+fe84
+0x8f	U+f8f9
+0x90	U+fe85
+0x91	U+fe8b
+0x92	U+fe8f
+0x93	U+fe91
+0x94	U+fb56
+0x95	U+fb58
+0x96	U+fe95
+0x97	U+fe97
+0x98	U+fe99
+0x99	U+fe9b
+0x9a	U+fe9d
+0x9b	U+fe9f
+0x9c	U+fb7a
+0x9d	U+fb7c
+0x9e	U+00d7
+0x9f	U+fea1
+0xa0	U+fea3
+0xa1	U+fea5
+0xa2	U+fea7
+0xa3	U+fea9
+0xa4	U+feab
+0xa5	U+fead
+0xa6	U+feaf
+0xa7	U+fb8a
+0xa8	U+feb1
+0xa9	U+feb3
+0xaa	U+feb5
+0xab	U+feb7
+0xac	U+feb9
+0xad	U+febb
+0xae	U+00ab
+0xaf	U+00bb
+0xb0	U+2591
+0xb1	U+2592
+0xb2	U+2593
+0xb3	U+2502
+0xb4	U+2524
+0xb5	U+febd
+0xb6	U+febf
+0xb7	U+fec1
+0xb8	U+fec3
+0xb9	U+2563
+0xba	U+2551
+0xbb	U+2557
+0xbc	U+255d
+0xbd	U+00a4
+0xbe	U+fec5
+0xbf	U+2510
+0xc0	U+2514
+0xc1	U+2534
+0xc2	U+252c
+0xc3	U+251c
+0xc4	U+2500
+0xc5	U+253c
+0xc6	U+fec7
+0xc7	U+fec9
+0xc8	U+255a
+0xc9	U+2554
+0xca	U+2569
+0xcb	U+2566
+0xcc	U+2560
+0xcd	U+2550
+0xce	U+256c
+0xcf	U+fffd
+0xd0	U+feca
+0xd1	U+fecb
+0xd2	U+fecc
+0xd3	U+fecd
+0xd4	U+fece
+0xd5	U+fecf
+0xd6	U+fed0
+0xd7	U+fed1
+0xd8	U+fed3
+0xd9	U+2518
+0xda	U+250c
+0xdb	U+2588
+0xdc	U+2584
+0xdd	U+fed5
+0xde	U+fed7
+0xdf	U+2580
+0xe0	U+fb8e
+0xe1	U+fedb
+0xe2	U+fb92
+0xe3	U+fb94
+0xe4	U+fedd
+0xe5	U+fedf
+0xe6	U+fee1
+0xe7	U+fee3
+0xe8	U+fee5
+0xe9	U+fee7
+0xea	U+feed
+0xeb	U+fee9
+0xec	U+feeb
+0xed	U+feec
+0xee	U+fba4
+0xef	U+fbfc
+0xf0	U+00ad
+0xf1	U+fbfd
+0xf2	U+fbfe
+0xf3	U+0640
+0xf4	U+06f0
+0xf5	U+06f1
+0xf6	U+06f2
+0xf7	U+06f3
+0xf8	U+06f4
+0xf9	U+06f5
+0xfa	U+06f6
+0xfb	U+06f7
+0xfc	U+06f8
+0xfd	U+06f9
+0xfe	U+25a0
+0xff	U+00a0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/IBM1112.c2b	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,1 @@
+0x15	U+0085
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/IBM1112.map	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,257 @@
+#Generated from IBM1112.java
+0x00	U+0000
+0x01	U+0001
+0x02	U+0002
+0x03	U+0003
+0x04	U+009c
+0x05	U+0009
+0x06	U+0086
+0x07	U+007f
+0x08	U+0097
+0x09	U+008d
+0x0a	U+008e
+0x0b	U+000b
+0x0c	U+000c
+0x0d	U+000d
+0x0e	U+000e
+0x0f	U+000f
+0x10	U+0010
+0x11	U+0011
+0x12	U+0012
+0x13	U+0013
+0x14	U+009d
+0x15	U+000a
+0x16	U+0008
+0x17	U+0087
+0x18	U+0018
+0x19	U+0019
+0x1a	U+0092
+0x1b	U+008f
+0x1c	U+001c
+0x1d	U+001d
+0x1e	U+001e
+0x1f	U+001f
+0x20	U+0080
+0x21	U+0081
+0x22	U+0082
+0x23	U+0083
+0x24	U+0084
+0x25	U+000a
+0x26	U+0017
+0x27	U+001b
+0x28	U+0088
+0x29	U+0089
+0x2a	U+008a
+0x2b	U+008b
+0x2c	U+008c
+0x2d	U+0005
+0x2e	U+0006
+0x2f	U+0007
+0x30	U+0090
+0x31	U+0091
+0x32	U+0016
+0x33	U+0093
+0x34	U+0094
+0x35	U+0095
+0x36	U+0096
+0x37	U+0004
+0x38	U+0098
+0x39	U+0099
+0x3a	U+009a
+0x3b	U+009b
+0x3c	U+0014
+0x3d	U+0015
+0x3e	U+009e
+0x3f	U+001a
+0x40	U+0020
+0x41	U+00a0
+0x42	U+0161
+0x43	U+00e4
+0x44	U+0105
+0x45	U+012f
+0x46	U+016b
+0x47	U+00e5
+0x48	U+0113
+0x49	U+017e
+0x4a	U+00a2
+0x4b	U+002e
+0x4c	U+003c
+0x4d	U+0028
+0x4e	U+002b
+0x4f	U+007c
+0x50	U+0026
+0x51	U+00e9
+0x52	U+0119
+0x53	U+0117
+0x54	U+010d
+0x55	U+0173
+0x56	U+201e
+0x57	U+201c
+0x58	U+0123
+0x59	U+00df
+0x5a	U+0021
+0x5b	U+0024
+0x5c	U+002a
+0x5d	U+0029
+0x5e	U+003b
+0x5f	U+00ac
+0x60	U+002d
+0x61	U+002f
+0x62	U+0160
+0x63	U+00c4
+0x64	U+0104
+0x65	U+012e
+0x66	U+016a
+0x67	U+00c5
+0x68	U+0112
+0x69	U+017d
+0x6a	U+00a6
+0x6b	U+002c
+0x6c	U+0025
+0x6d	U+005f
+0x6e	U+003e
+0x6f	U+003f
+0x70	U+00f8
+0x71	U+00c9
+0x72	U+0118
+0x73	U+0116
+0x74	U+010c
+0x75	U+0172
+0x76	U+012a
+0x77	U+013b
+0x78	U+0122
+0x79	U+0060
+0x7a	U+003a
+0x7b	U+0023
+0x7c	U+0040
+0x7d	U+0027
+0x7e	U+003d
+0x7f	U+0022
+0x80	U+00d8
+0x81	U+0061
+0x82	U+0062
+0x83	U+0063
+0x84	U+0064
+0x85	U+0065
+0x86	U+0066
+0x87	U+0067
+0x88	U+0068
+0x89	U+0069
+0x8a	U+00ab
+0x8b	U+00bb
+0x8c	U+0101
+0x8d	U+017c
+0x8e	U+0144
+0x8f	U+00b1
+0x90	U+00b0
+0x91	U+006a
+0x92	U+006b
+0x93	U+006c
+0x94	U+006d
+0x95	U+006e
+0x96	U+006f
+0x97	U+0070
+0x98	U+0071
+0x99	U+0072
+0x9a	U+0156
+0x9b	U+0157
+0x9c	U+00e6
+0x9d	U+0137
+0x9e	U+00c6
+0x9f	U+00a4
+0xa0	U+00b5
+0xa1	U+007e
+0xa2	U+0073
+0xa3	U+0074
+0xa4	U+0075
+0xa5	U+0076
+0xa6	U+0077
+0xa7	U+0078
+0xa8	U+0079
+0xa9	U+007a
+0xaa	U+201d
+0xab	U+017a
+0xac	U+0100
+0xad	U+017b
+0xae	U+0143
+0xaf	U+00ae
+0xb0	U+005e
+0xb1	U+00a3
+0xb2	U+012b
+0xb3	U+00b7
+0xb4	U+00a9
+0xb5	U+00a7
+0xb6	U+00b6
+0xb7	U+00bc
+0xb8	U+00bd
+0xb9	U+00be
+0xba	U+005b
+0xbb	U+005d
+0xbc	U+0179
+0xbd	U+0136
+0xbe	U+013c
+0xbf	U+00d7
+0xc0	U+007b
+0xc1	U+0041
+0xc2	U+0042
+0xc3	U+0043
+0xc4	U+0044
+0xc5	U+0045
+0xc6	U+0046
+0xc7	U+0047
+0xc8	U+0048
+0xc9	U+0049
+0xca	U+00ad
+0xcb	U+014d
+0xcc	U+00f6
+0xcd	U+0146
+0xce	U+00f3
+0xcf	U+00f5
+0xd0	U+007d
+0xd1	U+004a
+0xd2	U+004b
+0xd3	U+004c
+0xd4	U+004d
+0xd5	U+004e
+0xd6	U+004f
+0xd7	U+0050
+0xd8	U+0051
+0xd9	U+0052
+0xda	U+00b9
+0xdb	U+0107
+0xdc	U+00fc
+0xdd	U+0142
+0xde	U+015b
+0xdf	U+2019
+0xe0	U+005c
+0xe1	U+00f7
+0xe2	U+0053
+0xe3	U+0054
+0xe4	U+0055
+0xe5	U+0056
+0xe6	U+0057
+0xe7	U+0058
+0xe8	U+0059
+0xe9	U+005a
+0xea	U+00b2
+0xeb	U+014c
+0xec	U+00d6
+0xed	U+0145
+0xee	U+00d3
+0xef	U+00d5
+0xf0	U+0030
+0xf1	U+0031
+0xf2	U+0032
+0xf3	U+0033
+0xf4	U+0034
+0xf5	U+0035
+0xf6	U+0036
+0xf7	U+0037
+0xf8	U+0038
+0xf9	U+0039
+0xfa	U+00b3
+0xfb	U+0106
+0xfc	U+00dc
+0xfd	U+0141
+0xfe	U+015a
+0xff	U+009f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/IBM1112.nr	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,1 @@
+0x25	U+000a
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/IBM1122.c2b	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,1 @@
+0x15	U+0085
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/IBM1122.map	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,257 @@
+#Generated from IBM1122.java
+0x00	U+0000
+0x01	U+0001
+0x02	U+0002
+0x03	U+0003
+0x04	U+009c
+0x05	U+0009
+0x06	U+0086
+0x07	U+007f
+0x08	U+0097
+0x09	U+008d
+0x0a	U+008e
+0x0b	U+000b
+0x0c	U+000c
+0x0d	U+000d
+0x0e	U+000e
+0x0f	U+000f
+0x10	U+0010
+0x11	U+0011
+0x12	U+0012
+0x13	U+0013
+0x14	U+009d
+0x15	U+000a
+0x16	U+0008
+0x17	U+0087
+0x18	U+0018
+0x19	U+0019
+0x1a	U+0092
+0x1b	U+008f
+0x1c	U+001c
+0x1d	U+001d
+0x1e	U+001e
+0x1f	U+001f
+0x20	U+0080
+0x21	U+0081
+0x22	U+0082
+0x23	U+0083
+0x24	U+0084
+0x25	U+000a
+0x26	U+0017
+0x27	U+001b
+0x28	U+0088
+0x29	U+0089
+0x2a	U+008a
+0x2b	U+008b
+0x2c	U+008c
+0x2d	U+0005
+0x2e	U+0006
+0x2f	U+0007
+0x30	U+0090
+0x31	U+0091
+0x32	U+0016
+0x33	U+0093
+0x34	U+0094
+0x35	U+0095
+0x36	U+0096
+0x37	U+0004
+0x38	U+0098
+0x39	U+0099
+0x3a	U+009a
+0x3b	U+009b
+0x3c	U+0014
+0x3d	U+0015
+0x3e	U+009e
+0x3f	U+001a
+0x40	U+0020
+0x41	U+00a0
+0x42	U+00e2
+0x43	U+007b
+0x44	U+00e0
+0x45	U+00e1
+0x46	U+00e3
+0x47	U+007d
+0x48	U+00e7
+0x49	U+00f1
+0x4a	U+00a7
+0x4b	U+002e
+0x4c	U+003c
+0x4d	U+0028
+0x4e	U+002b
+0x4f	U+0021
+0x50	U+0026
+0x51	U+0060
+0x52	U+00ea
+0x53	U+00eb
+0x54	U+00e8
+0x55	U+00ed
+0x56	U+00ee
+0x57	U+00ef
+0x58	U+00ec
+0x59	U+00df
+0x5a	U+00a4
+0x5b	U+00c5
+0x5c	U+002a
+0x5d	U+0029
+0x5e	U+003b
+0x5f	U+005e
+0x60	U+002d
+0x61	U+002f
+0x62	U+00c2
+0x63	U+0023
+0x64	U+00c0
+0x65	U+00c1
+0x66	U+00c3
+0x67	U+0024
+0x68	U+00c7
+0x69	U+00d1
+0x6a	U+00f6
+0x6b	U+002c
+0x6c	U+0025
+0x6d	U+005f
+0x6e	U+003e
+0x6f	U+003f
+0x70	U+00f8
+0x71	U+005c
+0x72	U+00ca
+0x73	U+00cb
+0x74	U+00c8
+0x75	U+00cd
+0x76	U+00ce
+0x77	U+00cf
+0x78	U+00cc
+0x79	U+00e9
+0x7a	U+003a
+0x7b	U+00c4
+0x7c	U+00d6
+0x7d	U+0027
+0x7e	U+003d
+0x7f	U+0022
+0x80	U+00d8
+0x81	U+0061
+0x82	U+0062
+0x83	U+0063
+0x84	U+0064
+0x85	U+0065
+0x86	U+0066
+0x87	U+0067
+0x88	U+0068
+0x89	U+0069
+0x8a	U+00ab
+0x8b	U+00bb
+0x8c	U+0161
+0x8d	U+00fd
+0x8e	U+017e
+0x8f	U+00b1
+0x90	U+00b0
+0x91	U+006a
+0x92	U+006b
+0x93	U+006c
+0x94	U+006d
+0x95	U+006e
+0x96	U+006f
+0x97	U+0070
+0x98	U+0071
+0x99	U+0072
+0x9a	U+00aa
+0x9b	U+00ba
+0x9c	U+00e6
+0x9d	U+00b8
+0x9e	U+00c6
+0x9f	U+005d
+0xa0	U+00b5
+0xa1	U+00fc
+0xa2	U+0073
+0xa3	U+0074
+0xa4	U+0075
+0xa5	U+0076
+0xa6	U+0077
+0xa7	U+0078
+0xa8	U+0079
+0xa9	U+007a
+0xaa	U+00a1
+0xab	U+00bf
+0xac	U+0160
+0xad	U+00dd
+0xae	U+017d
+0xaf	U+00ae
+0xb0	U+00a2
+0xb1	U+00a3
+0xb2	U+00a5
+0xb3	U+00b7
+0xb4	U+00a9
+0xb5	U+005b
+0xb6	U+00b6
+0xb7	U+00bc
+0xb8	U+00bd
+0xb9	U+00be
+0xba	U+00ac
+0xbb	U+007c
+0xbc	U+203e
+0xbd	U+00a8
+0xbe	U+00b4
+0xbf	U+00d7
+0xc0	U+00e4
+0xc1	U+0041
+0xc2	U+0042
+0xc3	U+0043
+0xc4	U+0044
+0xc5	U+0045
+0xc6	U+0046
+0xc7	U+0047
+0xc8	U+0048
+0xc9	U+0049
+0xca	U+00ad
+0xcb	U+00f4
+0xcc	U+00a6
+0xcd	U+00f2
+0xce	U+00f3
+0xcf	U+00f5
+0xd0	U+00e5
+0xd1	U+004a
+0xd2	U+004b
+0xd3	U+004c
+0xd4	U+004d
+0xd5	U+004e
+0xd6	U+004f
+0xd7	U+0050
+0xd8	U+0051
+0xd9	U+0052
+0xda	U+00b9
+0xdb	U+00fb
+0xdc	U+007e
+0xdd	U+00f9
+0xde	U+00fa
+0xdf	U+00ff
+0xe0	U+00c9
+0xe1	U+00f7
+0xe2	U+0053
+0xe3	U+0054
+0xe4	U+0055
+0xe5	U+0056
+0xe6	U+0057
+0xe7	U+0058
+0xe8	U+0059
+0xe9	U+005a
+0xea	U+00b2
+0xeb	U+00d4
+0xec	U+0040
+0xed	U+00d2
+0xee	U+00d3
+0xef	U+00d5
+0xf0	U+0030
+0xf1	U+0031
+0xf2	U+0032
+0xf3	U+0033
+0xf4	U+0034
+0xf5	U+0035
+0xf6	U+0036
+0xf7	U+0037
+0xf8	U+0038
+0xf9	U+0039
+0xfa	U+00b3
+0xfb	U+00db
+0xfc	U+00dc
+0xfd	U+00d9
+0xfe	U+00da
+0xff	U+009f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/IBM1122.nr	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,1 @@
+0x25	U+000a
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/IBM1123.c2b	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,1 @@
+0x15	U+0085
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/IBM1123.map	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,257 @@
+#Generated from IBM1123.java
+0x00	U+0000
+0x01	U+0001
+0x02	U+0002
+0x03	U+0003
+0x04	U+009c
+0x05	U+0009
+0x06	U+0086
+0x07	U+007f
+0x08	U+0097
+0x09	U+008d
+0x0a	U+008e
+0x0b	U+000b
+0x0c	U+000c
+0x0d	U+000d
+0x0e	U+000e
+0x0f	U+000f
+0x10	U+0010
+0x11	U+0011
+0x12	U+0012
+0x13	U+0013
+0x14	U+009d
+0x15	U+000a
+0x16	U+0008
+0x17	U+0087
+0x18	U+0018
+0x19	U+0019
+0x1a	U+0092
+0x1b	U+008f
+0x1c	U+001c
+0x1d	U+001d
+0x1e	U+001e
+0x1f	U+001f
+0x20	U+0080
+0x21	U+0081
+0x22	U+0082
+0x23	U+0083
+0x24	U+0084
+0x25	U+000a
+0x26	U+0017
+0x27	U+001b
+0x28	U+0088
+0x29	U+0089
+0x2a	U+008a
+0x2b	U+008b
+0x2c	U+008c
+0x2d	U+0005
+0x2e	U+0006
+0x2f	U+0007
+0x30	U+0090
+0x31	U+0091
+0x32	U+0016
+0x33	U+0093
+0x34	U+0094
+0x35	U+0095
+0x36	U+0096
+0x37	U+0004
+0x38	U+0098
+0x39	U+0099
+0x3a	U+009a
+0x3b	U+009b
+0x3c	U+0014
+0x3d	U+0015
+0x3e	U+009e
+0x3f	U+001a
+0x40	U+0020
+0x41	U+00a0
+0x42	U+0452
+0x43	U+0491
+0x44	U+0451
+0x45	U+0454
+0x46	U+0455
+0x47	U+0456
+0x48	U+0457
+0x49	U+0458
+0x4a	U+005b
+0x4b	U+002e
+0x4c	U+003c
+0x4d	U+0028
+0x4e	U+002b
+0x4f	U+0021
+0x50	U+0026
+0x51	U+0459
+0x52	U+045a
+0x53	U+045b
+0x54	U+045c
+0x55	U+045e
+0x56	U+045f
+0x57	U+042a
+0x58	U+2116
+0x59	U+0402
+0x5a	U+005d
+0x5b	U+0024
+0x5c	U+002a
+0x5d	U+0029
+0x5e	U+003b
+0x5f	U+005e
+0x60	U+002d
+0x61	U+002f
+0x62	U+0490
+0x63	U+0401
+0x64	U+0404
+0x65	U+0405
+0x66	U+0406
+0x67	U+0407
+0x68	U+0408
+0x69	U+0409
+0x6a	U+007c
+0x6b	U+002c
+0x6c	U+0025
+0x6d	U+005f
+0x6e	U+003e
+0x6f	U+003f
+0x70	U+040a
+0x71	U+040b
+0x72	U+040c
+0x73	U+00ad
+0x74	U+040e
+0x75	U+040f
+0x76	U+044e
+0x77	U+0430
+0x78	U+0431
+0x79	U+0060
+0x7a	U+003a
+0x7b	U+0023
+0x7c	U+0040
+0x7d	U+0027
+0x7e	U+003d
+0x7f	U+0022
+0x80	U+0446
+0x81	U+0061
+0x82	U+0062
+0x83	U+0063
+0x84	U+0064
+0x85	U+0065
+0x86	U+0066
+0x87	U+0067
+0x88	U+0068
+0x89	U+0069
+0x8a	U+0434
+0x8b	U+0435
+0x8c	U+0444
+0x8d	U+0433
+0x8e	U+0445
+0x8f	U+0438
+0x90	U+0439
+0x91	U+006a
+0x92	U+006b
+0x93	U+006c
+0x94	U+006d
+0x95	U+006e
+0x96	U+006f
+0x97	U+0070
+0x98	U+0071
+0x99	U+0072
+0x9a	U+043a
+0x9b	U+043b
+0x9c	U+043c
+0x9d	U+043d
+0x9e	U+043e
+0x9f	U+043f
+0xa0	U+044f
+0xa1	U+007e
+0xa2	U+0073
+0xa3	U+0074
+0xa4	U+0075
+0xa5	U+0076
+0xa6	U+0077
+0xa7	U+0078
+0xa8	U+0079
+0xa9	U+007a
+0xaa	U+0440
+0xab	U+0441
+0xac	U+0442
+0xad	U+0443
+0xae	U+0436
+0xaf	U+0432
+0xb0	U+044c
+0xb1	U+044b
+0xb2	U+0437
+0xb3	U+0448
+0xb4	U+044d
+0xb5	U+0449
+0xb6	U+0447
+0xb7	U+044a
+0xb8	U+042e
+0xb9	U+0410
+0xba	U+0411
+0xbb	U+0426
+0xbc	U+0414
+0xbd	U+0415
+0xbe	U+0424
+0xbf	U+0413
+0xc0	U+007b
+0xc1	U+0041
+0xc2	U+0042
+0xc3	U+0043
+0xc4	U+0044
+0xc5	U+0045
+0xc6	U+0046
+0xc7	U+0047
+0xc8	U+0048
+0xc9	U+0049
+0xca	U+0425
+0xcb	U+0418
+0xcc	U+0419
+0xcd	U+041a
+0xce	U+041b
+0xcf	U+041c
+0xd0	U+007d
+0xd1	U+004a
+0xd2	U+004b
+0xd3	U+004c
+0xd4	U+004d
+0xd5	U+004e
+0xd6	U+004f
+0xd7	U+0050
+0xd8	U+0051
+0xd9	U+0052
+0xda	U+041d
+0xdb	U+041e
+0xdc	U+041f
+0xdd	U+042f
+0xde	U+0420
+0xdf	U+0421
+0xe0	U+005c
+0xe1	U+00a7
+0xe2	U+0053
+0xe3	U+0054
+0xe4	U+0055
+0xe5	U+0056
+0xe6	U+0057
+0xe7	U+0058
+0xe8	U+0059
+0xe9	U+005a
+0xea	U+0422
+0xeb	U+0423
+0xec	U+0416
+0xed	U+0412
+0xee	U+042c
+0xef	U+042b
+0xf0	U+0030
+0xf1	U+0031
+0xf2	U+0032
+0xf3	U+0033
+0xf4	U+0034
+0xf5	U+0035
+0xf6	U+0036
+0xf7	U+0037
+0xf8	U+0038
+0xf9	U+0039
+0xfa	U+0417
+0xfb	U+0428
+0xfc	U+042d
+0xfd	U+0429
+0xfe	U+0427
+0xff	U+009f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/IBM1123.nr	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,1 @@
+0x25	U+000a
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/IBM1124.map	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,257 @@
+#Generated from IBM1124.java
+0x00	U+0000
+0x01	U+0001
+0x02	U+0002
+0x03	U+0003
+0x04	U+0004
+0x05	U+0005
+0x06	U+0006
+0x07	U+0007
+0x08	U+0008
+0x09	U+0009
+0x0a	U+000a
+0x0b	U+000b
+0x0c	U+000c
+0x0d	U+000d
+0x0e	U+000e
+0x0f	U+000f
+0x10	U+0010
+0x11	U+0011
+0x12	U+0012
+0x13	U+0013
+0x14	U+0014
+0x15	U+0015
+0x16	U+0016
+0x17	U+0017
+0x18	U+0018
+0x19	U+0019
+0x1a	U+001a
+0x1b	U+001b
+0x1c	U+001c
+0x1d	U+001d
+0x1e	U+001e
+0x1f	U+001f
+0x20	U+0020
+0x21	U+0021
+0x22	U+0022
+0x23	U+0023
+0x24	U+0024
+0x25	U+0025
+0x26	U+0026
+0x27	U+0027
+0x28	U+0028
+0x29	U+0029
+0x2a	U+002a
+0x2b	U+002b
+0x2c	U+002c
+0x2d	U+002d
+0x2e	U+002e
+0x2f	U+002f
+0x30	U+0030
+0x31	U+0031
+0x32	U+0032
+0x33	U+0033
+0x34	U+0034
+0x35	U+0035
+0x36	U+0036
+0x37	U+0037
+0x38	U+0038
+0x39	U+0039
+0x3a	U+003a
+0x3b	U+003b
+0x3c	U+003c
+0x3d	U+003d
+0x3e	U+003e
+0x3f	U+003f
+0x40	U+0040
+0x41	U+0041
+0x42	U+0042
+0x43	U+0043
+0x44	U+0044
+0x45	U+0045
+0x46	U+0046
+0x47	U+0047
+0x48	U+0048
+0x49	U+0049
+0x4a	U+004a
+0x4b	U+004b
+0x4c	U+004c
+0x4d	U+004d
+0x4e	U+004e
+0x4f	U+004f
+0x50	U+0050
+0x51	U+0051
+0x52	U+0052
+0x53	U+0053
+0x54	U+0054
+0x55	U+0055
+0x56	U+0056
+0x57	U+0057
+0x58	U+0058
+0x59	U+0059
+0x5a	U+005a
+0x5b	U+005b
+0x5c	U+005c
+0x5d	U+005d
+0x5e	U+005e
+0x5f	U+005f
+0x60	U+0060
+0x61	U+0061
+0x62	U+0062
+0x63	U+0063
+0x64	U+0064
+0x65	U+0065
+0x66	U+0066
+0x67	U+0067
+0x68	U+0068
+0x69	U+0069
+0x6a	U+006a
+0x6b	U+006b
+0x6c	U+006c
+0x6d	U+006d
+0x6e	U+006e
+0x6f	U+006f
+0x70	U+0070
+0x71	U+0071
+0x72	U+0072
+0x73	U+0073
+0x74	U+0074
+0x75	U+0075
+0x76	U+0076
+0x77	U+0077
+0x78	U+0078
+0x79	U+0079
+0x7a	U+007a
+0x7b	U+007b
+0x7c	U+007c
+0x7d	U+007d
+0x7e	U+007e
+0x7f	U+007f
+0x80	U+0080
+0x81	U+0081
+0x82	U+0082
+0x83	U+0083
+0x84	U+0084
+0x85	U+0085
+0x86	U+0086
+0x87	U+0087
+0x88	U+0088
+0x89	U+0089
+0x8a	U+008a
+0x8b	U+008b
+0x8c	U+008c
+0x8d	U+008d
+0x8e	U+008e
+0x8f	U+008f
+0x90	U+0090
+0x91	U+0091
+0x92	U+0092
+0x93	U+0093
+0x94	U+0094
+0x95	U+0095
+0x96	U+0096
+0x97	U+0097
+0x98	U+0098
+0x99	U+0099
+0x9a	U+009a
+0x9b	U+009b
+0x9c	U+009c
+0x9d	U+009d
+0x9e	U+009e
+0x9f	U+009f
+0xa0	U+00a0
+0xa1	U+0401
+0xa2	U+0402
+0xa3	U+0490
+0xa4	U+0404
+0xa5	U+0405
+0xa6	U+0406
+0xa7	U+0407
+0xa8	U+0408
+0xa9	U+0409
+0xaa	U+040a
+0xab	U+040b
+0xac	U+040c
+0xad	U+00ad
+0xae	U+040e
+0xaf	U+040f
+0xb0	U+0410
+0xb1	U+0411
+0xb2	U+0412
+0xb3	U+0413
+0xb4	U+0414
+0xb5	U+0415
+0xb6	U+0416
+0xb7	U+0417
+0xb8	U+0418
+0xb9	U+0419
+0xba	U+041a
+0xbb	U+041b
+0xbc	U+041c
+0xbd	U+041d
+0xbe	U+041e
+0xbf	U+041f
+0xc0	U+0420
+0xc1	U+0421
+0xc2	U+0422
+0xc3	U+0423
+0xc4	U+0424
+0xc5	U+0425
+0xc6	U+0426
+0xc7	U+0427
+0xc8	U+0428
+0xc9	U+0429
+0xca	U+042a
+0xcb	U+042b
+0xcc	U+042c
+0xcd	U+042d
+0xce	U+042e
+0xcf	U+042f
+0xd0	U+0430
+0xd1	U+0431
+0xd2	U+0432
+0xd3	U+0433
+0xd4	U+0434
+0xd5	U+0435
+0xd6	U+0436
+0xd7	U+0437
+0xd8	U+0438
+0xd9	U+0439
+0xda	U+043a
+0xdb	U+043b
+0xdc	U+043c
+0xdd	U+043d
+0xde	U+043e
+0xdf	U+043f
+0xe0	U+0440
+0xe1	U+0441
+0xe2	U+0442
+0xe3	U+0443
+0xe4	U+0444
+0xe5	U+0445
+0xe6	U+0446
+0xe7	U+0447
+0xe8	U+0448
+0xe9	U+0449
+0xea	U+044a
+0xeb	U+044b
+0xec	U+044c
+0xed	U+044d
+0xee	U+044e
+0xef	U+044f
+0xf0	U+2116
+0xf1	U+0451
+0xf2	U+0452
+0xf3	U+0491
+0xf4	U+0454
+0xf5	U+0455
+0xf6	U+0456
+0xf7	U+0457
+0xf8	U+0458
+0xf9	U+0459
+0xfa	U+045a
+0xfb	U+045b
+0xfc	U+045c
+0xfd	U+00a7
+0xfe	U+045e
+0xff	U+045f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/IBM1140.c2b	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,1 @@
+0x15	U+0085
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/IBM1140.map	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,257 @@
+#Generated from IBM037.java with 0x9f <-> u+20ac
+0x00	U+0000
+0x01	U+0001
+0x02	U+0002
+0x03	U+0003
+0x04	U+009c
+0x05	U+0009
+0x06	U+0086
+0x07	U+007f
+0x08	U+0097
+0x09	U+008d
+0x0a	U+008e
+0x0b	U+000b
+0x0c	U+000c
+0x0d	U+000d
+0x0e	U+000e
+0x0f	U+000f
+0x10	U+0010
+0x11	U+0011
+0x12	U+0012
+0x13	U+0013
+0x14	U+009d
+0x15	U+000a
+0x16	U+0008
+0x17	U+0087
+0x18	U+0018
+0x19	U+0019
+0x1a	U+0092
+0x1b	U+008f
+0x1c	U+001c
+0x1d	U+001d
+0x1e	U+001e
+0x1f	U+001f
+0x20	U+0080
+0x21	U+0081
+0x22	U+0082
+0x23	U+0083
+0x24	U+0084
+0x25	U+000a
+0x26	U+0017
+0x27	U+001b
+0x28	U+0088
+0x29	U+0089
+0x2a	U+008a
+0x2b	U+008b
+0x2c	U+008c
+0x2d	U+0005
+0x2e	U+0006
+0x2f	U+0007
+0x30	U+0090
+0x31	U+0091
+0x32	U+0016
+0x33	U+0093
+0x34	U+0094
+0x35	U+0095
+0x36	U+0096
+0x37	U+0004
+0x38	U+0098
+0x39	U+0099
+0x3a	U+009a
+0x3b	U+009b
+0x3c	U+0014
+0x3d	U+0015
+0x3e	U+009e
+0x3f	U+001a
+0x40	U+0020
+0x41	U+00a0
+0x42	U+00e2
+0x43	U+00e4
+0x44	U+00e0
+0x45	U+00e1
+0x46	U+00e3
+0x47	U+00e5
+0x48	U+00e7
+0x49	U+00f1
+0x4a	U+00a2
+0x4b	U+002e
+0x4c	U+003c
+0x4d	U+0028
+0x4e	U+002b
+0x4f	U+007c
+0x50	U+0026
+0x51	U+00e9
+0x52	U+00ea
+0x53	U+00eb
+0x54	U+00e8
+0x55	U+00ed
+0x56	U+00ee
+0x57	U+00ef
+0x58	U+00ec
+0x59	U+00df
+0x5a	U+0021
+0x5b	U+0024
+0x5c	U+002a
+0x5d	U+0029
+0x5e	U+003b
+0x5f	U+00ac
+0x60	U+002d
+0x61	U+002f
+0x62	U+00c2
+0x63	U+00c4
+0x64	U+00c0
+0x65	U+00c1
+0x66	U+00c3
+0x67	U+00c5
+0x68	U+00c7
+0x69	U+00d1
+0x6a	U+00a6
+0x6b	U+002c
+0x6c	U+0025
+0x6d	U+005f
+0x6e	U+003e
+0x6f	U+003f
+0x70	U+00f8
+0x71	U+00c9
+0x72	U+00ca
+0x73	U+00cb
+0x74	U+00c8
+0x75	U+00cd
+0x76	U+00ce
+0x77	U+00cf
+0x78	U+00cc
+0x79	U+0060
+0x7a	U+003a
+0x7b	U+0023
+0x7c	U+0040
+0x7d	U+0027
+0x7e	U+003d
+0x7f	U+0022
+0x80	U+00d8
+0x81	U+0061
+0x82	U+0062
+0x83	U+0063
+0x84	U+0064
+0x85	U+0065
+0x86	U+0066
+0x87	U+0067
+0x88	U+0068
+0x89	U+0069
+0x8a	U+00ab
+0x8b	U+00bb
+0x8c	U+00f0
+0x8d	U+00fd
+0x8e	U+00fe
+0x8f	U+00b1
+0x90	U+00b0
+0x91	U+006a
+0x92	U+006b
+0x93	U+006c
+0x94	U+006d
+0x95	U+006e
+0x96	U+006f
+0x97	U+0070
+0x98	U+0071
+0x99	U+0072
+0x9a	U+00aa
+0x9b	U+00ba
+0x9c	U+00e6
+0x9d	U+00b8
+0x9e	U+00c6
+0x9f	U+20ac
+0xa0	U+00b5
+0xa1	U+007e
+0xa2	U+0073
+0xa3	U+0074
+0xa4	U+0075
+0xa5	U+0076
+0xa6	U+0077
+0xa7	U+0078
+0xa8	U+0079
+0xa9	U+007a
+0xaa	U+00a1
+0xab	U+00bf
+0xac	U+00d0
+0xad	U+00dd
+0xae	U+00de
+0xaf	U+00ae
+0xb0	U+005e
+0xb1	U+00a3
+0xb2	U+00a5
+0xb3	U+00b7
+0xb4	U+00a9
+0xb5	U+00a7
+0xb6	U+00b6
+0xb7	U+00bc
+0xb8	U+00bd
+0xb9	U+00be
+0xba	U+005b
+0xbb	U+005d
+0xbc	U+00af
+0xbd	U+00a8
+0xbe	U+00b4
+0xbf	U+00d7
+0xc0	U+007b
+0xc1	U+0041
+0xc2	U+0042
+0xc3	U+0043
+0xc4	U+0044
+0xc5	U+0045
+0xc6	U+0046
+0xc7	U+0047
+0xc8	U+0048
+0xc9	U+0049
+0xca	U+00ad
+0xcb	U+00f4
+0xcc	U+00f6
+0xcd	U+00f2
+0xce	U+00f3
+0xcf	U+00f5
+0xd0	U+007d
+0xd1	U+004a
+0xd2	U+004b
+0xd3	U+004c
+0xd4	U+004d
+0xd5	U+004e
+0xd6	U+004f
+0xd7	U+0050
+0xd8	U+0051
+0xd9	U+0052
+0xda	U+00b9
+0xdb	U+00fb
+0xdc	U+00fc
+0xdd	U+00f9
+0xde	U+00fa
+0xdf	U+00ff
+0xe0	U+005c
+0xe1	U+00f7
+0xe2	U+0053
+0xe3	U+0054
+0xe4	U+0055
+0xe5	U+0056
+0xe6	U+0057
+0xe7	U+0058
+0xe8	U+0059
+0xe9	U+005a
+0xea	U+00b2
+0xeb	U+00d4
+0xec	U+00d6
+0xed	U+00d2
+0xee	U+00d3
+0xef	U+00d5
+0xf0	U+0030
+0xf1	U+0031
+0xf2	U+0032
+0xf3	U+0033
+0xf4	U+0034
+0xf5	U+0035
+0xf6	U+0036
+0xf7	U+0037
+0xf8	U+0038
+0xf9	U+0039
+0xfa	U+00b3
+0xfb	U+00db
+0xfc	U+00dc
+0xfd	U+00d9
+0xfe	U+00da
+0xff	U+009f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/IBM1141.c2b	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,1 @@
+0x15	U+0085
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/IBM1141.map	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,257 @@
+#Generated from IBM273.java with 0x9f <-> u+20ac
+0x00	U+0000
+0x01	U+0001
+0x02	U+0002
+0x03	U+0003
+0x04	U+009c
+0x05	U+0009
+0x06	U+0086
+0x07	U+007f
+0x08	U+0097
+0x09	U+008d
+0x0a	U+008e
+0x0b	U+000b
+0x0c	U+000c
+0x0d	U+000d
+0x0e	U+000e
+0x0f	U+000f
+0x10	U+0010
+0x11	U+0011
+0x12	U+0012
+0x13	U+0013
+0x14	U+009d
+0x15	U+000a
+0x16	U+0008
+0x17	U+0087
+0x18	U+0018
+0x19	U+0019
+0x1a	U+0092
+0x1b	U+008f
+0x1c	U+001c
+0x1d	U+001d
+0x1e	U+001e
+0x1f	U+001f
+0x20	U+0080
+0x21	U+0081
+0x22	U+0082
+0x23	U+0083
+0x24	U+0084
+0x25	U+000a
+0x26	U+0017
+0x27	U+001b
+0x28	U+0088
+0x29	U+0089
+0x2a	U+008a
+0x2b	U+008b
+0x2c	U+008c
+0x2d	U+0005
+0x2e	U+0006
+0x2f	U+0007
+0x30	U+0090
+0x31	U+0091
+0x32	U+0016
+0x33	U+0093
+0x34	U+0094
+0x35	U+0095
+0x36	U+0096
+0x37	U+0004
+0x38	U+0098
+0x39	U+0099
+0x3a	U+009a
+0x3b	U+009b
+0x3c	U+0014
+0x3d	U+0015
+0x3e	U+009e
+0x3f	U+001a
+0x40	U+0020
+0x41	U+00a0
+0x42	U+00e2
+0x43	U+007b
+0x44	U+00e0
+0x45	U+00e1
+0x46	U+00e3
+0x47	U+00e5
+0x48	U+00e7
+0x49	U+00f1
+0x4a	U+00c4
+0x4b	U+002e
+0x4c	U+003c
+0x4d	U+0028
+0x4e	U+002b
+0x4f	U+0021
+0x50	U+0026
+0x51	U+00e9
+0x52	U+00ea
+0x53	U+00eb
+0x54	U+00e8
+0x55	U+00ed
+0x56	U+00ee
+0x57	U+00ef
+0x58	U+00ec
+0x59	U+007e
+0x5a	U+00dc
+0x5b	U+0024
+0x5c	U+002a
+0x5d	U+0029
+0x5e	U+003b
+0x5f	U+005e
+0x60	U+002d
+0x61	U+002f
+0x62	U+00c2
+0x63	U+005b
+0x64	U+00c0
+0x65	U+00c1
+0x66	U+00c3
+0x67	U+00c5
+0x68	U+00c7
+0x69	U+00d1
+0x6a	U+00f6
+0x6b	U+002c
+0x6c	U+0025
+0x6d	U+005f
+0x6e	U+003e
+0x6f	U+003f
+0x70	U+00f8
+0x71	U+00c9
+0x72	U+00ca
+0x73	U+00cb
+0x74	U+00c8
+0x75	U+00cd
+0x76	U+00ce
+0x77	U+00cf
+0x78	U+00cc
+0x79	U+0060
+0x7a	U+003a
+0x7b	U+0023
+0x7c	U+00a7
+0x7d	U+0027
+0x7e	U+003d
+0x7f	U+0022
+0x80	U+00d8
+0x81	U+0061
+0x82	U+0062
+0x83	U+0063
+0x84	U+0064
+0x85	U+0065
+0x86	U+0066
+0x87	U+0067
+0x88	U+0068
+0x89	U+0069
+0x8a	U+00ab
+0x8b	U+00bb
+0x8c	U+00f0
+0x8d	U+00fd
+0x8e	U+00fe
+0x8f	U+00b1
+0x90	U+00b0
+0x91	U+006a
+0x92	U+006b
+0x93	U+006c
+0x94	U+006d
+0x95	U+006e
+0x96	U+006f
+0x97	U+0070
+0x98	U+0071
+0x99	U+0072
+0x9a	U+00aa
+0x9b	U+00ba
+0x9c	U+00e6
+0x9d	U+00b8
+0x9e	U+00c6
+0x9f	U+20ac
+0xa0	U+00b5
+0xa1	U+00df
+0xa2	U+0073
+0xa3	U+0074
+0xa4	U+0075
+0xa5	U+0076
+0xa6	U+0077
+0xa7	U+0078
+0xa8	U+0079
+0xa9	U+007a
+0xaa	U+00a1
+0xab	U+00bf
+0xac	U+00d0
+0xad	U+00dd
+0xae	U+00de
+0xaf	U+00ae
+0xb0	U+00a2
+0xb1	U+00a3
+0xb2	U+00a5
+0xb3	U+00b7
+0xb4	U+00a9
+0xb5	U+0040
+0xb6	U+00b6
+0xb7	U+00bc
+0xb8	U+00bd
+0xb9	U+00be
+0xba	U+00ac
+0xbb	U+007c
+0xbc	U+00af
+0xbd	U+00a8
+0xbe	U+00b4
+0xbf	U+00d7
+0xc0	U+00e4
+0xc1	U+0041
+0xc2	U+0042
+0xc3	U+0043
+0xc4	U+0044
+0xc5	U+0045
+0xc6	U+0046
+0xc7	U+0047
+0xc8	U+0048
+0xc9	U+0049
+0xca	U+00ad
+0xcb	U+00f4
+0xcc	U+00a6
+0xcd	U+00f2
+0xce	U+00f3
+0xcf	U+00f5
+0xd0	U+00fc
+0xd1	U+004a
+0xd2	U+004b
+0xd3	U+004c
+0xd4	U+004d
+0xd5	U+004e
+0xd6	U+004f
+0xd7	U+0050
+0xd8	U+0051
+0xd9	U+0052
+0xda	U+00b9
+0xdb	U+00fb
+0xdc	U+007d
+0xdd	U+00f9
+0xde	U+00fa
+0xdf	U+00ff
+0xe0	U+00d6
+0xe1	U+00f7
+0xe2	U+0053
+0xe3	U+0054
+0xe4	U+0055
+0xe5	U+0056
+0xe6	U+0057
+0xe7	U+0058
+0xe8	U+0059
+0xe9	U+005a
+0xea	U+00b2
+0xeb	U+00d4
+0xec	U+005c
+0xed	U+00d2
+0xee	U+00d3
+0xef	U+00d5
+0xf0	U+0030
+0xf1	U+0031
+0xf2	U+0032
+0xf3	U+0033
+0xf4	U+0034
+0xf5	U+0035
+0xf6	U+0036
+0xf7	U+0037
+0xf8	U+0038
+0xf9	U+0039
+0xfa	U+00b3
+0xfb	U+00db
+0xfc	U+005d
+0xfd	U+00d9
+0xfe	U+00da
+0xff	U+009f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/IBM1142.c2b	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,1 @@
+0x15	U+0085
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/IBM1142.map	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,257 @@
+#Generated from IBM277.java with 0x5a <-> u+20ac
+0x00	U+0000
+0x01	U+0001
+0x02	U+0002
+0x03	U+0003
+0x04	U+009c
+0x05	U+0009
+0x06	U+0086
+0x07	U+007f
+0x08	U+0097
+0x09	U+008d
+0x0a	U+008e
+0x0b	U+000b
+0x0c	U+000c
+0x0d	U+000d
+0x0e	U+000e
+0x0f	U+000f
+0x10	U+0010
+0x11	U+0011
+0x12	U+0012
+0x13	U+0013
+0x14	U+009d
+0x15	U+000a
+0x16	U+0008
+0x17	U+0087
+0x18	U+0018
+0x19	U+0019
+0x1a	U+0092
+0x1b	U+008f
+0x1c	U+001c
+0x1d	U+001d
+0x1e	U+001e
+0x1f	U+001f
+0x20	U+0080
+0x21	U+0081
+0x22	U+0082
+0x23	U+0083
+0x24	U+0084
+0x25	U+000a
+0x26	U+0017
+0x27	U+001b
+0x28	U+0088
+0x29	U+0089
+0x2a	U+008a
+0x2b	U+008b
+0x2c	U+008c
+0x2d	U+0005
+0x2e	U+0006
+0x2f	U+0007
+0x30	U+0090
+0x31	U+0091
+0x32	U+0016
+0x33	U+0093
+0x34	U+0094
+0x35	U+0095
+0x36	U+0096
+0x37	U+0004
+0x38	U+0098
+0x39	U+0099
+0x3a	U+009a
+0x3b	U+009b
+0x3c	U+0014
+0x3d	U+0015
+0x3e	U+009e
+0x3f	U+001a
+0x40	U+0020
+0x41	U+00a0
+0x42	U+00e2
+0x43	U+00e4
+0x44	U+00e0
+0x45	U+00e1
+0x46	U+00e3
+0x47	U+007d
+0x48	U+00e7
+0x49	U+00f1
+0x4a	U+0023
+0x4b	U+002e
+0x4c	U+003c
+0x4d	U+0028
+0x4e	U+002b
+0x4f	U+0021
+0x50	U+0026
+0x51	U+00e9
+0x52	U+00ea
+0x53	U+00eb
+0x54	U+00e8
+0x55	U+00ed
+0x56	U+00ee
+0x57	U+00ef
+0x58	U+00ec
+0x59	U+00df
+0x5a	U+20ac
+0x5b	U+00c5
+0x5c	U+002a
+0x5d	U+0029
+0x5e	U+003b
+0x5f	U+005e
+0x60	U+002d
+0x61	U+002f
+0x62	U+00c2
+0x63	U+00c4
+0x64	U+00c0
+0x65	U+00c1
+0x66	U+00c3
+0x67	U+0024
+0x68	U+00c7
+0x69	U+00d1
+0x6a	U+00f8
+0x6b	U+002c
+0x6c	U+0025
+0x6d	U+005f
+0x6e	U+003e
+0x6f	U+003f
+0x70	U+00a6
+0x71	U+00c9
+0x72	U+00ca
+0x73	U+00cb
+0x74	U+00c8
+0x75	U+00cd
+0x76	U+00ce
+0x77	U+00cf
+0x78	U+00cc
+0x79	U+0060
+0x7a	U+003a
+0x7b	U+00c6
+0x7c	U+00d8
+0x7d	U+0027
+0x7e	U+003d
+0x7f	U+0022
+0x80	U+0040
+0x81	U+0061
+0x82	U+0062
+0x83	U+0063
+0x84	U+0064
+0x85	U+0065
+0x86	U+0066
+0x87	U+0067
+0x88	U+0068
+0x89	U+0069
+0x8a	U+00ab
+0x8b	U+00bb
+0x8c	U+00f0
+0x8d	U+00fd
+0x8e	U+00fe
+0x8f	U+00b1
+0x90	U+00b0
+0x91	U+006a
+0x92	U+006b
+0x93	U+006c
+0x94	U+006d
+0x95	U+006e
+0x96	U+006f
+0x97	U+0070
+0x98	U+0071
+0x99	U+0072
+0x9a	U+00aa
+0x9b	U+00ba
+0x9c	U+007b
+0x9d	U+00b8
+0x9e	U+005b
+0x9f	U+005d
+0xa0	U+00b5
+0xa1	U+00fc
+0xa2	U+0073
+0xa3	U+0074
+0xa4	U+0075
+0xa5	U+0076
+0xa6	U+0077
+0xa7	U+0078
+0xa8	U+0079
+0xa9	U+007a
+0xaa	U+00a1
+0xab	U+00bf
+0xac	U+00d0
+0xad	U+00dd
+0xae	U+00de
+0xaf	U+00ae
+0xb0	U+00a2
+0xb1	U+00a3
+0xb2	U+00a5
+0xb3	U+00b7
+0xb4	U+00a9
+0xb5	U+00a7
+0xb6	U+00b6
+0xb7	U+00bc
+0xb8	U+00bd
+0xb9	U+00be
+0xba	U+00ac
+0xbb	U+007c
+0xbc	U+00af
+0xbd	U+00a8
+0xbe	U+00b4
+0xbf	U+00d7
+0xc0	U+00e6
+0xc1	U+0041
+0xc2	U+0042
+0xc3	U+0043
+0xc4	U+0044
+0xc5	U+0045
+0xc6	U+0046
+0xc7	U+0047
+0xc8	U+0048
+0xc9	U+0049
+0xca	U+00ad
+0xcb	U+00f4
+0xcc	U+00f6
+0xcd	U+00f2
+0xce	U+00f3
+0xcf	U+00f5
+0xd0	U+00e5
+0xd1	U+004a
+0xd2	U+004b
+0xd3	U+004c
+0xd4	U+004d
+0xd5	U+004e
+0xd6	U+004f
+0xd7	U+0050
+0xd8	U+0051
+0xd9	U+0052
+0xda	U+00b9
+0xdb	U+00fb
+0xdc	U+007e
+0xdd	U+00f9
+0xde	U+00fa
+0xdf	U+00ff
+0xe0	U+005c
+0xe1	U+00f7
+0xe2	U+0053
+0xe3	U+0054
+0xe4	U+0055
+0xe5	U+0056
+0xe6	U+0057
+0xe7	U+0058
+0xe8	U+0059
+0xe9	U+005a
+0xea	U+00b2
+0xeb	U+00d4
+0xec	U+00d6
+0xed	U+00d2
+0xee	U+00d3
+0xef	U+00d5
+0xf0	U+0030
+0xf1	U+0031
+0xf2	U+0032
+0xf3	U+0033
+0xf4	U+0034
+0xf5	U+0035
+0xf6	U+0036
+0xf7	U+0037
+0xf8	U+0038
+0xf9	U+0039
+0xfa	U+00b3
+0xfb	U+00db
+0xfc	U+00dc
+0xfd	U+00d9
+0xfe	U+00da
+0xff	U+009f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/IBM1143.c2b	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,1 @@
+0x15	U+0085
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/IBM1143.map	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,257 @@
+#Generated from IBM278.java  with 0x5a <-> u+20ac
+0x00	U+0000
+0x01	U+0001
+0x02	U+0002
+0x03	U+0003
+0x04	U+009c
+0x05	U+0009
+0x06	U+0086
+0x07	U+007f
+0x08	U+0097
+0x09	U+008d
+0x0a	U+008e
+0x0b	U+000b
+0x0c	U+000c
+0x0d	U+000d
+0x0e	U+000e
+0x0f	U+000f
+0x10	U+0010
+0x11	U+0011
+0x12	U+0012
+0x13	U+0013
+0x14	U+009d
+0x15	U+000a
+0x16	U+0008
+0x17	U+0087
+0x18	U+0018
+0x19	U+0019
+0x1a	U+0092
+0x1b	U+008f
+0x1c	U+001c
+0x1d	U+001d
+0x1e	U+001e
+0x1f	U+001f
+0x20	U+0080
+0x21	U+0081
+0x22	U+0082
+0x23	U+0083
+0x24	U+0084
+0x25	U+000a
+0x26	U+0017
+0x27	U+001b
+0x28	U+0088
+0x29	U+0089
+0x2a	U+008a
+0x2b	U+008b
+0x2c	U+008c
+0x2d	U+0005
+0x2e	U+0006
+0x2f	U+0007
+0x30	U+0090
+0x31	U+0091
+0x32	U+0016
+0x33	U+0093
+0x34	U+0094
+0x35	U+0095
+0x36	U+0096
+0x37	U+0004
+0x38	U+0098
+0x39	U+0099
+0x3a	U+009a
+0x3b	U+009b
+0x3c	U+0014
+0x3d	U+0015
+0x3e	U+009e
+0x3f	U+001a
+0x40	U+0020
+0x41	U+00a0
+0x42	U+00e2
+0x43	U+007b
+0x44	U+00e0
+0x45	U+00e1
+0x46	U+00e3
+0x47	U+007d
+0x48	U+00e7
+0x49	U+00f1
+0x4a	U+00a7
+0x4b	U+002e
+0x4c	U+003c
+0x4d	U+0028
+0x4e	U+002b
+0x4f	U+0021
+0x50	U+0026
+0x51	U+0060
+0x52	U+00ea
+0x53	U+00eb
+0x54	U+00e8
+0x55	U+00ed
+0x56	U+00ee
+0x57	U+00ef
+0x58	U+00ec
+0x59	U+00df
+0x5a	U+20ac
+0x5b	U+00c5
+0x5c	U+002a
+0x5d	U+0029
+0x5e	U+003b
+0x5f	U+005e
+0x60	U+002d
+0x61	U+002f
+0x62	U+00c2
+0x63	U+0023
+0x64	U+00c0
+0x65	U+00c1
+0x66	U+00c3
+0x67	U+0024
+0x68	U+00c7
+0x69	U+00d1
+0x6a	U+00f6
+0x6b	U+002c
+0x6c	U+0025
+0x6d	U+005f
+0x6e	U+003e
+0x6f	U+003f
+0x70	U+00f8
+0x71	U+005c
+0x72	U+00ca
+0x73	U+00cb
+0x74	U+00c8
+0x75	U+00cd
+0x76	U+00ce
+0x77	U+00cf
+0x78	U+00cc
+0x79	U+00e9
+0x7a	U+003a
+0x7b	U+00c4
+0x7c	U+00d6
+0x7d	U+0027
+0x7e	U+003d
+0x7f	U+0022
+0x80	U+00d8
+0x81	U+0061
+0x82	U+0062
+0x83	U+0063
+0x84	U+0064
+0x85	U+0065
+0x86	U+0066
+0x87	U+0067
+0x88	U+0068
+0x89	U+0069
+0x8a	U+00ab
+0x8b	U+00bb
+0x8c	U+00f0
+0x8d	U+00fd
+0x8e	U+00fe
+0x8f	U+00b1
+0x90	U+00b0
+0x91	U+006a
+0x92	U+006b
+0x93	U+006c
+0x94	U+006d
+0x95	U+006e
+0x96	U+006f
+0x97	U+0070
+0x98	U+0071
+0x99	U+0072
+0x9a	U+00aa
+0x9b	U+00ba
+0x9c	U+00e6
+0x9d	U+00b8
+0x9e	U+00c6
+0x9f	U+005d
+0xa0	U+00b5
+0xa1	U+00fc
+0xa2	U+0073
+0xa3	U+0074
+0xa4	U+0075
+0xa5	U+0076
+0xa6	U+0077
+0xa7	U+0078
+0xa8	U+0079
+0xa9	U+007a
+0xaa	U+00a1
+0xab	U+00bf
+0xac	U+00d0
+0xad	U+00dd
+0xae	U+00de
+0xaf	U+00ae
+0xb0	U+00a2
+0xb1	U+00a3
+0xb2	U+00a5
+0xb3	U+00b7
+0xb4	U+00a9
+0xb5	U+005b
+0xb6	U+00b6
+0xb7	U+00bc
+0xb8	U+00bd
+0xb9	U+00be
+0xba	U+00ac
+0xbb	U+007c
+0xbc	U+00af
+0xbd	U+00a8
+0xbe	U+00b4
+0xbf	U+00d7
+0xc0	U+00e4
+0xc1	U+0041
+0xc2	U+0042
+0xc3	U+0043
+0xc4	U+0044
+0xc5	U+0045
+0xc6	U+0046
+0xc7	U+0047
+0xc8	U+0048
+0xc9	U+0049
+0xca	U+00ad
+0xcb	U+00f4
+0xcc	U+00a6
+0xcd	U+00f2
+0xce	U+00f3
+0xcf	U+00f5
+0xd0	U+00e5
+0xd1	U+004a
+0xd2	U+004b
+0xd3	U+004c
+0xd4	U+004d
+0xd5	U+004e
+0xd6	U+004f
+0xd7	U+0050
+0xd8	U+0051
+0xd9	U+0052
+0xda	U+00b9
+0xdb	U+00fb
+0xdc	U+007e
+0xdd	U+00f9
+0xde	U+00fa
+0xdf	U+00ff
+0xe0	U+00c9
+0xe1	U+00f7
+0xe2	U+0053
+0xe3	U+0054
+0xe4	U+0055
+0xe5	U+0056
+0xe6	U+0057
+0xe7	U+0058
+0xe8	U+0059
+0xe9	U+005a
+0xea	U+00b2
+0xeb	U+00d4
+0xec	U+0040
+0xed	U+00d2
+0xee	U+00d3
+0xef	U+00d5
+0xf0	U+0030
+0xf1	U+0031
+0xf2	U+0032
+0xf3	U+0033
+0xf4	U+0034
+0xf5	U+0035
+0xf6	U+0036
+0xf7	U+0037
+0xf8	U+0038
+0xf9	U+0039
+0xfa	U+00b3
+0xfb	U+00db
+0xfc	U+00dc
+0xfd	U+00d9
+0xfe	U+00da
+0xff	U+009f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/IBM1144.c2b	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,1 @@
+0x15	U+0085
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/IBM1144.map	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,257 @@
+#Generated from IBM280.java   with 0x9f <-> u+20ac
+0x00	U+0000
+0x01	U+0001
+0x02	U+0002
+0x03	U+0003
+0x04	U+009c
+0x05	U+0009
+0x06	U+0086
+0x07	U+007f
+0x08	U+0097
+0x09	U+008d
+0x0a	U+008e
+0x0b	U+000b
+0x0c	U+000c
+0x0d	U+000d
+0x0e	U+000e
+0x0f	U+000f
+0x10	U+0010
+0x11	U+0011
+0x12	U+0012
+0x13	U+0013
+0x14	U+009d
+0x15	U+000a
+0x16	U+0008
+0x17	U+0087
+0x18	U+0018
+0x19	U+0019
+0x1a	U+0092
+0x1b	U+008f
+0x1c	U+001c
+0x1d	U+001d
+0x1e	U+001e
+0x1f	U+001f
+0x20	U+0080
+0x21	U+0081
+0x22	U+0082
+0x23	U+0083
+0x24	U+0084
+0x25	U+000a
+0x26	U+0017
+0x27	U+001b
+0x28	U+0088
+0x29	U+0089
+0x2a	U+008a
+0x2b	U+008b
+0x2c	U+008c
+0x2d	U+0005
+0x2e	U+0006
+0x2f	U+0007
+0x30	U+0090
+0x31	U+0091
+0x32	U+0016
+0x33	U+0093
+0x34	U+0094
+0x35	U+0095
+0x36	U+0096
+0x37	U+0004
+0x38	U+0098
+0x39	U+0099
+0x3a	U+009a
+0x3b	U+009b
+0x3c	U+0014
+0x3d	U+0015
+0x3e	U+009e
+0x3f	U+001a
+0x40	U+0020
+0x41	U+00a0
+0x42	U+00e2
+0x43	U+00e4
+0x44	U+007b
+0x45	U+00e1
+0x46	U+00e3
+0x47	U+00e5
+0x48	U+005c
+0x49	U+00f1
+0x4a	U+00b0
+0x4b	U+002e
+0x4c	U+003c
+0x4d	U+0028
+0x4e	U+002b
+0x4f	U+0021
+0x50	U+0026
+0x51	U+005d
+0x52	U+00ea
+0x53	U+00eb
+0x54	U+007d
+0x55	U+00ed
+0x56	U+00ee
+0x57	U+00ef
+0x58	U+007e
+0x59	U+00df
+0x5a	U+00e9
+0x5b	U+0024
+0x5c	U+002a
+0x5d	U+0029
+0x5e	U+003b
+0x5f	U+005e
+0x60	U+002d
+0x61	U+002f
+0x62	U+00c2
+0x63	U+00c4
+0x64	U+00c0
+0x65	U+00c1
+0x66	U+00c3
+0x67	U+00c5
+0x68	U+00c7
+0x69	U+00d1
+0x6a	U+00f2
+0x6b	U+002c
+0x6c	U+0025
+0x6d	U+005f
+0x6e	U+003e
+0x6f	U+003f
+0x70	U+00f8
+0x71	U+00c9
+0x72	U+00ca
+0x73	U+00cb
+0x74	U+00c8
+0x75	U+00cd
+0x76	U+00ce
+0x77	U+00cf
+0x78	U+00cc
+0x79	U+00f9
+0x7a	U+003a
+0x7b	U+00a3
+0x7c	U+00a7
+0x7d	U+0027
+0x7e	U+003d
+0x7f	U+0022
+0x80	U+00d8
+0x81	U+0061
+0x82	U+0062
+0x83	U+0063
+0x84	U+0064
+0x85	U+0065
+0x86	U+0066
+0x87	U+0067
+0x88	U+0068
+0x89	U+0069
+0x8a	U+00ab
+0x8b	U+00bb
+0x8c	U+00f0
+0x8d	U+00fd
+0x8e	U+00fe
+0x8f	U+00b1
+0x90	U+005b
+0x91	U+006a
+0x92	U+006b
+0x93	U+006c
+0x94	U+006d
+0x95	U+006e
+0x96	U+006f
+0x97	U+0070
+0x98	U+0071
+0x99	U+0072
+0x9a	U+00aa
+0x9b	U+00ba
+0x9c	U+00e6
+0x9d	U+00b8
+0x9e	U+00c6
+0x9f	U+20ac
+0xa0	U+00b5
+0xa1	U+00ec
+0xa2	U+0073
+0xa3	U+0074
+0xa4	U+0075
+0xa5	U+0076
+0xa6	U+0077
+0xa7	U+0078
+0xa8	U+0079
+0xa9	U+007a
+0xaa	U+00a1
+0xab	U+00bf
+0xac	U+00d0
+0xad	U+00dd
+0xae	U+00de
+0xaf	U+00ae
+0xb0	U+00a2
+0xb1	U+0023
+0xb2	U+00a5
+0xb3	U+00b7
+0xb4	U+00a9
+0xb5	U+0040
+0xb6	U+00b6
+0xb7	U+00bc
+0xb8	U+00bd
+0xb9	U+00be
+0xba	U+00ac
+0xbb	U+007c
+0xbc	U+00af
+0xbd	U+00a8
+0xbe	U+00b4
+0xbf	U+00d7
+0xc0	U+00e0
+0xc1	U+0041
+0xc2	U+0042
+0xc3	U+0043
+0xc4	U+0044
+0xc5	U+0045
+0xc6	U+0046
+0xc7	U+0047
+0xc8	U+0048
+0xc9	U+0049
+0xca	U+00ad
+0xcb	U+00f4
+0xcc	U+00f6
+0xcd	U+00a6
+0xce	U+00f3
+0xcf	U+00f5
+0xd0	U+00e8
+0xd1	U+004a
+0xd2	U+004b
+0xd3	U+004c
+0xd4	U+004d
+0xd5	U+004e
+0xd6	U+004f
+0xd7	U+0050
+0xd8	U+0051
+0xd9	U+0052
+0xda	U+00b9
+0xdb	U+00fb
+0xdc	U+00fc
+0xdd	U+0060
+0xde	U+00fa
+0xdf	U+00ff
+0xe0	U+00e7
+0xe1	U+00f7
+0xe2	U+0053
+0xe3	U+0054
+0xe4	U+0055
+0xe5	U+0056
+0xe6	U+0057
+0xe7	U+0058
+0xe8	U+0059
+0xe9	U+005a
+0xea	U+00b2
+0xeb	U+00d4
+0xec	U+00d6
+0xed	U+00d2
+0xee	U+00d3
+0xef	U+00d5
+0xf0	U+0030
+0xf1	U+0031
+0xf2	U+0032
+0xf3	U+0033
+0xf4	U+0034
+0xf5	U+0035
+0xf6	U+0036
+0xf7	U+0037
+0xf8	U+0038
+0xf9	U+0039
+0xfa	U+00b3
+0xfb	U+00db
+0xfc	U+00dc
+0xfd	U+00d9
+0xfe	U+00da
+0xff	U+009f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/IBM1145.c2b	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,1 @@
+0x15	U+0085
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/IBM1145.map	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,257 @@
+#Generated from IBM284.java with 0x9f <-> u+20ac
+0x00	U+0000
+0x01	U+0001
+0x02	U+0002
+0x03	U+0003
+0x04	U+009c
+0x05	U+0009
+0x06	U+0086
+0x07	U+007f
+0x08	U+0097
+0x09	U+008d
+0x0a	U+008e
+0x0b	U+000b
+0x0c	U+000c
+0x0d	U+000d
+0x0e	U+000e
+0x0f	U+000f
+0x10	U+0010
+0x11	U+0011
+0x12	U+0012
+0x13	U+0013
+0x14	U+009d
+0x15	U+000a
+0x16	U+0008
+0x17	U+0087
+0x18	U+0018
+0x19	U+0019
+0x1a	U+0092
+0x1b	U+008f
+0x1c	U+001c
+0x1d	U+001d
+0x1e	U+001e
+0x1f	U+001f
+0x20	U+0080
+0x21	U+0081
+0x22	U+0082
+0x23	U+0083
+0x24	U+0084
+0x25	U+000a
+0x26	U+0017
+0x27	U+001b
+0x28	U+0088
+0x29	U+0089
+0x2a	U+008a
+0x2b	U+008b
+0x2c	U+008c
+0x2d	U+0005
+0x2e	U+0006
+0x2f	U+0007
+0x30	U+0090
+0x31	U+0091
+0x32	U+0016
+0x33	U+0093
+0x34	U+0094
+0x35	U+0095
+0x36	U+0096
+0x37	U+0004
+0x38	U+0098
+0x39	U+0099
+0x3a	U+009a
+0x3b	U+009b
+0x3c	U+0014
+0x3d	U+0015
+0x3e	U+009e
+0x3f	U+001a
+0x40	U+0020
+0x41	U+00a0
+0x42	U+00e2
+0x43	U+00e4
+0x44	U+00e0
+0x45	U+00e1
+0x46	U+00e3
+0x47	U+00e5
+0x48	U+00e7
+0x49	U+00a6
+0x4a	U+005b
+0x4b	U+002e
+0x4c	U+003c
+0x4d	U+0028
+0x4e	U+002b
+0x4f	U+007c
+0x50	U+0026
+0x51	U+00e9
+0x52	U+00ea
+0x53	U+00eb
+0x54	U+00e8
+0x55	U+00ed
+0x56	U+00ee
+0x57	U+00ef
+0x58	U+00ec
+0x59	U+00df
+0x5a	U+005d
+0x5b	U+0024
+0x5c	U+002a
+0x5d	U+0029
+0x5e	U+003b
+0x5f	U+00ac
+0x60	U+002d
+0x61	U+002f
+0x62	U+00c2
+0x63	U+00c4
+0x64	U+00c0
+0x65	U+00c1
+0x66	U+00c3
+0x67	U+00c5
+0x68	U+00c7
+0x69	U+0023
+0x6a	U+00f1
+0x6b	U+002c
+0x6c	U+0025
+0x6d	U+005f
+0x6e	U+003e
+0x6f	U+003f
+0x70	U+00f8
+0x71	U+00c9
+0x72	U+00ca
+0x73	U+00cb
+0x74	U+00c8
+0x75	U+00cd
+0x76	U+00ce
+0x77	U+00cf
+0x78	U+00cc
+0x79	U+0060
+0x7a	U+003a
+0x7b	U+00d1
+0x7c	U+0040
+0x7d	U+0027
+0x7e	U+003d
+0x7f	U+0022
+0x80	U+00d8
+0x81	U+0061
+0x82	U+0062
+0x83	U+0063
+0x84	U+0064
+0x85	U+0065
+0x86	U+0066
+0x87	U+0067
+0x88	U+0068
+0x89	U+0069
+0x8a	U+00ab
+0x8b	U+00bb
+0x8c	U+00f0
+0x8d	U+00fd
+0x8e	U+00fe
+0x8f	U+00b1
+0x90	U+00b0
+0x91	U+006a
+0x92	U+006b
+0x93	U+006c
+0x94	U+006d
+0x95	U+006e
+0x96	U+006f
+0x97	U+0070
+0x98	U+0071
+0x99	U+0072
+0x9a	U+00aa
+0x9b	U+00ba
+0x9c	U+00e6
+0x9d	U+00b8
+0x9e	U+00c6
+0x9f	U+20ac
+0xa0	U+00b5
+0xa1	U+00a8
+0xa2	U+0073
+0xa3	U+0074
+0xa4	U+0075
+0xa5	U+0076
+0xa6	U+0077
+0xa7	U+0078
+0xa8	U+0079
+0xa9	U+007a
+0xaa	U+00a1
+0xab	U+00bf
+0xac	U+00d0
+0xad	U+00dd
+0xae	U+00de
+0xaf	U+00ae
+0xb0	U+00a2
+0xb1	U+00a3
+0xb2	U+00a5
+0xb3	U+00b7
+0xb4	U+00a9
+0xb5	U+00a7
+0xb6	U+00b6
+0xb7	U+00bc
+0xb8	U+00bd
+0xb9	U+00be
+0xba	U+005e
+0xbb	U+0021
+0xbc	U+00af
+0xbd	U+007e
+0xbe	U+00b4
+0xbf	U+00d7
+0xc0	U+007b
+0xc1	U+0041
+0xc2	U+0042
+0xc3	U+0043
+0xc4	U+0044
+0xc5	U+0045
+0xc6	U+0046
+0xc7	U+0047
+0xc8	U+0048
+0xc9	U+0049
+0xca	U+00ad
+0xcb	U+00f4
+0xcc	U+00f6
+0xcd	U+00f2
+0xce	U+00f3
+0xcf	U+00f5
+0xd0	U+007d
+0xd1	U+004a
+0xd2	U+004b
+0xd3	U+004c
+0xd4	U+004d
+0xd5	U+004e
+0xd6	U+004f
+0xd7	U+0050
+0xd8	U+0051
+0xd9	U+0052
+0xda	U+00b9
+0xdb	U+00fb
+0xdc	U+00fc
+0xdd	U+00f9
+0xde	U+00fa
+0xdf	U+00ff
+0xe0	U+005c
+0xe1	U+00f7
+0xe2	U+0053
+0xe3	U+0054
+0xe4	U+0055
+0xe5	U+0056
+0xe6	U+0057
+0xe7	U+0058
+0xe8	U+0059
+0xe9	U+005a
+0xea	U+00b2
+0xeb	U+00d4
+0xec	U+00d6
+0xed	U+00d2
+0xee	U+00d3
+0xef	U+00d5
+0xf0	U+0030
+0xf1	U+0031
+0xf2	U+0032
+0xf3	U+0033
+0xf4	U+0034
+0xf5	U+0035
+0xf6	U+0036
+0xf7	U+0037
+0xf8	U+0038
+0xf9	U+0039
+0xfa	U+00b3
+0xfb	U+00db
+0xfc	U+00dc
+0xfd	U+00d9
+0xfe	U+00da
+0xff	U+009f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/IBM1146.c2b	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,1 @@
+0x15	U+0085
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/IBM1146.map	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,257 @@
+#Generated from IBM285.java with 0x9f <-> u+20ac
+0x00	U+0000
+0x01	U+0001
+0x02	U+0002
+0x03	U+0003
+0x04	U+009c
+0x05	U+0009
+0x06	U+0086
+0x07	U+007f
+0x08	U+0097
+0x09	U+008d
+0x0a	U+008e
+0x0b	U+000b
+0x0c	U+000c
+0x0d	U+000d
+0x0e	U+000e
+0x0f	U+000f
+0x10	U+0010
+0x11	U+0011
+0x12	U+0012
+0x13	U+0013
+0x14	U+009d
+0x15	U+000a
+0x16	U+0008
+0x17	U+0087
+0x18	U+0018
+0x19	U+0019
+0x1a	U+0092
+0x1b	U+008f
+0x1c	U+001c
+0x1d	U+001d
+0x1e	U+001e
+0x1f	U+001f
+0x20	U+0080
+0x21	U+0081
+0x22	U+0082
+0x23	U+0083
+0x24	U+0084
+0x25	U+000a
+0x26	U+0017
+0x27	U+001b
+0x28	U+0088
+0x29	U+0089
+0x2a	U+008a
+0x2b	U+008b
+0x2c	U+008c
+0x2d	U+0005
+0x2e	U+0006
+0x2f	U+0007
+0x30	U+0090
+0x31	U+0091
+0x32	U+0016
+0x33	U+0093
+0x34	U+0094
+0x35	U+0095
+0x36	U+0096
+0x37	U+0004
+0x38	U+0098
+0x39	U+0099
+0x3a	U+009a
+0x3b	U+009b
+0x3c	U+0014
+0x3d	U+0015
+0x3e	U+009e
+0x3f	U+001a
+0x40	U+0020
+0x41	U+00a0
+0x42	U+00e2
+0x43	U+00e4
+0x44	U+00e0
+0x45	U+00e1
+0x46	U+00e3
+0x47	U+00e5
+0x48	U+00e7
+0x49	U+00f1
+0x4a	U+0024
+0x4b	U+002e
+0x4c	U+003c
+0x4d	U+0028
+0x4e	U+002b
+0x4f	U+007c
+0x50	U+0026
+0x51	U+00e9
+0x52	U+00ea
+0x53	U+00eb
+0x54	U+00e8
+0x55	U+00ed
+0x56	U+00ee
+0x57	U+00ef
+0x58	U+00ec
+0x59	U+00df
+0x5a	U+0021
+0x5b	U+00a3
+0x5c	U+002a
+0x5d	U+0029
+0x5e	U+003b
+0x5f	U+00ac
+0x60	U+002d
+0x61	U+002f
+0x62	U+00c2
+0x63	U+00c4
+0x64	U+00c0
+0x65	U+00c1
+0x66	U+00c3
+0x67	U+00c5
+0x68	U+00c7
+0x69	U+00d1
+0x6a	U+00a6
+0x6b	U+002c
+0x6c	U+0025
+0x6d	U+005f
+0x6e	U+003e
+0x6f	U+003f
+0x70	U+00f8
+0x71	U+00c9
+0x72	U+00ca
+0x73	U+00cb
+0x74	U+00c8
+0x75	U+00cd
+0x76	U+00ce
+0x77	U+00cf
+0x78	U+00cc
+0x79	U+0060
+0x7a	U+003a
+0x7b	U+0023
+0x7c	U+0040
+0x7d	U+0027
+0x7e	U+003d
+0x7f	U+0022
+0x80	U+00d8
+0x81	U+0061
+0x82	U+0062
+0x83	U+0063
+0x84	U+0064
+0x85	U+0065
+0x86	U+0066
+0x87	U+0067
+0x88	U+0068
+0x89	U+0069
+0x8a	U+00ab
+0x8b	U+00bb
+0x8c	U+00f0
+0x8d	U+00fd
+0x8e	U+00fe
+0x8f	U+00b1
+0x90	U+00b0
+0x91	U+006a
+0x92	U+006b
+0x93	U+006c
+0x94	U+006d
+0x95	U+006e
+0x96	U+006f
+0x97	U+0070
+0x98	U+0071
+0x99	U+0072
+0x9a	U+00aa
+0x9b	U+00ba
+0x9c	U+00e6
+0x9d	U+00b8
+0x9e	U+00c6
+0x9f	U+20ac
+0xa0	U+00b5
+0xa1	U+00af
+0xa2	U+0073
+0xa3	U+0074
+0xa4	U+0075
+0xa5	U+0076
+0xa6	U+0077
+0xa7	U+0078
+0xa8	U+0079
+0xa9	U+007a
+0xaa	U+00a1
+0xab	U+00bf
+0xac	U+00d0
+0xad	U+00dd
+0xae	U+00de
+0xaf	U+00ae
+0xb0	U+00a2
+0xb1	U+005b
+0xb2	U+00a5
+0xb3	U+00b7
+0xb4	U+00a9
+0xb5	U+00a7
+0xb6	U+00b6
+0xb7	U+00bc
+0xb8	U+00bd
+0xb9	U+00be
+0xba	U+005e
+0xbb	U+005d
+0xbc	U+007e
+0xbd	U+00a8
+0xbe	U+00b4
+0xbf	U+00d7
+0xc0	U+007b
+0xc1	U+0041
+0xc2	U+0042
+0xc3	U+0043
+0xc4	U+0044
+0xc5	U+0045
+0xc6	U+0046
+0xc7	U+0047
+0xc8	U+0048
+0xc9	U+0049
+0xca	U+00ad
+0xcb	U+00f4
+0xcc	U+00f6
+0xcd	U+00f2
+0xce	U+00f3
+0xcf	U+00f5
+0xd0	U+007d
+0xd1	U+004a
+0xd2	U+004b
+0xd3	U+004c
+0xd4	U+004d
+0xd5	U+004e
+0xd6	U+004f
+0xd7	U+0050
+0xd8	U+0051
+0xd9	U+0052
+0xda	U+00b9
+0xdb	U+00fb
+0xdc	U+00fc
+0xdd	U+00f9
+0xde	U+00fa
+0xdf	U+00ff
+0xe0	U+005c
+0xe1	U+00f7
+0xe2	U+0053
+0xe3	U+0054
+0xe4	U+0055
+0xe5	U+0056
+0xe6	U+0057
+0xe7	U+0058
+0xe8	U+0059
+0xe9	U+005a
+0xea	U+00b2
+0xeb	U+00d4
+0xec	U+00d6
+0xed	U+00d2
+0xee	U+00d3
+0xef	U+00d5
+0xf0	U+0030
+0xf1	U+0031
+0xf2	U+0032
+0xf3	U+0033
+0xf4	U+0034
+0xf5	U+0035
+0xf6	U+0036
+0xf7	U+0037
+0xf8	U+0038
+0xf9	U+0039
+0xfa	U+00b3
+0xfb	U+00db
+0xfc	U+00dc
+0xfd	U+00d9
+0xfe	U+00da
+0xff	U+009f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/IBM1147.c2b	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,1 @@
+0x15	U+0085
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/IBM1147.map	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,257 @@
+#Generated from IBM297.java 0x9f <-> u+20ac
+0x00	U+0000
+0x01	U+0001
+0x02	U+0002
+0x03	U+0003
+0x04	U+009c
+0x05	U+0009
+0x06	U+0086
+0x07	U+007f
+0x08	U+0097
+0x09	U+008d
+0x0a	U+008e
+0x0b	U+000b
+0x0c	U+000c
+0x0d	U+000d
+0x0e	U+000e
+0x0f	U+000f
+0x10	U+0010
+0x11	U+0011
+0x12	U+0012
+0x13	U+0013
+0x14	U+009d
+0x15	U+000a
+0x16	U+0008
+0x17	U+0087
+0x18	U+0018
+0x19	U+0019
+0x1a	U+0092
+0x1b	U+008f
+0x1c	U+001c
+0x1d	U+001d
+0x1e	U+001e
+0x1f	U+001f
+0x20	U+0080
+0x21	U+0081
+0x22	U+0082
+0x23	U+0083
+0x24	U+0084
+0x25	U+000a
+0x26	U+0017
+0x27	U+001b
+0x28	U+0088
+0x29	U+0089
+0x2a	U+008a
+0x2b	U+008b
+0x2c	U+008c
+0x2d	U+0005
+0x2e	U+0006
+0x2f	U+0007
+0x30	U+0090
+0x31	U+0091
+0x32	U+0016
+0x33	U+0093
+0x34	U+0094
+0x35	U+0095
+0x36	U+0096
+0x37	U+0004
+0x38	U+0098
+0x39	U+0099
+0x3a	U+009a
+0x3b	U+009b
+0x3c	U+0014
+0x3d	U+0015
+0x3e	U+009e
+0x3f	U+001a
+0x40	U+0020
+0x41	U+00a0
+0x42	U+00e2
+0x43	U+00e4
+0x44	U+0040
+0x45	U+00e1
+0x46	U+00e3
+0x47	U+00e5
+0x48	U+005c
+0x49	U+00f1
+0x4a	U+00b0
+0x4b	U+002e
+0x4c	U+003c
+0x4d	U+0028
+0x4e	U+002b
+0x4f	U+0021
+0x50	U+0026
+0x51	U+007b
+0x52	U+00ea
+0x53	U+00eb
+0x54	U+007d
+0x55	U+00ed
+0x56	U+00ee
+0x57	U+00ef
+0x58	U+00ec
+0x59	U+00df
+0x5a	U+00a7
+0x5b	U+0024
+0x5c	U+002a
+0x5d	U+0029
+0x5e	U+003b
+0x5f	U+005e
+0x60	U+002d
+0x61	U+002f
+0x62	U+00c2
+0x63	U+00c4
+0x64	U+00c0
+0x65	U+00c1
+0x66	U+00c3
+0x67	U+00c5
+0x68	U+00c7
+0x69	U+00d1
+0x6a	U+00f9
+0x6b	U+002c
+0x6c	U+0025
+0x6d	U+005f
+0x6e	U+003e
+0x6f	U+003f
+0x70	U+00f8
+0x71	U+00c9
+0x72	U+00ca
+0x73	U+00cb
+0x74	U+00c8
+0x75	U+00cd
+0x76	U+00ce
+0x77	U+00cf
+0x78	U+00cc
+0x79	U+00b5
+0x7a	U+003a
+0x7b	U+00a3
+0x7c	U+00e0
+0x7d	U+0027
+0x7e	U+003d
+0x7f	U+0022
+0x80	U+00d8
+0x81	U+0061
+0x82	U+0062
+0x83	U+0063
+0x84	U+0064
+0x85	U+0065
+0x86	U+0066
+0x87	U+0067
+0x88	U+0068
+0x89	U+0069
+0x8a	U+00ab
+0x8b	U+00bb
+0x8c	U+00f0
+0x8d	U+00fd
+0x8e	U+00fe
+0x8f	U+00b1
+0x90	U+005b
+0x91	U+006a
+0x92	U+006b
+0x93	U+006c
+0x94	U+006d
+0x95	U+006e
+0x96	U+006f
+0x97	U+0070
+0x98	U+0071
+0x99	U+0072
+0x9a	U+00aa
+0x9b	U+00ba
+0x9c	U+00e6
+0x9d	U+00b8
+0x9e	U+00c6
+0x9f	U+20ac
+0xa0	U+0060
+0xa1	U+00a8
+0xa2	U+0073
+0xa3	U+0074
+0xa4	U+0075
+0xa5	U+0076
+0xa6	U+0077
+0xa7	U+0078
+0xa8	U+0079
+0xa9	U+007a
+0xaa	U+00a1
+0xab	U+00bf
+0xac	U+00d0
+0xad	U+00dd
+0xae	U+00de
+0xaf	U+00ae
+0xb0	U+00a2
+0xb1	U+0023
+0xb2	U+00a5
+0xb3	U+00b7
+0xb4	U+00a9
+0xb5	U+005d
+0xb6	U+00b6
+0xb7	U+00bc
+0xb8	U+00bd
+0xb9	U+00be
+0xba	U+00ac
+0xbb	U+007c
+0xbc	U+00af
+0xbd	U+007e
+0xbe	U+00b4
+0xbf	U+00d7
+0xc0	U+00e9
+0xc1	U+0041
+0xc2	U+0042
+0xc3	U+0043
+0xc4	U+0044
+0xc5	U+0045
+0xc6	U+0046
+0xc7	U+0047
+0xc8	U+0048
+0xc9	U+0049
+0xca	U+00ad
+0xcb	U+00f4
+0xcc	U+00f6
+0xcd	U+00f2
+0xce	U+00f3
+0xcf	U+00f5
+0xd0	U+00e8
+0xd1	U+004a
+0xd2	U+004b
+0xd3	U+004c
+0xd4	U+004d
+0xd5	U+004e
+0xd6	U+004f
+0xd7	U+0050
+0xd8	U+0051
+0xd9	U+0052
+0xda	U+00b9
+0xdb	U+00fb
+0xdc	U+00fc
+0xdd	U+00a6
+0xde	U+00fa
+0xdf	U+00ff
+0xe0	U+00e7
+0xe1	U+00f7
+0xe2	U+0053
+0xe3	U+0054
+0xe4	U+0055
+0xe5	U+0056
+0xe6	U+0057
+0xe7	U+0058
+0xe8	U+0059
+0xe9	U+005a
+0xea	U+00b2
+0xeb	U+00d4
+0xec	U+00d6
+0xed	U+00d2
+0xee	U+00d3
+0xef	U+00d5
+0xf0	U+0030
+0xf1	U+0031
+0xf2	U+0032
+0xf3	U+0033
+0xf4	U+0034
+0xf5	U+0035
+0xf6	U+0036
+0xf7	U+0037
+0xf8	U+0038
+0xf9	U+0039
+0xfa	U+00b3
+0xfb	U+00db
+0xfc	U+00dc
+0xfd	U+00d9
+0xfe	U+00da
+0xff	U+009f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/IBM1148.c2b	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,1 @@
+0x15	U+0085
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/IBM1148.map	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,257 @@
+#Generated from IBM500.java 0x9f <-> u+20ac
+0x00	U+0000
+0x01	U+0001
+0x02	U+0002
+0x03	U+0003
+0x04	U+009c
+0x05	U+0009
+0x06	U+0086
+0x07	U+007f
+0x08	U+0097
+0x09	U+008d
+0x0a	U+008e
+0x0b	U+000b
+0x0c	U+000c
+0x0d	U+000d
+0x0e	U+000e
+0x0f	U+000f
+0x10	U+0010
+0x11	U+0011
+0x12	U+0012
+0x13	U+0013
+0x14	U+009d
+0x15	U+000a
+0x16	U+0008
+0x17	U+0087
+0x18	U+0018
+0x19	U+0019
+0x1a	U+0092
+0x1b	U+008f
+0x1c	U+001c
+0x1d	U+001d
+0x1e	U+001e
+0x1f	U+001f
+0x20	U+0080
+0x21	U+0081
+0x22	U+0082
+0x23	U+0083
+0x24	U+0084
+0x25	U+000a
+0x26	U+0017
+0x27	U+001b
+0x28	U+0088
+0x29	U+0089
+0x2a	U+008a
+0x2b	U+008b
+0x2c	U+008c
+0x2d	U+0005
+0x2e	U+0006
+0x2f	U+0007
+0x30	U+0090
+0x31	U+0091
+0x32	U+0016
+0x33	U+0093
+0x34	U+0094
+0x35	U+0095
+0x36	U+0096
+0x37	U+0004
+0x38	U+0098
+0x39	U+0099
+0x3a	U+009a
+0x3b	U+009b
+0x3c	U+0014
+0x3d	U+0015
+0x3e	U+009e
+0x3f	U+001a
+0x40	U+0020
+0x41	U+00a0
+0x42	U+00e2
+0x43	U+00e4
+0x44	U+00e0
+0x45	U+00e1
+0x46	U+00e3
+0x47	U+00e5
+0x48	U+00e7
+0x49	U+00f1
+0x4a	U+005b
+0x4b	U+002e
+0x4c	U+003c
+0x4d	U+0028
+0x4e	U+002b
+0x4f	U+0021
+0x50	U+0026
+0x51	U+00e9
+0x52	U+00ea
+0x53	U+00eb
+0x54	U+00e8
+0x55	U+00ed
+0x56	U+00ee
+0x57	U+00ef
+0x58	U+00ec
+0x59	U+00df
+0x5a	U+005d
+0x5b	U+0024
+0x5c	U+002a
+0x5d	U+0029
+0x5e	U+003b
+0x5f	U+005e
+0x60	U+002d
+0x61	U+002f
+0x62	U+00c2
+0x63	U+00c4
+0x64	U+00c0
+0x65	U+00c1
+0x66	U+00c3
+0x67	U+00c5
+0x68	U+00c7
+0x69	U+00d1
+0x6a	U+00a6
+0x6b	U+002c
+0x6c	U+0025
+0x6d	U+005f
+0x6e	U+003e
+0x6f	U+003f
+0x70	U+00f8
+0x71	U+00c9
+0x72	U+00ca
+0x73	U+00cb
+0x74	U+00c8
+0x75	U+00cd
+0x76	U+00ce
+0x77	U+00cf
+0x78	U+00cc
+0x79	U+0060
+0x7a	U+003a
+0x7b	U+0023
+0x7c	U+0040
+0x7d	U+0027
+0x7e	U+003d
+0x7f	U+0022
+0x80	U+00d8
+0x81	U+0061
+0x82	U+0062
+0x83	U+0063
+0x84	U+0064
+0x85	U+0065
+0x86	U+0066
+0x87	U+0067
+0x88	U+0068
+0x89	U+0069
+0x8a	U+00ab
+0x8b	U+00bb
+0x8c	U+00f0
+0x8d	U+00fd
+0x8e	U+00fe
+0x8f	U+00b1
+0x90	U+00b0
+0x91	U+006a
+0x92	U+006b
+0x93	U+006c
+0x94	U+006d
+0x95	U+006e
+0x96	U+006f
+0x97	U+0070
+0x98	U+0071
+0x99	U+0072
+0x9a	U+00aa
+0x9b	U+00ba
+0x9c	U+00e6
+0x9d	U+00b8
+0x9e	U+00c6
+0x9f	U+20ac
+0xa0	U+00b5
+0xa1	U+007e
+0xa2	U+0073
+0xa3	U+0074
+0xa4	U+0075
+0xa5	U+0076
+0xa6	U+0077
+0xa7	U+0078
+0xa8	U+0079
+0xa9	U+007a
+0xaa	U+00a1
+0xab	U+00bf
+0xac	U+00d0
+0xad	U+00dd
+0xae	U+00de
+0xaf	U+00ae
+0xb0	U+00a2
+0xb1	U+00a3
+0xb2	U+00a5
+0xb3	U+00b7
+0xb4	U+00a9
+0xb5	U+00a7
+0xb6	U+00b6
+0xb7	U+00bc
+0xb8	U+00bd
+0xb9	U+00be
+0xba	U+00ac
+0xbb	U+007c
+0xbc	U+00af
+0xbd	U+00a8
+0xbe	U+00b4
+0xbf	U+00d7
+0xc0	U+007b
+0xc1	U+0041
+0xc2	U+0042
+0xc3	U+0043
+0xc4	U+0044
+0xc5	U+0045
+0xc6	U+0046
+0xc7	U+0047
+0xc8	U+0048
+0xc9	U+0049
+0xca	U+00ad
+0xcb	U+00f4
+0xcc	U+00f6
+0xcd	U+00f2
+0xce	U+00f3
+0xcf	U+00f5
+0xd0	U+007d
+0xd1	U+004a
+0xd2	U+004b
+0xd3	U+004c
+0xd4	U+004d
+0xd5	U+004e
+0xd6	U+004f
+0xd7	U+0050
+0xd8	U+0051
+0xd9	U+0052
+0xda	U+00b9
+0xdb	U+00fb
+0xdc	U+00fc
+0xdd	U+00f9
+0xde	U+00fa
+0xdf	U+00ff
+0xe0	U+005c
+0xe1	U+00f7
+0xe2	U+0053
+0xe3	U+0054
+0xe4	U+0055
+0xe5	U+0056
+0xe6	U+0057
+0xe7	U+0058
+0xe8	U+0059
+0xe9	U+005a
+0xea	U+00b2
+0xeb	U+00d4
+0xec	U+00d6
+0xed	U+00d2
+0xee	U+00d3
+0xef	U+00d5
+0xf0	U+0030
+0xf1	U+0031
+0xf2	U+0032
+0xf3	U+0033
+0xf4	U+0034
+0xf5	U+0035
+0xf6	U+0036
+0xf7	U+0037
+0xf8	U+0038
+0xf9	U+0039
+0xfa	U+00b3
+0xfb	U+00db
+0xfc	U+00dc
+0xfd	U+00d9
+0xfe	U+00da
+0xff	U+009f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/IBM1149.c2b	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,1 @@
+0x15	U+0085
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/IBM1149.map	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,257 @@
+#Generated from IBM871.java 0x9f <-> u+20ac
+0x00	U+0000
+0x01	U+0001
+0x02	U+0002
+0x03	U+0003
+0x04	U+009c
+0x05	U+0009
+0x06	U+0086
+0x07	U+007f
+0x08	U+0097
+0x09	U+008d
+0x0a	U+008e
+0x0b	U+000b
+0x0c	U+000c
+0x0d	U+000d
+0x0e	U+000e
+0x0f	U+000f
+0x10	U+0010
+0x11	U+0011
+0x12	U+0012
+0x13	U+0013
+0x14	U+009d
+0x15	U+000a
+0x16	U+0008
+0x17	U+0087
+0x18	U+0018
+0x19	U+0019
+0x1a	U+0092
+0x1b	U+008f
+0x1c	U+001c
+0x1d	U+001d
+0x1e	U+001e
+0x1f	U+001f
+0x20	U+0080
+0x21	U+0081
+0x22	U+0082
+0x23	U+0083
+0x24	U+0084
+0x25	U+000a
+0x26	U+0017
+0x27	U+001b
+0x28	U+0088
+0x29	U+0089
+0x2a	U+008a
+0x2b	U+008b
+0x2c	U+008c
+0x2d	U+0005
+0x2e	U+0006
+0x2f	U+0007
+0x30	U+0090
+0x31	U+0091
+0x32	U+0016
+0x33	U+0093
+0x34	U+0094
+0x35	U+0095
+0x36	U+0096
+0x37	U+0004
+0x38	U+0098
+0x39	U+0099
+0x3a	U+009a
+0x3b	U+009b
+0x3c	U+0014
+0x3d	U+0015
+0x3e	U+009e
+0x3f	U+001a
+0x40	U+0020
+0x41	U+00a0
+0x42	U+00e2
+0x43	U+00e4
+0x44	U+00e0
+0x45	U+00e1
+0x46	U+00e3
+0x47	U+00e5
+0x48	U+00e7
+0x49	U+00f1
+0x4a	U+00de
+0x4b	U+002e
+0x4c	U+003c
+0x4d	U+0028
+0x4e	U+002b
+0x4f	U+0021
+0x50	U+0026
+0x51	U+00e9
+0x52	U+00ea
+0x53	U+00eb
+0x54	U+00e8
+0x55	U+00ed
+0x56	U+00ee
+0x57	U+00ef
+0x58	U+00ec
+0x59	U+00df
+0x5a	U+00c6
+0x5b	U+0024
+0x5c	U+002a
+0x5d	U+0029
+0x5e	U+003b
+0x5f	U+00d6
+0x60	U+002d
+0x61	U+002f
+0x62	U+00c2
+0x63	U+00c4
+0x64	U+00c0
+0x65	U+00c1
+0x66	U+00c3
+0x67	U+00c5
+0x68	U+00c7
+0x69	U+00d1
+0x6a	U+00a6
+0x6b	U+002c
+0x6c	U+0025
+0x6d	U+005f
+0x6e	U+003e
+0x6f	U+003f
+0x70	U+00f8
+0x71	U+00c9
+0x72	U+00ca
+0x73	U+00cb
+0x74	U+00c8
+0x75	U+00cd
+0x76	U+00ce
+0x77	U+00cf
+0x78	U+00cc
+0x79	U+00f0
+0x7a	U+003a
+0x7b	U+0023
+0x7c	U+00d0
+0x7d	U+0027
+0x7e	U+003d
+0x7f	U+0022
+0x80	U+00d8
+0x81	U+0061
+0x82	U+0062
+0x83	U+0063
+0x84	U+0064
+0x85	U+0065
+0x86	U+0066
+0x87	U+0067
+0x88	U+0068
+0x89	U+0069
+0x8a	U+00ab
+0x8b	U+00bb
+0x8c	U+0060
+0x8d	U+00fd
+0x8e	U+007b
+0x8f	U+00b1
+0x90	U+00b0
+0x91	U+006a
+0x92	U+006b
+0x93	U+006c
+0x94	U+006d
+0x95	U+006e
+0x96	U+006f
+0x97	U+0070
+0x98	U+0071
+0x99	U+0072
+0x9a	U+00aa
+0x9b	U+00ba
+0x9c	U+007d
+0x9d	U+00b8
+0x9e	U+005d
+0x9f	U+20ac
+0xa0	U+00b5
+0xa1	U+00f6
+0xa2	U+0073
+0xa3	U+0074
+0xa4	U+0075
+0xa5	U+0076
+0xa6	U+0077
+0xa7	U+0078
+0xa8	U+0079
+0xa9	U+007a
+0xaa	U+00a1
+0xab	U+00bf
+0xac	U+0040
+0xad	U+00dd
+0xae	U+005b
+0xaf	U+00ae
+0xb0	U+00a2
+0xb1	U+00a3
+0xb2	U+00a5
+0xb3	U+00b7
+0xb4	U+00a9
+0xb5	U+00a7
+0xb6	U+00b6
+0xb7	U+00bc
+0xb8	U+00bd
+0xb9	U+00be
+0xba	U+00ac
+0xbb	U+007c
+0xbc	U+00af
+0xbd	U+00a8
+0xbe	U+005c
+0xbf	U+00d7
+0xc0	U+00fe
+0xc1	U+0041
+0xc2	U+0042
+0xc3	U+0043
+0xc4	U+0044
+0xc5	U+0045
+0xc6	U+0046
+0xc7	U+0047
+0xc8	U+0048
+0xc9	U+0049
+0xca	U+00ad
+0xcb	U+00f4
+0xcc	U+007e
+0xcd	U+00f2
+0xce	U+00f3
+0xcf	U+00f5
+0xd0	U+00e6
+0xd1	U+004a
+0xd2	U+004b
+0xd3	U+004c
+0xd4	U+004d
+0xd5	U+004e
+0xd6	U+004f
+0xd7	U+0050
+0xd8	U+0051
+0xd9	U+0052
+0xda	U+00b9
+0xdb	U+00fb
+0xdc	U+00fc
+0xdd	U+00f9
+0xde	U+00fa
+0xdf	U+00ff
+0xe0	U+00b4
+0xe1	U+00f7
+0xe2	U+0053
+0xe3	U+0054
+0xe4	U+0055
+0xe5	U+0056
+0xe6	U+0057
+0xe7	U+0058
+0xe8	U+0059
+0xe9	U+005a
+0xea	U+00b2
+0xeb	U+00d4
+0xec	U+005e
+0xed	U+00d2
+0xee	U+00d3
+0xef	U+00d5
+0xf0	U+0030
+0xf1	U+0031
+0xf2	U+0032
+0xf3	U+0033
+0xf4	U+0034
+0xf5	U+0035
+0xf6	U+0036
+0xf7	U+0037
+0xf8	U+0038
+0xf9	U+0039
+0xfa	U+00b3
+0xfb	U+00db
+0xfc	U+00dc
+0xfd	U+00d9
+0xfe	U+00da
+0xff	U+009f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/IBM273.c2b	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,1 @@
+0x15	U+0085
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/IBM273.map	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,257 @@
+#Generated from IBM273.java
+0x00	U+0000
+0x01	U+0001
+0x02	U+0002
+0x03	U+0003
+0x04	U+009c
+0x05	U+0009
+0x06	U+0086
+0x07	U+007f
+0x08	U+0097
+0x09	U+008d
+0x0a	U+008e
+0x0b	U+000b
+0x0c	U+000c
+0x0d	U+000d
+0x0e	U+000e
+0x0f	U+000f
+0x10	U+0010
+0x11	U+0011
+0x12	U+0012
+0x13	U+0013
+0x14	U+009d
+0x15	U+000a
+0x16	U+0008
+0x17	U+0087
+0x18	U+0018
+0x19	U+0019
+0x1a	U+0092
+0x1b	U+008f
+0x1c	U+001c
+0x1d	U+001d
+0x1e	U+001e
+0x1f	U+001f
+0x20	U+0080
+0x21	U+0081
+0x22	U+0082
+0x23	U+0083
+0x24	U+0084
+0x25	U+000a
+0x26	U+0017
+0x27	U+001b
+0x28	U+0088
+0x29	U+0089
+0x2a	U+008a
+0x2b	U+008b
+0x2c	U+008c
+0x2d	U+0005
+0x2e	U+0006
+0x2f	U+0007
+0x30	U+0090
+0x31	U+0091
+0x32	U+0016
+0x33	U+0093
+0x34	U+0094
+0x35	U+0095
+0x36	U+0096
+0x37	U+0004
+0x38	U+0098
+0x39	U+0099
+0x3a	U+009a
+0x3b	U+009b
+0x3c	U+0014
+0x3d	U+0015
+0x3e	U+009e
+0x3f	U+001a
+0x40	U+0020
+0x41	U+00a0
+0x42	U+00e2
+0x43	U+007b
+0x44	U+00e0
+0x45	U+00e1
+0x46	U+00e3
+0x47	U+00e5
+0x48	U+00e7
+0x49	U+00f1
+0x4a	U+00c4
+0x4b	U+002e
+0x4c	U+003c
+0x4d	U+0028
+0x4e	U+002b
+0x4f	U+0021
+0x50	U+0026
+0x51	U+00e9
+0x52	U+00ea
+0x53	U+00eb
+0x54	U+00e8
+0x55	U+00ed
+0x56	U+00ee
+0x57	U+00ef
+0x58	U+00ec
+0x59	U+007e
+0x5a	U+00dc
+0x5b	U+0024
+0x5c	U+002a
+0x5d	U+0029
+0x5e	U+003b
+0x5f	U+005e
+0x60	U+002d
+0x61	U+002f
+0x62	U+00c2
+0x63	U+005b
+0x64	U+00c0
+0x65	U+00c1
+0x66	U+00c3
+0x67	U+00c5
+0x68	U+00c7
+0x69	U+00d1
+0x6a	U+00f6
+0x6b	U+002c
+0x6c	U+0025
+0x6d	U+005f
+0x6e	U+003e
+0x6f	U+003f
+0x70	U+00f8
+0x71	U+00c9
+0x72	U+00ca
+0x73	U+00cb
+0x74	U+00c8
+0x75	U+00cd
+0x76	U+00ce
+0x77	U+00cf
+0x78	U+00cc
+0x79	U+0060
+0x7a	U+003a
+0x7b	U+0023
+0x7c	U+00a7
+0x7d	U+0027
+0x7e	U+003d
+0x7f	U+0022
+0x80	U+00d8
+0x81	U+0061
+0x82	U+0062
+0x83	U+0063
+0x84	U+0064
+0x85	U+0065
+0x86	U+0066
+0x87	U+0067
+0x88	U+0068
+0x89	U+0069
+0x8a	U+00ab
+0x8b	U+00bb
+0x8c	U+00f0
+0x8d	U+00fd
+0x8e	U+00fe
+0x8f	U+00b1
+0x90	U+00b0
+0x91	U+006a
+0x92	U+006b
+0x93	U+006c
+0x94	U+006d
+0x95	U+006e
+0x96	U+006f
+0x97	U+0070
+0x98	U+0071
+0x99	U+0072
+0x9a	U+00aa
+0x9b	U+00ba
+0x9c	U+00e6
+0x9d	U+00b8
+0x9e	U+00c6
+0x9f	U+00a4
+0xa0	U+00b5
+0xa1	U+00df
+0xa2	U+0073
+0xa3	U+0074
+0xa4	U+0075
+0xa5	U+0076
+0xa6	U+0077
+0xa7	U+0078
+0xa8	U+0079
+0xa9	U+007a
+0xaa	U+00a1
+0xab	U+00bf
+0xac	U+00d0
+0xad	U+00dd
+0xae	U+00de
+0xaf	U+00ae
+0xb0	U+00a2
+0xb1	U+00a3
+0xb2	U+00a5
+0xb3	U+00b7
+0xb4	U+00a9
+0xb5	U+0040
+0xb6	U+00b6
+0xb7	U+00bc
+0xb8	U+00bd
+0xb9	U+00be
+0xba	U+00ac
+0xbb	U+007c
+0xbc	U+00af
+0xbd	U+00a8
+0xbe	U+00b4
+0xbf	U+00d7
+0xc0	U+00e4
+0xc1	U+0041
+0xc2	U+0042
+0xc3	U+0043
+0xc4	U+0044
+0xc5	U+0045
+0xc6	U+0046
+0xc7	U+0047
+0xc8	U+0048
+0xc9	U+0049
+0xca	U+00ad
+0xcb	U+00f4
+0xcc	U+00a6
+0xcd	U+00f2
+0xce	U+00f3
+0xcf	U+00f5
+0xd0	U+00fc
+0xd1	U+004a
+0xd2	U+004b
+0xd3	U+004c
+0xd4	U+004d
+0xd5	U+004e
+0xd6	U+004f
+0xd7	U+0050
+0xd8	U+0051
+0xd9	U+0052
+0xda	U+00b9
+0xdb	U+00fb
+0xdc	U+007d
+0xdd	U+00f9
+0xde	U+00fa
+0xdf	U+00ff
+0xe0	U+00d6
+0xe1	U+00f7
+0xe2	U+0053
+0xe3	U+0054
+0xe4	U+0055
+0xe5	U+0056
+0xe6	U+0057
+0xe7	U+0058
+0xe8	U+0059
+0xe9	U+005a
+0xea	U+00b2
+0xeb	U+00d4
+0xec	U+005c
+0xed	U+00d2
+0xee	U+00d3
+0xef	U+00d5
+0xf0	U+0030
+0xf1	U+0031
+0xf2	U+0032
+0xf3	U+0033
+0xf4	U+0034
+0xf5	U+0035
+0xf6	U+0036
+0xf7	U+0037
+0xf8	U+0038
+0xf9	U+0039
+0xfa	U+00b3
+0xfb	U+00db
+0xfc	U+005d
+0xfd	U+00d9
+0xfe	U+00da
+0xff	U+009f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/IBM273.nr	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,1 @@
+0x25	U+000a
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/IBM277.c2b	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,1 @@
+0x15	U+0085
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/IBM277.map	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,257 @@
+#Generated from IBM277.java
+0x00	U+0000
+0x01	U+0001
+0x02	U+0002
+0x03	U+0003
+0x04	U+009c
+0x05	U+0009
+0x06	U+0086
+0x07	U+007f
+0x08	U+0097
+0x09	U+008d
+0x0a	U+008e
+0x0b	U+000b
+0x0c	U+000c
+0x0d	U+000d
+0x0e	U+000e
+0x0f	U+000f
+0x10	U+0010
+0x11	U+0011
+0x12	U+0012
+0x13	U+0013
+0x14	U+009d
+0x15	U+000a
+0x16	U+0008
+0x17	U+0087
+0x18	U+0018
+0x19	U+0019
+0x1a	U+0092
+0x1b	U+008f
+0x1c	U+001c
+0x1d	U+001d
+0x1e	U+001e
+0x1f	U+001f
+0x20	U+0080
+0x21	U+0081
+0x22	U+0082
+0x23	U+0083
+0x24	U+0084
+0x25	U+000a
+0x26	U+0017
+0x27	U+001b
+0x28	U+0088
+0x29	U+0089
+0x2a	U+008a
+0x2b	U+008b
+0x2c	U+008c
+0x2d	U+0005
+0x2e	U+0006
+0x2f	U+0007
+0x30	U+0090
+0x31	U+0091
+0x32	U+0016
+0x33	U+0093
+0x34	U+0094
+0x35	U+0095
+0x36	U+0096
+0x37	U+0004
+0x38	U+0098
+0x39	U+0099
+0x3a	U+009a
+0x3b	U+009b
+0x3c	U+0014
+0x3d	U+0015
+0x3e	U+009e
+0x3f	U+001a
+0x40	U+0020
+0x41	U+00a0
+0x42	U+00e2
+0x43	U+00e4
+0x44	U+00e0
+0x45	U+00e1
+0x46	U+00e3
+0x47	U+007d
+0x48	U+00e7
+0x49	U+00f1
+0x4a	U+0023
+0x4b	U+002e
+0x4c	U+003c
+0x4d	U+0028
+0x4e	U+002b
+0x4f	U+0021
+0x50	U+0026
+0x51	U+00e9
+0x52	U+00ea
+0x53	U+00eb
+0x54	U+00e8
+0x55	U+00ed
+0x56	U+00ee
+0x57	U+00ef
+0x58	U+00ec
+0x59	U+00df
+0x5a	U+00a4
+0x5b	U+00c5
+0x5c	U+002a
+0x5d	U+0029
+0x5e	U+003b
+0x5f	U+005e
+0x60	U+002d
+0x61	U+002f
+0x62	U+00c2
+0x63	U+00c4
+0x64	U+00c0
+0x65	U+00c1
+0x66	U+00c3
+0x67	U+0024
+0x68	U+00c7
+0x69	U+00d1
+0x6a	U+00f8
+0x6b	U+002c
+0x6c	U+0025
+0x6d	U+005f
+0x6e	U+003e
+0x6f	U+003f
+0x70	U+00a6
+0x71	U+00c9
+0x72	U+00ca
+0x73	U+00cb
+0x74	U+00c8
+0x75	U+00cd
+0x76	U+00ce
+0x77	U+00cf
+0x78	U+00cc
+0x79	U+0060
+0x7a	U+003a
+0x7b	U+00c6
+0x7c	U+00d8
+0x7d	U+0027
+0x7e	U+003d
+0x7f	U+0022
+0x80	U+0040
+0x81	U+0061
+0x82	U+0062
+0x83	U+0063
+0x84	U+0064
+0x85	U+0065
+0x86	U+0066
+0x87	U+0067
+0x88	U+0068
+0x89	U+0069
+0x8a	U+00ab
+0x8b	U+00bb
+0x8c	U+00f0
+0x8d	U+00fd
+0x8e	U+00fe
+0x8f	U+00b1
+0x90	U+00b0
+0x91	U+006a
+0x92	U+006b
+0x93	U+006c
+0x94	U+006d
+0x95	U+006e
+0x96	U+006f
+0x97	U+0070
+0x98	U+0071
+0x99	U+0072
+0x9a	U+00aa
+0x9b	U+00ba
+0x9c	U+007b
+0x9d	U+00b8
+0x9e	U+005b
+0x9f	U+005d
+0xa0	U+00b5
+0xa1	U+00fc
+0xa2	U+0073
+0xa3	U+0074
+0xa4	U+0075
+0xa5	U+0076
+0xa6	U+0077
+0xa7	U+0078
+0xa8	U+0079
+0xa9	U+007a
+0xaa	U+00a1
+0xab	U+00bf
+0xac	U+00d0
+0xad	U+00dd
+0xae	U+00de
+0xaf	U+00ae
+0xb0	U+00a2
+0xb1	U+00a3
+0xb2	U+00a5
+0xb3	U+00b7
+0xb4	U+00a9
+0xb5	U+00a7
+0xb6	U+00b6
+0xb7	U+00bc
+0xb8	U+00bd
+0xb9	U+00be
+0xba	U+00ac
+0xbb	U+007c
+0xbc	U+00af
+0xbd	U+00a8
+0xbe	U+00b4
+0xbf	U+00d7
+0xc0	U+00e6
+0xc1	U+0041
+0xc2	U+0042
+0xc3	U+0043
+0xc4	U+0044
+0xc5	U+0045
+0xc6	U+0046
+0xc7	U+0047
+0xc8	U+0048
+0xc9	U+0049
+0xca	U+00ad
+0xcb	U+00f4
+0xcc	U+00f6
+0xcd	U+00f2
+0xce	U+00f3
+0xcf	U+00f5
+0xd0	U+00e5
+0xd1	U+004a
+0xd2	U+004b
+0xd3	U+004c
+0xd4	U+004d
+0xd5	U+004e
+0xd6	U+004f
+0xd7	U+0050
+0xd8	U+0051
+0xd9	U+0052
+0xda	U+00b9
+0xdb	U+00fb
+0xdc	U+007e
+0xdd	U+00f9
+0xde	U+00fa
+0xdf	U+00ff
+0xe0	U+005c
+0xe1	U+00f7
+0xe2	U+0053
+0xe3	U+0054
+0xe4	U+0055
+0xe5	U+0056
+0xe6	U+0057
+0xe7	U+0058
+0xe8	U+0059
+0xe9	U+005a
+0xea	U+00b2
+0xeb	U+00d4
+0xec	U+00d6
+0xed	U+00d2
+0xee	U+00d3
+0xef	U+00d5
+0xf0	U+0030
+0xf1	U+0031
+0xf2	U+0032
+0xf3	U+0033
+0xf4	U+0034
+0xf5	U+0035
+0xf6	U+0036
+0xf7	U+0037
+0xf8	U+0038
+0xf9	U+0039
+0xfa	U+00b3
+0xfb	U+00db
+0xfc	U+00dc
+0xfd	U+00d9
+0xfe	U+00da
+0xff	U+009f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/IBM277.nr	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,1 @@
+0x25	U+000a
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/IBM278.c2b	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,1 @@
+0x15	U+0085
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/IBM278.map	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,257 @@
+#Generated from IBM278.java
+0x00	U+0000
+0x01	U+0001
+0x02	U+0002
+0x03	U+0003
+0x04	U+009c
+0x05	U+0009
+0x06	U+0086
+0x07	U+007f
+0x08	U+0097
+0x09	U+008d
+0x0a	U+008e
+0x0b	U+000b
+0x0c	U+000c
+0x0d	U+000d
+0x0e	U+000e
+0x0f	U+000f
+0x10	U+0010
+0x11	U+0011
+0x12	U+0012
+0x13	U+0013
+0x14	U+009d
+0x15	U+000a
+0x16	U+0008
+0x17	U+0087
+0x18	U+0018
+0x19	U+0019
+0x1a	U+0092
+0x1b	U+008f
+0x1c	U+001c
+0x1d	U+001d
+0x1e	U+001e
+0x1f	U+001f
+0x20	U+0080
+0x21	U+0081
+0x22	U+0082
+0x23	U+0083
+0x24	U+0084
+0x25	U+000a
+0x26	U+0017
+0x27	U+001b
+0x28	U+0088
+0x29	U+0089
+0x2a	U+008a
+0x2b	U+008b
+0x2c	U+008c
+0x2d	U+0005
+0x2e	U+0006
+0x2f	U+0007
+0x30	U+0090
+0x31	U+0091
+0x32	U+0016
+0x33	U+0093
+0x34	U+0094
+0x35	U+0095
+0x36	U+0096
+0x37	U+0004
+0x38	U+0098
+0x39	U+0099
+0x3a	U+009a
+0x3b	U+009b
+0x3c	U+0014
+0x3d	U+0015
+0x3e	U+009e
+0x3f	U+001a
+0x40	U+0020
+0x41	U+00a0
+0x42	U+00e2
+0x43	U+007b
+0x44	U+00e0
+0x45	U+00e1
+0x46	U+00e3
+0x47	U+007d
+0x48	U+00e7
+0x49	U+00f1
+0x4a	U+00a7
+0x4b	U+002e
+0x4c	U+003c
+0x4d	U+0028
+0x4e	U+002b
+0x4f	U+0021
+0x50	U+0026
+0x51	U+0060
+0x52	U+00ea
+0x53	U+00eb
+0x54	U+00e8
+0x55	U+00ed
+0x56	U+00ee
+0x57	U+00ef
+0x58	U+00ec
+0x59	U+00df
+0x5a	U+00a4
+0x5b	U+00c5
+0x5c	U+002a
+0x5d	U+0029
+0x5e	U+003b
+0x5f	U+005e
+0x60	U+002d
+0x61	U+002f
+0x62	U+00c2
+0x63	U+0023
+0x64	U+00c0
+0x65	U+00c1
+0x66	U+00c3
+0x67	U+0024
+0x68	U+00c7
+0x69	U+00d1
+0x6a	U+00f6
+0x6b	U+002c
+0x6c	U+0025
+0x6d	U+005f
+0x6e	U+003e
+0x6f	U+003f
+0x70	U+00f8
+0x71	U+005c
+0x72	U+00ca
+0x73	U+00cb
+0x74	U+00c8
+0x75	U+00cd
+0x76	U+00ce
+0x77	U+00cf
+0x78	U+00cc
+0x79	U+00e9
+0x7a	U+003a
+0x7b	U+00c4
+0x7c	U+00d6
+0x7d	U+0027
+0x7e	U+003d
+0x7f	U+0022
+0x80	U+00d8
+0x81	U+0061
+0x82	U+0062
+0x83	U+0063
+0x84	U+0064
+0x85	U+0065
+0x86	U+0066
+0x87	U+0067
+0x88	U+0068
+0x89	U+0069
+0x8a	U+00ab
+0x8b	U+00bb
+0x8c	U+00f0
+0x8d	U+00fd
+0x8e	U+00fe
+0x8f	U+00b1
+0x90	U+00b0
+0x91	U+006a
+0x92	U+006b
+0x93	U+006c
+0x94	U+006d
+0x95	U+006e
+0x96	U+006f
+0x97	U+0070
+0x98	U+0071
+0x99	U+0072
+0x9a	U+00aa
+0x9b	U+00ba
+0x9c	U+00e6
+0x9d	U+00b8
+0x9e	U+00c6
+0x9f	U+005d
+0xa0	U+00b5
+0xa1	U+00fc
+0xa2	U+0073
+0xa3	U+0074
+0xa4	U+0075
+0xa5	U+0076
+0xa6	U+0077
+0xa7	U+0078
+0xa8	U+0079
+0xa9	U+007a
+0xaa	U+00a1
+0xab	U+00bf
+0xac	U+00d0
+0xad	U+00dd
+0xae	U+00de
+0xaf	U+00ae
+0xb0	U+00a2
+0xb1	U+00a3
+0xb2	U+00a5
+0xb3	U+00b7
+0xb4	U+00a9
+0xb5	U+005b
+0xb6	U+00b6
+0xb7	U+00bc
+0xb8	U+00bd
+0xb9	U+00be
+0xba	U+00ac
+0xbb	U+007c
+0xbc	U+00af
+0xbd	U+00a8
+0xbe	U+00b4
+0xbf	U+00d7
+0xc0	U+00e4
+0xc1	U+0041
+0xc2	U+0042
+0xc3	U+0043
+0xc4	U+0044
+0xc5	U+0045
+0xc6	U+0046
+0xc7	U+0047
+0xc8	U+0048
+0xc9	U+0049
+0xca	U+00ad
+0xcb	U+00f4
+0xcc	U+00a6
+0xcd	U+00f2
+0xce	U+00f3
+0xcf	U+00f5
+0xd0	U+00e5
+0xd1	U+004a
+0xd2	U+004b
+0xd3	U+004c
+0xd4	U+004d
+0xd5	U+004e
+0xd6	U+004f
+0xd7	U+0050
+0xd8	U+0051
+0xd9	U+0052
+0xda	U+00b9
+0xdb	U+00fb
+0xdc	U+007e
+0xdd	U+00f9
+0xde	U+00fa
+0xdf	U+00ff
+0xe0	U+00c9
+0xe1	U+00f7
+0xe2	U+0053
+0xe3	U+0054
+0xe4	U+0055
+0xe5	U+0056
+0xe6	U+0057
+0xe7	U+0058
+0xe8	U+0059
+0xe9	U+005a
+0xea	U+00b2
+0xeb	U+00d4
+0xec	U+0040
+0xed	U+00d2
+0xee	U+00d3
+0xef	U+00d5
+0xf0	U+0030
+0xf1	U+0031
+0xf2	U+0032
+0xf3	U+0033
+0xf4	U+0034
+0xf5	U+0035
+0xf6	U+0036
+0xf7	U+0037
+0xf8	U+0038
+0xf9	U+0039
+0xfa	U+00b3
+0xfb	U+00db
+0xfc	U+00dc
+0xfd	U+00d9
+0xfe	U+00da
+0xff	U+009f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/IBM278.nr	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,1 @@
+0x25	U+000a
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/IBM280.c2b	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,1 @@
+0x15	U+0085
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/IBM280.map	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,257 @@
+#Generated from IBM280.java
+0x00	U+0000
+0x01	U+0001
+0x02	U+0002
+0x03	U+0003
+0x04	U+009c
+0x05	U+0009
+0x06	U+0086
+0x07	U+007f
+0x08	U+0097
+0x09	U+008d
+0x0a	U+008e
+0x0b	U+000b
+0x0c	U+000c
+0x0d	U+000d
+0x0e	U+000e
+0x0f	U+000f
+0x10	U+0010
+0x11	U+0011
+0x12	U+0012
+0x13	U+0013
+0x14	U+009d
+0x15	U+000a
+0x16	U+0008
+0x17	U+0087
+0x18	U+0018
+0x19	U+0019
+0x1a	U+0092
+0x1b	U+008f
+0x1c	U+001c
+0x1d	U+001d
+0x1e	U+001e
+0x1f	U+001f
+0x20	U+0080
+0x21	U+0081
+0x22	U+0082
+0x23	U+0083
+0x24	U+0084
+0x25	U+000a
+0x26	U+0017
+0x27	U+001b
+0x28	U+0088
+0x29	U+0089
+0x2a	U+008a
+0x2b	U+008b
+0x2c	U+008c
+0x2d	U+0005
+0x2e	U+0006
+0x2f	U+0007
+0x30	U+0090
+0x31	U+0091
+0x32	U+0016
+0x33	U+0093
+0x34	U+0094
+0x35	U+0095
+0x36	U+0096
+0x37	U+0004
+0x38	U+0098
+0x39	U+0099
+0x3a	U+009a
+0x3b	U+009b
+0x3c	U+0014
+0x3d	U+0015
+0x3e	U+009e
+0x3f	U+001a
+0x40	U+0020
+0x41	U+00a0
+0x42	U+00e2
+0x43	U+00e4
+0x44	U+007b
+0x45	U+00e1
+0x46	U+00e3
+0x47	U+00e5
+0x48	U+005c
+0x49	U+00f1
+0x4a	U+00b0
+0x4b	U+002e
+0x4c	U+003c
+0x4d	U+0028
+0x4e	U+002b
+0x4f	U+0021
+0x50	U+0026
+0x51	U+005d
+0x52	U+00ea
+0x53	U+00eb
+0x54	U+007d
+0x55	U+00ed
+0x56	U+00ee
+0x57	U+00ef
+0x58	U+007e
+0x59	U+00df
+0x5a	U+00e9
+0x5b	U+0024
+0x5c	U+002a
+0x5d	U+0029
+0x5e	U+003b
+0x5f	U+005e
+0x60	U+002d
+0x61	U+002f
+0x62	U+00c2
+0x63	U+00c4
+0x64	U+00c0
+0x65	U+00c1
+0x66	U+00c3
+0x67	U+00c5
+0x68	U+00c7
+0x69	U+00d1
+0x6a	U+00f2
+0x6b	U+002c
+0x6c	U+0025
+0x6d	U+005f
+0x6e	U+003e
+0x6f	U+003f
+0x70	U+00f8
+0x71	U+00c9
+0x72	U+00ca
+0x73	U+00cb
+0x74	U+00c8
+0x75	U+00cd
+0x76	U+00ce
+0x77	U+00cf
+0x78	U+00cc
+0x79	U+00f9
+0x7a	U+003a
+0x7b	U+00a3
+0x7c	U+00a7
+0x7d	U+0027
+0x7e	U+003d
+0x7f	U+0022
+0x80	U+00d8
+0x81	U+0061
+0x82	U+0062
+0x83	U+0063
+0x84	U+0064
+0x85	U+0065
+0x86	U+0066
+0x87	U+0067
+0x88	U+0068
+0x89	U+0069
+0x8a	U+00ab
+0x8b	U+00bb
+0x8c	U+00f0
+0x8d	U+00fd
+0x8e	U+00fe
+0x8f	U+00b1
+0x90	U+005b
+0x91	U+006a
+0x92	U+006b
+0x93	U+006c
+0x94	U+006d
+0x95	U+006e
+0x96	U+006f
+0x97	U+0070
+0x98	U+0071
+0x99	U+0072
+0x9a	U+00aa
+0x9b	U+00ba
+0x9c	U+00e6
+0x9d	U+00b8
+0x9e	U+00c6
+0x9f	U+00a4
+0xa0	U+00b5
+0xa1	U+00ec
+0xa2	U+0073
+0xa3	U+0074
+0xa4	U+0075
+0xa5	U+0076
+0xa6	U+0077
+0xa7	U+0078
+0xa8	U+0079
+0xa9	U+007a
+0xaa	U+00a1
+0xab	U+00bf
+0xac	U+00d0
+0xad	U+00dd
+0xae	U+00de
+0xaf	U+00ae
+0xb0	U+00a2
+0xb1	U+0023
+0xb2	U+00a5
+0xb3	U+00b7
+0xb4	U+00a9
+0xb5	U+0040
+0xb6	U+00b6
+0xb7	U+00bc
+0xb8	U+00bd
+0xb9	U+00be
+0xba	U+00ac
+0xbb	U+007c
+0xbc	U+00af
+0xbd	U+00a8
+0xbe	U+00b4
+0xbf	U+00d7
+0xc0	U+00e0
+0xc1	U+0041
+0xc2	U+0042
+0xc3	U+0043
+0xc4	U+0044
+0xc5	U+0045
+0xc6	U+0046
+0xc7	U+0047
+0xc8	U+0048
+0xc9	U+0049
+0xca	U+00ad
+0xcb	U+00f4
+0xcc	U+00f6
+0xcd	U+00a6
+0xce	U+00f3
+0xcf	U+00f5
+0xd0	U+00e8
+0xd1	U+004a
+0xd2	U+004b
+0xd3	U+004c
+0xd4	U+004d
+0xd5	U+004e
+0xd6	U+004f
+0xd7	U+0050
+0xd8	U+0051
+0xd9	U+0052
+0xda	U+00b9
+0xdb	U+00fb
+0xdc	U+00fc
+0xdd	U+0060
+0xde	U+00fa
+0xdf	U+00ff
+0xe0	U+00e7
+0xe1	U+00f7
+0xe2	U+0053
+0xe3	U+0054
+0xe4	U+0055
+0xe5	U+0056
+0xe6	U+0057
+0xe7	U+0058
+0xe8	U+0059
+0xe9	U+005a
+0xea	U+00b2
+0xeb	U+00d4
+0xec	U+00d6
+0xed	U+00d2
+0xee	U+00d3
+0xef	U+00d5
+0xf0	U+0030
+0xf1	U+0031
+0xf2	U+0032
+0xf3	U+0033
+0xf4	U+0034
+0xf5	U+0035
+0xf6	U+0036
+0xf7	U+0037
+0xf8	U+0038
+0xf9	U+0039
+0xfa	U+00b3
+0xfb	U+00db
+0xfc	U+00dc
+0xfd	U+00d9
+0xfe	U+00da
+0xff	U+009f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/IBM280.nr	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,1 @@
+0x25	U+000a
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/IBM284.c2b	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,1 @@
+0x15	U+0085
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/IBM284.map	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,257 @@
+#Generated from IBM284.java
+0x00	U+0000
+0x01	U+0001
+0x02	U+0002
+0x03	U+0003
+0x04	U+009c
+0x05	U+0009
+0x06	U+0086
+0x07	U+007f
+0x08	U+0097
+0x09	U+008d
+0x0a	U+008e
+0x0b	U+000b
+0x0c	U+000c
+0x0d	U+000d
+0x0e	U+000e
+0x0f	U+000f
+0x10	U+0010
+0x11	U+0011
+0x12	U+0012
+0x13	U+0013
+0x14	U+009d
+0x15	U+000a
+0x16	U+0008
+0x17	U+0087
+0x18	U+0018
+0x19	U+0019
+0x1a	U+0092
+0x1b	U+008f
+0x1c	U+001c
+0x1d	U+001d
+0x1e	U+001e
+0x1f	U+001f
+0x20	U+0080
+0x21	U+0081
+0x22	U+0082
+0x23	U+0083
+0x24	U+0084
+0x25	U+000a
+0x26	U+0017
+0x27	U+001b
+0x28	U+0088
+0x29	U+0089
+0x2a	U+008a
+0x2b	U+008b
+0x2c	U+008c
+0x2d	U+0005
+0x2e	U+0006
+0x2f	U+0007
+0x30	U+0090
+0x31	U+0091
+0x32	U+0016
+0x33	U+0093
+0x34	U+0094
+0x35	U+0095
+0x36	U+0096
+0x37	U+0004
+0x38	U+0098
+0x39	U+0099
+0x3a	U+009a
+0x3b	U+009b
+0x3c	U+0014
+0x3d	U+0015
+0x3e	U+009e
+0x3f	U+001a
+0x40	U+0020
+0x41	U+00a0
+0x42	U+00e2
+0x43	U+00e4
+0x44	U+00e0
+0x45	U+00e1
+0x46	U+00e3
+0x47	U+00e5
+0x48	U+00e7
+0x49	U+00a6
+0x4a	U+005b
+0x4b	U+002e
+0x4c	U+003c
+0x4d	U+0028
+0x4e	U+002b
+0x4f	U+007c
+0x50	U+0026
+0x51	U+00e9
+0x52	U+00ea
+0x53	U+00eb
+0x54	U+00e8
+0x55	U+00ed
+0x56	U+00ee
+0x57	U+00ef
+0x58	U+00ec
+0x59	U+00df
+0x5a	U+005d
+0x5b	U+0024
+0x5c	U+002a
+0x5d	U+0029
+0x5e	U+003b
+0x5f	U+00ac
+0x60	U+002d
+0x61	U+002f
+0x62	U+00c2
+0x63	U+00c4
+0x64	U+00c0
+0x65	U+00c1
+0x66	U+00c3
+0x67	U+00c5
+0x68	U+00c7
+0x69	U+0023
+0x6a	U+00f1
+0x6b	U+002c
+0x6c	U+0025
+0x6d	U+005f
+0x6e	U+003e
+0x6f	U+003f
+0x70	U+00f8
+0x71	U+00c9
+0x72	U+00ca
+0x73	U+00cb
+0x74	U+00c8
+0x75	U+00cd
+0x76	U+00ce
+0x77	U+00cf
+0x78	U+00cc
+0x79	U+0060
+0x7a	U+003a
+0x7b	U+00d1
+0x7c	U+0040
+0x7d	U+0027
+0x7e	U+003d
+0x7f	U+0022
+0x80	U+00d8
+0x81	U+0061
+0x82	U+0062
+0x83	U+0063
+0x84	U+0064
+0x85	U+0065
+0x86	U+0066
+0x87	U+0067
+0x88	U+0068
+0x89	U+0069
+0x8a	U+00ab
+0x8b	U+00bb
+0x8c	U+00f0
+0x8d	U+00fd
+0x8e	U+00fe
+0x8f	U+00b1
+0x90	U+00b0
+0x91	U+006a
+0x92	U+006b
+0x93	U+006c
+0x94	U+006d
+0x95	U+006e
+0x96	U+006f
+0x97	U+0070
+0x98	U+0071
+0x99	U+0072
+0x9a	U+00aa
+0x9b	U+00ba
+0x9c	U+00e6
+0x9d	U+00b8
+0x9e	U+00c6
+0x9f	U+00a4
+0xa0	U+00b5
+0xa1	U+00a8
+0xa2	U+0073
+0xa3	U+0074
+0xa4	U+0075
+0xa5	U+0076
+0xa6	U+0077
+0xa7	U+0078
+0xa8	U+0079
+0xa9	U+007a
+0xaa	U+00a1
+0xab	U+00bf
+0xac	U+00d0
+0xad	U+00dd
+0xae	U+00de
+0xaf	U+00ae
+0xb0	U+00a2
+0xb1	U+00a3
+0xb2	U+00a5
+0xb3	U+00b7
+0xb4	U+00a9
+0xb5	U+00a7
+0xb6	U+00b6
+0xb7	U+00bc
+0xb8	U+00bd
+0xb9	U+00be
+0xba	U+005e
+0xbb	U+0021
+0xbc	U+00af
+0xbd	U+007e
+0xbe	U+00b4
+0xbf	U+00d7
+0xc0	U+007b
+0xc1	U+0041
+0xc2	U+0042
+0xc3	U+0043
+0xc4	U+0044
+0xc5	U+0045
+0xc6	U+0046
+0xc7	U+0047
+0xc8	U+0048
+0xc9	U+0049
+0xca	U+00ad
+0xcb	U+00f4
+0xcc	U+00f6
+0xcd	U+00f2
+0xce	U+00f3
+0xcf	U+00f5
+0xd0	U+007d
+0xd1	U+004a
+0xd2	U+004b
+0xd3	U+004c
+0xd4	U+004d
+0xd5	U+004e
+0xd6	U+004f
+0xd7	U+0050
+0xd8	U+0051
+0xd9	U+0052
+0xda	U+00b9
+0xdb	U+00fb
+0xdc	U+00fc
+0xdd	U+00f9
+0xde	U+00fa
+0xdf	U+00ff
+0xe0	U+005c
+0xe1	U+00f7
+0xe2	U+0053
+0xe3	U+0054
+0xe4	U+0055
+0xe5	U+0056
+0xe6	U+0057
+0xe7	U+0058
+0xe8	U+0059
+0xe9	U+005a
+0xea	U+00b2
+0xeb	U+00d4
+0xec	U+00d6
+0xed	U+00d2
+0xee	U+00d3
+0xef	U+00d5
+0xf0	U+0030
+0xf1	U+0031
+0xf2	U+0032
+0xf3	U+0033
+0xf4	U+0034
+0xf5	U+0035
+0xf6	U+0036
+0xf7	U+0037
+0xf8	U+0038
+0xf9	U+0039
+0xfa	U+00b3
+0xfb	U+00db
+0xfc	U+00dc
+0xfd	U+00d9
+0xfe	U+00da
+0xff	U+009f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/IBM284.nr	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,1 @@
+0x25	U+000a
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/IBM285.c2b	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,1 @@
+0x15	U+0085
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/IBM285.map	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,257 @@
+#Generated from IBM285.java
+0x00	U+0000
+0x01	U+0001
+0x02	U+0002
+0x03	U+0003
+0x04	U+009c
+0x05	U+0009
+0x06	U+0086
+0x07	U+007f
+0x08	U+0097
+0x09	U+008d
+0x0a	U+008e
+0x0b	U+000b
+0x0c	U+000c
+0x0d	U+000d
+0x0e	U+000e
+0x0f	U+000f
+0x10	U+0010
+0x11	U+0011
+0x12	U+0012
+0x13	U+0013
+0x14	U+009d
+0x15	U+000a
+0x16	U+0008
+0x17	U+0087
+0x18	U+0018
+0x19	U+0019
+0x1a	U+0092
+0x1b	U+008f
+0x1c	U+001c
+0x1d	U+001d
+0x1e	U+001e
+0x1f	U+001f
+0x20	U+0080
+0x21	U+0081
+0x22	U+0082
+0x23	U+0083
+0x24	U+0084
+0x25	U+000a
+0x26	U+0017
+0x27	U+001b
+0x28	U+0088
+0x29	U+0089
+0x2a	U+008a
+0x2b	U+008b
+0x2c	U+008c
+0x2d	U+0005
+0x2e	U+0006
+0x2f	U+0007
+0x30	U+0090
+0x31	U+0091
+0x32	U+0016
+0x33	U+0093
+0x34	U+0094
+0x35	U+0095
+0x36	U+0096
+0x37	U+0004
+0x38	U+0098
+0x39	U+0099
+0x3a	U+009a
+0x3b	U+009b
+0x3c	U+0014
+0x3d	U+0015
+0x3e	U+009e
+0x3f	U+001a
+0x40	U+0020
+0x41	U+00a0
+0x42	U+00e2
+0x43	U+00e4
+0x44	U+00e0
+0x45	U+00e1
+0x46	U+00e3
+0x47	U+00e5
+0x48	U+00e7
+0x49	U+00f1
+0x4a	U+0024
+0x4b	U+002e
+0x4c	U+003c
+0x4d	U+0028
+0x4e	U+002b
+0x4f	U+007c
+0x50	U+0026
+0x51	U+00e9
+0x52	U+00ea
+0x53	U+00eb
+0x54	U+00e8
+0x55	U+00ed
+0x56	U+00ee
+0x57	U+00ef
+0x58	U+00ec
+0x59	U+00df
+0x5a	U+0021
+0x5b	U+00a3
+0x5c	U+002a
+0x5d	U+0029
+0x5e	U+003b
+0x5f	U+00ac
+0x60	U+002d
+0x61	U+002f
+0x62	U+00c2
+0x63	U+00c4
+0x64	U+00c0
+0x65	U+00c1
+0x66	U+00c3
+0x67	U+00c5
+0x68	U+00c7
+0x69	U+00d1
+0x6a	U+00a6
+0x6b	U+002c
+0x6c	U+0025
+0x6d	U+005f
+0x6e	U+003e
+0x6f	U+003f
+0x70	U+00f8
+0x71	U+00c9
+0x72	U+00ca
+0x73	U+00cb
+0x74	U+00c8
+0x75	U+00cd
+0x76	U+00ce
+0x77	U+00cf
+0x78	U+00cc
+0x79	U+0060
+0x7a	U+003a
+0x7b	U+0023
+0x7c	U+0040
+0x7d	U+0027
+0x7e	U+003d
+0x7f	U+0022
+0x80	U+00d8
+0x81	U+0061
+0x82	U+0062
+0x83	U+0063
+0x84	U+0064
+0x85	U+0065
+0x86	U+0066
+0x87	U+0067
+0x88	U+0068
+0x89	U+0069
+0x8a	U+00ab
+0x8b	U+00bb
+0x8c	U+00f0
+0x8d	U+00fd
+0x8e	U+00fe
+0x8f	U+00b1
+0x90	U+00b0
+0x91	U+006a
+0x92	U+006b
+0x93	U+006c
+0x94	U+006d
+0x95	U+006e
+0x96	U+006f
+0x97	U+0070
+0x98	U+0071
+0x99	U+0072
+0x9a	U+00aa
+0x9b	U+00ba
+0x9c	U+00e6
+0x9d	U+00b8
+0x9e	U+00c6
+0x9f	U+00a4
+0xa0	U+00b5
+0xa1	U+00af
+0xa2	U+0073
+0xa3	U+0074
+0xa4	U+0075
+0xa5	U+0076
+0xa6	U+0077
+0xa7	U+0078
+0xa8	U+0079
+0xa9	U+007a
+0xaa	U+00a1
+0xab	U+00bf
+0xac	U+00d0
+0xad	U+00dd
+0xae	U+00de
+0xaf	U+00ae
+0xb0	U+00a2
+0xb1	U+005b
+0xb2	U+00a5
+0xb3	U+00b7
+0xb4	U+00a9
+0xb5	U+00a7
+0xb6	U+00b6
+0xb7	U+00bc
+0xb8	U+00bd
+0xb9	U+00be
+0xba	U+005e
+0xbb	U+005d
+0xbc	U+007e
+0xbd	U+00a8
+0xbe	U+00b4
+0xbf	U+00d7
+0xc0	U+007b
+0xc1	U+0041
+0xc2	U+0042
+0xc3	U+0043
+0xc4	U+0044
+0xc5	U+0045
+0xc6	U+0046
+0xc7	U+0047
+0xc8	U+0048
+0xc9	U+0049
+0xca	U+00ad
+0xcb	U+00f4
+0xcc	U+00f6
+0xcd	U+00f2
+0xce	U+00f3
+0xcf	U+00f5
+0xd0	U+007d
+0xd1	U+004a
+0xd2	U+004b
+0xd3	U+004c
+0xd4	U+004d
+0xd5	U+004e
+0xd6	U+004f
+0xd7	U+0050
+0xd8	U+0051
+0xd9	U+0052
+0xda	U+00b9
+0xdb	U+00fb
+0xdc	U+00fc
+0xdd	U+00f9
+0xde	U+00fa
+0xdf	U+00ff
+0xe0	U+005c
+0xe1	U+00f7
+0xe2	U+0053
+0xe3	U+0054
+0xe4	U+0055
+0xe5	U+0056
+0xe6	U+0057
+0xe7	U+0058
+0xe8	U+0059
+0xe9	U+005a
+0xea	U+00b2
+0xeb	U+00d4
+0xec	U+00d6
+0xed	U+00d2
+0xee	U+00d3
+0xef	U+00d5
+0xf0	U+0030
+0xf1	U+0031
+0xf2	U+0032
+0xf3	U+0033
+0xf4	U+0034
+0xf5	U+0035
+0xf6	U+0036
+0xf7	U+0037
+0xf8	U+0038
+0xf9	U+0039
+0xfa	U+00b3
+0xfb	U+00db
+0xfc	U+00dc
+0xfd	U+00d9
+0xfe	U+00da
+0xff	U+009f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/IBM285.nr	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,1 @@
+0x25	U+000a
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/IBM297.c2b	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,1 @@
+0x15	U+0085
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/IBM297.map	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,257 @@
+#Generated from IBM297.java
+0x00	U+0000
+0x01	U+0001
+0x02	U+0002
+0x03	U+0003
+0x04	U+009c
+0x05	U+0009
+0x06	U+0086
+0x07	U+007f
+0x08	U+0097
+0x09	U+008d
+0x0a	U+008e
+0x0b	U+000b
+0x0c	U+000c
+0x0d	U+000d
+0x0e	U+000e
+0x0f	U+000f
+0x10	U+0010
+0x11	U+0011
+0x12	U+0012
+0x13	U+0013
+0x14	U+009d
+0x15	U+000a
+0x16	U+0008
+0x17	U+0087
+0x18	U+0018
+0x19	U+0019
+0x1a	U+0092
+0x1b	U+008f
+0x1c	U+001c
+0x1d	U+001d
+0x1e	U+001e
+0x1f	U+001f
+0x20	U+0080
+0x21	U+0081
+0x22	U+0082
+0x23	U+0083
+0x24	U+0084
+0x25	U+000a
+0x26	U+0017
+0x27	U+001b
+0x28	U+0088
+0x29	U+0089
+0x2a	U+008a
+0x2b	U+008b
+0x2c	U+008c
+0x2d	U+0005
+0x2e	U+0006
+0x2f	U+0007
+0x30	U+0090
+0x31	U+0091
+0x32	U+0016
+0x33	U+0093
+0x34	U+0094
+0x35	U+0095
+0x36	U+0096
+0x37	U+0004
+0x38	U+0098
+0x39	U+0099
+0x3a	U+009a
+0x3b	U+009b
+0x3c	U+0014
+0x3d	U+0015
+0x3e	U+009e
+0x3f	U+001a
+0x40	U+0020
+0x41	U+00a0
+0x42	U+00e2
+0x43	U+00e4
+0x44	U+0040
+0x45	U+00e1
+0x46	U+00e3
+0x47	U+00e5
+0x48	U+005c
+0x49	U+00f1
+0x4a	U+00b0
+0x4b	U+002e
+0x4c	U+003c
+0x4d	U+0028
+0x4e	U+002b
+0x4f	U+0021
+0x50	U+0026
+0x51	U+007b
+0x52	U+00ea
+0x53	U+00eb
+0x54	U+007d
+0x55	U+00ed
+0x56	U+00ee
+0x57	U+00ef
+0x58	U+00ec
+0x59	U+00df
+0x5a	U+00a7
+0x5b	U+0024
+0x5c	U+002a
+0x5d	U+0029
+0x5e	U+003b
+0x5f	U+005e
+0x60	U+002d
+0x61	U+002f
+0x62	U+00c2
+0x63	U+00c4
+0x64	U+00c0
+0x65	U+00c1
+0x66	U+00c3
+0x67	U+00c5
+0x68	U+00c7
+0x69	U+00d1
+0x6a	U+00f9
+0x6b	U+002c
+0x6c	U+0025
+0x6d	U+005f
+0x6e	U+003e
+0x6f	U+003f
+0x70	U+00f8
+0x71	U+00c9
+0x72	U+00ca
+0x73	U+00cb
+0x74	U+00c8
+0x75	U+00cd
+0x76	U+00ce
+0x77	U+00cf
+0x78	U+00cc
+0x79	U+00b5
+0x7a	U+003a
+0x7b	U+00a3
+0x7c	U+00e0
+0x7d	U+0027
+0x7e	U+003d
+0x7f	U+0022
+0x80	U+00d8
+0x81	U+0061
+0x82	U+0062
+0x83	U+0063
+0x84	U+0064
+0x85	U+0065
+0x86	U+0066
+0x87	U+0067
+0x88	U+0068
+0x89	U+0069
+0x8a	U+00ab
+0x8b	U+00bb
+0x8c	U+00f0
+0x8d	U+00fd
+0x8e	U+00fe
+0x8f	U+00b1
+0x90	U+005b
+0x91	U+006a
+0x92	U+006b
+0x93	U+006c
+0x94	U+006d
+0x95	U+006e
+0x96	U+006f
+0x97	U+0070
+0x98	U+0071
+0x99	U+0072
+0x9a	U+00aa
+0x9b	U+00ba
+0x9c	U+00e6
+0x9d	U+00b8
+0x9e	U+00c6
+0x9f	U+00a4
+0xa0	U+0060
+0xa1	U+00a8
+0xa2	U+0073
+0xa3	U+0074
+0xa4	U+0075
+0xa5	U+0076
+0xa6	U+0077
+0xa7	U+0078
+0xa8	U+0079
+0xa9	U+007a
+0xaa	U+00a1
+0xab	U+00bf
+0xac	U+00d0
+0xad	U+00dd
+0xae	U+00de
+0xaf	U+00ae
+0xb0	U+00a2
+0xb1	U+0023
+0xb2	U+00a5
+0xb3	U+00b7
+0xb4	U+00a9
+0xb5	U+005d
+0xb6	U+00b6
+0xb7	U+00bc
+0xb8	U+00bd
+0xb9	U+00be
+0xba	U+00ac
+0xbb	U+007c
+0xbc	U+00af
+0xbd	U+007e
+0xbe	U+00b4
+0xbf	U+00d7
+0xc0	U+00e9
+0xc1	U+0041
+0xc2	U+0042
+0xc3	U+0043
+0xc4	U+0044
+0xc5	U+0045
+0xc6	U+0046
+0xc7	U+0047
+0xc8	U+0048
+0xc9	U+0049
+0xca	U+00ad
+0xcb	U+00f4
+0xcc	U+00f6
+0xcd	U+00f2
+0xce	U+00f3
+0xcf	U+00f5
+0xd0	U+00e8
+0xd1	U+004a
+0xd2	U+004b
+0xd3	U+004c
+0xd4	U+004d
+0xd5	U+004e
+0xd6	U+004f
+0xd7	U+0050
+0xd8	U+0051
+0xd9	U+0052
+0xda	U+00b9
+0xdb	U+00fb
+0xdc	U+00fc
+0xdd	U+00a6
+0xde	U+00fa
+0xdf	U+00ff
+0xe0	U+00e7
+0xe1	U+00f7
+0xe2	U+0053
+0xe3	U+0054
+0xe4	U+0055
+0xe5	U+0056
+0xe6	U+0057
+0xe7	U+0058
+0xe8	U+0059
+0xe9	U+005a
+0xea	U+00b2
+0xeb	U+00d4
+0xec	U+00d6
+0xed	U+00d2
+0xee	U+00d3
+0xef	U+00d5
+0xf0	U+0030
+0xf1	U+0031
+0xf2	U+0032
+0xf3	U+0033
+0xf4	U+0034
+0xf5	U+0035
+0xf6	U+0036
+0xf7	U+0037
+0xf8	U+0038
+0xf9	U+0039
+0xfa	U+00b3
+0xfb	U+00db
+0xfc	U+00dc
+0xfd	U+00d9
+0xfe	U+00da
+0xff	U+009f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/IBM297.nr	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,1 @@
+0x25	U+000a
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/IBM420.c2b	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,1 @@
+0x15	U+0085
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/IBM420.map	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,257 @@
+#Generated from IBM420.java
+0x00	U+0000
+0x01	U+0001
+0x02	U+0002
+0x03	U+0003
+0x04	U+009c
+0x05	U+0009
+0x06	U+0086
+0x07	U+007f
+0x08	U+0097
+0x09	U+008d
+0x0a	U+008e
+0x0b	U+000b
+0x0c	U+000c
+0x0d	U+000d
+0x0e	U+000e
+0x0f	U+000f
+0x10	U+0010
+0x11	U+0011
+0x12	U+0012
+0x13	U+0013
+0x14	U+009d
+0x15	U+000a
+0x16	U+0008
+0x17	U+0087
+0x18	U+0018
+0x19	U+0019
+0x1a	U+0092
+0x1b	U+008f
+0x1c	U+001c
+0x1d	U+001d
+0x1e	U+001e
+0x1f	U+001f
+0x20	U+0080
+0x21	U+0081
+0x22	U+0082
+0x23	U+0083
+0x24	U+0084
+0x25	U+000a
+0x26	U+0017
+0x27	U+001b
+0x28	U+0088
+0x29	U+0089
+0x2a	U+008a
+0x2b	U+008b
+0x2c	U+008c
+0x2d	U+0005
+0x2e	U+0006
+0x2f	U+0007
+0x30	U+0090
+0x31	U+0091
+0x32	U+0016
+0x33	U+0093
+0x34	U+0094
+0x35	U+0095
+0x36	U+0096
+0x37	U+0004
+0x38	U+0098
+0x39	U+0099
+0x3a	U+009a
+0x3b	U+009b
+0x3c	U+0014
+0x3d	U+0015
+0x3e	U+009e
+0x3f	U+001a
+0x40	U+0020
+0x41	U+00a0
+0x42	U+fe7c
+0x43	U+fe7d
+0x44	U+0640
+0x45	U+f8fc
+0x46	U+fe80
+0x47	U+fe81
+0x48	U+fe82
+0x49	U+fe83
+0x4a	U+00a2
+0x4b	U+002e
+0x4c	U+003c
+0x4d	U+0028
+0x4e	U+002b
+0x4f	U+007c
+0x50	U+0026
+0x51	U+fe84
+0x52	U+fe85
+0x53	U+fffd
+0x54	U+fffd
+0x55	U+fe8b
+0x56	U+fe8d
+0x57	U+fe8e
+0x58	U+fe8f
+0x59	U+fe91
+0x5a	U+0021
+0x5b	U+0024
+0x5c	U+002a
+0x5d	U+0029
+0x5e	U+003b
+0x5f	U+00ac
+0x60	U+002d
+0x61	U+002f
+0x62	U+fe93
+0x63	U+fe95
+0x64	U+fe97
+0x65	U+fe99
+0x66	U+fe9b
+0x67	U+fe9d
+0x68	U+fe9f
+0x69	U+fea1
+0x6a	U+00a6
+0x6b	U+002c
+0x6c	U+0025
+0x6d	U+005f
+0x6e	U+003e
+0x6f	U+003f
+0x70	U+fea3
+0x71	U+fea5
+0x72	U+fea7
+0x73	U+fea9
+0x74	U+feab
+0x75	U+fead
+0x76	U+feaf
+0x77	U+f8f6
+0x78	U+feb3
+0x79	U+060c
+0x7a	U+003a
+0x7b	U+0023
+0x7c	U+0040
+0x7d	U+0027
+0x7e	U+003d
+0x7f	U+0022
+0x80	U+f8f5
+0x81	U+0061
+0x82	U+0062
+0x83	U+0063
+0x84	U+0064
+0x85	U+0065
+0x86	U+0066
+0x87	U+0067
+0x88	U+0068
+0x89	U+0069
+0x8a	U+feb7
+0x8b	U+f8f4
+0x8c	U+febb
+0x8d	U+f8f7
+0x8e	U+febf
+0x8f	U+fec3
+0x90	U+fec7
+0x91	U+006a
+0x92	U+006b
+0x93	U+006c
+0x94	U+006d
+0x95	U+006e
+0x96	U+006f
+0x97	U+0070
+0x98	U+0071
+0x99	U+0072
+0x9a	U+fec9
+0x9b	U+feca
+0x9c	U+fecb
+0x9d	U+fecc
+0x9e	U+fecd
+0x9f	U+fece
+0xa0	U+fecf
+0xa1	U+00f7
+0xa2	U+0073
+0xa3	U+0074
+0xa4	U+0075
+0xa5	U+0076
+0xa6	U+0077
+0xa7	U+0078
+0xa8	U+0079
+0xa9	U+007a
+0xaa	U+fed0
+0xab	U+fed1
+0xac	U+fed3
+0xad	U+fed5
+0xae	U+fed7
+0xaf	U+fed9
+0xb0	U+fedb
+0xb1	U+fedd
+0xb2	U+fef5
+0xb3	U+fef6
+0xb4	U+fef7
+0xb5	U+fef8
+0xb6	U+fffd
+0xb7	U+fffd
+0xb8	U+fefb
+0xb9	U+fefc
+0xba	U+fedf
+0xbb	U+fee1
+0xbc	U+fee3
+0xbd	U+fee5
+0xbe	U+fee7
+0xbf	U+fee9
+0xc0	U+061b
+0xc1	U+0041
+0xc2	U+0042
+0xc3	U+0043
+0xc4	U+0044
+0xc5	U+0045
+0xc6	U+0046
+0xc7	U+0047
+0xc8	U+0048
+0xc9	U+0049
+0xca	U+00ad
+0xcb	U+feeb
+0xcc	U+fffd
+0xcd	U+feec
+0xce	U+fffd
+0xcf	U+feed
+0xd0	U+061f
+0xd1	U+004a
+0xd2	U+004b
+0xd3	U+004c
+0xd4	U+004d
+0xd5	U+004e
+0xd6	U+004f
+0xd7	U+0050
+0xd8	U+0051
+0xd9	U+0052
+0xda	U+feef
+0xdb	U+fef0
+0xdc	U+fef1
+0xdd	U+fef2
+0xde	U+fef3
+0xdf	U+0660
+0xe0	U+00d7
+0xe1	U+2007
+0xe2	U+0053
+0xe3	U+0054
+0xe4	U+0055
+0xe5	U+0056
+0xe6	U+0057
+0xe7	U+0058
+0xe8	U+0059
+0xe9	U+005a
+0xea	U+0661
+0xeb	U+0662
+0xec	U+fffd
+0xed	U+0663
+0xee	U+0664
+0xef	U+0665
+0xf0	U+0030
+0xf1	U+0031
+0xf2	U+0032
+0xf3	U+0033
+0xf4	U+0034
+0xf5	U+0035
+0xf6	U+0036
+0xf7	U+0037
+0xf8	U+0038
+0xf9	U+0039
+0xfa	U+fffd
+0xfb	U+0666
+0xfc	U+0667
+0xfd	U+0668
+0xfe	U+0669
+0xff	U+009f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/IBM420.nr	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,1 @@
+0x25	U+000a
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/IBM424.c2b	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,1 @@
+0x15	U+0085
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/IBM424.map	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,257 @@
+#Generated from IBM424.java
+0x00	U+0000
+0x01	U+0001
+0x02	U+0002
+0x03	U+0003
+0x04	U+009c
+0x05	U+0009
+0x06	U+0086
+0x07	U+007f
+0x08	U+0097
+0x09	U+008d
+0x0a	U+008e
+0x0b	U+000b
+0x0c	U+000c
+0x0d	U+000d
+0x0e	U+000e
+0x0f	U+000f
+0x10	U+0010
+0x11	U+0011
+0x12	U+0012
+0x13	U+0013
+0x14	U+009d
+0x15	U+000a
+0x16	U+0008
+0x17	U+0087
+0x18	U+0018
+0x19	U+0019
+0x1a	U+0092
+0x1b	U+008f
+0x1c	U+001c
+0x1d	U+001d
+0x1e	U+001e
+0x1f	U+001f
+0x20	U+0080
+0x21	U+0081
+0x22	U+0082
+0x23	U+0083
+0x24	U+0084
+0x25	U+000a
+0x26	U+0017
+0x27	U+001b
+0x28	U+0088
+0x29	U+0089
+0x2a	U+008a
+0x2b	U+008b
+0x2c	U+008c
+0x2d	U+0005
+0x2e	U+0006
+0x2f	U+0007
+0x30	U+0090
+0x31	U+0091
+0x32	U+0016
+0x33	U+0093
+0x34	U+0094
+0x35	U+0095
+0x36	U+0096
+0x37	U+0004
+0x38	U+0098
+0x39	U+0099
+0x3a	U+009a
+0x3b	U+009b
+0x3c	U+0014
+0x3d	U+0015
+0x3e	U+009e
+0x3f	U+001a
+0x40	U+0020
+0x41	U+05d0
+0x42	U+05d1
+0x43	U+05d2
+0x44	U+05d3
+0x45	U+05d4
+0x46	U+05d5
+0x47	U+05d6
+0x48	U+05d7
+0x49	U+05d8
+0x4a	U+00a2
+0x4b	U+002e
+0x4c	U+003c
+0x4d	U+0028
+0x4e	U+002b
+0x4f	U+007c
+0x50	U+0026
+0x51	U+05d9
+0x52	U+05da
+0x53	U+05db
+0x54	U+05dc
+0x55	U+05dd
+0x56	U+05de
+0x57	U+05df
+0x58	U+05e0
+0x59	U+05e1
+0x5a	U+0021
+0x5b	U+0024
+0x5c	U+002a
+0x5d	U+0029
+0x5e	U+003b
+0x5f	U+00ac
+0x60	U+002d
+0x61	U+002f
+0x62	U+05e2
+0x63	U+05e3
+0x64	U+05e4
+0x65	U+05e5
+0x66	U+05e6
+0x67	U+05e7
+0x68	U+05e8
+0x69	U+05e9
+0x6a	U+00a6
+0x6b	U+002c
+0x6c	U+0025
+0x6d	U+005f
+0x6e	U+003e
+0x6f	U+003f
+0x70	U+fffd
+0x71	U+05ea
+0x72	U+fffd
+0x73	U+fffd
+0x74	U+00a0
+0x75	U+fffd
+0x76	U+fffd
+0x77	U+fffd
+0x78	U+2017
+0x79	U+0060
+0x7a	U+003a
+0x7b	U+0023
+0x7c	U+0040
+0x7d	U+0027
+0x7e	U+003d
+0x7f	U+0022
+0x80	U+fffd
+0x81	U+0061
+0x82	U+0062
+0x83	U+0063
+0x84	U+0064
+0x85	U+0065
+0x86	U+0066
+0x87	U+0067
+0x88	U+0068
+0x89	U+0069
+0x8a	U+00ab
+0x8b	U+00bb
+0x8c	U+fffd
+0x8d	U+fffd
+0x8e	U+fffd
+0x8f	U+00b1
+0x90	U+00b0
+0x91	U+006a
+0x92	U+006b
+0x93	U+006c
+0x94	U+006d
+0x95	U+006e
+0x96	U+006f
+0x97	U+0070
+0x98	U+0071
+0x99	U+0072
+0x9a	U+fffd
+0x9b	U+fffd
+0x9c	U+fffd
+0x9d	U+00b8
+0x9e	U+fffd
+0x9f	U+00a4
+0xa0	U+00b5
+0xa1	U+007e
+0xa2	U+0073
+0xa3	U+0074
+0xa4	U+0075
+0xa5	U+0076
+0xa6	U+0077
+0xa7	U+0078
+0xa8	U+0079
+0xa9	U+007a
+0xaa	U+fffd
+0xab	U+fffd
+0xac	U+fffd
+0xad	U+fffd
+0xae	U+fffd
+0xaf	U+00ae
+0xb0	U+005e
+0xb1	U+00a3
+0xb2	U+00a5
+0xb3	U+2022
+0xb4	U+00a9
+0xb5	U+00a7
+0xb6	U+00b6
+0xb7	U+00bc
+0xb8	U+00bd
+0xb9	U+00be
+0xba	U+005b
+0xbb	U+005d
+0xbc	U+203e
+0xbd	U+00a8
+0xbe	U+00b4
+0xbf	U+00d7
+0xc0	U+007b
+0xc1	U+0041
+0xc2	U+0042
+0xc3	U+0043
+0xc4	U+0044
+0xc5	U+0045
+0xc6	U+0046
+0xc7	U+0047
+0xc8	U+0048
+0xc9	U+0049
+0xca	U+00ad
+0xcb	U+fffd
+0xcc	U+fffd
+0xcd	U+fffd
+0xce	U+fffd
+0xcf	U+fffd
+0xd0	U+007d
+0xd1	U+004a
+0xd2	U+004b
+0xd3	U+004c
+0xd4	U+004d
+0xd5	U+004e
+0xd6	U+004f
+0xd7	U+0050
+0xd8	U+0051
+0xd9	U+0052
+0xda	U+00b9
+0xdb	U+fffd
+0xdc	U+fffd
+0xdd	U+fffd
+0xde	U+fffd
+0xdf	U+fffd
+0xe0	U+005c
+0xe1	U+00f7
+0xe2	U+0053
+0xe3	U+0054
+0xe4	U+0055
+0xe5	U+0056
+0xe6	U+0057
+0xe7	U+0058
+0xe8	U+0059
+0xe9	U+005a
+0xea	U+00b2
+0xeb	U+fffd
+0xec	U+fffd
+0xed	U+fffd
+0xee	U+fffd
+0xef	U+fffd
+0xf0	U+0030
+0xf1	U+0031
+0xf2	U+0032
+0xf3	U+0033
+0xf4	U+0034
+0xf5	U+0035
+0xf6	U+0036
+0xf7	U+0037
+0xf8	U+0038
+0xf9	U+0039
+0xfa	U+00b3
+0xfb	U+fffd
+0xfc	U+fffd
+0xfd	U+fffd
+0xfe	U+fffd
+0xff	U+009f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/IBM424.nr	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,1 @@
+0x25	U+000a
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/IBM437.map	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,257 @@
+#Generated from IBM437.java
+0x00	U+0000
+0x01	U+0001
+0x02	U+0002
+0x03	U+0003
+0x04	U+0004
+0x05	U+0005
+0x06	U+0006
+0x07	U+0007
+0x08	U+0008
+0x09	U+0009
+0x0a	U+000a
+0x0b	U+000b
+0x0c	U+000c
+0x0d	U+000d
+0x0e	U+000e
+0x0f	U+000f
+0x10	U+0010
+0x11	U+0011
+0x12	U+0012
+0x13	U+0013
+0x14	U+0014
+0x15	U+0015
+0x16	U+0016
+0x17	U+0017
+0x18	U+0018
+0x19	U+0019
+0x1a	U+001a
+0x1b	U+001b
+0x1c	U+001c
+0x1d	U+001d
+0x1e	U+001e
+0x1f	U+001f
+0x20	U+0020
+0x21	U+0021
+0x22	U+0022
+0x23	U+0023
+0x24	U+0024
+0x25	U+0025
+0x26	U+0026
+0x27	U+0027
+0x28	U+0028
+0x29	U+0029
+0x2a	U+002a
+0x2b	U+002b
+0x2c	U+002c
+0x2d	U+002d
+0x2e	U+002e
+0x2f	U+002f
+0x30	U+0030
+0x31	U+0031
+0x32	U+0032
+0x33	U+0033
+0x34	U+0034
+0x35	U+0035
+0x36	U+0036
+0x37	U+0037
+0x38	U+0038
+0x39	U+0039
+0x3a	U+003a
+0x3b	U+003b
+0x3c	U+003c
+0x3d	U+003d
+0x3e	U+003e
+0x3f	U+003f
+0x40	U+0040
+0x41	U+0041
+0x42	U+0042
+0x43	U+0043
+0x44	U+0044
+0x45	U+0045
+0x46	U+0046
+0x47	U+0047
+0x48	U+0048
+0x49	U+0049
+0x4a	U+004a
+0x4b	U+004b
+0x4c	U+004c
+0x4d	U+004d
+0x4e	U+004e
+0x4f	U+004f
+0x50	U+0050
+0x51	U+0051
+0x52	U+0052
+0x53	U+0053
+0x54	U+0054
+0x55	U+0055
+0x56	U+0056
+0x57	U+0057
+0x58	U+0058
+0x59	U+0059
+0x5a	U+005a
+0x5b	U+005b
+0x5c	U+005c
+0x5d	U+005d
+0x5e	U+005e
+0x5f	U+005f
+0x60	U+0060
+0x61	U+0061
+0x62	U+0062
+0x63	U+0063
+0x64	U+0064
+0x65	U+0065
+0x66	U+0066
+0x67	U+0067
+0x68	U+0068
+0x69	U+0069
+0x6a	U+006a
+0x6b	U+006b
+0x6c	U+006c
+0x6d	U+006d
+0x6e	U+006e
+0x6f	U+006f
+0x70	U+0070
+0x71	U+0071
+0x72	U+0072
+0x73	U+0073
+0x74	U+0074
+0x75	U+0075
+0x76	U+0076
+0x77	U+0077
+0x78	U+0078
+0x79	U+0079
+0x7a	U+007a
+0x7b	U+007b
+0x7c	U+007c
+0x7d	U+007d
+0x7e	U+007e
+0x7f	U+007f
+0x80	U+00c7
+0x81	U+00fc
+0x82	U+00e9
+0x83	U+00e2
+0x84	U+00e4
+0x85	U+00e0
+0x86	U+00e5
+0x87	U+00e7
+0x88	U+00ea
+0x89	U+00eb
+0x8a	U+00e8
+0x8b	U+00ef
+0x8c	U+00ee
+0x8d	U+00ec
+0x8e	U+00c4
+0x8f	U+00c5
+0x90	U+00c9
+0x91	U+00e6
+0x92	U+00c6
+0x93	U+00f4
+0x94	U+00f6
+0x95	U+00f2
+0x96	U+00fb
+0x97	U+00f9
+0x98	U+00ff
+0x99	U+00d6
+0x9a	U+00dc
+0x9b	U+00a2
+0x9c	U+00a3
+0x9d	U+00a5
+0x9e	U+20a7
+0x9f	U+0192
+0xa0	U+00e1
+0xa1	U+00ed
+0xa2	U+00f3
+0xa3	U+00fa
+0xa4	U+00f1
+0xa5	U+00d1
+0xa6	U+00aa
+0xa7	U+00ba
+0xa8	U+00bf
+0xa9	U+2310
+0xaa	U+00ac
+0xab	U+00bd
+0xac	U+00bc
+0xad	U+00a1
+0xae	U+00ab
+0xaf	U+00bb
+0xb0	U+2591
+0xb1	U+2592
+0xb2	U+2593
+0xb3	U+2502
+0xb4	U+2524
+0xb5	U+2561
+0xb6	U+2562
+0xb7	U+2556
+0xb8	U+2555
+0xb9	U+2563
+0xba	U+2551
+0xbb	U+2557
+0xbc	U+255d
+0xbd	U+255c
+0xbe	U+255b
+0xbf	U+2510
+0xc0	U+2514
+0xc1	U+2534
+0xc2	U+252c
+0xc3	U+251c
+0xc4	U+2500
+0xc5	U+253c
+0xc6	U+255e
+0xc7	U+255f
+0xc8	U+255a
+0xc9	U+2554
+0xca	U+2569
+0xcb	U+2566
+0xcc	U+2560
+0xcd	U+2550
+0xce	U+256c
+0xcf	U+2567
+0xd0	U+2568
+0xd1	U+2564
+0xd2	U+2565
+0xd3	U+2559
+0xd4	U+2558
+0xd5	U+2552
+0xd6	U+2553
+0xd7	U+256b
+0xd8	U+256a
+0xd9	U+2518
+0xda	U+250c
+0xdb	U+2588
+0xdc	U+2584
+0xdd	U+258c
+0xde	U+2590
+0xdf	U+2580
+0xe0	U+03b1
+0xe1	U+00df
+0xe2	U+0393
+0xe3	U+03c0
+0xe4	U+03a3
+0xe5	U+03c3
+0xe6	U+00b5
+0xe7	U+03c4
+0xe8	U+03a6
+0xe9	U+0398
+0xea	U+03a9
+0xeb	U+03b4
+0xec	U+221e
+0xed	U+03c6
+0xee	U+03b5
+0xef	U+2229
+0xf0	U+2261
+0xf1	U+00b1
+0xf2	U+2265
+0xf3	U+2264
+0xf4	U+2320
+0xf5	U+2321
+0xf6	U+00f7
+0xf7	U+2248
+0xf8	U+00b0
+0xf9	U+2219
+0xfa	U+00b7
+0xfb	U+221a
+0xfc	U+207f
+0xfd	U+00b2
+0xfe	U+25a0
+0xff	U+00a0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/IBM500.c2b	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,1 @@
+0x15	U+0085
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/IBM500.map	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,257 @@
+#Generated from IBM500.java
+0x00	U+0000
+0x01	U+0001
+0x02	U+0002
+0x03	U+0003
+0x04	U+009c
+0x05	U+0009
+0x06	U+0086
+0x07	U+007f
+0x08	U+0097
+0x09	U+008d
+0x0a	U+008e
+0x0b	U+000b
+0x0c	U+000c
+0x0d	U+000d
+0x0e	U+000e
+0x0f	U+000f
+0x10	U+0010
+0x11	U+0011
+0x12	U+0012
+0x13	U+0013
+0x14	U+009d
+0x15	U+000a
+0x16	U+0008
+0x17	U+0087
+0x18	U+0018
+0x19	U+0019
+0x1a	U+0092
+0x1b	U+008f
+0x1c	U+001c
+0x1d	U+001d
+0x1e	U+001e
+0x1f	U+001f
+0x20	U+0080
+0x21	U+0081
+0x22	U+0082
+0x23	U+0083
+0x24	U+0084
+0x25	U+000a
+0x26	U+0017
+0x27	U+001b
+0x28	U+0088
+0x29	U+0089
+0x2a	U+008a
+0x2b	U+008b
+0x2c	U+008c
+0x2d	U+0005
+0x2e	U+0006
+0x2f	U+0007
+0x30	U+0090
+0x31	U+0091
+0x32	U+0016
+0x33	U+0093
+0x34	U+0094
+0x35	U+0095
+0x36	U+0096
+0x37	U+0004
+0x38	U+0098
+0x39	U+0099
+0x3a	U+009a
+0x3b	U+009b
+0x3c	U+0014
+0x3d	U+0015
+0x3e	U+009e
+0x3f	U+001a
+0x40	U+0020
+0x41	U+00a0
+0x42	U+00e2
+0x43	U+00e4
+0x44	U+00e0
+0x45	U+00e1
+0x46	U+00e3
+0x47	U+00e5
+0x48	U+00e7
+0x49	U+00f1
+0x4a	U+005b
+0x4b	U+002e
+0x4c	U+003c
+0x4d	U+0028
+0x4e	U+002b
+0x4f	U+0021
+0x50	U+0026
+0x51	U+00e9
+0x52	U+00ea
+0x53	U+00eb
+0x54	U+00e8
+0x55	U+00ed
+0x56	U+00ee
+0x57	U+00ef
+0x58	U+00ec
+0x59	U+00df
+0x5a	U+005d
+0x5b	U+0024
+0x5c	U+002a
+0x5d	U+0029
+0x5e	U+003b
+0x5f	U+005e
+0x60	U+002d
+0x61	U+002f
+0x62	U+00c2
+0x63	U+00c4
+0x64	U+00c0
+0x65	U+00c1
+0x66	U+00c3
+0x67	U+00c5
+0x68	U+00c7
+0x69	U+00d1
+0x6a	U+00a6
+0x6b	U+002c
+0x6c	U+0025
+0x6d	U+005f
+0x6e	U+003e
+0x6f	U+003f
+0x70	U+00f8
+0x71	U+00c9
+0x72	U+00ca
+0x73	U+00cb
+0x74	U+00c8
+0x75	U+00cd
+0x76	U+00ce
+0x77	U+00cf
+0x78	U+00cc
+0x79	U+0060
+0x7a	U+003a
+0x7b	U+0023
+0x7c	U+0040
+0x7d	U+0027
+0x7e	U+003d
+0x7f	U+0022
+0x80	U+00d8
+0x81	U+0061
+0x82	U+0062
+0x83	U+0063
+0x84	U+0064
+0x85	U+0065
+0x86	U+0066
+0x87	U+0067
+0x88	U+0068
+0x89	U+0069
+0x8a	U+00ab
+0x8b	U+00bb
+0x8c	U+00f0
+0x8d	U+00fd
+0x8e	U+00fe
+0x8f	U+00b1
+0x90	U+00b0
+0x91	U+006a
+0x92	U+006b
+0x93	U+006c
+0x94	U+006d
+0x95	U+006e
+0x96	U+006f
+0x97	U+0070
+0x98	U+0071
+0x99	U+0072
+0x9a	U+00aa
+0x9b	U+00ba
+0x9c	U+00e6
+0x9d	U+00b8
+0x9e	U+00c6
+0x9f	U+00a4
+0xa0	U+00b5
+0xa1	U+007e
+0xa2	U+0073
+0xa3	U+0074
+0xa4	U+0075
+0xa5	U+0076
+0xa6	U+0077
+0xa7	U+0078
+0xa8	U+0079
+0xa9	U+007a
+0xaa	U+00a1
+0xab	U+00bf
+0xac	U+00d0
+0xad	U+00dd
+0xae	U+00de
+0xaf	U+00ae
+0xb0	U+00a2
+0xb1	U+00a3
+0xb2	U+00a5
+0xb3	U+00b7
+0xb4	U+00a9
+0xb5	U+00a7
+0xb6	U+00b6
+0xb7	U+00bc
+0xb8	U+00bd
+0xb9	U+00be
+0xba	U+00ac
+0xbb	U+007c
+0xbc	U+00af
+0xbd	U+00a8
+0xbe	U+00b4
+0xbf	U+00d7
+0xc0	U+007b
+0xc1	U+0041
+0xc2	U+0042
+0xc3	U+0043
+0xc4	U+0044
+0xc5	U+0045
+0xc6	U+0046
+0xc7	U+0047
+0xc8	U+0048
+0xc9	U+0049
+0xca	U+00ad
+0xcb	U+00f4
+0xcc	U+00f6
+0xcd	U+00f2
+0xce	U+00f3
+0xcf	U+00f5
+0xd0	U+007d
+0xd1	U+004a
+0xd2	U+004b
+0xd3	U+004c
+0xd4	U+004d
+0xd5	U+004e
+0xd6	U+004f
+0xd7	U+0050
+0xd8	U+0051
+0xd9	U+0052
+0xda	U+00b9
+0xdb	U+00fb
+0xdc	U+00fc
+0xdd	U+00f9
+0xde	U+00fa
+0xdf	U+00ff
+0xe0	U+005c
+0xe1	U+00f7
+0xe2	U+0053
+0xe3	U+0054
+0xe4	U+0055
+0xe5	U+0056
+0xe6	U+0057
+0xe7	U+0058
+0xe8	U+0059
+0xe9	U+005a
+0xea	U+00b2
+0xeb	U+00d4
+0xec	U+00d6
+0xed	U+00d2
+0xee	U+00d3
+0xef	U+00d5
+0xf0	U+0030
+0xf1	U+0031
+0xf2	U+0032
+0xf3	U+0033
+0xf4	U+0034
+0xf5	U+0035
+0xf6	U+0036
+0xf7	U+0037
+0xf8	U+0038
+0xf9	U+0039
+0xfa	U+00b3
+0xfb	U+00db
+0xfc	U+00dc
+0xfd	U+00d9
+0xfe	U+00da
+0xff	U+009f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/IBM500.nr	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,1 @@
+0x25	U+000a
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/IBM737.map	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,257 @@
+#Generated from IBM737.java
+0x00	U+0000
+0x01	U+0001
+0x02	U+0002
+0x03	U+0003
+0x04	U+0004
+0x05	U+0005
+0x06	U+0006
+0x07	U+0007
+0x08	U+0008
+0x09	U+0009
+0x0a	U+000a
+0x0b	U+000b
+0x0c	U+000c
+0x0d	U+000d
+0x0e	U+000e
+0x0f	U+000f
+0x10	U+0010
+0x11	U+0011
+0x12	U+0012
+0x13	U+0013
+0x14	U+0014
+0x15	U+0015
+0x16	U+0016
+0x17	U+0017
+0x18	U+0018
+0x19	U+0019
+0x1a	U+001a
+0x1b	U+001b
+0x1c	U+001c
+0x1d	U+001d
+0x1e	U+001e
+0x1f	U+001f
+0x20	U+0020
+0x21	U+0021
+0x22	U+0022
+0x23	U+0023
+0x24	U+0024
+0x25	U+0025
+0x26	U+0026
+0x27	U+0027
+0x28	U+0028
+0x29	U+0029
+0x2a	U+002a
+0x2b	U+002b
+0x2c	U+002c
+0x2d	U+002d
+0x2e	U+002e
+0x2f	U+002f
+0x30	U+0030
+0x31	U+0031
+0x32	U+0032
+0x33	U+0033
+0x34	U+0034
+0x35	U+0035
+0x36	U+0036
+0x37	U+0037
+0x38	U+0038
+0x39	U+0039
+0x3a	U+003a
+0x3b	U+003b
+0x3c	U+003c
+0x3d	U+003d
+0x3e	U+003e
+0x3f	U+003f
+0x40	U+0040
+0x41	U+0041
+0x42	U+0042
+0x43	U+0043
+0x44	U+0044
+0x45	U+0045
+0x46	U+0046
+0x47	U+0047
+0x48	U+0048
+0x49	U+0049
+0x4a	U+004a
+0x4b	U+004b
+0x4c	U+004c
+0x4d	U+004d
+0x4e	U+004e
+0x4f	U+004f
+0x50	U+0050
+0x51	U+0051
+0x52	U+0052
+0x53	U+0053
+0x54	U+0054
+0x55	U+0055
+0x56	U+0056
+0x57	U+0057
+0x58	U+0058
+0x59	U+0059
+0x5a	U+005a
+0x5b	U+005b
+0x5c	U+005c
+0x5d	U+005d
+0x5e	U+005e
+0x5f	U+005f
+0x60	U+0060
+0x61	U+0061
+0x62	U+0062
+0x63	U+0063
+0x64	U+0064
+0x65	U+0065
+0x66	U+0066
+0x67	U+0067
+0x68	U+0068
+0x69	U+0069
+0x6a	U+006a
+0x6b	U+006b
+0x6c	U+006c
+0x6d	U+006d
+0x6e	U+006e
+0x6f	U+006f
+0x70	U+0070
+0x71	U+0071
+0x72	U+0072
+0x73	U+0073
+0x74	U+0074
+0x75	U+0075
+0x76	U+0076
+0x77	U+0077
+0x78	U+0078
+0x79	U+0079
+0x7a	U+007a
+0x7b	U+007b
+0x7c	U+007c
+0x7d	U+007d
+0x7e	U+007e
+0x7f	U+007f
+0x80	U+0391
+0x81	U+0392
+0x82	U+0393
+0x83	U+0394
+0x84	U+0395
+0x85	U+0396
+0x86	U+0397
+0x87	U+0398
+0x88	U+0399
+0x89	U+039a
+0x8a	U+039b
+0x8b	U+039c
+0x8c	U+039d
+0x8d	U+039e
+0x8e	U+039f
+0x8f	U+03a0
+0x90	U+03a1
+0x91	U+03a3
+0x92	U+03a4
+0x93	U+03a5
+0x94	U+03a6
+0x95	U+03a7
+0x96	U+03a8
+0x97	U+03a9
+0x98	U+03b1
+0x99	U+03b2
+0x9a	U+03b3
+0x9b	U+03b4
+0x9c	U+03b5
+0x9d	U+03b6
+0x9e	U+03b7
+0x9f	U+03b8
+0xa0	U+03b9
+0xa1	U+03ba
+0xa2	U+03bb
+0xa3	U+03bc
+0xa4	U+03bd
+0xa5	U+03be
+0xa6	U+03bf
+0xa7	U+03c0
+0xa8	U+03c1
+0xa9	U+03c3
+0xaa	U+03c2
+0xab	U+03c4
+0xac	U+03c5
+0xad	U+03c6
+0xae	U+03c7
+0xaf	U+03c8
+0xb0	U+2591
+0xb1	U+2592
+0xb2	U+2593
+0xb3	U+2502
+0xb4	U+2524
+0xb5	U+2561
+0xb6	U+2562
+0xb7	U+2556
+0xb8	U+2555
+0xb9	U+2563
+0xba	U+2551
+0xbb	U+2557
+0xbc	U+255d
+0xbd	U+255c
+0xbe	U+255b
+0xbf	U+2510
+0xc0	U+2514
+0xc1	U+2534
+0xc2	U+252c
+0xc3	U+251c
+0xc4	U+2500
+0xc5	U+253c
+0xc6	U+255e
+0xc7	U+255f
+0xc8	U+255a
+0xc9	U+2554
+0xca	U+2569
+0xcb	U+2566
+0xcc	U+2560
+0xcd	U+2550
+0xce	U+256c
+0xcf	U+2567
+0xd0	U+2568
+0xd1	U+2564
+0xd2	U+2565
+0xd3	U+2559
+0xd4	U+2558
+0xd5	U+2552
+0xd6	U+2553
+0xd7	U+256b
+0xd8	U+256a
+0xd9	U+2518
+0xda	U+250c
+0xdb	U+2588
+0xdc	U+2584
+0xdd	U+258c
+0xde	U+2590
+0xdf	U+2580
+0xe0	U+03c9
+0xe1	U+03ac
+0xe2	U+03ad
+0xe3	U+03ae
+0xe4	U+03ca
+0xe5	U+03af
+0xe6	U+03cc
+0xe7	U+03cd
+0xe8	U+03cb
+0xe9	U+03ce
+0xea	U+0386
+0xeb	U+0388
+0xec	U+0389
+0xed	U+038a
+0xee	U+038c
+0xef	U+038e
+0xf0	U+038f
+0xf1	U+00b1
+0xf2	U+2265
+0xf3	U+2264
+0xf4	U+03aa
+0xf5	U+03ab
+0xf6	U+00f7
+0xf7	U+2248
+0xf8	U+00b0
+0xf9	U+2219
+0xfa	U+00b7
+0xfb	U+221a
+0xfc	U+207f
+0xfd	U+00b2
+0xfe	U+25a0
+0xff	U+00a0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/IBM775.map	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,257 @@
+#Generated from IBM775.java
+0x00	U+0000
+0x01	U+0001
+0x02	U+0002
+0x03	U+0003
+0x04	U+0004
+0x05	U+0005
+0x06	U+0006
+0x07	U+0007
+0x08	U+0008
+0x09	U+0009
+0x0a	U+000a
+0x0b	U+000b
+0x0c	U+000c
+0x0d	U+000d
+0x0e	U+000e
+0x0f	U+000f
+0x10	U+0010
+0x11	U+0011
+0x12	U+0012
+0x13	U+0013
+0x14	U+0014
+0x15	U+0015
+0x16	U+0016
+0x17	U+0017
+0x18	U+0018
+0x19	U+0019
+0x1a	U+001a
+0x1b	U+001b
+0x1c	U+001c
+0x1d	U+001d
+0x1e	U+001e
+0x1f	U+001f
+0x20	U+0020
+0x21	U+0021
+0x22	U+0022
+0x23	U+0023
+0x24	U+0024
+0x25	U+0025
+0x26	U+0026
+0x27	U+0027
+0x28	U+0028
+0x29	U+0029
+0x2a	U+002a
+0x2b	U+002b
+0x2c	U+002c
+0x2d	U+002d
+0x2e	U+002e
+0x2f	U+002f
+0x30	U+0030
+0x31	U+0031
+0x32	U+0032
+0x33	U+0033
+0x34	U+0034
+0x35	U+0035
+0x36	U+0036
+0x37	U+0037
+0x38	U+0038
+0x39	U+0039
+0x3a	U+003a
+0x3b	U+003b
+0x3c	U+003c
+0x3d	U+003d
+0x3e	U+003e
+0x3f	U+003f
+0x40	U+0040
+0x41	U+0041
+0x42	U+0042
+0x43	U+0043
+0x44	U+0044
+0x45	U+0045
+0x46	U+0046
+0x47	U+0047
+0x48	U+0048
+0x49	U+0049
+0x4a	U+004a
+0x4b	U+004b
+0x4c	U+004c
+0x4d	U+004d
+0x4e	U+004e
+0x4f	U+004f
+0x50	U+0050
+0x51	U+0051
+0x52	U+0052
+0x53	U+0053
+0x54	U+0054
+0x55	U+0055
+0x56	U+0056
+0x57	U+0057
+0x58	U+0058
+0x59	U+0059
+0x5a	U+005a
+0x5b	U+005b
+0x5c	U+005c
+0x5d	U+005d
+0x5e	U+005e
+0x5f	U+005f
+0x60	U+0060
+0x61	U+0061
+0x62	U+0062
+0x63	U+0063
+0x64	U+0064
+0x65	U+0065
+0x66	U+0066
+0x67	U+0067
+0x68	U+0068
+0x69	U+0069
+0x6a	U+006a
+0x6b	U+006b
+0x6c	U+006c
+0x6d	U+006d
+0x6e	U+006e
+0x6f	U+006f
+0x70	U+0070
+0x71	U+0071
+0x72	U+0072
+0x73	U+0073
+0x74	U+0074
+0x75	U+0075
+0x76	U+0076
+0x77	U+0077
+0x78	U+0078
+0x79	U+0079
+0x7a	U+007a
+0x7b	U+007b
+0x7c	U+007c
+0x7d	U+007d
+0x7e	U+007e
+0x7f	U+007f
+0x80	U+0106
+0x81	U+00fc
+0x82	U+00e9
+0x83	U+0101
+0x84	U+00e4
+0x85	U+0123
+0x86	U+00e5
+0x87	U+0107
+0x88	U+0142
+0x89	U+0113
+0x8a	U+0156
+0x8b	U+0157
+0x8c	U+012b
+0x8d	U+0179
+0x8e	U+00c4
+0x8f	U+00c5
+0x90	U+00c9
+0x91	U+00e6
+0x92	U+00c6
+0x93	U+014d
+0x94	U+00f6
+0x95	U+0122
+0x96	U+00a2
+0x97	U+015a
+0x98	U+015b
+0x99	U+00d6
+0x9a	U+00dc
+0x9b	U+00f8
+0x9c	U+00a3
+0x9d	U+00d8
+0x9e	U+00d7
+0x9f	U+00a4
+0xa0	U+0100
+0xa1	U+012a
+0xa2	U+00f3
+0xa3	U+017b
+0xa4	U+017c
+0xa5	U+017a
+0xa6	U+201d
+0xa7	U+00a6
+0xa8	U+00a9
+0xa9	U+00ae
+0xaa	U+00ac
+0xab	U+00bd
+0xac	U+00bc
+0xad	U+0141
+0xae	U+00ab
+0xaf	U+00bb
+0xb0	U+2591
+0xb1	U+2592
+0xb2	U+2593
+0xb3	U+2502
+0xb4	U+2524
+0xb5	U+0104
+0xb6	U+010c
+0xb7	U+0118
+0xb8	U+0116
+0xb9	U+2563
+0xba	U+2551
+0xbb	U+2557
+0xbc	U+255d
+0xbd	U+012e
+0xbe	U+0160
+0xbf	U+2510
+0xc0	U+2514
+0xc1	U+2534
+0xc2	U+252c
+0xc3	U+251c
+0xc4	U+2500
+0xc5	U+253c
+0xc6	U+0172
+0xc7	U+016a
+0xc8	U+255a
+0xc9	U+2554
+0xca	U+2569
+0xcb	U+2566
+0xcc	U+2560
+0xcd	U+2550
+0xce	U+256c
+0xcf	U+017d
+0xd0	U+0105
+0xd1	U+010d
+0xd2	U+0119
+0xd3	U+0117
+0xd4	U+012f
+0xd5	U+0161
+0xd6	U+0173
+0xd7	U+016b
+0xd8	U+017e
+0xd9	U+2518
+0xda	U+250c
+0xdb	U+2588
+0xdc	U+2584
+0xdd	U+258c
+0xde	U+2590
+0xdf	U+2580
+0xe0	U+00d3
+0xe1	U+00df
+0xe2	U+014c
+0xe3	U+0143
+0xe4	U+00f5
+0xe5	U+00d5
+0xe6	U+00b5
+0xe7	U+0144
+0xe8	U+0136
+0xe9	U+0137
+0xea	U+013b
+0xeb	U+013c
+0xec	U+0146
+0xed	U+0112
+0xee	U+0145
+0xef	U+2019
+0xf0	U+00ad
+0xf1	U+00b1
+0xf2	U+201c
+0xf3	U+00be
+0xf4	U+00b6
+0xf5	U+00a7
+0xf6	U+00f7
+0xf7	U+201e
+0xf8	U+00b0
+0xf9	U+2219
+0xfa	U+00b7
+0xfb	U+00b9
+0xfc	U+00b3
+0xfd	U+00b2
+0xfe	U+25a0
+0xff	U+00a0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/IBM838.c2b	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,1 @@
+0x15	U+0085
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/IBM838.map	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,257 @@
+#Generated from IBM838.java
+0x00	U+0000
+0x01	U+0001
+0x02	U+0002
+0x03	U+0003
+0x04	U+009c
+0x05	U+0009
+0x06	U+0086
+0x07	U+007f
+0x08	U+0097
+0x09	U+008d
+0x0a	U+008e
+0x0b	U+000b
+0x0c	U+000c
+0x0d	U+000d
+0x0e	U+000e
+0x0f	U+000f
+0x10	U+0010
+0x11	U+0011
+0x12	U+0012
+0x13	U+0013
+0x14	U+009d
+0x15	U+000a
+0x16	U+0008
+0x17	U+0087
+0x18	U+0018
+0x19	U+0019
+0x1a	U+0092
+0x1b	U+008f
+0x1c	U+001c
+0x1d	U+001d
+0x1e	U+001e
+0x1f	U+001f
+0x20	U+0080
+0x21	U+0081
+0x22	U+0082
+0x23	U+0083
+0x24	U+0084
+0x25	U+000a
+0x26	U+0017
+0x27	U+001b
+0x28	U+0088
+0x29	U+0089
+0x2a	U+008a
+0x2b	U+008b
+0x2c	U+008c
+0x2d	U+0005
+0x2e	U+0006
+0x2f	U+0007
+0x30	U+0090
+0x31	U+0091
+0x32	U+0016
+0x33	U+0093
+0x34	U+0094
+0x35	U+0095
+0x36	U+0096
+0x37	U+0004
+0x38	U+0098
+0x39	U+0099
+0x3a	U+009a
+0x3b	U+009b
+0x3c	U+0014
+0x3d	U+0015
+0x3e	U+009e
+0x3f	U+001a
+0x40	U+0020
+0x41	U+00a0
+0x42	U+0e01
+0x43	U+0e02
+0x44	U+0e03
+0x45	U+0e04
+0x46	U+0e05
+0x47	U+0e06
+0x48	U+0e07
+0x49	U+005b
+0x4a	U+00a2
+0x4b	U+002e
+0x4c	U+003c
+0x4d	U+0028
+0x4e	U+002b
+0x4f	U+007c
+0x50	U+0026
+0x51	U+0e48
+0x52	U+0e08
+0x53	U+0e09
+0x54	U+0e0a
+0x55	U+0e0b
+0x56	U+0e0c
+0x57	U+0e0d
+0x58	U+0e0e
+0x59	U+005d
+0x5a	U+0021
+0x5b	U+0024
+0x5c	U+002a
+0x5d	U+0029
+0x5e	U+003b
+0x5f	U+00ac
+0x60	U+002d
+0x61	U+002f
+0x62	U+0e0f
+0x63	U+0e10
+0x64	U+0e11
+0x65	U+0e12
+0x66	U+0e13
+0x67	U+0e14
+0x68	U+0e15
+0x69	U+005e
+0x6a	U+00a6
+0x6b	U+002c
+0x6c	U+0025
+0x6d	U+005f
+0x6e	U+003e
+0x6f	U+003f
+0x70	U+0e3f
+0x71	U+0e4e
+0x72	U+0e16
+0x73	U+0e17
+0x74	U+0e18
+0x75	U+0e19
+0x76	U+0e1a
+0x77	U+0e1b
+0x78	U+0e1c
+0x79	U+0060
+0x7a	U+003a
+0x7b	U+0023
+0x7c	U+0040
+0x7d	U+0027
+0x7e	U+003d
+0x7f	U+0022
+0x80	U+0e4f
+0x81	U+0061
+0x82	U+0062
+0x83	U+0063
+0x84	U+0064
+0x85	U+0065
+0x86	U+0066
+0x87	U+0067
+0x88	U+0068
+0x89	U+0069
+0x8a	U+0e1d
+0x8b	U+0e1e
+0x8c	U+0e1f
+0x8d	U+0e20
+0x8e	U+0e21
+0x8f	U+0e22
+0x90	U+0e5a
+0x91	U+006a
+0x92	U+006b
+0x93	U+006c
+0x94	U+006d
+0x95	U+006e
+0x96	U+006f
+0x97	U+0070
+0x98	U+0071
+0x99	U+0072
+0x9a	U+0e23
+0x9b	U+0e24
+0x9c	U+0e25
+0x9d	U+0e26
+0x9e	U+0e27
+0x9f	U+0e28
+0xa0	U+0e5b
+0xa1	U+007e
+0xa2	U+0073
+0xa3	U+0074
+0xa4	U+0075
+0xa5	U+0076
+0xa6	U+0077
+0xa7	U+0078
+0xa8	U+0079
+0xa9	U+007a
+0xaa	U+0e29
+0xab	U+0e2a
+0xac	U+0e2b
+0xad	U+0e2c
+0xae	U+0e2d
+0xaf	U+0e2e
+0xb0	U+0e50
+0xb1	U+0e51
+0xb2	U+0e52
+0xb3	U+0e53
+0xb4	U+0e54
+0xb5	U+0e55
+0xb6	U+0e56
+0xb7	U+0e57
+0xb8	U+0e58
+0xb9	U+0e59
+0xba	U+0e2f
+0xbb	U+0e30
+0xbc	U+0e31
+0xbd	U+0e32
+0xbe	U+0e33
+0xbf	U+0e34
+0xc0	U+007b
+0xc1	U+0041
+0xc2	U+0042
+0xc3	U+0043
+0xc4	U+0044
+0xc5	U+0045
+0xc6	U+0046
+0xc7	U+0047
+0xc8	U+0048
+0xc9	U+0049
+0xca	U+0e49
+0xcb	U+0e35
+0xcc	U+0e36
+0xcd	U+0e37
+0xce	U+0e38
+0xcf	U+0e39
+0xd0	U+007d
+0xd1	U+004a
+0xd2	U+004b
+0xd3	U+004c
+0xd4	U+004d
+0xd5	U+004e
+0xd6	U+004f
+0xd7	U+0050
+0xd8	U+0051
+0xd9	U+0052
+0xda	U+0e3a
+0xdb	U+0e40
+0xdc	U+0e41
+0xdd	U+0e42
+0xde	U+0e43
+0xdf	U+0e44
+0xe0	U+005c
+0xe1	U+0e4a
+0xe2	U+0053
+0xe3	U+0054
+0xe4	U+0055
+0xe5	U+0056
+0xe6	U+0057
+0xe7	U+0058
+0xe8	U+0059
+0xe9	U+005a
+0xea	U+0e45
+0xeb	U+0e46
+0xec	U+0e47
+0xed	U+0e48
+0xee	U+0e49
+0xef	U+0e4a
+0xf0	U+0030
+0xf1	U+0031
+0xf2	U+0032
+0xf3	U+0033
+0xf4	U+0034
+0xf5	U+0035
+0xf6	U+0036
+0xf7	U+0037
+0xf8	U+0038
+0xf9	U+0039
+0xfa	U+0e4b
+0xfb	U+0e4c
+0xfc	U+0e4d
+0xfd	U+0e4b
+0xfe	U+0e4c
+0xff	U+009f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/IBM838.nr	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,6 @@
+0x25	U+000a
+0x51	U+0e48
+0xca	U+0e49
+0xe1	U+0e4a
+0xfd	U+0e4b
+0xfe	U+0e4c
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/IBM850.map	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,257 @@
+#Generated from IBM850.java
+0x00	U+0000
+0x01	U+0001
+0x02	U+0002
+0x03	U+0003
+0x04	U+0004
+0x05	U+0005
+0x06	U+0006
+0x07	U+0007
+0x08	U+0008
+0x09	U+0009
+0x0a	U+000a
+0x0b	U+000b
+0x0c	U+000c
+0x0d	U+000d
+0x0e	U+000e
+0x0f	U+000f
+0x10	U+0010
+0x11	U+0011
+0x12	U+0012
+0x13	U+0013
+0x14	U+0014
+0x15	U+0015
+0x16	U+0016
+0x17	U+0017
+0x18	U+0018
+0x19	U+0019
+0x1a	U+001a
+0x1b	U+001b
+0x1c	U+001c
+0x1d	U+001d
+0x1e	U+001e
+0x1f	U+001f
+0x20	U+0020
+0x21	U+0021
+0x22	U+0022
+0x23	U+0023
+0x24	U+0024
+0x25	U+0025
+0x26	U+0026
+0x27	U+0027
+0x28	U+0028
+0x29	U+0029
+0x2a	U+002a
+0x2b	U+002b
+0x2c	U+002c
+0x2d	U+002d
+0x2e	U+002e
+0x2f	U+002f
+0x30	U+0030
+0x31	U+0031
+0x32	U+0032
+0x33	U+0033
+0x34	U+0034
+0x35	U+0035
+0x36	U+0036
+0x37	U+0037
+0x38	U+0038
+0x39	U+0039
+0x3a	U+003a
+0x3b	U+003b
+0x3c	U+003c
+0x3d	U+003d
+0x3e	U+003e
+0x3f	U+003f
+0x40	U+0040
+0x41	U+0041
+0x42	U+0042
+0x43	U+0043
+0x44	U+0044
+0x45	U+0045
+0x46	U+0046
+0x47	U+0047
+0x48	U+0048
+0x49	U+0049
+0x4a	U+004a
+0x4b	U+004b
+0x4c	U+004c
+0x4d	U+004d
+0x4e	U+004e
+0x4f	U+004f
+0x50	U+0050
+0x51	U+0051
+0x52	U+0052
+0x53	U+0053
+0x54	U+0054
+0x55	U+0055
+0x56	U+0056
+0x57	U+0057
+0x58	U+0058
+0x59	U+0059
+0x5a	U+005a
+0x5b	U+005b
+0x5c	U+005c
+0x5d	U+005d
+0x5e	U+005e
+0x5f	U+005f
+0x60	U+0060
+0x61	U+0061
+0x62	U+0062
+0x63	U+0063
+0x64	U+0064
+0x65	U+0065
+0x66	U+0066
+0x67	U+0067
+0x68	U+0068
+0x69	U+0069
+0x6a	U+006a
+0x6b	U+006b
+0x6c	U+006c
+0x6d	U+006d
+0x6e	U+006e
+0x6f	U+006f
+0x70	U+0070
+0x71	U+0071
+0x72	U+0072
+0x73	U+0073
+0x74	U+0074
+0x75	U+0075
+0x76	U+0076
+0x77	U+0077
+0x78	U+0078
+0x79	U+0079
+0x7a	U+007a
+0x7b	U+007b
+0x7c	U+007c
+0x7d	U+007d
+0x7e	U+007e
+0x7f	U+007f
+0x80	U+00c7
+0x81	U+00fc
+0x82	U+00e9
+0x83	U+00e2
+0x84	U+00e4
+0x85	U+00e0
+0x86	U+00e5
+0x87	U+00e7
+0x88	U+00ea
+0x89	U+00eb
+0x8a	U+00e8
+0x8b	U+00ef
+0x8c	U+00ee
+0x8d	U+00ec
+0x8e	U+00c4
+0x8f	U+00c5
+0x90	U+00c9
+0x91	U+00e6
+0x92	U+00c6
+0x93	U+00f4
+0x94	U+00f6
+0x95	U+00f2
+0x96	U+00fb
+0x97	U+00f9
+0x98	U+00ff
+0x99	U+00d6
+0x9a	U+00dc
+0x9b	U+00f8
+0x9c	U+00a3
+0x9d	U+00d8
+0x9e	U+00d7
+0x9f	U+0192
+0xa0	U+00e1
+0xa1	U+00ed
+0xa2	U+00f3
+0xa3	U+00fa
+0xa4	U+00f1
+0xa5	U+00d1
+0xa6	U+00aa
+0xa7	U+00ba
+0xa8	U+00bf
+0xa9	U+00ae
+0xaa	U+00ac
+0xab	U+00bd
+0xac	U+00bc
+0xad	U+00a1
+0xae	U+00ab
+0xaf	U+00bb
+0xb0	U+2591
+0xb1	U+2592
+0xb2	U+2593
+0xb3	U+2502
+0xb4	U+2524
+0xb5	U+00c1
+0xb6	U+00c2
+0xb7	U+00c0
+0xb8	U+00a9
+0xb9	U+2563
+0xba	U+2551
+0xbb	U+2557
+0xbc	U+255d
+0xbd	U+00a2
+0xbe	U+00a5
+0xbf	U+2510
+0xc0	U+2514
+0xc1	U+2534
+0xc2	U+252c
+0xc3	U+251c
+0xc4	U+2500
+0xc5	U+253c
+0xc6	U+00e3
+0xc7	U+00c3
+0xc8	U+255a
+0xc9	U+2554
+0xca	U+2569
+0xcb	U+2566
+0xcc	U+2560
+0xcd	U+2550
+0xce	U+256c
+0xcf	U+00a4
+0xd0	U+00f0
+0xd1	U+00d0
+0xd2	U+00ca
+0xd3	U+00cb
+0xd4	U+00c8
+0xd5	U+0131
+0xd6	U+00cd
+0xd7	U+00ce
+0xd8	U+00cf
+0xd9	U+2518
+0xda	U+250c
+0xdb	U+2588
+0xdc	U+2584
+0xdd	U+00a6
+0xde	U+00cc
+0xdf	U+2580
+0xe0	U+00d3
+0xe1	U+00df
+0xe2	U+00d4
+0xe3	U+00d2
+0xe4	U+00f5
+0xe5	U+00d5
+0xe6	U+00b5
+0xe7	U+00fe
+0xe8	U+00de
+0xe9	U+00da
+0xea	U+00db
+0xeb	U+00d9
+0xec	U+00fd
+0xed	U+00dd
+0xee	U+00af
+0xef	U+00b4
+0xf0	U+00ad
+0xf1	U+00b1
+0xf2	U+2017
+0xf3	U+00be
+0xf4	U+00b6
+0xf5	U+00a7
+0xf6	U+00f7
+0xf7	U+00b8
+0xf8	U+00b0
+0xf9	U+00a8
+0xfa	U+00b7
+0xfb	U+00b9
+0xfc	U+00b3
+0xfd	U+00b2
+0xfe	U+25a0
+0xff	U+00a0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/IBM852.map	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,257 @@
+#Generated from IBM852.java
+0x00	U+0000
+0x01	U+0001
+0x02	U+0002
+0x03	U+0003
+0x04	U+0004
+0x05	U+0005
+0x06	U+0006
+0x07	U+0007
+0x08	U+0008
+0x09	U+0009
+0x0a	U+000a
+0x0b	U+000b
+0x0c	U+000c
+0x0d	U+000d
+0x0e	U+000e
+0x0f	U+000f
+0x10	U+0010
+0x11	U+0011
+0x12	U+0012
+0x13	U+0013
+0x14	U+0014
+0x15	U+0015
+0x16	U+0016
+0x17	U+0017
+0x18	U+0018
+0x19	U+0019
+0x1a	U+001a
+0x1b	U+001b
+0x1c	U+001c
+0x1d	U+001d
+0x1e	U+001e
+0x1f	U+001f
+0x20	U+0020
+0x21	U+0021
+0x22	U+0022
+0x23	U+0023
+0x24	U+0024
+0x25	U+0025
+0x26	U+0026
+0x27	U+0027
+0x28	U+0028
+0x29	U+0029
+0x2a	U+002a
+0x2b	U+002b
+0x2c	U+002c
+0x2d	U+002d
+0x2e	U+002e
+0x2f	U+002f
+0x30	U+0030
+0x31	U+0031
+0x32	U+0032
+0x33	U+0033
+0x34	U+0034
+0x35	U+0035
+0x36	U+0036
+0x37	U+0037
+0x38	U+0038
+0x39	U+0039
+0x3a	U+003a
+0x3b	U+003b
+0x3c	U+003c
+0x3d	U+003d
+0x3e	U+003e
+0x3f	U+003f
+0x40	U+0040
+0x41	U+0041
+0x42	U+0042
+0x43	U+0043
+0x44	U+0044
+0x45	U+0045
+0x46	U+0046
+0x47	U+0047
+0x48	U+0048
+0x49	U+0049
+0x4a	U+004a
+0x4b	U+004b
+0x4c	U+004c
+0x4d	U+004d
+0x4e	U+004e
+0x4f	U+004f
+0x50	U+0050
+0x51	U+0051
+0x52	U+0052
+0x53	U+0053
+0x54	U+0054
+0x55	U+0055
+0x56	U+0056
+0x57	U+0057
+0x58	U+0058
+0x59	U+0059
+0x5a	U+005a
+0x5b	U+005b
+0x5c	U+005c
+0x5d	U+005d
+0x5e	U+005e
+0x5f	U+005f
+0x60	U+0060
+0x61	U+0061
+0x62	U+0062
+0x63	U+0063
+0x64	U+0064
+0x65	U+0065
+0x66	U+0066
+0x67	U+0067
+0x68	U+0068
+0x69	U+0069
+0x6a	U+006a
+0x6b	U+006b
+0x6c	U+006c
+0x6d	U+006d
+0x6e	U+006e
+0x6f	U+006f
+0x70	U+0070
+0x71	U+0071
+0x72	U+0072
+0x73	U+0073
+0x74	U+0074
+0x75	U+0075
+0x76	U+0076
+0x77	U+0077
+0x78	U+0078
+0x79	U+0079
+0x7a	U+007a
+0x7b	U+007b
+0x7c	U+007c
+0x7d	U+007d
+0x7e	U+007e
+0x7f	U+007f
+0x80	U+00c7
+0x81	U+00fc
+0x82	U+00e9
+0x83	U+00e2
+0x84	U+00e4
+0x85	U+016f
+0x86	U+0107
+0x87	U+00e7
+0x88	U+0142
+0x89	U+00eb
+0x8a	U+0150
+0x8b	U+0151
+0x8c	U+00ee
+0x8d	U+0179
+0x8e	U+00c4
+0x8f	U+0106
+0x90	U+00c9
+0x91	U+0139
+0x92	U+013a
+0x93	U+00f4
+0x94	U+00f6
+0x95	U+013d
+0x96	U+013e
+0x97	U+015a
+0x98	U+015b
+0x99	U+00d6
+0x9a	U+00dc
+0x9b	U+0164
+0x9c	U+0165
+0x9d	U+0141
+0x9e	U+00d7
+0x9f	U+010d
+0xa0	U+00e1
+0xa1	U+00ed
+0xa2	U+00f3
+0xa3	U+00fa
+0xa4	U+0104
+0xa5	U+0105
+0xa6	U+017d
+0xa7	U+017e
+0xa8	U+0118
+0xa9	U+0119
+0xaa	U+00ac
+0xab	U+017a
+0xac	U+010c
+0xad	U+015f
+0xae	U+00ab
+0xaf	U+00bb
+0xb0	U+2591
+0xb1	U+2592
+0xb2	U+2593
+0xb3	U+2502
+0xb4	U+2524
+0xb5	U+00c1
+0xb6	U+00c2
+0xb7	U+011a
+0xb8	U+015e
+0xb9	U+2563
+0xba	U+2551
+0xbb	U+2557
+0xbc	U+255d
+0xbd	U+017b
+0xbe	U+017c
+0xbf	U+2510
+0xc0	U+2514
+0xc1	U+2534
+0xc2	U+252c
+0xc3	U+251c
+0xc4	U+2500
+0xc5	U+253c
+0xc6	U+0102
+0xc7	U+0103
+0xc8	U+255a
+0xc9	U+2554
+0xca	U+2569
+0xcb	U+2566
+0xcc	U+2560
+0xcd	U+2550
+0xce	U+256c
+0xcf	U+00a4
+0xd0	U+0111
+0xd1	U+0110
+0xd2	U+010e
+0xd3	U+00cb
+0xd4	U+010f
+0xd5	U+0147
+0xd6	U+00cd
+0xd7	U+00ce
+0xd8	U+011b
+0xd9	U+2518
+0xda	U+250c
+0xdb	U+2588
+0xdc	U+2584
+0xdd	U+0162
+0xde	U+016e
+0xdf	U+2580
+0xe0	U+00d3
+0xe1	U+00df
+0xe2	U+00d4
+0xe3	U+0143
+0xe4	U+0144
+0xe5	U+0148
+0xe6	U+0160
+0xe7	U+0161
+0xe8	U+0154
+0xe9	U+00da
+0xea	U+0155
+0xeb	U+0170
+0xec	U+00fd
+0xed	U+00dd
+0xee	U+0163
+0xef	U+00b4
+0xf0	U+00ad
+0xf1	U+02dd
+0xf2	U+02db
+0xf3	U+02c7
+0xf4	U+02d8
+0xf5	U+00a7
+0xf6	U+00f7
+0xf7	U+00b8
+0xf8	U+00b0
+0xf9	U+00a8
+0xfa	U+02d9
+0xfb	U+0171
+0xfc	U+0158
+0xfd	U+0159
+0xfe	U+25a0
+0xff	U+00a0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/IBM855.map	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,257 @@
+#Generated from IBM855.java
+0x00	U+0000
+0x01	U+0001
+0x02	U+0002
+0x03	U+0003
+0x04	U+0004
+0x05	U+0005
+0x06	U+0006
+0x07	U+0007
+0x08	U+0008
+0x09	U+0009
+0x0a	U+000a
+0x0b	U+000b
+0x0c	U+000c
+0x0d	U+000d
+0x0e	U+000e
+0x0f	U+000f
+0x10	U+0010
+0x11	U+0011
+0x12	U+0012
+0x13	U+0013
+0x14	U+0014
+0x15	U+0015
+0x16	U+0016
+0x17	U+0017
+0x18	U+0018
+0x19	U+0019
+0x1a	U+001a
+0x1b	U+001b
+0x1c	U+001c
+0x1d	U+001d
+0x1e	U+001e
+0x1f	U+001f
+0x20	U+0020
+0x21	U+0021
+0x22	U+0022
+0x23	U+0023
+0x24	U+0024
+0x25	U+0025
+0x26	U+0026
+0x27	U+0027
+0x28	U+0028
+0x29	U+0029
+0x2a	U+002a
+0x2b	U+002b
+0x2c	U+002c
+0x2d	U+002d
+0x2e	U+002e
+0x2f	U+002f
+0x30	U+0030
+0x31	U+0031
+0x32	U+0032
+0x33	U+0033
+0x34	U+0034
+0x35	U+0035
+0x36	U+0036
+0x37	U+0037
+0x38	U+0038
+0x39	U+0039
+0x3a	U+003a
+0x3b	U+003b
+0x3c	U+003c
+0x3d	U+003d
+0x3e	U+003e
+0x3f	U+003f
+0x40	U+0040
+0x41	U+0041
+0x42	U+0042
+0x43	U+0043
+0x44	U+0044
+0x45	U+0045
+0x46	U+0046
+0x47	U+0047
+0x48	U+0048
+0x49	U+0049
+0x4a	U+004a
+0x4b	U+004b
+0x4c	U+004c
+0x4d	U+004d
+0x4e	U+004e
+0x4f	U+004f
+0x50	U+0050
+0x51	U+0051
+0x52	U+0052
+0x53	U+0053
+0x54	U+0054
+0x55	U+0055
+0x56	U+0056
+0x57	U+0057
+0x58	U+0058
+0x59	U+0059
+0x5a	U+005a
+0x5b	U+005b
+0x5c	U+005c
+0x5d	U+005d
+0x5e	U+005e
+0x5f	U+005f
+0x60	U+0060
+0x61	U+0061
+0x62	U+0062
+0x63	U+0063
+0x64	U+0064
+0x65	U+0065
+0x66	U+0066
+0x67	U+0067
+0x68	U+0068
+0x69	U+0069
+0x6a	U+006a
+0x6b	U+006b
+0x6c	U+006c
+0x6d	U+006d
+0x6e	U+006e
+0x6f	U+006f
+0x70	U+0070
+0x71	U+0071
+0x72	U+0072
+0x73	U+0073
+0x74	U+0074
+0x75	U+0075
+0x76	U+0076
+0x77	U+0077
+0x78	U+0078
+0x79	U+0079
+0x7a	U+007a
+0x7b	U+007b
+0x7c	U+007c
+0x7d	U+007d
+0x7e	U+007e
+0x7f	U+007f
+0x80	U+0452
+0x81	U+0402
+0x82	U+0453
+0x83	U+0403
+0x84	U+0451
+0x85	U+0401
+0x86	U+0454
+0x87	U+0404
+0x88	U+0455
+0x89	U+0405
+0x8a	U+0456
+0x8b	U+0406
+0x8c	U+0457
+0x8d	U+0407
+0x8e	U+0458
+0x8f	U+0408
+0x90	U+0459
+0x91	U+0409
+0x92	U+045a
+0x93	U+040a
+0x94	U+045b
+0x95	U+040b
+0x96	U+045c
+0x97	U+040c
+0x98	U+045e
+0x99	U+040e
+0x9a	U+045f
+0x9b	U+040f
+0x9c	U+044e
+0x9d	U+042e
+0x9e	U+044a
+0x9f	U+042a
+0xa0	U+0430
+0xa1	U+0410
+0xa2	U+0431
+0xa3	U+0411
+0xa4	U+0446
+0xa5	U+0426
+0xa6	U+0434
+0xa7	U+0414
+0xa8	U+0435
+0xa9	U+0415
+0xaa	U+0444
+0xab	U+0424
+0xac	U+0433
+0xad	U+0413
+0xae	U+00ab
+0xaf	U+00bb
+0xb0	U+2591
+0xb1	U+2592
+0xb2	U+2593
+0xb3	U+2502
+0xb4	U+2524
+0xb5	U+0445
+0xb6	U+0425
+0xb7	U+0438
+0xb8	U+0418
+0xb9	U+2563
+0xba	U+2551
+0xbb	U+2557
+0xbc	U+255d
+0xbd	U+0439
+0xbe	U+0419
+0xbf	U+2510
+0xc0	U+2514
+0xc1	U+2534
+0xc2	U+252c
+0xc3	U+251c
+0xc4	U+2500
+0xc5	U+253c
+0xc6	U+043a
+0xc7	U+041a
+0xc8	U+255a
+0xc9	U+2554
+0xca	U+2569
+0xcb	U+2566
+0xcc	U+2560
+0xcd	U+2550
+0xce	U+256c
+0xcf	U+00a4
+0xd0	U+043b
+0xd1	U+041b
+0xd2	U+043c
+0xd3	U+041c
+0xd4	U+043d
+0xd5	U+041d
+0xd6	U+043e
+0xd7	U+041e
+0xd8	U+043f
+0xd9	U+2518
+0xda	U+250c
+0xdb	U+2588
+0xdc	U+2584
+0xdd	U+041f
+0xde	U+044f
+0xdf	U+2580
+0xe0	U+042f
+0xe1	U+0440
+0xe2	U+0420
+0xe3	U+0441
+0xe4	U+0421
+0xe5	U+0442
+0xe6	U+0422
+0xe7	U+0443
+0xe8	U+0423
+0xe9	U+0436
+0xea	U+0416
+0xeb	U+0432
+0xec	U+0412
+0xed	U+044c
+0xee	U+042c
+0xef	U+2116
+0xf0	U+00ad
+0xf1	U+044b
+0xf2	U+042b
+0xf3	U+0437
+0xf4	U+0417
+0xf5	U+0448
+0xf6	U+0428
+0xf7	U+044d
+0xf8	U+042d
+0xf9	U+0449
+0xfa	U+0429
+0xfb	U+0447
+0xfc	U+0427
+0xfd	U+00a7
+0xfe	U+25a0
+0xff	U+00a0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/IBM856.map	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,257 @@
+#Generated from IBM856.java
+0x00	U+0000
+0x01	U+0001
+0x02	U+0002
+0x03	U+0003
+0x04	U+0004
+0x05	U+0005
+0x06	U+0006
+0x07	U+0007
+0x08	U+0008
+0x09	U+0009
+0x0a	U+000a
+0x0b	U+000b
+0x0c	U+000c
+0x0d	U+000d
+0x0e	U+000e
+0x0f	U+000f
+0x10	U+0010
+0x11	U+0011
+0x12	U+0012
+0x13	U+0013
+0x14	U+0014
+0x15	U+0015
+0x16	U+0016
+0x17	U+0017
+0x18	U+0018
+0x19	U+0019
+0x1a	U+001a
+0x1b	U+001b
+0x1c	U+001c
+0x1d	U+001d
+0x1e	U+001e
+0x1f	U+001f
+0x20	U+0020
+0x21	U+0021
+0x22	U+0022
+0x23	U+0023
+0x24	U+0024
+0x25	U+0025
+0x26	U+0026
+0x27	U+0027
+0x28	U+0028
+0x29	U+0029
+0x2a	U+002a
+0x2b	U+002b
+0x2c	U+002c
+0x2d	U+002d
+0x2e	U+002e
+0x2f	U+002f
+0x30	U+0030
+0x31	U+0031
+0x32	U+0032
+0x33	U+0033
+0x34	U+0034
+0x35	U+0035
+0x36	U+0036
+0x37	U+0037
+0x38	U+0038
+0x39	U+0039
+0x3a	U+003a
+0x3b	U+003b
+0x3c	U+003c
+0x3d	U+003d
+0x3e	U+003e
+0x3f	U+003f
+0x40	U+0040
+0x41	U+0041
+0x42	U+0042
+0x43	U+0043
+0x44	U+0044
+0x45	U+0045
+0x46	U+0046
+0x47	U+0047
+0x48	U+0048
+0x49	U+0049
+0x4a	U+004a
+0x4b	U+004b
+0x4c	U+004c
+0x4d	U+004d
+0x4e	U+004e
+0x4f	U+004f
+0x50	U+0050
+0x51	U+0051
+0x52	U+0052
+0x53	U+0053
+0x54	U+0054
+0x55	U+0055
+0x56	U+0056
+0x57	U+0057
+0x58	U+0058
+0x59	U+0059
+0x5a	U+005a
+0x5b	U+005b
+0x5c	U+005c
+0x5d	U+005d
+0x5e	U+005e
+0x5f	U+005f
+0x60	U+0060
+0x61	U+0061
+0x62	U+0062
+0x63	U+0063
+0x64	U+0064
+0x65	U+0065
+0x66	U+0066
+0x67	U+0067
+0x68	U+0068
+0x69	U+0069
+0x6a	U+006a
+0x6b	U+006b
+0x6c	U+006c
+0x6d	U+006d
+0x6e	U+006e
+0x6f	U+006f
+0x70	U+0070
+0x71	U+0071
+0x72	U+0072
+0x73	U+0073
+0x74	U+0074
+0x75	U+0075
+0x76	U+0076
+0x77	U+0077
+0x78	U+0078
+0x79	U+0079
+0x7a	U+007a
+0x7b	U+007b
+0x7c	U+007c
+0x7d	U+007d
+0x7e	U+007e
+0x7f	U+007f
+0x80	U+05d0
+0x81	U+05d1
+0x82	U+05d2
+0x83	U+05d3
+0x84	U+05d4
+0x85	U+05d5
+0x86	U+05d6
+0x87	U+05d7
+0x88	U+05d8
+0x89	U+05d9
+0x8a	U+05da
+0x8b	U+05db
+0x8c	U+05dc
+0x8d	U+05dd
+0x8e	U+05de
+0x8f	U+05df
+0x90	U+05e0
+0x91	U+05e1
+0x92	U+05e2
+0x93	U+05e3
+0x94	U+05e4
+0x95	U+05e5
+0x96	U+05e6
+0x97	U+05e7
+0x98	U+05e8
+0x99	U+05e9
+0x9a	U+05ea
+0x9b	U+fffd
+0x9c	U+00a3
+0x9d	U+fffd
+0x9e	U+00d7
+0x9f	U+fffd
+0xa0	U+fffd
+0xa1	U+fffd
+0xa2	U+fffd
+0xa3	U+fffd
+0xa4	U+fffd
+0xa5	U+fffd
+0xa6	U+fffd
+0xa7	U+fffd
+0xa8	U+fffd
+0xa9	U+00ae
+0xaa	U+00ac
+0xab	U+00bd
+0xac	U+00bc
+0xad	U+fffd
+0xae	U+00ab
+0xaf	U+00bb
+0xb0	U+2591
+0xb1	U+2592
+0xb2	U+2593
+0xb3	U+2502
+0xb4	U+2524
+0xb5	U+fffd
+0xb6	U+fffd
+0xb7	U+fffd
+0xb8	U+00a9
+0xb9	U+2563
+0xba	U+2551
+0xbb	U+2557
+0xbc	U+255d
+0xbd	U+00a2
+0xbe	U+00a5
+0xbf	U+2510
+0xc0	U+2514
+0xc1	U+2534
+0xc2	U+252c
+0xc3	U+251c
+0xc4	U+2500
+0xc5	U+253c
+0xc6	U+fffd
+0xc7	U+fffd
+0xc8	U+255a
+0xc9	U+2554
+0xca	U+2569
+0xcb	U+2566
+0xcc	U+2560
+0xcd	U+2550
+0xce	U+256c
+0xcf	U+00a4
+0xd0	U+fffd
+0xd1	U+fffd
+0xd2	U+fffd
+0xd3	U+fffd
+0xd4	U+fffd
+0xd5	U+fffd
+0xd6	U+fffd
+0xd7	U+fffd
+0xd8	U+fffd
+0xd9	U+2518
+0xda	U+250c
+0xdb	U+2588
+0xdc	U+2584
+0xdd	U+00a6
+0xde	U+fffd
+0xdf	U+2580
+0xe0	U+fffd
+0xe1	U+fffd
+0xe2	U+fffd
+0xe3	U+fffd
+0xe4	U+fffd
+0xe5	U+fffd
+0xe6	U+00b5
+0xe7	U+fffd
+0xe8	U+fffd
+0xe9	U+fffd
+0xea	U+fffd
+0xeb	U+fffd
+0xec	U+fffd
+0xed	U+fffd
+0xee	U+203e
+0xef	U+00b4
+0xf0	U+00ad
+0xf1	U+00b1
+0xf2	U+2017
+0xf3	U+00be
+0xf4	U+00b6
+0xf5	U+00a7
+0xf6	U+00f7
+0xf7	U+00b8
+0xf8	U+00b0
+0xf9	U+00a8
+0xfa	U+2022
+0xfb	U+00b9
+0xfc	U+00b3
+0xfd	U+00b2
+0xfe	U+25a0
+0xff	U+00a0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/IBM857.map	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,257 @@
+#Generated from IBM857.java
+0x00	U+0000
+0x01	U+0001
+0x02	U+0002
+0x03	U+0003
+0x04	U+0004
+0x05	U+0005
+0x06	U+0006
+0x07	U+0007
+0x08	U+0008
+0x09	U+0009
+0x0a	U+000a
+0x0b	U+000b
+0x0c	U+000c
+0x0d	U+000d
+0x0e	U+000e
+0x0f	U+000f
+0x10	U+0010
+0x11	U+0011
+0x12	U+0012
+0x13	U+0013
+0x14	U+0014
+0x15	U+0015
+0x16	U+0016
+0x17	U+0017
+0x18	U+0018
+0x19	U+0019
+0x1a	U+001a
+0x1b	U+001b
+0x1c	U+001c
+0x1d	U+001d
+0x1e	U+001e
+0x1f	U+001f
+0x20	U+0020
+0x21	U+0021
+0x22	U+0022
+0x23	U+0023
+0x24	U+0024
+0x25	U+0025
+0x26	U+0026
+0x27	U+0027
+0x28	U+0028
+0x29	U+0029
+0x2a	U+002a
+0x2b	U+002b
+0x2c	U+002c
+0x2d	U+002d
+0x2e	U+002e
+0x2f	U+002f
+0x30	U+0030
+0x31	U+0031
+0x32	U+0032
+0x33	U+0033
+0x34	U+0034
+0x35	U+0035
+0x36	U+0036
+0x37	U+0037
+0x38	U+0038
+0x39	U+0039
+0x3a	U+003a
+0x3b	U+003b
+0x3c	U+003c
+0x3d	U+003d
+0x3e	U+003e
+0x3f	U+003f
+0x40	U+0040
+0x41	U+0041
+0x42	U+0042
+0x43	U+0043
+0x44	U+0044
+0x45	U+0045
+0x46	U+0046
+0x47	U+0047
+0x48	U+0048
+0x49	U+0049
+0x4a	U+004a
+0x4b	U+004b
+0x4c	U+004c
+0x4d	U+004d
+0x4e	U+004e
+0x4f	U+004f
+0x50	U+0050
+0x51	U+0051
+0x52	U+0052
+0x53	U+0053
+0x54	U+0054
+0x55	U+0055
+0x56	U+0056
+0x57	U+0057
+0x58	U+0058
+0x59	U+0059
+0x5a	U+005a
+0x5b	U+005b
+0x5c	U+005c
+0x5d	U+005d
+0x5e	U+005e
+0x5f	U+005f
+0x60	U+0060
+0x61	U+0061
+0x62	U+0062
+0x63	U+0063
+0x64	U+0064
+0x65	U+0065
+0x66	U+0066
+0x67	U+0067
+0x68	U+0068
+0x69	U+0069
+0x6a	U+006a
+0x6b	U+006b
+0x6c	U+006c
+0x6d	U+006d
+0x6e	U+006e
+0x6f	U+006f
+0x70	U+0070
+0x71	U+0071
+0x72	U+0072
+0x73	U+0073
+0x74	U+0074
+0x75	U+0075
+0x76	U+0076
+0x77	U+0077
+0x78	U+0078
+0x79	U+0079
+0x7a	U+007a
+0x7b	U+007b
+0x7c	U+007c
+0x7d	U+007d
+0x7e	U+007e
+0x7f	U+007f
+0x80	U+00c7
+0x81	U+00fc
+0x82	U+00e9
+0x83	U+00e2
+0x84	U+00e4
+0x85	U+00e0
+0x86	U+00e5
+0x87	U+00e7
+0x88	U+00ea
+0x89	U+00eb
+0x8a	U+00e8
+0x8b	U+00ef
+0x8c	U+00ee
+0x8d	U+0131
+0x8e	U+00c4
+0x8f	U+00c5
+0x90	U+00c9
+0x91	U+00e6
+0x92	U+00c6
+0x93	U+00f4
+0x94	U+00f6
+0x95	U+00f2
+0x96	U+00fb
+0x97	U+00f9
+0x98	U+0130
+0x99	U+00d6
+0x9a	U+00dc
+0x9b	U+00f8
+0x9c	U+00a3
+0x9d	U+00d8
+0x9e	U+015e
+0x9f	U+015f
+0xa0	U+00e1
+0xa1	U+00ed
+0xa2	U+00f3
+0xa3	U+00fa
+0xa4	U+00f1
+0xa5	U+00d1
+0xa6	U+011e
+0xa7	U+011f
+0xa8	U+00bf
+0xa9	U+00ae
+0xaa	U+00ac
+0xab	U+00bd
+0xac	U+00bc
+0xad	U+00a1
+0xae	U+00ab
+0xaf	U+00bb
+0xb0	U+2591
+0xb1	U+2592
+0xb2	U+2593
+0xb3	U+2502
+0xb4	U+2524
+0xb5	U+00c1
+0xb6	U+00c2
+0xb7	U+00c0
+0xb8	U+00a9
+0xb9	U+2563
+0xba	U+2551
+0xbb	U+2557
+0xbc	U+255d
+0xbd	U+00a2
+0xbe	U+00a5
+0xbf	U+2510
+0xc0	U+2514
+0xc1	U+2534
+0xc2	U+252c
+0xc3	U+251c
+0xc4	U+2500
+0xc5	U+253c
+0xc6	U+00e3
+0xc7	U+00c3
+0xc8	U+255a
+0xc9	U+2554
+0xca	U+2569
+0xcb	U+2566
+0xcc	U+2560
+0xcd	U+2550
+0xce	U+256c
+0xcf	U+00a4
+0xd0	U+00ba
+0xd1	U+00aa
+0xd2	U+00ca
+0xd3	U+00cb
+0xd4	U+00c8
+0xd5	U+fffd
+0xd6	U+00cd
+0xd7	U+00ce
+0xd8	U+00cf
+0xd9	U+2518
+0xda	U+250c
+0xdb	U+2588
+0xdc	U+2584
+0xdd	U+00a6
+0xde	U+00cc
+0xdf	U+2580
+0xe0	U+00d3
+0xe1	U+00df
+0xe2	U+00d4
+0xe3	U+00d2
+0xe4	U+00f5
+0xe5	U+00d5
+0xe6	U+00b5
+0xe7	U+fffd
+0xe8	U+00d7
+0xe9	U+00da
+0xea	U+00db
+0xeb	U+00d9
+0xec	U+00ec
+0xed	U+00ff
+0xee	U+00af
+0xef	U+00b4
+0xf0	U+00ad
+0xf1	U+00b1
+0xf2	U+fffd
+0xf3	U+00be
+0xf4	U+00b6
+0xf5	U+00a7
+0xf6	U+00f7
+0xf7	U+00b8
+0xf8	U+00b0
+0xf9	U+00a8
+0xfa	U+00b7
+0xfb	U+00b9
+0xfc	U+00b3
+0xfd	U+00b2
+0xfe	U+25a0
+0xff	U+00a0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/IBM858.map	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,257 @@
+#Generated from IBM858.java
+0x00	U+0000
+0x01	U+0001
+0x02	U+0002
+0x03	U+0003
+0x04	U+0004
+0x05	U+0005
+0x06	U+0006
+0x07	U+0007
+0x08	U+0008
+0x09	U+0009
+0x0a	U+000a
+0x0b	U+000b
+0x0c	U+000c
+0x0d	U+000d
+0x0e	U+000e
+0x0f	U+000f
+0x10	U+0010
+0x11	U+0011
+0x12	U+0012
+0x13	U+0013
+0x14	U+0014
+0x15	U+0015
+0x16	U+0016
+0x17	U+0017
+0x18	U+0018
+0x19	U+0019
+0x1a	U+001a
+0x1b	U+001b
+0x1c	U+001c
+0x1d	U+001d
+0x1e	U+001e
+0x1f	U+001f
+0x20	U+0020
+0x21	U+0021
+0x22	U+0022
+0x23	U+0023
+0x24	U+0024
+0x25	U+0025
+0x26	U+0026
+0x27	U+0027
+0x28	U+0028
+0x29	U+0029
+0x2a	U+002a
+0x2b	U+002b
+0x2c	U+002c
+0x2d	U+002d
+0x2e	U+002e
+0x2f	U+002f
+0x30	U+0030
+0x31	U+0031
+0x32	U+0032
+0x33	U+0033
+0x34	U+0034
+0x35	U+0035
+0x36	U+0036
+0x37	U+0037
+0x38	U+0038
+0x39	U+0039
+0x3a	U+003a
+0x3b	U+003b
+0x3c	U+003c
+0x3d	U+003d
+0x3e	U+003e
+0x3f	U+003f
+0x40	U+0040
+0x41	U+0041
+0x42	U+0042
+0x43	U+0043
+0x44	U+0044
+0x45	U+0045
+0x46	U+0046
+0x47	U+0047
+0x48	U+0048
+0x49	U+0049
+0x4a	U+004a
+0x4b	U+004b
+0x4c	U+004c
+0x4d	U+004d
+0x4e	U+004e
+0x4f	U+004f
+0x50	U+0050
+0x51	U+0051
+0x52	U+0052
+0x53	U+0053
+0x54	U+0054
+0x55	U+0055
+0x56	U+0056
+0x57	U+0057
+0x58	U+0058
+0x59	U+0059
+0x5a	U+005a
+0x5b	U+005b
+0x5c	U+005c
+0x5d	U+005d
+0x5e	U+005e
+0x5f	U+005f
+0x60	U+0060
+0x61	U+0061
+0x62	U+0062
+0x63	U+0063
+0x64	U+0064
+0x65	U+0065
+0x66	U+0066
+0x67	U+0067
+0x68	U+0068
+0x69	U+0069
+0x6a	U+006a
+0x6b	U+006b
+0x6c	U+006c
+0x6d	U+006d
+0x6e	U+006e
+0x6f	U+006f
+0x70	U+0070
+0x71	U+0071
+0x72	U+0072
+0x73	U+0073
+0x74	U+0074
+0x75	U+0075
+0x76	U+0076
+0x77	U+0077
+0x78	U+0078
+0x79	U+0079
+0x7a	U+007a
+0x7b	U+007b
+0x7c	U+007c
+0x7d	U+007d
+0x7e	U+007e
+0x7f	U+007f
+0x80	U+00c7
+0x81	U+00fc
+0x82	U+00e9
+0x83	U+00e2
+0x84	U+00e4
+0x85	U+00e0
+0x86	U+00e5
+0x87	U+00e7
+0x88	U+00ea
+0x89	U+00eb
+0x8a	U+00e8
+0x8b	U+00ef
+0x8c	U+00ee
+0x8d	U+00ec
+0x8e	U+00c4
+0x8f	U+00c5
+0x90	U+00c9
+0x91	U+00e6
+0x92	U+00c6
+0x93	U+00f4
+0x94	U+00f6
+0x95	U+00f2
+0x96	U+00fb
+0x97	U+00f9
+0x98	U+00ff
+0x99	U+00d6
+0x9a	U+00dc
+0x9b	U+00f8
+0x9c	U+00a3
+0x9d	U+00d8
+0x9e	U+00d7
+0x9f	U+0192
+0xa0	U+00e1
+0xa1	U+00ed
+0xa2	U+00f3
+0xa3	U+00fa
+0xa4	U+00f1
+0xa5	U+00d1
+0xa6	U+00aa
+0xa7	U+00ba
+0xa8	U+00bf
+0xa9	U+00ae
+0xaa	U+00ac
+0xab	U+00bd
+0xac	U+00bc
+0xad	U+00a1
+0xae	U+00ab
+0xaf	U+00bb
+0xb0	U+2591
+0xb1	U+2592
+0xb2	U+2593
+0xb3	U+2502
+0xb4	U+2524
+0xb5	U+00c1
+0xb6	U+00c2
+0xb7	U+00c0
+0xb8	U+00a9
+0xb9	U+2563
+0xba	U+2551
+0xbb	U+2557
+0xbc	U+255d
+0xbd	U+00a2
+0xbe	U+00a5
+0xbf	U+2510
+0xc0	U+2514
+0xc1	U+2534
+0xc2	U+252c
+0xc3	U+251c
+0xc4	U+2500
+0xc5	U+253c
+0xc6	U+00e3
+0xc7	U+00c3
+0xc8	U+255a
+0xc9	U+2554
+0xca	U+2569
+0xcb	U+2566
+0xcc	U+2560
+0xcd	U+2550
+0xce	U+256c
+0xcf	U+00a4
+0xd0	U+00f0
+0xd1	U+00d0
+0xd2	U+00ca
+0xd3	U+00cb
+0xd4	U+00c8
+0xd5	U+20ac
+0xd6	U+00cd
+0xd7	U+00ce
+0xd8	U+00cf
+0xd9	U+2518
+0xda	U+250c
+0xdb	U+2588
+0xdc	U+2584
+0xdd	U+00a6
+0xde	U+00cc
+0xdf	U+2580
+0xe0	U+00d3
+0xe1	U+00df
+0xe2	U+00d4
+0xe3	U+00d2
+0xe4	U+00f5
+0xe5	U+00d5
+0xe6	U+00b5
+0xe7	U+00fe
+0xe8	U+00de
+0xe9	U+00da
+0xea	U+00db
+0xeb	U+00d9
+0xec	U+00fd
+0xed	U+00dd
+0xee	U+00af
+0xef	U+00b4
+0xf0	U+00ad
+0xf1	U+00b1
+0xf2	U+2017
+0xf3	U+00be
+0xf4	U+00b6
+0xf5	U+00a7
+0xf6	U+00f7
+0xf7	U+00b8
+0xf8	U+00b0
+0xf9	U+00a8
+0xfa	U+00b7
+0xfb	U+00b9
+0xfc	U+00b3
+0xfd	U+00b2
+0xfe	U+25a0
+0xff	U+00a0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/IBM860.map	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,257 @@
+#Generated from IBM860.java
+0x00	U+0000
+0x01	U+0001
+0x02	U+0002
+0x03	U+0003
+0x04	U+0004
+0x05	U+0005
+0x06	U+0006
+0x07	U+0007
+0x08	U+0008
+0x09	U+0009
+0x0a	U+000a
+0x0b	U+000b
+0x0c	U+000c
+0x0d	U+000d
+0x0e	U+000e
+0x0f	U+000f
+0x10	U+0010
+0x11	U+0011
+0x12	U+0012
+0x13	U+0013
+0x14	U+0014
+0x15	U+0015
+0x16	U+0016
+0x17	U+0017
+0x18	U+0018
+0x19	U+0019
+0x1a	U+001a
+0x1b	U+001b
+0x1c	U+001c
+0x1d	U+001d
+0x1e	U+001e
+0x1f	U+001f
+0x20	U+0020
+0x21	U+0021
+0x22	U+0022
+0x23	U+0023
+0x24	U+0024
+0x25	U+0025
+0x26	U+0026
+0x27	U+0027
+0x28	U+0028
+0x29	U+0029
+0x2a	U+002a
+0x2b	U+002b
+0x2c	U+002c
+0x2d	U+002d
+0x2e	U+002e
+0x2f	U+002f
+0x30	U+0030
+0x31	U+0031
+0x32	U+0032
+0x33	U+0033
+0x34	U+0034
+0x35	U+0035
+0x36	U+0036
+0x37	U+0037
+0x38	U+0038
+0x39	U+0039
+0x3a	U+003a
+0x3b	U+003b
+0x3c	U+003c
+0x3d	U+003d
+0x3e	U+003e
+0x3f	U+003f
+0x40	U+0040
+0x41	U+0041
+0x42	U+0042
+0x43	U+0043
+0x44	U+0044
+0x45	U+0045
+0x46	U+0046
+0x47	U+0047
+0x48	U+0048
+0x49	U+0049
+0x4a	U+004a
+0x4b	U+004b
+0x4c	U+004c
+0x4d	U+004d
+0x4e	U+004e
+0x4f	U+004f
+0x50	U+0050
+0x51	U+0051
+0x52	U+0052
+0x53	U+0053
+0x54	U+0054
+0x55	U+0055
+0x56	U+0056
+0x57	U+0057
+0x58	U+0058
+0x59	U+0059
+0x5a	U+005a
+0x5b	U+005b
+0x5c	U+005c
+0x5d	U+005d
+0x5e	U+005e
+0x5f	U+005f
+0x60	U+0060
+0x61	U+0061
+0x62	U+0062
+0x63	U+0063
+0x64	U+0064
+0x65	U+0065
+0x66	U+0066
+0x67	U+0067
+0x68	U+0068
+0x69	U+0069
+0x6a	U+006a
+0x6b	U+006b
+0x6c	U+006c
+0x6d	U+006d
+0x6e	U+006e
+0x6f	U+006f
+0x70	U+0070
+0x71	U+0071
+0x72	U+0072
+0x73	U+0073
+0x74	U+0074
+0x75	U+0075
+0x76	U+0076
+0x77	U+0077
+0x78	U+0078
+0x79	U+0079
+0x7a	U+007a
+0x7b	U+007b
+0x7c	U+007c
+0x7d	U+007d
+0x7e	U+007e
+0x7f	U+007f
+0x80	U+00c7
+0x81	U+00fc
+0x82	U+00e9
+0x83	U+00e2
+0x84	U+00e3
+0x85	U+00e0
+0x86	U+00c1
+0x87	U+00e7
+0x88	U+00ea
+0x89	U+00ca
+0x8a	U+00e8
+0x8b	U+00cd
+0x8c	U+00d4
+0x8d	U+00ec
+0x8e	U+00c3
+0x8f	U+00c2
+0x90	U+00c9
+0x91	U+00c0
+0x92	U+00c8
+0x93	U+00f4
+0x94	U+00f5
+0x95	U+00f2
+0x96	U+00da
+0x97	U+00f9
+0x98	U+00cc
+0x99	U+00d5
+0x9a	U+00dc
+0x9b	U+00a2
+0x9c	U+00a3
+0x9d	U+00d9
+0x9e	U+20a7
+0x9f	U+00d3
+0xa0	U+00e1
+0xa1	U+00ed
+0xa2	U+00f3
+0xa3	U+00fa
+0xa4	U+00f1
+0xa5	U+00d1
+0xa6	U+00aa
+0xa7	U+00ba
+0xa8	U+00bf
+0xa9	U+00d2
+0xaa	U+00ac
+0xab	U+00bd
+0xac	U+00bc
+0xad	U+00a1
+0xae	U+00ab
+0xaf	U+00bb
+0xb0	U+2591
+0xb1	U+2592
+0xb2	U+2593
+0xb3	U+2502
+0xb4	U+2524
+0xb5	U+2561
+0xb6	U+2562
+0xb7	U+2556
+0xb8	U+2555
+0xb9	U+2563
+0xba	U+2551
+0xbb	U+2557
+0xbc	U+255d
+0xbd	U+255c
+0xbe	U+255b
+0xbf	U+2510
+0xc0	U+2514
+0xc1	U+2534
+0xc2	U+252c
+0xc3	U+251c
+0xc4	U+2500
+0xc5	U+253c
+0xc6	U+255e
+0xc7	U+255f
+0xc8	U+255a
+0xc9	U+2554
+0xca	U+2569
+0xcb	U+2566
+0xcc	U+2560
+0xcd	U+2550
+0xce	U+256c
+0xcf	U+2567
+0xd0	U+2568
+0xd1	U+2564
+0xd2	U+2565
+0xd3	U+2559
+0xd4	U+2558
+0xd5	U+2552
+0xd6	U+2553
+0xd7	U+256b
+0xd8	U+256a
+0xd9	U+2518
+0xda	U+250c
+0xdb	U+2588
+0xdc	U+2584
+0xdd	U+258c
+0xde	U+2590
+0xdf	U+2580
+0xe0	U+03b1
+0xe1	U+00df
+0xe2	U+0393
+0xe3	U+03c0
+0xe4	U+03a3
+0xe5	U+03c3
+0xe6	U+00b5
+0xe7	U+03c4
+0xe8	U+03a6
+0xe9	U+0398
+0xea	U+03a9
+0xeb	U+03b4
+0xec	U+221e
+0xed	U+03c6
+0xee	U+03b5
+0xef	U+2229
+0xf0	U+2261
+0xf1	U+00b1
+0xf2	U+2265
+0xf3	U+2264
+0xf4	U+2320
+0xf5	U+2321
+0xf6	U+00f7
+0xf7	U+2248
+0xf8	U+00b0
+0xf9	U+2219
+0xfa	U+00b7
+0xfb	U+221a
+0xfc	U+207f
+0xfd	U+00b2
+0xfe	U+25a0
+0xff	U+00a0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/IBM861.map	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,257 @@
+#Generated from IBM861.java
+0x00	U+0000
+0x01	U+0001
+0x02	U+0002
+0x03	U+0003
+0x04	U+0004
+0x05	U+0005
+0x06	U+0006
+0x07	U+0007
+0x08	U+0008
+0x09	U+0009
+0x0a	U+000a
+0x0b	U+000b
+0x0c	U+000c
+0x0d	U+000d
+0x0e	U+000e
+0x0f	U+000f
+0x10	U+0010
+0x11	U+0011
+0x12	U+0012
+0x13	U+0013
+0x14	U+0014
+0x15	U+0015
+0x16	U+0016
+0x17	U+0017
+0x18	U+0018
+0x19	U+0019
+0x1a	U+001a
+0x1b	U+001b
+0x1c	U+001c
+0x1d	U+001d
+0x1e	U+001e
+0x1f	U+001f
+0x20	U+0020
+0x21	U+0021
+0x22	U+0022
+0x23	U+0023
+0x24	U+0024
+0x25	U+0025
+0x26	U+0026
+0x27	U+0027
+0x28	U+0028
+0x29	U+0029
+0x2a	U+002a
+0x2b	U+002b
+0x2c	U+002c
+0x2d	U+002d
+0x2e	U+002e
+0x2f	U+002f
+0x30	U+0030
+0x31	U+0031
+0x32	U+0032
+0x33	U+0033
+0x34	U+0034
+0x35	U+0035
+0x36	U+0036
+0x37	U+0037
+0x38	U+0038
+0x39	U+0039
+0x3a	U+003a
+0x3b	U+003b
+0x3c	U+003c
+0x3d	U+003d
+0x3e	U+003e
+0x3f	U+003f
+0x40	U+0040
+0x41	U+0041
+0x42	U+0042
+0x43	U+0043
+0x44	U+0044
+0x45	U+0045
+0x46	U+0046
+0x47	U+0047
+0x48	U+0048
+0x49	U+0049
+0x4a	U+004a
+0x4b	U+004b
+0x4c	U+004c
+0x4d	U+004d
+0x4e	U+004e
+0x4f	U+004f
+0x50	U+0050
+0x51	U+0051
+0x52	U+0052
+0x53	U+0053
+0x54	U+0054
+0x55	U+0055
+0x56	U+0056
+0x57	U+0057
+0x58	U+0058
+0x59	U+0059
+0x5a	U+005a
+0x5b	U+005b
+0x5c	U+005c
+0x5d	U+005d
+0x5e	U+005e
+0x5f	U+005f
+0x60	U+0060
+0x61	U+0061
+0x62	U+0062
+0x63	U+0063
+0x64	U+0064
+0x65	U+0065
+0x66	U+0066
+0x67	U+0067
+0x68	U+0068
+0x69	U+0069
+0x6a	U+006a
+0x6b	U+006b
+0x6c	U+006c
+0x6d	U+006d
+0x6e	U+006e
+0x6f	U+006f
+0x70	U+0070
+0x71	U+0071
+0x72	U+0072
+0x73	U+0073
+0x74	U+0074
+0x75	U+0075
+0x76	U+0076
+0x77	U+0077
+0x78	U+0078
+0x79	U+0079
+0x7a	U+007a
+0x7b	U+007b
+0x7c	U+007c
+0x7d	U+007d
+0x7e	U+007e
+0x7f	U+007f
+0x80	U+00c7
+0x81	U+00fc
+0x82	U+00e9
+0x83	U+00e2
+0x84	U+00e4
+0x85	U+00e0
+0x86	U+00e5
+0x87	U+00e7
+0x88	U+00ea
+0x89	U+00eb
+0x8a	U+00e8
+0x8b	U+00d0
+0x8c	U+00f0
+0x8d	U+00de
+0x8e	U+00c4
+0x8f	U+00c5
+0x90	U+00c9
+0x91	U+00e6
+0x92	U+00c6
+0x93	U+00f4
+0x94	U+00f6
+0x95	U+00fe
+0x96	U+00fb
+0x97	U+00dd
+0x98	U+00fd
+0x99	U+00d6
+0x9a	U+00dc
+0x9b	U+00f8
+0x9c	U+00a3
+0x9d	U+00d8
+0x9e	U+20a7
+0x9f	U+0192
+0xa0	U+00e1
+0xa1	U+00ed
+0xa2	U+00f3
+0xa3	U+00fa
+0xa4	U+00c1
+0xa5	U+00cd
+0xa6	U+00d3
+0xa7	U+00da
+0xa8	U+00bf
+0xa9	U+2310
+0xaa	U+00ac
+0xab	U+00bd
+0xac	U+00bc
+0xad	U+00a1
+0xae	U+00ab
+0xaf	U+00bb
+0xb0	U+2591
+0xb1	U+2592
+0xb2	U+2593
+0xb3	U+2502
+0xb4	U+2524
+0xb5	U+2561
+0xb6	U+2562
+0xb7	U+2556
+0xb8	U+2555
+0xb9	U+2563
+0xba	U+2551
+0xbb	U+2557
+0xbc	U+255d
+0xbd	U+255c
+0xbe	U+255b
+0xbf	U+2510
+0xc0	U+2514
+0xc1	U+2534
+0xc2	U+252c
+0xc3	U+251c
+0xc4	U+2500
+0xc5	U+253c
+0xc6	U+255e
+0xc7	U+255f
+0xc8	U+255a
+0xc9	U+2554
+0xca	U+2569
+0xcb	U+2566
+0xcc	U+2560
+0xcd	U+2550
+0xce	U+256c
+0xcf	U+2567
+0xd0	U+2568
+0xd1	U+2564
+0xd2	U+2565
+0xd3	U+2559
+0xd4	U+2558
+0xd5	U+2552
+0xd6	U+2553
+0xd7	U+256b
+0xd8	U+256a
+0xd9	U+2518
+0xda	U+250c
+0xdb	U+2588
+0xdc	U+2584
+0xdd	U+258c
+0xde	U+2590
+0xdf	U+2580
+0xe0	U+03b1
+0xe1	U+00df
+0xe2	U+0393
+0xe3	U+03c0
+0xe4	U+03a3
+0xe5	U+03c3
+0xe6	U+00b5
+0xe7	U+03c4
+0xe8	U+03a6
+0xe9	U+0398
+0xea	U+03a9
+0xeb	U+03b4
+0xec	U+221e
+0xed	U+03c6
+0xee	U+03b5
+0xef	U+2229
+0xf0	U+2261
+0xf1	U+00b1
+0xf2	U+2265
+0xf3	U+2264
+0xf4	U+2320
+0xf5	U+2321
+0xf6	U+00f7
+0xf7	U+2248
+0xf8	U+00b0
+0xf9	U+2219
+0xfa	U+00b7
+0xfb	U+221a
+0xfc	U+207f
+0xfd	U+00b2
+0xfe	U+25a0
+0xff	U+00a0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/IBM862.map	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,257 @@
+#Generated from IBM862.java
+0x00	U+0000
+0x01	U+0001
+0x02	U+0002
+0x03	U+0003
+0x04	U+0004
+0x05	U+0005
+0x06	U+0006
+0x07	U+0007
+0x08	U+0008
+0x09	U+0009
+0x0a	U+000a
+0x0b	U+000b
+0x0c	U+000c
+0x0d	U+000d
+0x0e	U+000e
+0x0f	U+000f
+0x10	U+0010
+0x11	U+0011
+0x12	U+0012
+0x13	U+0013
+0x14	U+0014
+0x15	U+0015
+0x16	U+0016
+0x17	U+0017
+0x18	U+0018
+0x19	U+0019
+0x1a	U+001a
+0x1b	U+001b
+0x1c	U+001c
+0x1d	U+001d
+0x1e	U+001e
+0x1f	U+001f
+0x20	U+0020
+0x21	U+0021
+0x22	U+0022
+0x23	U+0023
+0x24	U+0024
+0x25	U+0025
+0x26	U+0026
+0x27	U+0027
+0x28	U+0028
+0x29	U+0029
+0x2a	U+002a
+0x2b	U+002b
+0x2c	U+002c
+0x2d	U+002d
+0x2e	U+002e
+0x2f	U+002f
+0x30	U+0030
+0x31	U+0031
+0x32	U+0032
+0x33	U+0033
+0x34	U+0034
+0x35	U+0035
+0x36	U+0036
+0x37	U+0037
+0x38	U+0038
+0x39	U+0039
+0x3a	U+003a
+0x3b	U+003b
+0x3c	U+003c
+0x3d	U+003d
+0x3e	U+003e
+0x3f	U+003f
+0x40	U+0040
+0x41	U+0041
+0x42	U+0042
+0x43	U+0043
+0x44	U+0044
+0x45	U+0045
+0x46	U+0046
+0x47	U+0047
+0x48	U+0048
+0x49	U+0049
+0x4a	U+004a
+0x4b	U+004b
+0x4c	U+004c
+0x4d	U+004d
+0x4e	U+004e
+0x4f	U+004f
+0x50	U+0050
+0x51	U+0051
+0x52	U+0052
+0x53	U+0053
+0x54	U+0054
+0x55	U+0055
+0x56	U+0056
+0x57	U+0057
+0x58	U+0058
+0x59	U+0059
+0x5a	U+005a
+0x5b	U+005b
+0x5c	U+005c
+0x5d	U+005d
+0x5e	U+005e
+0x5f	U+005f
+0x60	U+0060
+0x61	U+0061
+0x62	U+0062
+0x63	U+0063
+0x64	U+0064
+0x65	U+0065
+0x66	U+0066
+0x67	U+0067
+0x68	U+0068
+0x69	U+0069
+0x6a	U+006a
+0x6b	U+006b
+0x6c	U+006c
+0x6d	U+006d
+0x6e	U+006e
+0x6f	U+006f
+0x70	U+0070
+0x71	U+0071
+0x72	U+0072
+0x73	U+0073
+0x74	U+0074
+0x75	U+0075
+0x76	U+0076
+0x77	U+0077
+0x78	U+0078
+0x79	U+0079
+0x7a	U+007a
+0x7b	U+007b
+0x7c	U+007c
+0x7d	U+007d
+0x7e	U+007e
+0x7f	U+007f
+0x80	U+05d0
+0x81	U+05d1
+0x82	U+05d2
+0x83	U+05d3
+0x84	U+05d4
+0x85	U+05d5
+0x86	U+05d6
+0x87	U+05d7
+0x88	U+05d8
+0x89	U+05d9
+0x8a	U+05da
+0x8b	U+05db
+0x8c	U+05dc
+0x8d	U+05dd
+0x8e	U+05de
+0x8f	U+05df
+0x90	U+05e0
+0x91	U+05e1
+0x92	U+05e2
+0x93	U+05e3
+0x94	U+05e4
+0x95	U+05e5
+0x96	U+05e6
+0x97	U+05e7
+0x98	U+05e8
+0x99	U+05e9
+0x9a	U+05ea
+0x9b	U+00a2
+0x9c	U+00a3
+0x9d	U+00a5
+0x9e	U+20a7
+0x9f	U+0192
+0xa0	U+00e1
+0xa1	U+00ed
+0xa2	U+00f3
+0xa3	U+00fa
+0xa4	U+00f1
+0xa5	U+00d1
+0xa6	U+00aa
+0xa7	U+00ba
+0xa8	U+00bf
+0xa9	U+2310
+0xaa	U+00ac
+0xab	U+00bd
+0xac	U+00bc
+0xad	U+00a1
+0xae	U+00ab
+0xaf	U+00bb
+0xb0	U+2591
+0xb1	U+2592
+0xb2	U+2593
+0xb3	U+2502
+0xb4	U+2524
+0xb5	U+2561
+0xb6	U+2562
+0xb7	U+2556
+0xb8	U+2555
+0xb9	U+2563
+0xba	U+2551
+0xbb	U+2557
+0xbc	U+255d
+0xbd	U+255c
+0xbe	U+255b
+0xbf	U+2510
+0xc0	U+2514
+0xc1	U+2534
+0xc2	U+252c
+0xc3	U+251c
+0xc4	U+2500
+0xc5	U+253c
+0xc6	U+255e
+0xc7	U+255f
+0xc8	U+255a
+0xc9	U+2554
+0xca	U+2569
+0xcb	U+2566
+0xcc	U+2560
+0xcd	U+2550
+0xce	U+256c
+0xcf	U+2567
+0xd0	U+2568
+0xd1	U+2564
+0xd2	U+2565
+0xd3	U+2559
+0xd4	U+2558
+0xd5	U+2552
+0xd6	U+2553
+0xd7	U+256b
+0xd8	U+256a
+0xd9	U+2518
+0xda	U+250c
+0xdb	U+2588
+0xdc	U+2584
+0xdd	U+258c
+0xde	U+2590
+0xdf	U+2580
+0xe0	U+03b1
+0xe1	U+00df
+0xe2	U+0393
+0xe3	U+03c0
+0xe4	U+03a3
+0xe5	U+03c3
+0xe6	U+00b5
+0xe7	U+03c4
+0xe8	U+03a6
+0xe9	U+0398
+0xea	U+03a9
+0xeb	U+03b4
+0xec	U+221e
+0xed	U+03c6
+0xee	U+03b5
+0xef	U+2229
+0xf0	U+2261
+0xf1	U+00b1
+0xf2	U+2265
+0xf3	U+2264
+0xf4	U+2320
+0xf5	U+2321
+0xf6	U+00f7
+0xf7	U+2248
+0xf8	U+00b0
+0xf9	U+2219
+0xfa	U+00b7
+0xfb	U+221a
+0xfc	U+207f
+0xfd	U+00b2
+0xfe	U+25a0
+0xff	U+00a0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/IBM863.map	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,257 @@
+#Generated from IBM863.java
+0x00	U+0000
+0x01	U+0001
+0x02	U+0002
+0x03	U+0003
+0x04	U+0004
+0x05	U+0005
+0x06	U+0006
+0x07	U+0007
+0x08	U+0008
+0x09	U+0009
+0x0a	U+000a
+0x0b	U+000b
+0x0c	U+000c
+0x0d	U+000d
+0x0e	U+000e
+0x0f	U+000f
+0x10	U+0010
+0x11	U+0011
+0x12	U+0012
+0x13	U+0013
+0x14	U+0014
+0x15	U+0015
+0x16	U+0016
+0x17	U+0017
+0x18	U+0018
+0x19	U+0019
+0x1a	U+001a
+0x1b	U+001b
+0x1c	U+001c
+0x1d	U+001d
+0x1e	U+001e
+0x1f	U+001f
+0x20	U+0020
+0x21	U+0021
+0x22	U+0022
+0x23	U+0023
+0x24	U+0024
+0x25	U+0025
+0x26	U+0026
+0x27	U+0027
+0x28	U+0028
+0x29	U+0029
+0x2a	U+002a
+0x2b	U+002b
+0x2c	U+002c
+0x2d	U+002d
+0x2e	U+002e
+0x2f	U+002f
+0x30	U+0030
+0x31	U+0031
+0x32	U+0032
+0x33	U+0033
+0x34	U+0034
+0x35	U+0035
+0x36	U+0036
+0x37	U+0037
+0x38	U+0038
+0x39	U+0039
+0x3a	U+003a
+0x3b	U+003b
+0x3c	U+003c
+0x3d	U+003d
+0x3e	U+003e
+0x3f	U+003f
+0x40	U+0040
+0x41	U+0041
+0x42	U+0042
+0x43	U+0043
+0x44	U+0044
+0x45	U+0045
+0x46	U+0046
+0x47	U+0047
+0x48	U+0048
+0x49	U+0049
+0x4a	U+004a
+0x4b	U+004b
+0x4c	U+004c
+0x4d	U+004d
+0x4e	U+004e
+0x4f	U+004f
+0x50	U+0050
+0x51	U+0051
+0x52	U+0052
+0x53	U+0053
+0x54	U+0054
+0x55	U+0055
+0x56	U+0056
+0x57	U+0057
+0x58	U+0058
+0x59	U+0059
+0x5a	U+005a
+0x5b	U+005b
+0x5c	U+005c
+0x5d	U+005d
+0x5e	U+005e
+0x5f	U+005f
+0x60	U+0060
+0x61	U+0061
+0x62	U+0062
+0x63	U+0063
+0x64	U+0064
+0x65	U+0065
+0x66	U+0066
+0x67	U+0067
+0x68	U+0068
+0x69	U+0069
+0x6a	U+006a
+0x6b	U+006b
+0x6c	U+006c
+0x6d	U+006d
+0x6e	U+006e
+0x6f	U+006f
+0x70	U+0070
+0x71	U+0071
+0x72	U+0072
+0x73	U+0073
+0x74	U+0074
+0x75	U+0075
+0x76	U+0076
+0x77	U+0077
+0x78	U+0078
+0x79	U+0079
+0x7a	U+007a
+0x7b	U+007b
+0x7c	U+007c
+0x7d	U+007d
+0x7e	U+007e
+0x7f	U+007f
+0x80	U+00c7
+0x81	U+00fc
+0x82	U+00e9
+0x83	U+00e2
+0x84	U+00c2
+0x85	U+00e0
+0x86	U+00b6
+0x87	U+00e7
+0x88	U+00ea
+0x89	U+00eb
+0x8a	U+00e8
+0x8b	U+00ef
+0x8c	U+00ee
+0x8d	U+2017
+0x8e	U+00c0
+0x8f	U+00a7
+0x90	U+00c9
+0x91	U+00c8
+0x92	U+00ca
+0x93	U+00f4
+0x94	U+00cb
+0x95	U+00cf
+0x96	U+00fb
+0x97	U+00f9
+0x98	U+00a4
+0x99	U+00d4
+0x9a	U+00dc
+0x9b	U+00a2
+0x9c	U+00a3
+0x9d	U+00d9
+0x9e	U+00db
+0x9f	U+0192
+0xa0	U+00a6
+0xa1	U+00b4
+0xa2	U+00f3
+0xa3	U+00fa
+0xa4	U+00a8
+0xa5	U+00b8
+0xa6	U+00b3
+0xa7	U+00af
+0xa8	U+00ce
+0xa9	U+2310
+0xaa	U+00ac
+0xab	U+00bd
+0xac	U+00bc
+0xad	U+00be
+0xae	U+00ab
+0xaf	U+00bb
+0xb0	U+2591
+0xb1	U+2592
+0xb2	U+2593
+0xb3	U+2502
+0xb4	U+2524
+0xb5	U+2561
+0xb6	U+2562
+0xb7	U+2556
+0xb8	U+2555
+0xb9	U+2563
+0xba	U+2551
+0xbb	U+2557
+0xbc	U+255d
+0xbd	U+255c
+0xbe	U+255b
+0xbf	U+2510
+0xc0	U+2514
+0xc1	U+2534
+0xc2	U+252c
+0xc3	U+251c
+0xc4	U+2500
+0xc5	U+253c
+0xc6	U+255e
+0xc7	U+255f
+0xc8	U+255a
+0xc9	U+2554
+0xca	U+2569
+0xcb	U+2566
+0xcc	U+2560
+0xcd	U+2550
+0xce	U+256c
+0xcf	U+2567
+0xd0	U+2568
+0xd1	U+2564
+0xd2	U+2565
+0xd3	U+2559
+0xd4	U+2558
+0xd5	U+2552
+0xd6	U+2553
+0xd7	U+256b
+0xd8	U+256a
+0xd9	U+2518
+0xda	U+250c
+0xdb	U+2588
+0xdc	U+2584
+0xdd	U+258c
+0xde	U+2590
+0xdf	U+2580
+0xe0	U+03b1
+0xe1	U+00df
+0xe2	U+0393
+0xe3	U+03c0
+0xe4	U+03a3
+0xe5	U+03c3
+0xe6	U+00b5
+0xe7	U+03c4
+0xe8	U+03a6
+0xe9	U+0398
+0xea	U+03a9
+0xeb	U+03b4
+0xec	U+221e
+0xed	U+03c6
+0xee	U+03b5
+0xef	U+2229
+0xf0	U+2261
+0xf1	U+00b1
+0xf2	U+2265
+0xf3	U+2264
+0xf4	U+2320
+0xf5	U+2321
+0xf6	U+00f7
+0xf7	U+2248
+0xf8	U+00b0
+0xf9	U+2219
+0xfa	U+00b7
+0xfb	U+221a
+0xfc	U+207f
+0xfd	U+00b2
+0xfe	U+25a0
+0xff	U+00a0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/IBM864.map	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,257 @@
+#Generated from IBM864.java
+0x00	U+0000
+0x01	U+0001
+0x02	U+0002
+0x03	U+0003
+0x04	U+0004
+0x05	U+0005
+0x06	U+0006
+0x07	U+0007
+0x08	U+0008
+0x09	U+0009
+0x0a	U+000a
+0x0b	U+000b
+0x0c	U+000c
+0x0d	U+000d
+0x0e	U+000e
+0x0f	U+000f
+0x10	U+0010
+0x11	U+0011
+0x12	U+0012
+0x13	U+0013
+0x14	U+0014
+0x15	U+0015
+0x16	U+0016
+0x17	U+0017
+0x18	U+0018
+0x19	U+0019
+0x1a	U+001a
+0x1b	U+001b
+0x1c	U+001c
+0x1d	U+001d
+0x1e	U+001e
+0x1f	U+001f
+0x20	U+0020
+0x21	U+0021
+0x22	U+0022
+0x23	U+0023
+0x24	U+0024
+0x25	U+066a
+0x26	U+0026
+0x27	U+0027
+0x28	U+0028
+0x29	U+0029
+0x2a	U+002a
+0x2b	U+002b
+0x2c	U+002c
+0x2d	U+002d
+0x2e	U+002e
+0x2f	U+002f
+0x30	U+0030
+0x31	U+0031
+0x32	U+0032
+0x33	U+0033
+0x34	U+0034
+0x35	U+0035
+0x36	U+0036
+0x37	U+0037
+0x38	U+0038
+0x39	U+0039
+0x3a	U+003a
+0x3b	U+003b
+0x3c	U+003c
+0x3d	U+003d
+0x3e	U+003e
+0x3f	U+003f
+0x40	U+0040
+0x41	U+0041
+0x42	U+0042
+0x43	U+0043
+0x44	U+0044
+0x45	U+0045
+0x46	U+0046
+0x47	U+0047
+0x48	U+0048
+0x49	U+0049
+0x4a	U+004a
+0x4b	U+004b
+0x4c	U+004c
+0x4d	U+004d
+0x4e	U+004e
+0x4f	U+004f
+0x50	U+0050
+0x51	U+0051
+0x52	U+0052
+0x53	U+0053
+0x54	U+0054
+0x55	U+0055
+0x56	U+0056
+0x57	U+0057
+0x58	U+0058
+0x59	U+0059
+0x5a	U+005a
+0x5b	U+005b
+0x5c	U+005c
+0x5d	U+005d
+0x5e	U+005e
+0x5f	U+005f
+0x60	U+0060
+0x61	U+0061
+0x62	U+0062
+0x63	U+0063
+0x64	U+0064
+0x65	U+0065
+0x66	U+0066
+0x67	U+0067
+0x68	U+0068
+0x69	U+0069
+0x6a	U+006a
+0x6b	U+006b
+0x6c	U+006c
+0x6d	U+006d
+0x6e	U+006e
+0x6f	U+006f
+0x70	U+0070
+0x71	U+0071
+0x72	U+0072
+0x73	U+0073
+0x74	U+0074
+0x75	U+0075
+0x76	U+0076
+0x77	U+0077
+0x78	U+0078
+0x79	U+0079
+0x7a	U+007a
+0x7b	U+007b
+0x7c	U+007c
+0x7d	U+007d
+0x7e	U+007e
+0x7f	U+007f
+0x80	U+00b0
+0x81	U+00b7
+0x82	U+2219
+0x83	U+221a
+0x84	U+2592
+0x85	U+2500
+0x86	U+2502
+0x87	U+253c
+0x88	U+2524
+0x89	U+252c
+0x8a	U+251c
+0x8b	U+2534
+0x8c	U+2510
+0x8d	U+250c
+0x8e	U+2514
+0x8f	U+2518
+0x90	U+03b2
+0x91	U+221e
+0x92	U+03c6
+0x93	U+00b1
+0x94	U+00bd
+0x95	U+00bc
+0x96	U+2248
+0x97	U+00ab
+0x98	U+00bb
+0x99	U+fef7
+0x9a	U+fef8
+0x9b	U+fffd
+0x9c	U+fffd
+0x9d	U+fefb
+0x9e	U+fefc
+0x9f	U+fffd
+0xa0	U+00a0
+0xa1	U+00ad
+0xa2	U+fe82
+0xa3	U+00a3
+0xa4	U+00a4
+0xa5	U+fe84
+0xa6	U+fffd
+0xa7	U+fffd
+0xa8	U+fe8e
+0xa9	U+fe8f
+0xaa	U+fe95
+0xab	U+fe99
+0xac	U+060c
+0xad	U+fe9d
+0xae	U+fea1
+0xaf	U+fea5
+0xb0	U+0660
+0xb1	U+0661
+0xb2	U+0662
+0xb3	U+0663
+0xb4	U+0664
+0xb5	U+0665
+0xb6	U+0666
+0xb7	U+0667
+0xb8	U+0668
+0xb9	U+0669
+0xba	U+fed1
+0xbb	U+061b
+0xbc	U+feb1
+0xbd	U+feb5
+0xbe	U+feb9
+0xbf	U+061f
+0xc0	U+00a2
+0xc1	U+fe80
+0xc2	U+fe81
+0xc3	U+fe83
+0xc4	U+fe85
+0xc5	U+feca
+0xc6	U+fe8b
+0xc7	U+fe8d
+0xc8	U+fe91
+0xc9	U+fe93
+0xca	U+fe97
+0xcb	U+fe9b
+0xcc	U+fe9f
+0xcd	U+fea3
+0xce	U+fea7
+0xcf	U+fea9
+0xd0	U+feab
+0xd1	U+fead
+0xd2	U+feaf
+0xd3	U+feb3
+0xd4	U+feb7
+0xd5	U+febb
+0xd6	U+febf
+0xd7	U+fec1
+0xd8	U+fec5
+0xd9	U+fecb
+0xda	U+fecf
+0xdb	U+00a6
+0xdc	U+00ac
+0xdd	U+00f7
+0xde	U+00d7
+0xdf	U+fec9
+0xe0	U+0640
+0xe1	U+fed3
+0xe2	U+fed7
+0xe3	U+fedb
+0xe4	U+fedf
+0xe5	U+fee3
+0xe6	U+fee7
+0xe7	U+feeb
+0xe8	U+feed
+0xe9	U+feef
+0xea	U+fef3
+0xeb	U+febd
+0xec	U+fecc
+0xed	U+fece
+0xee	U+fecd
+0xef	U+fee1
+0xf0	U+fe7d
+0xf1	U+0651
+0xf2	U+fee5
+0xf3	U+fee9
+0xf4	U+feec
+0xf5	U+fef0
+0xf6	U+fef2
+0xf7	U+fed0
+0xf8	U+fed5
+0xf9	U+fef5
+0xfa	U+fef6
+0xfb	U+fedd
+0xfc	U+fed9
+0xfd	U+fef1
+0xfe	U+25a0
+0xff	U+fffd
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/IBM865.map	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,257 @@
+#Generated from IBM865.java
+0x00	U+0000
+0x01	U+0001
+0x02	U+0002
+0x03	U+0003
+0x04	U+0004
+0x05	U+0005
+0x06	U+0006
+0x07	U+0007
+0x08	U+0008
+0x09	U+0009
+0x0a	U+000a
+0x0b	U+000b
+0x0c	U+000c
+0x0d	U+000d
+0x0e	U+000e
+0x0f	U+000f
+0x10	U+0010
+0x11	U+0011
+0x12	U+0012
+0x13	U+0013
+0x14	U+0014
+0x15	U+0015
+0x16	U+0016
+0x17	U+0017
+0x18	U+0018
+0x19	U+0019
+0x1a	U+001a
+0x1b	U+001b
+0x1c	U+001c
+0x1d	U+001d
+0x1e	U+001e
+0x1f	U+001f
+0x20	U+0020
+0x21	U+0021
+0x22	U+0022
+0x23	U+0023
+0x24	U+0024
+0x25	U+0025
+0x26	U+0026
+0x27	U+0027
+0x28	U+0028
+0x29	U+0029
+0x2a	U+002a
+0x2b	U+002b
+0x2c	U+002c
+0x2d	U+002d
+0x2e	U+002e
+0x2f	U+002f
+0x30	U+0030
+0x31	U+0031
+0x32	U+0032
+0x33	U+0033
+0x34	U+0034
+0x35	U+0035
+0x36	U+0036
+0x37	U+0037
+0x38	U+0038
+0x39	U+0039
+0x3a	U+003a
+0x3b	U+003b
+0x3c	U+003c
+0x3d	U+003d
+0x3e	U+003e
+0x3f	U+003f
+0x40	U+0040
+0x41	U+0041
+0x42	U+0042
+0x43	U+0043
+0x44	U+0044
+0x45	U+0045
+0x46	U+0046
+0x47	U+0047
+0x48	U+0048
+0x49	U+0049
+0x4a	U+004a
+0x4b	U+004b
+0x4c	U+004c
+0x4d	U+004d
+0x4e	U+004e
+0x4f	U+004f
+0x50	U+0050
+0x51	U+0051
+0x52	U+0052
+0x53	U+0053
+0x54	U+0054
+0x55	U+0055
+0x56	U+0056
+0x57	U+0057
+0x58	U+0058
+0x59	U+0059
+0x5a	U+005a
+0x5b	U+005b
+0x5c	U+005c
+0x5d	U+005d
+0x5e	U+005e
+0x5f	U+005f
+0x60	U+0060
+0x61	U+0061
+0x62	U+0062
+0x63	U+0063
+0x64	U+0064
+0x65	U+0065
+0x66	U+0066
+0x67	U+0067
+0x68	U+0068
+0x69	U+0069
+0x6a	U+006a
+0x6b	U+006b
+0x6c	U+006c
+0x6d	U+006d
+0x6e	U+006e
+0x6f	U+006f
+0x70	U+0070
+0x71	U+0071
+0x72	U+0072
+0x73	U+0073
+0x74	U+0074
+0x75	U+0075
+0x76	U+0076
+0x77	U+0077
+0x78	U+0078
+0x79	U+0079
+0x7a	U+007a
+0x7b	U+007b
+0x7c	U+007c
+0x7d	U+007d
+0x7e	U+007e
+0x7f	U+007f
+0x80	U+00c7
+0x81	U+00fc
+0x82	U+00e9
+0x83	U+00e2
+0x84	U+00e4
+0x85	U+00e0
+0x86	U+00e5
+0x87	U+00e7
+0x88	U+00ea
+0x89	U+00eb
+0x8a	U+00e8
+0x8b	U+00ef
+0x8c	U+00ee
+0x8d	U+00ec
+0x8e	U+00c4
+0x8f	U+00c5
+0x90	U+00c9
+0x91	U+00e6
+0x92	U+00c6
+0x93	U+00f4
+0x94	U+00f6
+0x95	U+00f2
+0x96	U+00fb
+0x97	U+00f9
+0x98	U+00ff
+0x99	U+00d6
+0x9a	U+00dc
+0x9b	U+00f8
+0x9c	U+00a3
+0x9d	U+00d8
+0x9e	U+20a7
+0x9f	U+0192
+0xa0	U+00e1
+0xa1	U+00ed
+0xa2	U+00f3
+0xa3	U+00fa
+0xa4	U+00f1
+0xa5	U+00d1
+0xa6	U+00aa
+0xa7	U+00ba
+0xa8	U+00bf
+0xa9	U+2310
+0xaa	U+00ac
+0xab	U+00bd
+0xac	U+00bc
+0xad	U+00a1
+0xae	U+00ab
+0xaf	U+00a4
+0xb0	U+2591
+0xb1	U+2592
+0xb2	U+2593
+0xb3	U+2502
+0xb4	U+2524
+0xb5	U+2561
+0xb6	U+2562
+0xb7	U+2556
+0xb8	U+2555
+0xb9	U+2563
+0xba	U+2551
+0xbb	U+2557
+0xbc	U+255d
+0xbd	U+255c
+0xbe	U+255b
+0xbf	U+2510
+0xc0	U+2514
+0xc1	U+2534
+0xc2	U+252c
+0xc3	U+251c
+0xc4	U+2500
+0xc5	U+253c
+0xc6	U+255e
+0xc7	U+255f
+0xc8	U+255a
+0xc9	U+2554
+0xca	U+2569
+0xcb	U+2566
+0xcc	U+2560
+0xcd	U+2550
+0xce	U+256c
+0xcf	U+2567
+0xd0	U+2568
+0xd1	U+2564
+0xd2	U+2565
+0xd3	U+2559
+0xd4	U+2558
+0xd5	U+2552
+0xd6	U+2553
+0xd7	U+256b
+0xd8	U+256a
+0xd9	U+2518
+0xda	U+250c
+0xdb	U+2588
+0xdc	U+2584
+0xdd	U+258c
+0xde	U+2590
+0xdf	U+2580
+0xe0	U+03b1
+0xe1	U+00df
+0xe2	U+0393
+0xe3	U+03c0
+0xe4	U+03a3
+0xe5	U+03c3
+0xe6	U+00b5
+0xe7	U+03c4
+0xe8	U+03a6
+0xe9	U+0398
+0xea	U+03a9
+0xeb	U+03b4
+0xec	U+221e
+0xed	U+03c6
+0xee	U+03b5
+0xef	U+2229
+0xf0	U+2261
+0xf1	U+00b1
+0xf2	U+2265
+0xf3	U+2264
+0xf4	U+2320
+0xf5	U+2321
+0xf6	U+00f7
+0xf7	U+2248
+0xf8	U+00b0
+0xf9	U+2219
+0xfa	U+00b7
+0xfb	U+221a
+0xfc	U+207f
+0xfd	U+00b2
+0xfe	U+25a0
+0xff	U+00a0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/IBM866.map	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,257 @@
+#Generated from IBM866.java
+0x00	U+0000
+0x01	U+0001
+0x02	U+0002
+0x03	U+0003
+0x04	U+0004
+0x05	U+0005
+0x06	U+0006
+0x07	U+0007
+0x08	U+0008
+0x09	U+0009
+0x0a	U+000a
+0x0b	U+000b
+0x0c	U+000c
+0x0d	U+000d
+0x0e	U+000e
+0x0f	U+000f
+0x10	U+0010
+0x11	U+0011
+0x12	U+0012
+0x13	U+0013
+0x14	U+0014
+0x15	U+0015
+0x16	U+0016
+0x17	U+0017
+0x18	U+0018
+0x19	U+0019
+0x1a	U+001a
+0x1b	U+001b
+0x1c	U+001c
+0x1d	U+001d
+0x1e	U+001e
+0x1f	U+001f
+0x20	U+0020
+0x21	U+0021
+0x22	U+0022
+0x23	U+0023
+0x24	U+0024
+0x25	U+0025
+0x26	U+0026
+0x27	U+0027
+0x28	U+0028
+0x29	U+0029
+0x2a	U+002a
+0x2b	U+002b
+0x2c	U+002c
+0x2d	U+002d
+0x2e	U+002e
+0x2f	U+002f
+0x30	U+0030
+0x31	U+0031
+0x32	U+0032
+0x33	U+0033
+0x34	U+0034
+0x35	U+0035
+0x36	U+0036
+0x37	U+0037
+0x38	U+0038
+0x39	U+0039
+0x3a	U+003a
+0x3b	U+003b
+0x3c	U+003c
+0x3d	U+003d
+0x3e	U+003e
+0x3f	U+003f
+0x40	U+0040
+0x41	U+0041
+0x42	U+0042
+0x43	U+0043
+0x44	U+0044
+0x45	U+0045
+0x46	U+0046
+0x47	U+0047
+0x48	U+0048
+0x49	U+0049
+0x4a	U+004a
+0x4b	U+004b
+0x4c	U+004c
+0x4d	U+004d
+0x4e	U+004e
+0x4f	U+004f
+0x50	U+0050
+0x51	U+0051
+0x52	U+0052
+0x53	U+0053
+0x54	U+0054
+0x55	U+0055
+0x56	U+0056
+0x57	U+0057
+0x58	U+0058
+0x59	U+0059
+0x5a	U+005a
+0x5b	U+005b
+0x5c	U+005c
+0x5d	U+005d
+0x5e	U+005e
+0x5f	U+005f
+0x60	U+0060
+0x61	U+0061
+0x62	U+0062
+0x63	U+0063
+0x64	U+0064
+0x65	U+0065
+0x66	U+0066
+0x67	U+0067
+0x68	U+0068
+0x69	U+0069
+0x6a	U+006a
+0x6b	U+006b
+0x6c	U+006c
+0x6d	U+006d
+0x6e	U+006e
+0x6f	U+006f
+0x70	U+0070
+0x71	U+0071
+0x72	U+0072
+0x73	U+0073
+0x74	U+0074
+0x75	U+0075
+0x76	U+0076
+0x77	U+0077
+0x78	U+0078
+0x79	U+0079
+0x7a	U+007a
+0x7b	U+007b
+0x7c	U+007c
+0x7d	U+007d
+0x7e	U+007e
+0x7f	U+007f
+0x80	U+0410
+0x81	U+0411
+0x82	U+0412
+0x83	U+0413
+0x84	U+0414
+0x85	U+0415
+0x86	U+0416
+0x87	U+0417
+0x88	U+0418
+0x89	U+0419
+0x8a	U+041a
+0x8b	U+041b
+0x8c	U+041c
+0x8d	U+041d
+0x8e	U+041e
+0x8f	U+041f
+0x90	U+0420
+0x91	U+0421
+0x92	U+0422
+0x93	U+0423
+0x94	U+0424
+0x95	U+0425
+0x96	U+0426
+0x97	U+0427
+0x98	U+0428
+0x99	U+0429
+0x9a	U+042a
+0x9b	U+042b
+0x9c	U+042c
+0x9d	U+042d
+0x9e	U+042e
+0x9f	U+042f
+0xa0	U+0430
+0xa1	U+0431
+0xa2	U+0432
+0xa3	U+0433
+0xa4	U+0434
+0xa5	U+0435
+0xa6	U+0436
+0xa7	U+0437
+0xa8	U+0438
+0xa9	U+0439
+0xaa	U+043a
+0xab	U+043b
+0xac	U+043c
+0xad	U+043d
+0xae	U+043e
+0xaf	U+043f
+0xb0	U+2591
+0xb1	U+2592
+0xb2	U+2593
+0xb3	U+2502
+0xb4	U+2524
+0xb5	U+2561
+0xb6	U+2562
+0xb7	U+2556
+0xb8	U+2555
+0xb9	U+2563
+0xba	U+2551
+0xbb	U+2557
+0xbc	U+255d
+0xbd	U+255c
+0xbe	U+255b
+0xbf	U+2510
+0xc0	U+2514
+0xc1	U+2534
+0xc2	U+252c
+0xc3	U+251c
+0xc4	U+2500
+0xc5	U+253c
+0xc6	U+255e
+0xc7	U+255f
+0xc8	U+255a
+0xc9	U+2554
+0xca	U+2569
+0xcb	U+2566
+0xcc	U+2560
+0xcd	U+2550
+0xce	U+256c
+0xcf	U+2567
+0xd0	U+2568
+0xd1	U+2564
+0xd2	U+2565
+0xd3	U+2559
+0xd4	U+2558
+0xd5	U+2552
+0xd6	U+2553
+0xd7	U+256b
+0xd8	U+256a
+0xd9	U+2518
+0xda	U+250c
+0xdb	U+2588
+0xdc	U+2584
+0xdd	U+258c
+0xde	U+2590
+0xdf	U+2580
+0xe0	U+0440
+0xe1	U+0441
+0xe2	U+0442
+0xe3	U+0443
+0xe4	U+0444
+0xe5	U+0445
+0xe6	U+0446
+0xe7	U+0447
+0xe8	U+0448
+0xe9	U+0449
+0xea	U+044a
+0xeb	U+044b
+0xec	U+044c
+0xed	U+044d
+0xee	U+044e
+0xef	U+044f
+0xf0	U+0401
+0xf1	U+0451
+0xf2	U+0404
+0xf3	U+0454
+0xf4	U+0407
+0xf5	U+0457
+0xf6	U+040e
+0xf7	U+045e
+0xf8	U+00b0
+0xf9	U+2219
+0xfa	U+00b7
+0xfb	U+221a
+0xfc	U+2116
+0xfd	U+00a4
+0xfe	U+25a0
+0xff	U+00a0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/IBM868.map	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,257 @@
+#Generated from IBM868.java
+0x00	U+0000
+0x01	U+0001
+0x02	U+0002
+0x03	U+0003
+0x04	U+0004
+0x05	U+0005
+0x06	U+0006
+0x07	U+0007
+0x08	U+0008
+0x09	U+0009
+0x0a	U+000a
+0x0b	U+000b
+0x0c	U+000c
+0x0d	U+000d
+0x0e	U+000e
+0x0f	U+000f
+0x10	U+0010
+0x11	U+0011
+0x12	U+0012
+0x13	U+0013
+0x14	U+0014
+0x15	U+0015
+0x16	U+0016
+0x17	U+0017
+0x18	U+0018
+0x19	U+0019
+0x1a	U+001a
+0x1b	U+001b
+0x1c	U+001c
+0x1d	U+001d
+0x1e	U+001e
+0x1f	U+001f
+0x20	U+0020
+0x21	U+0021
+0x22	U+0022
+0x23	U+0023
+0x24	U+0024
+0x25	U+0025
+0x26	U+0026
+0x27	U+0027
+0x28	U+0028
+0x29	U+0029
+0x2a	U+002a
+0x2b	U+002b
+0x2c	U+002c
+0x2d	U+002d
+0x2e	U+002e
+0x2f	U+002f
+0x30	U+0030
+0x31	U+0031
+0x32	U+0032
+0x33	U+0033
+0x34	U+0034
+0x35	U+0035
+0x36	U+0036
+0x37	U+0037
+0x38	U+0038
+0x39	U+0039
+0x3a	U+003a
+0x3b	U+003b
+0x3c	U+003c
+0x3d	U+003d
+0x3e	U+003e
+0x3f	U+003f
+0x40	U+0040
+0x41	U+0041
+0x42	U+0042
+0x43	U+0043
+0x44	U+0044
+0x45	U+0045
+0x46	U+0046
+0x47	U+0047
+0x48	U+0048
+0x49	U+0049
+0x4a	U+004a
+0x4b	U+004b
+0x4c	U+004c
+0x4d	U+004d
+0x4e	U+004e
+0x4f	U+004f
+0x50	U+0050
+0x51	U+0051
+0x52	U+0052
+0x53	U+0053
+0x54	U+0054
+0x55	U+0055
+0x56	U+0056
+0x57	U+0057
+0x58	U+0058
+0x59	U+0059
+0x5a	U+005a
+0x5b	U+005b
+0x5c	U+005c
+0x5d	U+005d
+0x5e	U+005e
+0x5f	U+005f
+0x60	U+0060
+0x61	U+0061
+0x62	U+0062
+0x63	U+0063
+0x64	U+0064
+0x65	U+0065
+0x66	U+0066
+0x67	U+0067
+0x68	U+0068
+0x69	U+0069
+0x6a	U+006a
+0x6b	U+006b
+0x6c	U+006c
+0x6d	U+006d
+0x6e	U+006e
+0x6f	U+006f
+0x70	U+0070
+0x71	U+0071
+0x72	U+0072
+0x73	U+0073
+0x74	U+0074
+0x75	U+0075
+0x76	U+0076
+0x77	U+0077
+0x78	U+0078
+0x79	U+0079
+0x7a	U+007a
+0x7b	U+007b
+0x7c	U+007c
+0x7d	U+007d
+0x7e	U+007e
+0x7f	U+007f
+0x80	U+06f0
+0x81	U+06f1
+0x82	U+06f2
+0x83	U+06f3
+0x84	U+06f4
+0x85	U+06f5
+0x86	U+06f6
+0x87	U+06f7
+0x88	U+06f8
+0x89	U+06f9
+0x8a	U+060c
+0x8b	U+061b
+0x8c	U+061f
+0x8d	U+fe81
+0x8e	U+fe8d
+0x8f	U+fe8e
+0x90	U+f8fb
+0x91	U+fe8f
+0x92	U+fe91
+0x93	U+fb56
+0x94	U+fb58
+0x95	U+fe93
+0x96	U+fe95
+0x97	U+fe97
+0x98	U+fb66
+0x99	U+fb68
+0x9a	U+fe99
+0x9b	U+fe9b
+0x9c	U+fe9d
+0x9d	U+fe9f
+0x9e	U+fb7a
+0x9f	U+fb7c
+0xa0	U+fea1
+0xa1	U+fea3
+0xa2	U+fea5
+0xa3	U+fea7
+0xa4	U+fea9
+0xa5	U+fb88
+0xa6	U+feab
+0xa7	U+fead
+0xa8	U+fb8c
+0xa9	U+feaf
+0xaa	U+fb8a
+0xab	U+feb1
+0xac	U+feb3
+0xad	U+feb5
+0xae	U+00ab
+0xaf	U+00bb
+0xb0	U+2591
+0xb1	U+2592
+0xb2	U+2593
+0xb3	U+2502
+0xb4	U+2524
+0xb5	U+feb7
+0xb6	U+feb9
+0xb7	U+febb
+0xb8	U+febd
+0xb9	U+2563
+0xba	U+2551
+0xbb	U+2557
+0xbc	U+255d
+0xbd	U+febf
+0xbe	U+fec3
+0xbf	U+2510
+0xc0	U+2514
+0xc1	U+2534
+0xc2	U+252c
+0xc3	U+251c
+0xc4	U+2500
+0xc5	U+253c
+0xc6	U+fec7
+0xc7	U+fec9
+0xc8	U+255a
+0xc9	U+2554
+0xca	U+2569
+0xcb	U+2566
+0xcc	U+2560
+0xcd	U+2550
+0xce	U+256c
+0xcf	U+feca
+0xd0	U+fecb
+0xd1	U+fecc
+0xd2	U+fecd
+0xd3	U+fece
+0xd4	U+fecf
+0xd5	U+fed0
+0xd6	U+fed1
+0xd7	U+fed3
+0xd8	U+fed5
+0xd9	U+2518
+0xda	U+250c
+0xdb	U+2588
+0xdc	U+2584
+0xdd	U+fed7
+0xde	U+fb8e
+0xdf	U+2580
+0xe0	U+fedb
+0xe1	U+fb92
+0xe2	U+fb94
+0xe3	U+fedd
+0xe4	U+fedf
+0xe5	U+fee0
+0xe6	U+fee1
+0xe7	U+fee3
+0xe8	U+fb9e
+0xe9	U+fee5
+0xea	U+fee7
+0xeb	U+fe85
+0xec	U+feed
+0xed	U+fba6
+0xee	U+fba8
+0xef	U+fba9
+0xf0	U+00ad
+0xf1	U+fbaa
+0xf2	U+fe80
+0xf3	U+fe89
+0xf4	U+fe8a
+0xf5	U+fe8b
+0xf6	U+fbfc
+0xf7	U+fbfd
+0xf8	U+fbfe
+0xf9	U+fbb0
+0xfa	U+fbae
+0xfb	U+fe7c
+0xfc	U+fe7d
+0xfd	U+fffd
+0xfe	U+25a0
+0xff	U+00a0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/IBM869.map	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,257 @@
+#Generated from IBM869.java
+0x00	U+0000
+0x01	U+0001
+0x02	U+0002
+0x03	U+0003
+0x04	U+0004
+0x05	U+0005
+0x06	U+0006
+0x07	U+0007
+0x08	U+0008
+0x09	U+0009
+0x0a	U+000a
+0x0b	U+000b
+0x0c	U+000c
+0x0d	U+000d
+0x0e	U+000e
+0x0f	U+000f
+0x10	U+0010
+0x11	U+0011
+0x12	U+0012
+0x13	U+0013
+0x14	U+0014
+0x15	U+0015
+0x16	U+0016
+0x17	U+0017
+0x18	U+0018
+0x19	U+0019
+0x1a	U+001a
+0x1b	U+001b
+0x1c	U+001c
+0x1d	U+001d
+0x1e	U+001e
+0x1f	U+001f
+0x20	U+0020
+0x21	U+0021
+0x22	U+0022
+0x23	U+0023
+0x24	U+0024
+0x25	U+0025
+0x26	U+0026
+0x27	U+0027
+0x28	U+0028
+0x29	U+0029
+0x2a	U+002a
+0x2b	U+002b
+0x2c	U+002c
+0x2d	U+002d
+0x2e	U+002e
+0x2f	U+002f
+0x30	U+0030
+0x31	U+0031
+0x32	U+0032
+0x33	U+0033
+0x34	U+0034
+0x35	U+0035
+0x36	U+0036
+0x37	U+0037
+0x38	U+0038
+0x39	U+0039
+0x3a	U+003a
+0x3b	U+003b
+0x3c	U+003c
+0x3d	U+003d
+0x3e	U+003e
+0x3f	U+003f
+0x40	U+0040
+0x41	U+0041
+0x42	U+0042
+0x43	U+0043
+0x44	U+0044
+0x45	U+0045
+0x46	U+0046
+0x47	U+0047
+0x48	U+0048
+0x49	U+0049
+0x4a	U+004a
+0x4b	U+004b
+0x4c	U+004c
+0x4d	U+004d
+0x4e	U+004e
+0x4f	U+004f
+0x50	U+0050
+0x51	U+0051
+0x52	U+0052
+0x53	U+0053
+0x54	U+0054
+0x55	U+0055
+0x56	U+0056
+0x57	U+0057
+0x58	U+0058
+0x59	U+0059
+0x5a	U+005a
+0x5b	U+005b
+0x5c	U+005c
+0x5d	U+005d
+0x5e	U+005e
+0x5f	U+005f
+0x60	U+0060
+0x61	U+0061
+0x62	U+0062
+0x63	U+0063
+0x64	U+0064
+0x65	U+0065
+0x66	U+0066
+0x67	U+0067
+0x68	U+0068
+0x69	U+0069
+0x6a	U+006a
+0x6b	U+006b
+0x6c	U+006c
+0x6d	U+006d
+0x6e	U+006e
+0x6f	U+006f
+0x70	U+0070
+0x71	U+0071
+0x72	U+0072
+0x73	U+0073
+0x74	U+0074
+0x75	U+0075
+0x76	U+0076
+0x77	U+0077
+0x78	U+0078
+0x79	U+0079
+0x7a	U+007a
+0x7b	U+007b
+0x7c	U+007c
+0x7d	U+007d
+0x7e	U+007e
+0x7f	U+007f
+0x80	U+fffd
+0x81	U+fffd
+0x82	U+fffd
+0x83	U+fffd
+0x84	U+fffd
+0x85	U+fffd
+0x86	U+0386
+0x87	U+fffd
+0x88	U+00b7
+0x89	U+00ac
+0x8a	U+00a6
+0x8b	U+2018
+0x8c	U+2019
+0x8d	U+0388
+0x8e	U+2015
+0x8f	U+0389
+0x90	U+038a
+0x91	U+03aa
+0x92	U+038c
+0x93	U+fffd
+0x94	U+fffd
+0x95	U+038e
+0x96	U+03ab
+0x97	U+00a9
+0x98	U+038f
+0x99	U+00b2
+0x9a	U+00b3
+0x9b	U+03ac
+0x9c	U+00a3
+0x9d	U+03ad
+0x9e	U+03ae
+0x9f	U+03af
+0xa0	U+03ca
+0xa1	U+0390
+0xa2	U+03cc
+0xa3	U+03cd
+0xa4	U+0391
+0xa5	U+0392
+0xa6	U+0393
+0xa7	U+0394
+0xa8	U+0395
+0xa9	U+0396
+0xaa	U+0397
+0xab	U+00bd
+0xac	U+0398
+0xad	U+0399
+0xae	U+00ab
+0xaf	U+00bb
+0xb0	U+2591
+0xb1	U+2592
+0xb2	U+2593
+0xb3	U+2502
+0xb4	U+2524
+0xb5	U+039a
+0xb6	U+039b
+0xb7	U+039c
+0xb8	U+039d
+0xb9	U+2563
+0xba	U+2551
+0xbb	U+2557
+0xbc	U+255d
+0xbd	U+039e
+0xbe	U+039f
+0xbf	U+2510
+0xc0	U+2514
+0xc1	U+2534
+0xc2	U+252c
+0xc3	U+251c
+0xc4	U+2500
+0xc5	U+253c
+0xc6	U+03a0
+0xc7	U+03a1
+0xc8	U+255a
+0xc9	U+2554
+0xca	U+2569
+0xcb	U+2566
+0xcc	U+2560
+0xcd	U+2550
+0xce	U+256c
+0xcf	U+03a3
+0xd0	U+03a4
+0xd1	U+03a5
+0xd2	U+03a6
+0xd3	U+03a7
+0xd4	U+03a8
+0xd5	U+03a9
+0xd6	U+03b1
+0xd7	U+03b2
+0xd8	U+03b3
+0xd9	U+2518
+0xda	U+250c
+0xdb	U+2588
+0xdc	U+2584
+0xdd	U+03b4
+0xde	U+03b5
+0xdf	U+2580
+0xe0	U+03b6
+0xe1	U+03b7
+0xe2	U+03b8
+0xe3	U+03b9
+0xe4	U+03ba
+0xe5	U+03bb
+0xe6	U+03bc
+0xe7	U+03bd
+0xe8	U+03be
+0xe9	U+03bf
+0xea	U+03c0
+0xeb	U+03c1
+0xec	U+03c3
+0xed	U+03c2
+0xee	U+03c4
+0xef	U+0384
+0xf0	U+00ad
+0xf1	U+00b1
+0xf2	U+03c5
+0xf3	U+03c6
+0xf4	U+03c7
+0xf5	U+00a7
+0xf6	U+03c8
+0xf7	U+0385
+0xf8	U+00b0
+0xf9	U+00a8
+0xfa	U+03c9
+0xfb	U+03cb
+0xfc	U+03b0
+0xfd	U+03ce
+0xfe	U+25a0
+0xff	U+00a0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/IBM870.c2b	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,1 @@
+0x15	U+0085
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/IBM870.map	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,257 @@
+#Generated from IBM870.java
+0x00	U+0000
+0x01	U+0001
+0x02	U+0002
+0x03	U+0003
+0x04	U+009c
+0x05	U+0009
+0x06	U+0086
+0x07	U+007f
+0x08	U+0097
+0x09	U+008d
+0x0a	U+008e
+0x0b	U+000b
+0x0c	U+000c
+0x0d	U+000d
+0x0e	U+000e
+0x0f	U+000f
+0x10	U+0010
+0x11	U+0011
+0x12	U+0012
+0x13	U+0013
+0x14	U+009d
+0x15	U+000a
+0x16	U+0008
+0x17	U+0087
+0x18	U+0018
+0x19	U+0019
+0x1a	U+0092
+0x1b	U+008f
+0x1c	U+001c
+0x1d	U+001d
+0x1e	U+001e
+0x1f	U+001f
+0x20	U+0080
+0x21	U+0081
+0x22	U+0082
+0x23	U+0083
+0x24	U+0084
+0x25	U+000a
+0x26	U+0017
+0x27	U+001b
+0x28	U+0088
+0x29	U+0089
+0x2a	U+008a
+0x2b	U+008b
+0x2c	U+008c
+0x2d	U+0005
+0x2e	U+0006
+0x2f	U+0007
+0x30	U+0090
+0x31	U+0091
+0x32	U+0016
+0x33	U+0093
+0x34	U+0094
+0x35	U+0095
+0x36	U+0096
+0x37	U+0004
+0x38	U+0098
+0x39	U+0099
+0x3a	U+009a
+0x3b	U+009b
+0x3c	U+0014
+0x3d	U+0015
+0x3e	U+009e
+0x3f	U+001a
+0x40	U+0020
+0x41	U+00a0
+0x42	U+00e2
+0x43	U+00e4
+0x44	U+0163
+0x45	U+00e1
+0x46	U+0103
+0x47	U+010d
+0x48	U+00e7
+0x49	U+0107
+0x4a	U+005b
+0x4b	U+002e
+0x4c	U+003c
+0x4d	U+0028
+0x4e	U+002b
+0x4f	U+0021
+0x50	U+0026
+0x51	U+00e9
+0x52	U+0119
+0x53	U+00eb
+0x54	U+016f
+0x55	U+00ed
+0x56	U+00ee
+0x57	U+013e
+0x58	U+013a
+0x59	U+00df
+0x5a	U+005d
+0x5b	U+0024
+0x5c	U+002a
+0x5d	U+0029
+0x5e	U+003b
+0x5f	U+005e
+0x60	U+002d
+0x61	U+002f
+0x62	U+00c2
+0x63	U+00c4
+0x64	U+02dd
+0x65	U+00c1
+0x66	U+0102
+0x67	U+010c
+0x68	U+00c7
+0x69	U+0106
+0x6a	U+007c
+0x6b	U+002c
+0x6c	U+0025
+0x6d	U+005f
+0x6e	U+003e
+0x6f	U+003f
+0x70	U+02c7
+0x71	U+00c9
+0x72	U+0118
+0x73	U+00cb
+0x74	U+016e
+0x75	U+00cd
+0x76	U+00ce
+0x77	U+013d
+0x78	U+0139
+0x79	U+0060
+0x7a	U+003a
+0x7b	U+0023
+0x7c	U+0040
+0x7d	U+0027
+0x7e	U+003d
+0x7f	U+0022
+0x80	U+02d8
+0x81	U+0061
+0x82	U+0062
+0x83	U+0063
+0x84	U+0064
+0x85	U+0065
+0x86	U+0066
+0x87	U+0067
+0x88	U+0068
+0x89	U+0069
+0x8a	U+015b
+0x8b	U+0148
+0x8c	U+0111
+0x8d	U+00fd
+0x8e	U+0159
+0x8f	U+015f
+0x90	U+00b0
+0x91	U+006a
+0x92	U+006b
+0x93	U+006c
+0x94	U+006d
+0x95	U+006e
+0x96	U+006f
+0x97	U+0070
+0x98	U+0071
+0x99	U+0072
+0x9a	U+0142
+0x9b	U+0144
+0x9c	U+0161
+0x9d	U+00b8
+0x9e	U+02db
+0x9f	U+00a4
+0xa0	U+0105
+0xa1	U+007e
+0xa2	U+0073
+0xa3	U+0074
+0xa4	U+0075
+0xa5	U+0076
+0xa6	U+0077
+0xa7	U+0078
+0xa8	U+0079
+0xa9	U+007a
+0xaa	U+015a
+0xab	U+0147
+0xac	U+0110
+0xad	U+00dd
+0xae	U+0158
+0xaf	U+015e
+0xb0	U+02d9
+0xb1	U+0104
+0xb2	U+017c
+0xb3	U+0162
+0xb4	U+017b
+0xb5	U+00a7
+0xb6	U+017e
+0xb7	U+017a
+0xb8	U+017d
+0xb9	U+0179
+0xba	U+0141
+0xbb	U+0143
+0xbc	U+0160
+0xbd	U+00a8
+0xbe	U+00b4
+0xbf	U+00d7
+0xc0	U+007b
+0xc1	U+0041
+0xc2	U+0042
+0xc3	U+0043
+0xc4	U+0044
+0xc5	U+0045
+0xc6	U+0046
+0xc7	U+0047
+0xc8	U+0048
+0xc9	U+0049
+0xca	U+00ad
+0xcb	U+00f4
+0xcc	U+00f6
+0xcd	U+0155
+0xce	U+00f3
+0xcf	U+0151
+0xd0	U+007d
+0xd1	U+004a
+0xd2	U+004b
+0xd3	U+004c
+0xd4	U+004d
+0xd5	U+004e
+0xd6	U+004f
+0xd7	U+0050
+0xd8	U+0051
+0xd9	U+0052
+0xda	U+011a
+0xdb	U+0171
+0xdc	U+00fc
+0xdd	U+0165
+0xde	U+00fa
+0xdf	U+011b
+0xe0	U+005c
+0xe1	U+00f7
+0xe2	U+0053
+0xe3	U+0054
+0xe4	U+0055
+0xe5	U+0056
+0xe6	U+0057
+0xe7	U+0058
+0xe8	U+0059
+0xe9	U+005a
+0xea	U+010f
+0xeb	U+00d4
+0xec	U+00d6
+0xed	U+0154
+0xee	U+00d3
+0xef	U+0150
+0xf0	U+0030
+0xf1	U+0031
+0xf2	U+0032
+0xf3	U+0033
+0xf4	U+0034
+0xf5	U+0035
+0xf6	U+0036
+0xf7	U+0037
+0xf8	U+0038
+0xf9	U+0039
+0xfa	U+010e
+0xfb	U+0170
+0xfc	U+00dc
+0xfd	U+0164
+0xfe	U+00da
+0xff	U+009f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/IBM870.nr	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,1 @@
+0x25	U+000a
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/IBM871.c2b	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,1 @@
+0x15	U+0085
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/IBM871.map	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,257 @@
+#Generated from IBM871.java
+0x00	U+0000
+0x01	U+0001
+0x02	U+0002
+0x03	U+0003
+0x04	U+009c
+0x05	U+0009
+0x06	U+0086
+0x07	U+007f
+0x08	U+0097
+0x09	U+008d
+0x0a	U+008e
+0x0b	U+000b
+0x0c	U+000c
+0x0d	U+000d
+0x0e	U+000e
+0x0f	U+000f
+0x10	U+0010
+0x11	U+0011
+0x12	U+0012
+0x13	U+0013
+0x14	U+009d
+0x15	U+000a
+0x16	U+0008
+0x17	U+0087
+0x18	U+0018
+0x19	U+0019
+0x1a	U+0092
+0x1b	U+008f
+0x1c	U+001c
+0x1d	U+001d
+0x1e	U+001e
+0x1f	U+001f
+0x20	U+0080
+0x21	U+0081
+0x22	U+0082
+0x23	U+0083
+0x24	U+0084
+0x25	U+000a
+0x26	U+0017
+0x27	U+001b
+0x28	U+0088
+0x29	U+0089
+0x2a	U+008a
+0x2b	U+008b
+0x2c	U+008c
+0x2d	U+0005
+0x2e	U+0006
+0x2f	U+0007
+0x30	U+0090
+0x31	U+0091
+0x32	U+0016
+0x33	U+0093
+0x34	U+0094
+0x35	U+0095
+0x36	U+0096
+0x37	U+0004
+0x38	U+0098
+0x39	U+0099
+0x3a	U+009a
+0x3b	U+009b
+0x3c	U+0014
+0x3d	U+0015
+0x3e	U+009e
+0x3f	U+001a
+0x40	U+0020
+0x41	U+00a0
+0x42	U+00e2
+0x43	U+00e4
+0x44	U+00e0
+0x45	U+00e1
+0x46	U+00e3
+0x47	U+00e5
+0x48	U+00e7
+0x49	U+00f1
+0x4a	U+00de
+0x4b	U+002e
+0x4c	U+003c
+0x4d	U+0028
+0x4e	U+002b
+0x4f	U+0021
+0x50	U+0026
+0x51	U+00e9
+0x52	U+00ea
+0x53	U+00eb
+0x54	U+00e8
+0x55	U+00ed
+0x56	U+00ee
+0x57	U+00ef
+0x58	U+00ec
+0x59	U+00df
+0x5a	U+00c6
+0x5b	U+0024
+0x5c	U+002a
+0x5d	U+0029
+0x5e	U+003b
+0x5f	U+00d6
+0x60	U+002d
+0x61	U+002f
+0x62	U+00c2
+0x63	U+00c4
+0x64	U+00c0
+0x65	U+00c1
+0x66	U+00c3
+0x67	U+00c5
+0x68	U+00c7
+0x69	U+00d1
+0x6a	U+00a6
+0x6b	U+002c
+0x6c	U+0025
+0x6d	U+005f
+0x6e	U+003e
+0x6f	U+003f
+0x70	U+00f8
+0x71	U+00c9
+0x72	U+00ca
+0x73	U+00cb
+0x74	U+00c8
+0x75	U+00cd
+0x76	U+00ce
+0x77	U+00cf
+0x78	U+00cc
+0x79	U+00f0
+0x7a	U+003a
+0x7b	U+0023
+0x7c	U+00d0
+0x7d	U+0027
+0x7e	U+003d
+0x7f	U+0022
+0x80	U+00d8
+0x81	U+0061
+0x82	U+0062
+0x83	U+0063
+0x84	U+0064
+0x85	U+0065
+0x86	U+0066
+0x87	U+0067
+0x88	U+0068
+0x89	U+0069
+0x8a	U+00ab
+0x8b	U+00bb
+0x8c	U+0060
+0x8d	U+00fd
+0x8e	U+007b
+0x8f	U+00b1
+0x90	U+00b0
+0x91	U+006a
+0x92	U+006b
+0x93	U+006c
+0x94	U+006d
+0x95	U+006e
+0x96	U+006f
+0x97	U+0070
+0x98	U+0071
+0x99	U+0072
+0x9a	U+00aa
+0x9b	U+00ba
+0x9c	U+007d
+0x9d	U+00b8
+0x9e	U+005d
+0x9f	U+00a4
+0xa0	U+00b5
+0xa1	U+00f6
+0xa2	U+0073
+0xa3	U+0074
+0xa4	U+0075
+0xa5	U+0076
+0xa6	U+0077
+0xa7	U+0078
+0xa8	U+0079
+0xa9	U+007a
+0xaa	U+00a1
+0xab	U+00bf
+0xac	U+0040
+0xad	U+00dd
+0xae	U+005b
+0xaf	U+00ae
+0xb0	U+00a2
+0xb1	U+00a3
+0xb2	U+00a5
+0xb3	U+00b7
+0xb4	U+00a9
+0xb5	U+00a7
+0xb6	U+00b6
+0xb7	U+00bc
+0xb8	U+00bd
+0xb9	U+00be
+0xba	U+00ac
+0xbb	U+007c
+0xbc	U+00af
+0xbd	U+00a8
+0xbe	U+005c
+0xbf	U+00d7
+0xc0	U+00fe
+0xc1	U+0041
+0xc2	U+0042
+0xc3	U+0043
+0xc4	U+0044
+0xc5	U+0045
+0xc6	U+0046
+0xc7	U+0047
+0xc8	U+0048
+0xc9	U+0049
+0xca	U+00ad
+0xcb	U+00f4
+0xcc	U+007e
+0xcd	U+00f2
+0xce	U+00f3
+0xcf	U+00f5
+0xd0	U+00e6
+0xd1	U+004a
+0xd2	U+004b
+0xd3	U+004c
+0xd4	U+004d
+0xd5	U+004e
+0xd6	U+004f
+0xd7	U+0050
+0xd8	U+0051
+0xd9	U+0052
+0xda	U+00b9
+0xdb	U+00fb
+0xdc	U+00fc
+0xdd	U+00f9
+0xde	U+00fa
+0xdf	U+00ff
+0xe0	U+00b4
+0xe1	U+00f7
+0xe2	U+0053
+0xe3	U+0054
+0xe4	U+0055
+0xe5	U+0056
+0xe6	U+0057
+0xe7	U+0058
+0xe8	U+0059
+0xe9	U+005a
+0xea	U+00b2
+0xeb	U+00d4
+0xec	U+005e
+0xed	U+00d2
+0xee	U+00d3
+0xef	U+00d5
+0xf0	U+0030
+0xf1	U+0031
+0xf2	U+0032
+0xf3	U+0033
+0xf4	U+0034
+0xf5	U+0035
+0xf6	U+0036
+0xf7	U+0037
+0xf8	U+0038
+0xf9	U+0039
+0xfa	U+00b3
+0xfb	U+00db
+0xfc	U+00dc
+0xfd	U+00d9
+0xfe	U+00da
+0xff	U+009f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/IBM871.nr	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,1 @@
+0x25	U+000a
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/IBM874.map	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,257 @@
+#Generated from IBM874.java
+0x00	U+0000
+0x01	U+0001
+0x02	U+0002
+0x03	U+0003
+0x04	U+0004
+0x05	U+0005
+0x06	U+0006
+0x07	U+0007
+0x08	U+0008
+0x09	U+0009
+0x0a	U+000a
+0x0b	U+000b
+0x0c	U+000c
+0x0d	U+000d
+0x0e	U+000e
+0x0f	U+000f
+0x10	U+0010
+0x11	U+0011
+0x12	U+0012
+0x13	U+0013
+0x14	U+0014
+0x15	U+0015
+0x16	U+0016
+0x17	U+0017
+0x18	U+0018
+0x19	U+0019
+0x1a	U+001a
+0x1b	U+001b
+0x1c	U+001c
+0x1d	U+001d
+0x1e	U+001e
+0x1f	U+001f
+0x20	U+0020
+0x21	U+0021
+0x22	U+0022
+0x23	U+0023
+0x24	U+0024
+0x25	U+0025
+0x26	U+0026
+0x27	U+0027
+0x28	U+0028
+0x29	U+0029
+0x2a	U+002a
+0x2b	U+002b
+0x2c	U+002c
+0x2d	U+002d
+0x2e	U+002e
+0x2f	U+002f
+0x30	U+0030
+0x31	U+0031
+0x32	U+0032
+0x33	U+0033
+0x34	U+0034
+0x35	U+0035
+0x36	U+0036
+0x37	U+0037
+0x38	U+0038
+0x39	U+0039
+0x3a	U+003a
+0x3b	U+003b
+0x3c	U+003c
+0x3d	U+003d
+0x3e	U+003e
+0x3f	U+003f
+0x40	U+0040
+0x41	U+0041
+0x42	U+0042
+0x43	U+0043
+0x44	U+0044
+0x45	U+0045
+0x46	U+0046
+0x47	U+0047
+0x48	U+0048
+0x49	U+0049
+0x4a	U+004a
+0x4b	U+004b
+0x4c	U+004c
+0x4d	U+004d
+0x4e	U+004e
+0x4f	U+004f
+0x50	U+0050
+0x51	U+0051
+0x52	U+0052
+0x53	U+0053
+0x54	U+0054
+0x55	U+0055
+0x56	U+0056
+0x57	U+0057
+0x58	U+0058
+0x59	U+0059
+0x5a	U+005a
+0x5b	U+005b
+0x5c	U+005c
+0x5d	U+005d
+0x5e	U+005e
+0x5f	U+005f
+0x60	U+0060
+0x61	U+0061
+0x62	U+0062
+0x63	U+0063
+0x64	U+0064
+0x65	U+0065
+0x66	U+0066
+0x67	U+0067
+0x68	U+0068
+0x69	U+0069
+0x6a	U+006a
+0x6b	U+006b
+0x6c	U+006c
+0x6d	U+006d
+0x6e	U+006e
+0x6f	U+006f
+0x70	U+0070
+0x71	U+0071
+0x72	U+0072
+0x73	U+0073
+0x74	U+0074
+0x75	U+0075
+0x76	U+0076
+0x77	U+0077
+0x78	U+0078
+0x79	U+0079
+0x7a	U+007a
+0x7b	U+007b
+0x7c	U+007c
+0x7d	U+007d
+0x7e	U+007e
+0x7f	U+007f
+0x80	U+20ac
+0x81	U+fffd
+0x82	U+fffd
+0x83	U+fffd
+0x84	U+fffd
+0x85	U+fffd
+0x86	U+fffd
+0x87	U+fffd
+0x88	U+fffd
+0x89	U+fffd
+0x8a	U+fffd
+0x8b	U+fffd
+0x8c	U+fffd
+0x8d	U+fffd
+0x8e	U+fffd
+0x8f	U+fffd
+0x90	U+fffd
+0x91	U+fffd
+0x92	U+fffd
+0x93	U+fffd
+0x94	U+fffd
+0x95	U+fffd
+0x96	U+fffd
+0x97	U+fffd
+0x98	U+fffd
+0x99	U+fffd
+0x9a	U+fffd
+0x9b	U+fffd
+0x9c	U+fffd
+0x9d	U+fffd
+0x9e	U+fffd
+0x9f	U+fffd
+0xa0	U+0e48
+0xa1	U+0e01
+0xa2	U+0e02
+0xa3	U+0e03
+0xa4	U+0e04
+0xa5	U+0e05
+0xa6	U+0e06
+0xa7	U+0e07
+0xa8	U+0e08
+0xa9	U+0e09
+0xaa	U+0e0a
+0xab	U+0e0b
+0xac	U+0e0c
+0xad	U+0e0d
+0xae	U+0e0e
+0xaf	U+0e0f
+0xb0	U+0e10
+0xb1	U+0e11
+0xb2	U+0e12
+0xb3	U+0e13
+0xb4	U+0e14
+0xb5	U+0e15
+0xb6	U+0e16
+0xb7	U+0e17
+0xb8	U+0e18
+0xb9	U+0e19
+0xba	U+0e1a
+0xbb	U+0e1b
+0xbc	U+0e1c
+0xbd	U+0e1d
+0xbe	U+0e1e
+0xbf	U+0e1f
+0xc0	U+0e20
+0xc1	U+0e21
+0xc2	U+0e22
+0xc3	U+0e23
+0xc4	U+0e24
+0xc5	U+0e25
+0xc6	U+0e26
+0xc7	U+0e27
+0xc8	U+0e28
+0xc9	U+0e29
+0xca	U+0e2a
+0xcb	U+0e2b
+0xcc	U+0e2c
+0xcd	U+0e2d
+0xce	U+0e2e
+0xcf	U+0e2f
+0xd0	U+0e30
+0xd1	U+0e31
+0xd2	U+0e32
+0xd3	U+0e33
+0xd4	U+0e34
+0xd5	U+0e35
+0xd6	U+0e36
+0xd7	U+0e37
+0xd8	U+0e38
+0xd9	U+0e39
+0xda	U+0e3a
+0xdb	U+0e49
+0xdc	U+0e4a
+0xdd	U+0e4b
+0xde	U+0e4c
+0xdf	U+0e3f
+0xe0	U+0e40
+0xe1	U+0e41
+0xe2	U+0e42
+0xe3	U+0e43
+0xe4	U+0e44
+0xe5	U+0e45
+0xe6	U+0e46
+0xe7	U+0e47
+0xe8	U+0e48
+0xe9	U+0e49
+0xea	U+0e4a
+0xeb	U+0e4b
+0xec	U+0e4c
+0xed	U+0e4d
+0xee	U+0e4e
+0xef	U+0e4f
+0xf0	U+0e50
+0xf1	U+0e51
+0xf2	U+0e52
+0xf3	U+0e53
+0xf4	U+0e54
+0xf5	U+0e55
+0xf6	U+0e56
+0xf7	U+0e57
+0xf8	U+0e58
+0xf9	U+0e59
+0xfa	U+0e5a
+0xfb	U+0e5b
+0xfc	U+00a2
+0xfd	U+00ac
+0xfe	U+00a6
+0xff	U+00a0
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/IBM874.nr	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,5 @@
+0xa0	U+0e48
+0xdb	U+0e49
+0xdc	U+0e4a
+0xdd	U+0e4b
+0xde	U+0e4c
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/IBM875.c2b	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,1 @@
+0x15	U+0085
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/IBM875.map	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,257 @@
+#Generated from IBM875.java
+0x00	U+0000
+0x01	U+0001
+0x02	U+0002
+0x03	U+0003
+0x04	U+009c
+0x05	U+0009
+0x06	U+0086
+0x07	U+007f
+0x08	U+0097
+0x09	U+008d
+0x0a	U+008e
+0x0b	U+000b
+0x0c	U+000c
+0x0d	U+000d
+0x0e	U+000e
+0x0f	U+000f
+0x10	U+0010
+0x11	U+0011
+0x12	U+0012
+0x13	U+0013
+0x14	U+009d
+0x15	U+000a
+0x16	U+0008
+0x17	U+0087
+0x18	U+0018
+0x19	U+0019
+0x1a	U+0092
+0x1b	U+008f
+0x1c	U+001c
+0x1d	U+001d
+0x1e	U+001e
+0x1f	U+001f
+0x20	U+0080
+0x21	U+0081
+0x22	U+0082
+0x23	U+0083
+0x24	U+0084
+0x25	U+000a
+0x26	U+0017
+0x27	U+001b
+0x28	U+0088
+0x29	U+0089
+0x2a	U+008a
+0x2b	U+008b
+0x2c	U+008c
+0x2d	U+0005
+0x2e	U+0006
+0x2f	U+0007
+0x30	U+0090
+0x31	U+0091
+0x32	U+0016
+0x33	U+0093
+0x34	U+0094
+0x35	U+0095
+0x36	U+0096
+0x37	U+0004
+0x38	U+0098
+0x39	U+0099
+0x3a	U+009a
+0x3b	U+009b
+0x3c	U+0014
+0x3d	U+0015
+0x3e	U+009e
+0x3f	U+001a
+0x40	U+0020
+0x41	U+0391
+0x42	U+0392
+0x43	U+0393
+0x44	U+0394
+0x45	U+0395
+0x46	U+0396
+0x47	U+0397
+0x48	U+0398
+0x49	U+0399
+0x4a	U+005b
+0x4b	U+002e
+0x4c	U+003c
+0x4d	U+0028
+0x4e	U+002b
+0x4f	U+0021
+0x50	U+0026
+0x51	U+039a
+0x52	U+039b
+0x53	U+039c
+0x54	U+039d
+0x55	U+039e
+0x56	U+039f
+0x57	U+03a0
+0x58	U+03a1
+0x59	U+03a3
+0x5a	U+005d
+0x5b	U+0024
+0x5c	U+002a
+0x5d	U+0029
+0x5e	U+003b
+0x5f	U+005e
+0x60	U+002d
+0x61	U+002f
+0x62	U+03a4
+0x63	U+03a5
+0x64	U+03a6
+0x65	U+03a7
+0x66	U+03a8
+0x67	U+03a9
+0x68	U+03aa
+0x69	U+03ab
+0x6a	U+007c
+0x6b	U+002c
+0x6c	U+0025
+0x6d	U+005f
+0x6e	U+003e
+0x6f	U+003f
+0x70	U+00a8
+0x71	U+0386
+0x72	U+0388
+0x73	U+0389
+0x74	U+00a0
+0x75	U+038a
+0x76	U+038c
+0x77	U+038e
+0x78	U+038f
+0x79	U+0060
+0x7a	U+003a
+0x7b	U+0023
+0x7c	U+0040
+0x7d	U+0027
+0x7e	U+003d
+0x7f	U+0022
+0x80	U+0385
+0x81	U+0061
+0x82	U+0062
+0x83	U+0063
+0x84	U+0064
+0x85	U+0065
+0x86	U+0066
+0x87	U+0067
+0x88	U+0068
+0x89	U+0069
+0x8a	U+03b1
+0x8b	U+03b2
+0x8c	U+03b3
+0x8d	U+03b4
+0x8e	U+03b5
+0x8f	U+03b6
+0x90	U+00b0
+0x91	U+006a
+0x92	U+006b
+0x93	U+006c
+0x94	U+006d
+0x95	U+006e
+0x96	U+006f
+0x97	U+0070
+0x98	U+0071
+0x99	U+0072
+0x9a	U+03b7
+0x9b	U+03b8
+0x9c	U+03b9
+0x9d	U+03ba
+0x9e	U+03bb
+0x9f	U+03bc
+0xa0	U+00b4
+0xa1	U+007e
+0xa2	U+0073
+0xa3	U+0074
+0xa4	U+0075
+0xa5	U+0076
+0xa6	U+0077
+0xa7	U+0078
+0xa8	U+0079
+0xa9	U+007a
+0xaa	U+03bd
+0xab	U+03be
+0xac	U+03bf
+0xad	U+03c0
+0xae	U+03c1
+0xaf	U+03c3
+0xb0	U+00a3
+0xb1	U+03ac
+0xb2	U+03ad
+0xb3	U+03ae
+0xb4	U+03ca
+0xb5	U+03af
+0xb6	U+03cc
+0xb7	U+03cd
+0xb8	U+03cb
+0xb9	U+03ce
+0xba	U+03c2
+0xbb	U+03c4
+0xbc	U+03c5
+0xbd	U+03c6
+0xbe	U+03c7
+0xbf	U+03c8
+0xc0	U+007b
+0xc1	U+0041
+0xc2	U+0042
+0xc3	U+0043
+0xc4	U+0044
+0xc5	U+0045
+0xc6	U+0046
+0xc7	U+0047
+0xc8	U+0048
+0xc9	U+0049
+0xca	U+00ad
+0xcb	U+03c9
+0xcc	U+0390
+0xcd	U+03b0
+0xce	U+2018
+0xcf	U+2015
+0xd0	U+007d
+0xd1	U+004a
+0xd2	U+004b
+0xd3	U+004c
+0xd4	U+004d
+0xd5	U+004e
+0xd6	U+004f
+0xd7	U+0050
+0xd8	U+0051
+0xd9	U+0052
+0xda	U+00b1
+0xdb	U+00bd
+0xdc	U+fffd
+0xdd	U+0387
+0xde	U+2019
+0xdf	U+00a6
+0xe0	U+005c
+0xe1	U+fffd
+0xe2	U+0053
+0xe3	U+0054
+0xe4	U+0055
+0xe5	U+0056
+0xe6	U+0057
+0xe7	U+0058
+0xe8	U+0059
+0xe9	U+005a
+0xea	U+00b2
+0xeb	U+00a7
+0xec	U+fffd
+0xed	U+fffd
+0xee	U+00ab
+0xef	U+00ac
+0xf0	U+0030
+0xf1	U+0031
+0xf2	U+0032
+0xf3	U+0033
+0xf4	U+0034
+0xf5	U+0035
+0xf6	U+0036
+0xf7	U+0037
+0xf8	U+0038
+0xf9	U+0039
+0xfa	U+00b3
+0xfb	U+00a9
+0xfc	U+fffd
+0xfd	U+fffd
+0xfe	U+00bb
+0xff	U+009f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/IBM875.nr	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,1 @@
+0x25	U+000a
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/IBM918.c2b	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,1 @@
+0x15	U+0085
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/IBM918.map	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,257 @@
+#Generated from IBM918.java
+0x00	U+0000
+0x01	U+0001
+0x02	U+0002
+0x03	U+0003
+0x04	U+009c
+0x05	U+0009
+0x06	U+0086
+0x07	U+007f
+0x08	U+0097
+0x09	U+008d
+0x0a	U+008e
+0x0b	U+000b
+0x0c	U+000c
+0x0d	U+000d
+0x0e	U+000e
+0x0f	U+000f
+0x10	U+0010
+0x11	U+0011
+0x12	U+0012
+0x13	U+0013
+0x14	U+009d
+0x15	U+000a
+0x16	U+0008
+0x17	U+0087
+0x18	U+0018
+0x19	U+0019
+0x1a	U+0092
+0x1b	U+008f
+0x1c	U+001c
+0x1d	U+001d
+0x1e	U+001e
+0x1f	U+001f
+0x20	U+0080
+0x21	U+0081
+0x22	U+0082
+0x23	U+0083
+0x24	U+0084
+0x25	U+000a
+0x26	U+0017
+0x27	U+001b
+0x28	U+0088
+0x29	U+0089
+0x2a	U+008a
+0x2b	U+008b
+0x2c	U+008c
+0x2d	U+0005
+0x2e	U+0006
+0x2f	U+0007
+0x30	U+0090
+0x31	U+0091
+0x32	U+0016
+0x33	U+0093
+0x34	U+0094
+0x35	U+0095
+0x36	U+0096
+0x37	U+0004
+0x38	U+0098
+0x39	U+0099
+0x3a	U+009a
+0x3b	U+009b
+0x3c	U+0014
+0x3d	U+0015
+0x3e	U+009e
+0x3f	U+001a
+0x40	U+0020
+0x41	U+00a0
+0x42	U+060c
+0x43	U+061b
+0x44	U+061f
+0x45	U+fe81
+0x46	U+fe8d
+0x47	U+fe8e
+0x48	U+f8fb
+0x49	U+fe8f
+0x4a	U+005b
+0x4b	U+002e
+0x4c	U+003c
+0x4d	U+0028
+0x4e	U+002b
+0x4f	U+0021
+0x50	U+0026
+0x51	U+fe91
+0x52	U+fb56
+0x53	U+fb58
+0x54	U+fe93
+0x55	U+fe95
+0x56	U+fe97
+0x57	U+fb66
+0x58	U+fb68
+0x59	U+fe99
+0x5a	U+005d
+0x5b	U+0024
+0x5c	U+002a
+0x5d	U+0029
+0x5e	U+003b
+0x5f	U+005e
+0x60	U+002d
+0x61	U+002f
+0x62	U+fe9b
+0x63	U+fe9d
+0x64	U+fe9f
+0x65	U+fb7a
+0x66	U+fb7c
+0x67	U+fea1
+0x68	U+fea3
+0x69	U+fea5
+0x6a	U+0060
+0x6b	U+002c
+0x6c	U+0025
+0x6d	U+005f
+0x6e	U+003e
+0x6f	U+003f
+0x70	U+06f0
+0x71	U+06f1
+0x72	U+06f2
+0x73	U+06f3
+0x74	U+06f4
+0x75	U+06f5
+0x76	U+06f6
+0x77	U+06f7
+0x78	U+06f8
+0x79	U+06f9
+0x7a	U+003a
+0x7b	U+0023
+0x7c	U+0040
+0x7d	U+0027
+0x7e	U+003d
+0x7f	U+0022
+0x80	U+fea7
+0x81	U+0061
+0x82	U+0062
+0x83	U+0063
+0x84	U+0064
+0x85	U+0065
+0x86	U+0066
+0x87	U+0067
+0x88	U+0068
+0x89	U+0069
+0x8a	U+fea9
+0x8b	U+fb88
+0x8c	U+feab
+0x8d	U+fead
+0x8e	U+fb8c
+0x8f	U+feaf
+0x90	U+fb8a
+0x91	U+006a
+0x92	U+006b
+0x93	U+006c
+0x94	U+006d
+0x95	U+006e
+0x96	U+006f
+0x97	U+0070
+0x98	U+0071
+0x99	U+0072
+0x9a	U+feb1
+0x9b	U+feb3
+0x9c	U+feb5
+0x9d	U+feb7
+0x9e	U+feb9
+0x9f	U+febb
+0xa0	U+febd
+0xa1	U+007e
+0xa2	U+0073
+0xa3	U+0074
+0xa4	U+0075
+0xa5	U+0076
+0xa6	U+0077
+0xa7	U+0078
+0xa8	U+0079
+0xa9	U+007a
+0xaa	U+febf
+0xab	U+fec3
+0xac	U+fec7
+0xad	U+fec9
+0xae	U+feca
+0xaf	U+fecb
+0xb0	U+fecc
+0xb1	U+fecd
+0xb2	U+fece
+0xb3	U+fecf
+0xb4	U+fed0
+0xb5	U+fed1
+0xb6	U+fed3
+0xb7	U+fed5
+0xb8	U+fed7
+0xb9	U+fb8e
+0xba	U+fedb
+0xbb	U+007c
+0xbc	U+fb92
+0xbd	U+fb94
+0xbe	U+fedd
+0xbf	U+fedf
+0xc0	U+007b
+0xc1	U+0041
+0xc2	U+0042
+0xc3	U+0043
+0xc4	U+0044
+0xc5	U+0045
+0xc6	U+0046
+0xc7	U+0047
+0xc8	U+0048
+0xc9	U+0049
+0xca	U+00ad
+0xcb	U+fee0
+0xcc	U+fee1
+0xcd	U+fee3
+0xce	U+fb9e
+0xcf	U+fee5
+0xd0	U+007d
+0xd1	U+004a
+0xd2	U+004b
+0xd3	U+004c
+0xd4	U+004d
+0xd5	U+004e
+0xd6	U+004f
+0xd7	U+0050
+0xd8	U+0051
+0xd9	U+0052
+0xda	U+fee7
+0xdb	U+fe85
+0xdc	U+feed
+0xdd	U+fba6
+0xde	U+fba8
+0xdf	U+fba9
+0xe0	U+005c
+0xe1	U+fbaa
+0xe2	U+0053
+0xe3	U+0054
+0xe4	U+0055
+0xe5	U+0056
+0xe6	U+0057
+0xe7	U+0058
+0xe8	U+0059
+0xe9	U+005a
+0xea	U+fe80
+0xeb	U+fe89
+0xec	U+fe8a
+0xed	U+fe8b
+0xee	U+fbfc
+0xef	U+fbfd
+0xf0	U+0030
+0xf1	U+0031
+0xf2	U+0032
+0xf3	U+0033
+0xf4	U+0034
+0xf5	U+0035
+0xf6	U+0036
+0xf7	U+0037
+0xf8	U+0038
+0xf9	U+0039
+0xfa	U+fbfe
+0xfb	U+fbb0
+0xfc	U+fbae
+0xfd	U+fe7c
+0xfe	U+fe7d
+0xff	U+009f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/IBM918.nr	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,1 @@
+0x25	U+000a
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/IBM921.map	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,257 @@
+#Generated from IBM921.java
+0x00	U+0000
+0x01	U+0001
+0x02	U+0002
+0x03	U+0003
+0x04	U+0004
+0x05	U+0005
+0x06	U+0006
+0x07	U+0007
+0x08	U+0008
+0x09	U+0009
+0x0a	U+000a
+0x0b	U+000b
+0x0c	U+000c
+0x0d	U+000d
+0x0e	U+000e
+0x0f	U+000f
+0x10	U+0010
+0x11	U+0011
+0x12	U+0012
+0x13	U+0013
+0x14	U+0014
+0x15	U+0015
+0x16	U+0016
+0x17	U+0017
+0x18	U+0018
+0x19	U+0019
+0x1a	U+001a
+0x1b	U+001b
+0x1c	U+001c
+0x1d	U+001d
+0x1e	U+001e
+0x1f	U+001f
+0x20	U+0020
+0x21	U+0021
+0x22	U+0022
+0x23	U+0023
+0x24	U+0024
+0x25	U+0025
+0x26	U+0026
+0x27	U+0027
+0x28	U+0028
+0x29	U+0029
+0x2a	U+002a
+0x2b	U+002b
+0x2c	U+002c
+0x2d	U+002d
+0x2e	U+002e
+0x2f	U+002f
+0x30	U+0030
+0x31	U+0031
+0x32	U+0032
+0x33	U+0033
+0x34	U+0034
+0x35	U+0035
+0x36	U+0036
+0x37	U+0037
+0x38	U+0038
+0x39	U+0039
+0x3a	U+003a
+0x3b	U+003b
+0x3c	U+003c
+0x3d	U+003d
+0x3e	U+003e
+0x3f	U+003f
+0x40	U+0040
+0x41	U+0041
+0x42	U+0042
+0x43	U+0043
+0x44	U+0044
+0x45	U+0045
+0x46	U+0046
+0x47	U+0047
+0x48	U+0048
+0x49	U+0049
+0x4a	U+004a
+0x4b	U+004b
+0x4c	U+004c
+0x4d	U+004d
+0x4e	U+004e
+0x4f	U+004f
+0x50	U+0050
+0x51	U+0051
+0x52	U+0052
+0x53	U+0053
+0x54	U+0054
+0x55	U+0055
+0x56	U+0056
+0x57	U+0057
+0x58	U+0058
+0x59	U+0059
+0x5a	U+005a
+0x5b	U+005b
+0x5c	U+005c
+0x5d	U+005d
+0x5e	U+005e
+0x5f	U+005f
+0x60	U+0060
+0x61	U+0061
+0x62	U+0062
+0x63	U+0063
+0x64	U+0064
+0x65	U+0065
+0x66	U+0066
+0x67	U+0067
+0x68	U+0068
+0x69	U+0069
+0x6a	U+006a
+0x6b	U+006b
+0x6c	U+006c
+0x6d	U+006d
+0x6e	U+006e
+0x6f	U+006f
+0x70	U+0070
+0x71	U+0071
+0x72	U+0072
+0x73	U+0073
+0x74	U+0074
+0x75	U+0075
+0x76	U+0076
+0x77	U+0077
+0x78	U+0078
+0x79	U+0079
+0x7a	U+007a
+0x7b	U+007b
+0x7c	U+007c
+0x7d	U+007d
+0x7e	U+007e
+0x7f	U+007f
+0x80	U+0080
+0x81	U+0081
+0x82	U+0082
+0x83	U+0083
+0x84	U+0084
+0x85	U+0085
+0x86	U+0086
+0x87	U+0087
+0x88	U+0088
+0x89	U+0089
+0x8a	U+008a
+0x8b	U+008b
+0x8c	U+008c
+0x8d	U+008d
+0x8e	U+008e
+0x8f	U+008f
+0x90	U+0090
+0x91	U+0091
+0x92	U+0092
+0x93	U+0093
+0x94	U+0094
+0x95	U+0095
+0x96	U+0096
+0x97	U+0097
+0x98	U+0098
+0x99	U+0099
+0x9a	U+009a
+0x9b	U+009b
+0x9c	U+009c
+0x9d	U+009d
+0x9e	U+009e
+0x9f	U+009f
+0xa0	U+00a0
+0xa1	U+201d
+0xa2	U+00a2
+0xa3	U+00a3
+0xa4	U+00a4
+0xa5	U+201e
+0xa6	U+00a6
+0xa7	U+00a7
+0xa8	U+00d8
+0xa9	U+00a9
+0xaa	U+0156
+0xab	U+00ab
+0xac	U+00ac
+0xad	U+00ad
+0xae	U+00ae
+0xaf	U+00c6
+0xb0	U+00b0
+0xb1	U+00b1
+0xb2	U+00b2
+0xb3	U+00b3
+0xb4	U+201c
+0xb5	U+00b5
+0xb6	U+00b6
+0xb7	U+00b7
+0xb8	U+00f8
+0xb9	U+00b9
+0xba	U+0157
+0xbb	U+00bb
+0xbc	U+00bc
+0xbd	U+00bd
+0xbe	U+00be
+0xbf	U+00e6
+0xc0	U+0104
+0xc1	U+012e
+0xc2	U+0100
+0xc3	U+0106
+0xc4	U+00c4
+0xc5	U+00c5
+0xc6	U+0118
+0xc7	U+0112
+0xc8	U+010c
+0xc9	U+00c9
+0xca	U+0179
+0xcb	U+0116
+0xcc	U+0122
+0xcd	U+0136
+0xce	U+012a
+0xcf	U+013b
+0xd0	U+0160
+0xd1	U+0143
+0xd2	U+0145
+0xd3	U+00d3
+0xd4	U+014c
+0xd5	U+00d5
+0xd6	U+00d6
+0xd7	U+00d7
+0xd8	U+0172
+0xd9	U+0141
+0xda	U+015a
+0xdb	U+016a
+0xdc	U+00dc
+0xdd	U+017b
+0xde	U+017d
+0xdf	U+00df
+0xe0	U+0105
+0xe1	U+012f
+0xe2	U+0101
+0xe3	U+0107
+0xe4	U+00e4
+0xe5	U+00e5
+0xe6	U+0119
+0xe7	U+0113
+0xe8	U+010d
+0xe9	U+00e9
+0xea	U+017a
+0xeb	U+0117
+0xec	U+0123
+0xed	U+0137
+0xee	U+012b
+0xef	U+013c
+0xf0	U+0161
+0xf1	U+0144
+0xf2	U+0146
+0xf3	U+00f3
+0xf4	U+014d
+0xf5	U+00f5
+0xf6	U+00f6
+0xf7	U+00f7
+0xf8	U+0173
+0xf9	U+0142
+0xfa	U+015b
+0xfb	U+016b
+0xfc	U+00fc
+0xfd	U+017c
+0xfe	U+017e
+0xff	U+2019
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/IBM922.map	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,257 @@
+#Generated from IBM922.java
+0x00	U+0000
+0x01	U+0001
+0x02	U+0002
+0x03	U+0003
+0x04	U+0004
+0x05	U+0005
+0x06	U+0006
+0x07	U+0007
+0x08	U+0008
+0x09	U+0009
+0x0a	U+000a
+0x0b	U+000b
+0x0c	U+000c
+0x0d	U+000d
+0x0e	U+000e
+0x0f	U+000f
+0x10	U+0010
+0x11	U+0011
+0x12	U+0012
+0x13	U+0013
+0x14	U+0014
+0x15	U+0015
+0x16	U+0016
+0x17	U+0017
+0x18	U+0018
+0x19	U+0019
+0x1a	U+001a
+0x1b	U+001b
+0x1c	U+001c
+0x1d	U+001d
+0x1e	U+001e
+0x1f	U+001f
+0x20	U+0020
+0x21	U+0021
+0x22	U+0022
+0x23	U+0023
+0x24	U+0024
+0x25	U+0025
+0x26	U+0026
+0x27	U+0027
+0x28	U+0028
+0x29	U+0029
+0x2a	U+002a
+0x2b	U+002b
+0x2c	U+002c
+0x2d	U+002d
+0x2e	U+002e
+0x2f	U+002f
+0x30	U+0030
+0x31	U+0031
+0x32	U+0032
+0x33	U+0033
+0x34	U+0034
+0x35	U+0035
+0x36	U+0036
+0x37	U+0037
+0x38	U+0038
+0x39	U+0039
+0x3a	U+003a
+0x3b	U+003b
+0x3c	U+003c
+0x3d	U+003d
+0x3e	U+003e
+0x3f	U+003f
+0x40	U+0040
+0x41	U+0041
+0x42	U+0042
+0x43	U+0043
+0x44	U+0044
+0x45	U+0045
+0x46	U+0046
+0x47	U+0047
+0x48	U+0048
+0x49	U+0049
+0x4a	U+004a
+0x4b	U+004b
+0x4c	U+004c
+0x4d	U+004d
+0x4e	U+004e
+0x4f	U+004f
+0x50	U+0050
+0x51	U+0051
+0x52	U+0052
+0x53	U+0053
+0x54	U+0054
+0x55	U+0055
+0x56	U+0056
+0x57	U+0057
+0x58	U+0058
+0x59	U+0059
+0x5a	U+005a
+0x5b	U+005b
+0x5c	U+005c
+0x5d	U+005d
+0x5e	U+005e
+0x5f	U+005f
+0x60	U+0060
+0x61	U+0061
+0x62	U+0062
+0x63	U+0063
+0x64	U+0064
+0x65	U+0065
+0x66	U+0066
+0x67	U+0067
+0x68	U+0068
+0x69	U+0069
+0x6a	U+006a
+0x6b	U+006b
+0x6c	U+006c
+0x6d	U+006d
+0x6e	U+006e
+0x6f	U+006f
+0x70	U+0070
+0x71	U+0071
+0x72	U+0072
+0x73	U+0073
+0x74	U+0074
+0x75	U+0075
+0x76	U+0076
+0x77	U+0077
+0x78	U+0078
+0x79	U+0079
+0x7a	U+007a
+0x7b	U+007b
+0x7c	U+007c
+0x7d	U+007d
+0x7e	U+007e
+0x7f	U+007f
+0x80	U+0080
+0x81	U+0081
+0x82	U+0082
+0x83	U+0083
+0x84	U+0084
+0x85	U+0085
+0x86	U+0086
+0x87	U+0087
+0x88	U+0088
+0x89	U+0089
+0x8a	U+008a
+0x8b	U+008b
+0x8c	U+008c
+0x8d	U+008d
+0x8e	U+008e
+0x8f	U+008f
+0x90	U+0090
+0x91	U+0091
+0x92	U+0092
+0x93	U+0093
+0x94	U+0094
+0x95	U+0095
+0x96	U+0096
+0x97	U+0097
+0x98	U+0098
+0x99	U+0099
+0x9a	U+009a
+0x9b	U+009b
+0x9c	U+009c
+0x9d	U+009d
+0x9e	U+009e
+0x9f	U+009f
+0xa0	U+00a0
+0xa1	U+00a1
+0xa2	U+00a2
+0xa3	U+00a3
+0xa4	U+00a4
+0xa5	U+00a5
+0xa6	U+00a6
+0xa7	U+00a7
+0xa8	U+00a8
+0xa9	U+00a9
+0xaa	U+00aa
+0xab	U+00ab
+0xac	U+00ac
+0xad	U+00ad
+0xae	U+00ae
+0xaf	U+203e
+0xb0	U+00b0
+0xb1	U+00b1
+0xb2	U+00b2
+0xb3	U+00b3
+0xb4	U+00b4
+0xb5	U+00b5
+0xb6	U+00b6
+0xb7	U+00b7
+0xb8	U+00b8
+0xb9	U+00b9
+0xba	U+00ba
+0xbb	U+00bb
+0xbc	U+00bc
+0xbd	U+00bd
+0xbe	U+00be
+0xbf	U+00bf
+0xc0	U+00c0
+0xc1	U+00c1
+0xc2	U+00c2
+0xc3	U+00c3
+0xc4	U+00c4
+0xc5	U+00c5
+0xc6	U+00c6
+0xc7	U+00c7
+0xc8	U+00c8
+0xc9	U+00c9
+0xca	U+00ca
+0xcb	U+00cb
+0xcc	U+00cc
+0xcd	U+00cd
+0xce	U+00ce
+0xcf	U+00cf
+0xd0	U+0160
+0xd1	U+00d1
+0xd2	U+00d2
+0xd3	U+00d3
+0xd4	U+00d4
+0xd5	U+00d5
+0xd6	U+00d6
+0xd7	U+00d7
+0xd8	U+00d8
+0xd9	U+00d9
+0xda	U+00da
+0xdb	U+00db
+0xdc	U+00dc
+0xdd	U+00dd
+0xde	U+017d
+0xdf	U+00df
+0xe0	U+00e0
+0xe1	U+00e1
+0xe2	U+00e2
+0xe3	U+00e3
+0xe4	U+00e4
+0xe5	U+00e5
+0xe6	U+00e6
+0xe7	U+00e7
+0xe8	U+00e8
+0xe9	U+00e9
+0xea	U+00ea
+0xeb	U+00eb
+0xec	U+00ec
+0xed	U+00ed
+0xee	U+00ee
+0xef	U+00ef
+0xf0	U+0161
+0xf1	U+00f1
+0xf2	U+00f2
+0xf3	U+00f3
+0xf4	U+00f4
+0xf5	U+00f5
+0xf6	U+00f6
+0xf7	U+00f7
+0xf8	U+00f8
+0xf9	U+00f9
+0xfa	U+00fa
+0xfb	U+00fb
+0xfc	U+00fc
+0xfd	U+00fd
+0xfe	U+017e
+0xff	U+00ff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/ISO_8859_11.map	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,257 @@
+#Generated from ISO_8859_11.java
+0x00	U+0000
+0x01	U+0001
+0x02	U+0002
+0x03	U+0003
+0x04	U+0004
+0x05	U+0005
+0x06	U+0006
+0x07	U+0007
+0x08	U+0008
+0x09	U+0009
+0x0a	U+000a
+0x0b	U+000b
+0x0c	U+000c
+0x0d	U+000d
+0x0e	U+000e
+0x0f	U+000f
+0x10	U+0010
+0x11	U+0011
+0x12	U+0012
+0x13	U+0013
+0x14	U+0014
+0x15	U+0015
+0x16	U+0016
+0x17	U+0017
+0x18	U+0018
+0x19	U+0019
+0x1a	U+001a
+0x1b	U+001b
+0x1c	U+001c
+0x1d	U+001d
+0x1e	U+001e
+0x1f	U+001f
+0x20	U+0020
+0x21	U+0021
+0x22	U+0022
+0x23	U+0023
+0x24	U+0024
+0x25	U+0025
+0x26	U+0026
+0x27	U+0027
+0x28	U+0028
+0x29	U+0029
+0x2a	U+002a
+0x2b	U+002b
+0x2c	U+002c
+0x2d	U+002d
+0x2e	U+002e
+0x2f	U+002f
+0x30	U+0030
+0x31	U+0031
+0x32	U+0032
+0x33	U+0033
+0x34	U+0034
+0x35	U+0035
+0x36	U+0036
+0x37	U+0037
+0x38	U+0038
+0x39	U+0039
+0x3a	U+003a
+0x3b	U+003b
+0x3c	U+003c
+0x3d	U+003d
+0x3e	U+003e
+0x3f	U+003f
+0x40	U+0040
+0x41	U+0041
+0x42	U+0042
+0x43	U+0043
+0x44	U+0044
+0x45	U+0045
+0x46	U+0046
+0x47	U+0047
+0x48	U+0048
+0x49	U+0049
+0x4a	U+004a
+0x4b	U+004b
+0x4c	U+004c
+0x4d	U+004d
+0x4e	U+004e
+0x4f	U+004f
+0x50	U+0050
+0x51	U+0051
+0x52	U+0052
+0x53	U+0053
+0x54	U+0054
+0x55	U+0055
+0x56	U+0056
+0x57	U+0057
+0x58	U+0058
+0x59	U+0059
+0x5a	U+005a
+0x5b	U+005b
+0x5c	U+005c
+0x5d	U+005d
+0x5e	U+005e
+0x5f	U+005f
+0x60	U+0060
+0x61	U+0061
+0x62	U+0062
+0x63	U+0063
+0x64	U+0064
+0x65	U+0065
+0x66	U+0066
+0x67	U+0067
+0x68	U+0068
+0x69	U+0069
+0x6a	U+006a
+0x6b	U+006b
+0x6c	U+006c
+0x6d	U+006d
+0x6e	U+006e
+0x6f	U+006f
+0x70	U+0070
+0x71	U+0071
+0x72	U+0072
+0x73	U+0073
+0x74	U+0074
+0x75	U+0075
+0x76	U+0076
+0x77	U+0077
+0x78	U+0078
+0x79	U+0079
+0x7a	U+007a
+0x7b	U+007b
+0x7c	U+007c
+0x7d	U+007d
+0x7e	U+007e
+0x7f	U+007f
+0x80	U+0080
+0x81	U+0081
+0x82	U+0082
+0x83	U+0083
+0x84	U+0084
+0x85	U+0085
+0x86	U+0086
+0x87	U+0087
+0x88	U+0088
+0x89	U+0089
+0x8a	U+008a
+0x8b	U+008b
+0x8c	U+008c
+0x8d	U+008d
+0x8e	U+008e
+0x8f	U+008f
+0x90	U+0090
+0x91	U+0091
+0x92	U+0092
+0x93	U+0093
+0x94	U+0094
+0x95	U+0095
+0x96	U+0096
+0x97	U+0097
+0x98	U+0098
+0x99	U+0099
+0x9a	U+009a
+0x9b	U+009b
+0x9c	U+009c
+0x9d	U+009d
+0x9e	U+009e
+0x9f	U+009f
+0xa0	U+00a0
+0xa1	U+0e01
+0xa2	U+0e02
+0xa3	U+0e03
+0xa4	U+0e04
+0xa5	U+0e05
+0xa6	U+0e06
+0xa7	U+0e07
+0xa8	U+0e08
+0xa9	U+0e09
+0xaa	U+0e0a
+0xab	U+0e0b
+0xac	U+0e0c
+0xad	U+0e0d
+0xae	U+0e0e
+0xaf	U+0e0f
+0xb0	U+0e10
+0xb1	U+0e11
+0xb2	U+0e12
+0xb3	U+0e13
+0xb4	U+0e14
+0xb5	U+0e15
+0xb6	U+0e16
+0xb7	U+0e17
+0xb8	U+0e18
+0xb9	U+0e19
+0xba	U+0e1a
+0xbb	U+0e1b
+0xbc	U+0e1c
+0xbd	U+0e1d
+0xbe	U+0e1e
+0xbf	U+0e1f
+0xc0	U+0e20
+0xc1	U+0e21
+0xc2	U+0e22
+0xc3	U+0e23
+0xc4	U+0e24
+0xc5	U+0e25
+0xc6	U+0e26
+0xc7	U+0e27
+0xc8	U+0e28
+0xc9	U+0e29
+0xca	U+0e2a
+0xcb	U+0e2b
+0xcc	U+0e2c
+0xcd	U+0e2d
+0xce	U+0e2e
+0xcf	U+0e2f
+0xd0	U+0e30
+0xd1	U+0e31
+0xd2	U+0e32
+0xd3	U+0e33
+0xd4	U+0e34
+0xd5	U+0e35
+0xd6	U+0e36
+0xd7	U+0e37
+0xd8	U+0e38
+0xd9	U+0e39
+0xda	U+0e3a
+0xdb	U+fffd
+0xdc	U+fffd
+0xdd	U+fffd
+0xde	U+fffd
+0xdf	U+0e3f
+0xe0	U+0e40
+0xe1	U+0e41
+0xe2	U+0e42
+0xe3	U+0e43
+0xe4	U+0e44
+0xe5	U+0e45
+0xe6	U+0e46
+0xe7	U+0e47
+0xe8	U+0e48
+0xe9	U+0e49
+0xea	U+0e4a
+0xeb	U+0e4b
+0xec	U+0e4c
+0xed	U+0e4d
+0xee	U+0e4e
+0xef	U+0e4f
+0xf0	U+0e50
+0xf1	U+0e51
+0xf2	U+0e52
+0xf3	U+0e53
+0xf4	U+0e54
+0xf5	U+0e55
+0xf6	U+0e56
+0xf7	U+0e57
+0xf8	U+0e58
+0xf9	U+0e59
+0xfa	U+0e5a
+0xfb	U+0e5b
+0xfc	U+fffd
+0xfd	U+fffd
+0xfe	U+fffd
+0xff	U+fffd
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/ISO_8859_13.map	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,257 @@
+#Generated from ISO_8859_13.java
+0x00	U+0000
+0x01	U+0001
+0x02	U+0002
+0x03	U+0003
+0x04	U+0004
+0x05	U+0005
+0x06	U+0006
+0x07	U+0007
+0x08	U+0008
+0x09	U+0009
+0x0a	U+000a
+0x0b	U+000b
+0x0c	U+000c
+0x0d	U+000d
+0x0e	U+000e
+0x0f	U+000f
+0x10	U+0010
+0x11	U+0011
+0x12	U+0012
+0x13	U+0013
+0x14	U+0014
+0x15	U+0015
+0x16	U+0016
+0x17	U+0017
+0x18	U+0018
+0x19	U+0019
+0x1a	U+001a
+0x1b	U+001b
+0x1c	U+001c
+0x1d	U+001d
+0x1e	U+001e
+0x1f	U+001f
+0x20	U+0020
+0x21	U+0021
+0x22	U+0022
+0x23	U+0023
+0x24	U+0024
+0x25	U+0025
+0x26	U+0026
+0x27	U+0027
+0x28	U+0028
+0x29	U+0029
+0x2a	U+002a
+0x2b	U+002b
+0x2c	U+002c
+0x2d	U+002d
+0x2e	U+002e
+0x2f	U+002f
+0x30	U+0030
+0x31	U+0031
+0x32	U+0032
+0x33	U+0033
+0x34	U+0034
+0x35	U+0035
+0x36	U+0036
+0x37	U+0037
+0x38	U+0038
+0x39	U+0039
+0x3a	U+003a
+0x3b	U+003b
+0x3c	U+003c
+0x3d	U+003d
+0x3e	U+003e
+0x3f	U+003f
+0x40	U+0040
+0x41	U+0041
+0x42	U+0042
+0x43	U+0043
+0x44	U+0044
+0x45	U+0045
+0x46	U+0046
+0x47	U+0047
+0x48	U+0048
+0x49	U+0049
+0x4a	U+004a
+0x4b	U+004b
+0x4c	U+004c
+0x4d	U+004d
+0x4e	U+004e
+0x4f	U+004f
+0x50	U+0050
+0x51	U+0051
+0x52	U+0052
+0x53	U+0053
+0x54	U+0054
+0x55	U+0055
+0x56	U+0056
+0x57	U+0057
+0x58	U+0058
+0x59	U+0059
+0x5a	U+005a
+0x5b	U+005b
+0x5c	U+005c
+0x5d	U+005d
+0x5e	U+005e
+0x5f	U+005f
+0x60	U+0060
+0x61	U+0061
+0x62	U+0062
+0x63	U+0063
+0x64	U+0064
+0x65	U+0065
+0x66	U+0066
+0x67	U+0067
+0x68	U+0068
+0x69	U+0069
+0x6a	U+006a
+0x6b	U+006b
+0x6c	U+006c
+0x6d	U+006d
+0x6e	U+006e
+0x6f	U+006f
+0x70	U+0070
+0x71	U+0071
+0x72	U+0072
+0x73	U+0073
+0x74	U+0074
+0x75	U+0075
+0x76	U+0076
+0x77	U+0077
+0x78	U+0078
+0x79	U+0079
+0x7a	U+007a
+0x7b	U+007b
+0x7c	U+007c
+0x7d	U+007d
+0x7e	U+007e
+0x7f	U+007f
+0x80	U+0080
+0x81	U+0081
+0x82	U+0082
+0x83	U+0083
+0x84	U+0084
+0x85	U+0085
+0x86	U+0086
+0x87	U+0087
+0x88	U+0088
+0x89	U+0089
+0x8a	U+008a
+0x8b	U+008b
+0x8c	U+008c
+0x8d	U+008d
+0x8e	U+008e
+0x8f	U+008f
+0x90	U+0090
+0x91	U+0091
+0x92	U+0092
+0x93	U+0093
+0x94	U+0094
+0x95	U+0095
+0x96	U+0096
+0x97	U+0097
+0x98	U+0098
+0x99	U+0099
+0x9a	U+009a
+0x9b	U+009b
+0x9c	U+009c
+0x9d	U+009d
+0x9e	U+009e
+0x9f	U+009f
+0xa0	U+00a0
+0xa1	U+201d
+0xa2	U+00a2
+0xa3	U+00a3
+0xa4	U+00a4
+0xa5	U+201e
+0xa6	U+00a6
+0xa7	U+00a7
+0xa8	U+00d8
+0xa9	U+00a9
+0xaa	U+0156
+0xab	U+00ab
+0xac	U+00ac
+0xad	U+00ad
+0xae	U+00ae
+0xaf	U+00c6
+0xb0	U+00b0
+0xb1	U+00b1
+0xb2	U+00b2
+0xb3	U+00b3
+0xb4	U+201c
+0xb5	U+00b5
+0xb6	U+00b6
+0xb7	U+00b7
+0xb8	U+00f8
+0xb9	U+00b9
+0xba	U+0157
+0xbb	U+00bb
+0xbc	U+00bc
+0xbd	U+00bd
+0xbe	U+00be
+0xbf	U+00e6
+0xc0	U+0104
+0xc1	U+012e
+0xc2	U+0100
+0xc3	U+0106
+0xc4	U+00c4
+0xc5	U+00c5
+0xc6	U+0118
+0xc7	U+0112
+0xc8	U+010c
+0xc9	U+00c9
+0xca	U+0179
+0xcb	U+0116
+0xcc	U+0122
+0xcd	U+0136
+0xce	U+012a
+0xcf	U+013b
+0xd0	U+0160
+0xd1	U+0143
+0xd2	U+0145
+0xd3	U+00d3
+0xd4	U+014c
+0xd5	U+00d5
+0xd6	U+00d6
+0xd7	U+00d7
+0xd8	U+0172
+0xd9	U+0141
+0xda	U+015a
+0xdb	U+016a
+0xdc	U+00dc
+0xdd	U+017b
+0xde	U+017d
+0xdf	U+00df
+0xe0	U+0105
+0xe1	U+012f
+0xe2	U+0101
+0xe3	U+0107
+0xe4	U+00e4
+0xe5	U+00e5
+0xe6	U+0119
+0xe7	U+0113
+0xe8	U+010d
+0xe9	U+00e9
+0xea	U+017a
+0xeb	U+0117
+0xec	U+0123
+0xed	U+0137
+0xee	U+012b
+0xef	U+013c
+0xf0	U+0161
+0xf1	U+0144
+0xf2	U+0146
+0xf3	U+00f3
+0xf4	U+014d
+0xf5	U+00f5
+0xf6	U+00f6
+0xf7	U+00f7
+0xf8	U+0173
+0xf9	U+0142
+0xfa	U+015b
+0xfb	U+016b
+0xfc	U+00fc
+0xfd	U+017c
+0xfe	U+017e
+0xff	U+2019
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/ISO_8859_15.map	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,257 @@
+#Generated from ISO_8859_15.java
+0x00	U+0000
+0x01	U+0001
+0x02	U+0002
+0x03	U+0003
+0x04	U+0004
+0x05	U+0005
+0x06	U+0006
+0x07	U+0007
+0x08	U+0008
+0x09	U+0009
+0x0a	U+000a
+0x0b	U+000b
+0x0c	U+000c
+0x0d	U+000d
+0x0e	U+000e
+0x0f	U+000f
+0x10	U+0010
+0x11	U+0011
+0x12	U+0012
+0x13	U+0013
+0x14	U+0014
+0x15	U+0015
+0x16	U+0016
+0x17	U+0017
+0x18	U+0018
+0x19	U+0019
+0x1a	U+001a
+0x1b	U+001b
+0x1c	U+001c
+0x1d	U+001d
+0x1e	U+001e
+0x1f	U+001f
+0x20	U+0020
+0x21	U+0021
+0x22	U+0022
+0x23	U+0023
+0x24	U+0024
+0x25	U+0025
+0x26	U+0026
+0x27	U+0027
+0x28	U+0028
+0x29	U+0029
+0x2a	U+002a
+0x2b	U+002b
+0x2c	U+002c
+0x2d	U+002d
+0x2e	U+002e
+0x2f	U+002f
+0x30	U+0030
+0x31	U+0031
+0x32	U+0032
+0x33	U+0033
+0x34	U+0034
+0x35	U+0035
+0x36	U+0036
+0x37	U+0037
+0x38	U+0038
+0x39	U+0039
+0x3a	U+003a
+0x3b	U+003b
+0x3c	U+003c
+0x3d	U+003d
+0x3e	U+003e
+0x3f	U+003f
+0x40	U+0040
+0x41	U+0041
+0x42	U+0042
+0x43	U+0043
+0x44	U+0044
+0x45	U+0045
+0x46	U+0046
+0x47	U+0047
+0x48	U+0048
+0x49	U+0049
+0x4a	U+004a
+0x4b	U+004b
+0x4c	U+004c
+0x4d	U+004d
+0x4e	U+004e
+0x4f	U+004f
+0x50	U+0050
+0x51	U+0051
+0x52	U+0052
+0x53	U+0053
+0x54	U+0054
+0x55	U+0055
+0x56	U+0056
+0x57	U+0057
+0x58	U+0058
+0x59	U+0059
+0x5a	U+005a
+0x5b	U+005b
+0x5c	U+005c
+0x5d	U+005d
+0x5e	U+005e
+0x5f	U+005f
+0x60	U+0060
+0x61	U+0061
+0x62	U+0062
+0x63	U+0063
+0x64	U+0064
+0x65	U+0065
+0x66	U+0066
+0x67	U+0067
+0x68	U+0068
+0x69	U+0069
+0x6a	U+006a
+0x6b	U+006b
+0x6c	U+006c
+0x6d	U+006d
+0x6e	U+006e
+0x6f	U+006f
+0x70	U+0070
+0x71	U+0071
+0x72	U+0072
+0x73	U+0073
+0x74	U+0074
+0x75	U+0075
+0x76	U+0076
+0x77	U+0077
+0x78	U+0078
+0x79	U+0079
+0x7a	U+007a
+0x7b	U+007b
+0x7c	U+007c
+0x7d	U+007d
+0x7e	U+007e
+0x7f	U+007f
+0x80	U+0080
+0x81	U+0081
+0x82	U+0082
+0x83	U+0083
+0x84	U+0084
+0x85	U+0085
+0x86	U+0086
+0x87	U+0087
+0x88	U+0088
+0x89	U+0089
+0x8a	U+008a
+0x8b	U+008b
+0x8c	U+008c
+0x8d	U+008d
+0x8e	U+008e
+0x8f	U+008f
+0x90	U+0090
+0x91	U+0091
+0x92	U+0092
+0x93	U+0093
+0x94	U+0094
+0x95	U+0095
+0x96	U+0096
+0x97	U+0097
+0x98	U+0098
+0x99	U+0099
+0x9a	U+009a
+0x9b	U+009b
+0x9c	U+009c
+0x9d	U+009d
+0x9e	U+009e
+0x9f	U+009f
+0xa0	U+00a0
+0xa1	U+00a1
+0xa2	U+00a2
+0xa3	U+00a3
+0xa4	U+20ac
+0xa5	U+00a5
+0xa6	U+0160
+0xa7	U+00a7
+0xa8	U+0161
+0xa9	U+00a9
+0xaa	U+00aa
+0xab	U+00ab
+0xac	U+00ac
+0xad	U+00ad
+0xae	U+00ae
+0xaf	U+00af
+0xb0	U+00b0
+0xb1	U+00b1
+0xb2	U+00b2
+0xb3	U+00b3
+0xb4	U+017d
+0xb5	U+00b5
+0xb6	U+00b6
+0xb7	U+00b7
+0xb8	U+017e
+0xb9	U+00b9
+0xba	U+00ba
+0xbb	U+00bb
+0xbc	U+0152
+0xbd	U+0153
+0xbe	U+0178
+0xbf	U+00bf
+0xc0	U+00c0
+0xc1	U+00c1
+0xc2	U+00c2
+0xc3	U+00c3
+0xc4	U+00c4
+0xc5	U+00c5
+0xc6	U+00c6
+0xc7	U+00c7
+0xc8	U+00c8
+0xc9	U+00c9
+0xca	U+00ca
+0xcb	U+00cb
+0xcc	U+00cc
+0xcd	U+00cd
+0xce	U+00ce
+0xcf	U+00cf
+0xd0	U+00d0
+0xd1	U+00d1
+0xd2	U+00d2
+0xd3	U+00d3
+0xd4	U+00d4
+0xd5	U+00d5
+0xd6	U+00d6
+0xd7	U+00d7
+0xd8	U+00d8
+0xd9	U+00d9
+0xda	U+00da
+0xdb	U+00db
+0xdc	U+00dc
+0xdd	U+00dd
+0xde	U+00de
+0xdf	U+00df
+0xe0	U+00e0
+0xe1	U+00e1
+0xe2	U+00e2
+0xe3	U+00e3
+0xe4	U+00e4
+0xe5	U+00e5
+0xe6	U+00e6
+0xe7	U+00e7
+0xe8	U+00e8
+0xe9	U+00e9
+0xea	U+00ea
+0xeb	U+00eb
+0xec	U+00ec
+0xed	U+00ed
+0xee	U+00ee
+0xef	U+00ef
+0xf0	U+00f0
+0xf1	U+00f1
+0xf2	U+00f2
+0xf3	U+00f3
+0xf4	U+00f4
+0xf5	U+00f5
+0xf6	U+00f6
+0xf7	U+00f7
+0xf8	U+00f8
+0xf9	U+00f9
+0xfa	U+00fa
+0xfb	U+00fb
+0xfc	U+00fc
+0xfd	U+00fd
+0xfe	U+00fe
+0xff	U+00ff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/ISO_8859_2.map	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,257 @@
+#Generated from ISO_8859_2.java
+0x00	U+0000
+0x01	U+0001
+0x02	U+0002
+0x03	U+0003
+0x04	U+0004
+0x05	U+0005
+0x06	U+0006
+0x07	U+0007
+0x08	U+0008
+0x09	U+0009
+0x0a	U+000a
+0x0b	U+000b
+0x0c	U+000c
+0x0d	U+000d
+0x0e	U+000e
+0x0f	U+000f
+0x10	U+0010
+0x11	U+0011
+0x12	U+0012
+0x13	U+0013
+0x14	U+0014
+0x15	U+0015
+0x16	U+0016
+0x17	U+0017
+0x18	U+0018
+0x19	U+0019
+0x1a	U+001a
+0x1b	U+001b
+0x1c	U+001c
+0x1d	U+001d
+0x1e	U+001e
+0x1f	U+001f
+0x20	U+0020
+0x21	U+0021
+0x22	U+0022
+0x23	U+0023
+0x24	U+0024
+0x25	U+0025
+0x26	U+0026
+0x27	U+0027
+0x28	U+0028
+0x29	U+0029
+0x2a	U+002a
+0x2b	U+002b
+0x2c	U+002c
+0x2d	U+002d
+0x2e	U+002e
+0x2f	U+002f
+0x30	U+0030
+0x31	U+0031
+0x32	U+0032
+0x33	U+0033
+0x34	U+0034
+0x35	U+0035
+0x36	U+0036
+0x37	U+0037
+0x38	U+0038
+0x39	U+0039
+0x3a	U+003a
+0x3b	U+003b
+0x3c	U+003c
+0x3d	U+003d
+0x3e	U+003e
+0x3f	U+003f
+0x40	U+0040
+0x41	U+0041
+0x42	U+0042
+0x43	U+0043
+0x44	U+0044
+0x45	U+0045
+0x46	U+0046
+0x47	U+0047
+0x48	U+0048
+0x49	U+0049
+0x4a	U+004a
+0x4b	U+004b
+0x4c	U+004c
+0x4d	U+004d
+0x4e	U+004e
+0x4f	U+004f
+0x50	U+0050
+0x51	U+0051
+0x52	U+0052
+0x53	U+0053
+0x54	U+0054
+0x55	U+0055
+0x56	U+0056
+0x57	U+0057
+0x58	U+0058
+0x59	U+0059
+0x5a	U+005a
+0x5b	U+005b
+0x5c	U+005c
+0x5d	U+005d
+0x5e	U+005e
+0x5f	U+005f
+0x60	U+0060
+0x61	U+0061
+0x62	U+0062
+0x63	U+0063
+0x64	U+0064
+0x65	U+0065
+0x66	U+0066
+0x67	U+0067
+0x68	U+0068
+0x69	U+0069
+0x6a	U+006a
+0x6b	U+006b
+0x6c	U+006c
+0x6d	U+006d
+0x6e	U+006e
+0x6f	U+006f
+0x70	U+0070
+0x71	U+0071
+0x72	U+0072
+0x73	U+0073
+0x74	U+0074
+0x75	U+0075
+0x76	U+0076
+0x77	U+0077
+0x78	U+0078
+0x79	U+0079
+0x7a	U+007a
+0x7b	U+007b
+0x7c	U+007c
+0x7d	U+007d
+0x7e	U+007e
+0x7f	U+007f
+0x80	U+0080
+0x81	U+0081
+0x82	U+0082
+0x83	U+0083
+0x84	U+0084
+0x85	U+0085
+0x86	U+0086
+0x87	U+0087
+0x88	U+0088
+0x89	U+0089
+0x8a	U+008a
+0x8b	U+008b
+0x8c	U+008c
+0x8d	U+008d
+0x8e	U+008e
+0x8f	U+008f
+0x90	U+0090
+0x91	U+0091
+0x92	U+0092
+0x93	U+0093
+0x94	U+0094
+0x95	U+0095
+0x96	U+0096
+0x97	U+0097
+0x98	U+0098
+0x99	U+0099
+0x9a	U+009a
+0x9b	U+009b
+0x9c	U+009c
+0x9d	U+009d
+0x9e	U+009e
+0x9f	U+009f
+0xa0	U+00a0
+0xa1	U+0104
+0xa2	U+02d8
+0xa3	U+0141
+0xa4	U+00a4
+0xa5	U+013d
+0xa6	U+015a
+0xa7	U+00a7
+0xa8	U+00a8
+0xa9	U+0160
+0xaa	U+015e
+0xab	U+0164
+0xac	U+0179
+0xad	U+00ad
+0xae	U+017d
+0xaf	U+017b
+0xb0	U+00b0
+0xb1	U+0105
+0xb2	U+02db
+0xb3	U+0142
+0xb4	U+00b4
+0xb5	U+013e
+0xb6	U+015b
+0xb7	U+02c7
+0xb8	U+00b8
+0xb9	U+0161
+0xba	U+015f
+0xbb	U+0165
+0xbc	U+017a
+0xbd	U+02dd
+0xbe	U+017e
+0xbf	U+017c
+0xc0	U+0154
+0xc1	U+00c1
+0xc2	U+00c2
+0xc3	U+0102
+0xc4	U+00c4
+0xc5	U+0139
+0xc6	U+0106
+0xc7	U+00c7
+0xc8	U+010c
+0xc9	U+00c9
+0xca	U+0118
+0xcb	U+00cb
+0xcc	U+011a
+0xcd	U+00cd
+0xce	U+00ce
+0xcf	U+010e
+0xd0	U+0110
+0xd1	U+0143
+0xd2	U+0147
+0xd3	U+00d3
+0xd4	U+00d4
+0xd5	U+0150
+0xd6	U+00d6
+0xd7	U+00d7
+0xd8	U+0158
+0xd9	U+016e
+0xda	U+00da
+0xdb	U+0170
+0xdc	U+00dc
+0xdd	U+00dd
+0xde	U+0162
+0xdf	U+00df
+0xe0	U+0155
+0xe1	U+00e1
+0xe2	U+00e2
+0xe3	U+0103
+0xe4	U+00e4
+0xe5	U+013a
+0xe6	U+0107
+0xe7	U+00e7
+0xe8	U+010d
+0xe9	U+00e9
+0xea	U+0119
+0xeb	U+00eb
+0xec	U+011b
+0xed	U+00ed
+0xee	U+00ee
+0xef	U+010f
+0xf0	U+0111
+0xf1	U+0144
+0xf2	U+0148
+0xf3	U+00f3
+0xf4	U+00f4
+0xf5	U+0151
+0xf6	U+00f6
+0xf7	U+00f7
+0xf8	U+0159
+0xf9	U+016f
+0xfa	U+00fa
+0xfb	U+0171
+0xfc	U+00fc
+0xfd	U+00fd
+0xfe	U+0163
+0xff	U+02d9
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/ISO_8859_3.map	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,257 @@
+#Generated from ISO_8859_3.java
+0x00	U+0000
+0x01	U+0001
+0x02	U+0002
+0x03	U+0003
+0x04	U+0004
+0x05	U+0005
+0x06	U+0006
+0x07	U+0007
+0x08	U+0008
+0x09	U+0009
+0x0a	U+000a
+0x0b	U+000b
+0x0c	U+000c
+0x0d	U+000d
+0x0e	U+000e
+0x0f	U+000f
+0x10	U+0010
+0x11	U+0011
+0x12	U+0012
+0x13	U+0013
+0x14	U+0014
+0x15	U+0015
+0x16	U+0016
+0x17	U+0017
+0x18	U+0018
+0x19	U+0019
+0x1a	U+001a
+0x1b	U+001b
+0x1c	U+001c
+0x1d	U+001d
+0x1e	U+001e
+0x1f	U+001f
+0x20	U+0020
+0x21	U+0021
+0x22	U+0022
+0x23	U+0023
+0x24	U+0024
+0x25	U+0025
+0x26	U+0026
+0x27	U+0027
+0x28	U+0028
+0x29	U+0029
+0x2a	U+002a
+0x2b	U+002b
+0x2c	U+002c
+0x2d	U+002d
+0x2e	U+002e
+0x2f	U+002f
+0x30	U+0030
+0x31	U+0031
+0x32	U+0032
+0x33	U+0033
+0x34	U+0034
+0x35	U+0035
+0x36	U+0036
+0x37	U+0037
+0x38	U+0038
+0x39	U+0039
+0x3a	U+003a
+0x3b	U+003b
+0x3c	U+003c
+0x3d	U+003d
+0x3e	U+003e
+0x3f	U+003f
+0x40	U+0040
+0x41	U+0041
+0x42	U+0042
+0x43	U+0043
+0x44	U+0044
+0x45	U+0045
+0x46	U+0046
+0x47	U+0047
+0x48	U+0048
+0x49	U+0049
+0x4a	U+004a
+0x4b	U+004b
+0x4c	U+004c
+0x4d	U+004d
+0x4e	U+004e
+0x4f	U+004f
+0x50	U+0050
+0x51	U+0051
+0x52	U+0052
+0x53	U+0053
+0x54	U+0054
+0x55	U+0055
+0x56	U+0056
+0x57	U+0057
+0x58	U+0058
+0x59	U+0059
+0x5a	U+005a
+0x5b	U+005b
+0x5c	U+005c
+0x5d	U+005d
+0x5e	U+005e
+0x5f	U+005f
+0x60	U+0060
+0x61	U+0061
+0x62	U+0062
+0x63	U+0063
+0x64	U+0064
+0x65	U+0065
+0x66	U+0066
+0x67	U+0067
+0x68	U+0068
+0x69	U+0069
+0x6a	U+006a
+0x6b	U+006b
+0x6c	U+006c
+0x6d	U+006d
+0x6e	U+006e
+0x6f	U+006f
+0x70	U+0070
+0x71	U+0071
+0x72	U+0072
+0x73	U+0073
+0x74	U+0074
+0x75	U+0075
+0x76	U+0076
+0x77	U+0077
+0x78	U+0078
+0x79	U+0079
+0x7a	U+007a
+0x7b	U+007b
+0x7c	U+007c
+0x7d	U+007d
+0x7e	U+007e
+0x7f	U+007f
+0x80	U+0080
+0x81	U+0081
+0x82	U+0082
+0x83	U+0083
+0x84	U+0084
+0x85	U+0085
+0x86	U+0086
+0x87	U+0087
+0x88	U+0088
+0x89	U+0089
+0x8a	U+008a
+0x8b	U+008b
+0x8c	U+008c
+0x8d	U+008d
+0x8e	U+008e
+0x8f	U+008f
+0x90	U+0090
+0x91	U+0091
+0x92	U+0092
+0x93	U+0093
+0x94	U+0094
+0x95	U+0095
+0x96	U+0096
+0x97	U+0097
+0x98	U+0098
+0x99	U+0099
+0x9a	U+009a
+0x9b	U+009b
+0x9c	U+009c
+0x9d	U+009d
+0x9e	U+009e
+0x9f	U+009f
+0xa0	U+00a0
+0xa1	U+0126
+0xa2	U+02d8
+0xa3	U+00a3
+0xa4	U+00a4
+0xa5	U+fffd
+0xa6	U+0124
+0xa7	U+00a7
+0xa8	U+00a8
+0xa9	U+0130
+0xaa	U+015e
+0xab	U+011e
+0xac	U+0134
+0xad	U+00ad
+0xae	U+fffd
+0xaf	U+017b
+0xb0	U+00b0
+0xb1	U+0127
+0xb2	U+00b2
+0xb3	U+00b3
+0xb4	U+00b4
+0xb5	U+00b5
+0xb6	U+0125
+0xb7	U+00b7
+0xb8	U+00b8
+0xb9	U+0131
+0xba	U+015f
+0xbb	U+011f
+0xbc	U+0135
+0xbd	U+00bd
+0xbe	U+fffd
+0xbf	U+017c
+0xc0	U+00c0
+0xc1	U+00c1
+0xc2	U+00c2
+0xc3	U+fffd
+0xc4	U+00c4
+0xc5	U+010a
+0xc6	U+0108
+0xc7	U+00c7
+0xc8	U+00c8
+0xc9	U+00c9
+0xca	U+00ca
+0xcb	U+00cb
+0xcc	U+00cc
+0xcd	U+00cd
+0xce	U+00ce
+0xcf	U+00cf
+0xd0	U+fffd
+0xd1	U+00d1
+0xd2	U+00d2
+0xd3	U+00d3
+0xd4	U+00d4
+0xd5	U+0120
+0xd6	U+00d6
+0xd7	U+00d7
+0xd8	U+011c
+0xd9	U+00d9
+0xda	U+00da
+0xdb	U+00db
+0xdc	U+00dc
+0xdd	U+016c
+0xde	U+015c
+0xdf	U+00df
+0xe0	U+00e0
+0xe1	U+00e1
+0xe2	U+00e2
+0xe3	U+fffd
+0xe4	U+00e4
+0xe5	U+010b
+0xe6	U+0109
+0xe7	U+00e7
+0xe8	U+00e8
+0xe9	U+00e9
+0xea	U+00ea
+0xeb	U+00eb
+0xec	U+00ec
+0xed	U+00ed
+0xee	U+00ee
+0xef	U+00ef
+0xf0	U+fffd
+0xf1	U+00f1
+0xf2	U+00f2
+0xf3	U+00f3
+0xf4	U+00f4
+0xf5	U+0121
+0xf6	U+00f6
+0xf7	U+00f7
+0xf8	U+011d
+0xf9	U+00f9
+0xfa	U+00fa
+0xfb	U+00fb
+0xfc	U+00fc
+0xfd	U+016d
+0xfe	U+015d
+0xff	U+02d9
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/ISO_8859_4.map	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,257 @@
+#Generated from ISO_8859_4.java
+0x00	U+0000
+0x01	U+0001
+0x02	U+0002
+0x03	U+0003
+0x04	U+0004
+0x05	U+0005
+0x06	U+0006
+0x07	U+0007
+0x08	U+0008
+0x09	U+0009
+0x0a	U+000a
+0x0b	U+000b
+0x0c	U+000c
+0x0d	U+000d
+0x0e	U+000e
+0x0f	U+000f
+0x10	U+0010
+0x11	U+0011
+0x12	U+0012
+0x13	U+0013
+0x14	U+0014
+0x15	U+0015
+0x16	U+0016
+0x17	U+0017
+0x18	U+0018
+0x19	U+0019
+0x1a	U+001a
+0x1b	U+001b
+0x1c	U+001c
+0x1d	U+001d
+0x1e	U+001e
+0x1f	U+001f
+0x20	U+0020
+0x21	U+0021
+0x22	U+0022
+0x23	U+0023
+0x24	U+0024
+0x25	U+0025
+0x26	U+0026
+0x27	U+0027
+0x28	U+0028
+0x29	U+0029
+0x2a	U+002a
+0x2b	U+002b
+0x2c	U+002c
+0x2d	U+002d
+0x2e	U+002e
+0x2f	U+002f
+0x30	U+0030
+0x31	U+0031
+0x32	U+0032
+0x33	U+0033
+0x34	U+0034
+0x35	U+0035
+0x36	U+0036
+0x37	U+0037
+0x38	U+0038
+0x39	U+0039
+0x3a	U+003a
+0x3b	U+003b
+0x3c	U+003c
+0x3d	U+003d
+0x3e	U+003e
+0x3f	U+003f
+0x40	U+0040
+0x41	U+0041
+0x42	U+0042
+0x43	U+0043
+0x44	U+0044
+0x45	U+0045
+0x46	U+0046
+0x47	U+0047
+0x48	U+0048
+0x49	U+0049
+0x4a	U+004a
+0x4b	U+004b
+0x4c	U+004c
+0x4d	U+004d
+0x4e	U+004e
+0x4f	U+004f
+0x50	U+0050
+0x51	U+0051
+0x52	U+0052
+0x53	U+0053
+0x54	U+0054
+0x55	U+0055
+0x56	U+0056
+0x57	U+0057
+0x58	U+0058
+0x59	U+0059
+0x5a	U+005a
+0x5b	U+005b
+0x5c	U+005c
+0x5d	U+005d
+0x5e	U+005e
+0x5f	U+005f
+0x60	U+0060
+0x61	U+0061
+0x62	U+0062
+0x63	U+0063
+0x64	U+0064
+0x65	U+0065
+0x66	U+0066
+0x67	U+0067
+0x68	U+0068
+0x69	U+0069
+0x6a	U+006a
+0x6b	U+006b
+0x6c	U+006c
+0x6d	U+006d
+0x6e	U+006e
+0x6f	U+006f
+0x70	U+0070
+0x71	U+0071
+0x72	U+0072
+0x73	U+0073
+0x74	U+0074
+0x75	U+0075
+0x76	U+0076
+0x77	U+0077
+0x78	U+0078
+0x79	U+0079
+0x7a	U+007a
+0x7b	U+007b
+0x7c	U+007c
+0x7d	U+007d
+0x7e	U+007e
+0x7f	U+007f
+0x80	U+0080
+0x81	U+0081
+0x82	U+0082
+0x83	U+0083
+0x84	U+0084
+0x85	U+0085
+0x86	U+0086
+0x87	U+0087
+0x88	U+0088
+0x89	U+0089
+0x8a	U+008a
+0x8b	U+008b
+0x8c	U+008c
+0x8d	U+008d
+0x8e	U+008e
+0x8f	U+008f
+0x90	U+0090
+0x91	U+0091
+0x92	U+0092
+0x93	U+0093
+0x94	U+0094
+0x95	U+0095
+0x96	U+0096
+0x97	U+0097
+0x98	U+0098
+0x99	U+0099
+0x9a	U+009a
+0x9b	U+009b
+0x9c	U+009c
+0x9d	U+009d
+0x9e	U+009e
+0x9f	U+009f
+0xa0	U+00a0
+0xa1	U+0104
+0xa2	U+0138
+0xa3	U+0156
+0xa4	U+00a4
+0xa5	U+0128
+0xa6	U+013b
+0xa7	U+00a7
+0xa8	U+00a8
+0xa9	U+0160
+0xaa	U+0112
+0xab	U+0122
+0xac	U+0166
+0xad	U+00ad
+0xae	U+017d
+0xaf	U+00af
+0xb0	U+00b0
+0xb1	U+0105
+0xb2	U+02db
+0xb3	U+0157
+0xb4	U+00b4
+0xb5	U+0129
+0xb6	U+013c
+0xb7	U+02c7
+0xb8	U+00b8
+0xb9	U+0161
+0xba	U+0113
+0xbb	U+0123
+0xbc	U+0167
+0xbd	U+014a
+0xbe	U+017e
+0xbf	U+014b
+0xc0	U+0100
+0xc1	U+00c1
+0xc2	U+00c2
+0xc3	U+00c3
+0xc4	U+00c4
+0xc5	U+00c5
+0xc6	U+00c6
+0xc7	U+012e
+0xc8	U+010c
+0xc9	U+00c9
+0xca	U+0118
+0xcb	U+00cb
+0xcc	U+0116
+0xcd	U+00cd
+0xce	U+00ce
+0xcf	U+012a
+0xd0	U+0110
+0xd1	U+0145
+0xd2	U+014c
+0xd3	U+0136
+0xd4	U+00d4
+0xd5	U+00d5
+0xd6	U+00d6
+0xd7	U+00d7
+0xd8	U+00d8
+0xd9	U+0172
+0xda	U+00da
+0xdb	U+00db
+0xdc	U+00dc
+0xdd	U+0168
+0xde	U+016a
+0xdf	U+00df
+0xe0	U+0101
+0xe1	U+00e1
+0xe2	U+00e2
+0xe3	U+00e3
+0xe4	U+00e4
+0xe5	U+00e5
+0xe6	U+00e6
+0xe7	U+012f
+0xe8	U+010d
+0xe9	U+00e9
+0xea	U+0119
+0xeb	U+00eb
+0xec	U+0117
+0xed	U+00ed
+0xee	U+00ee
+0xef	U+012b
+0xf0	U+0111
+0xf1	U+0146
+0xf2	U+014d
+0xf3	U+0137
+0xf4	U+00f4
+0xf5	U+00f5
+0xf6	U+00f6
+0xf7	U+00f7
+0xf8	U+00f8
+0xf9	U+0173
+0xfa	U+00fa
+0xfb	U+00fb
+0xfc	U+00fc
+0xfd	U+0169
+0xfe	U+016b
+0xff	U+02d9
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/ISO_8859_5.map	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,257 @@
+#Generated from ISO_8859_5.java
+0x00	U+0000
+0x01	U+0001
+0x02	U+0002
+0x03	U+0003
+0x04	U+0004
+0x05	U+0005
+0x06	U+0006
+0x07	U+0007
+0x08	U+0008
+0x09	U+0009
+0x0a	U+000a
+0x0b	U+000b
+0x0c	U+000c
+0x0d	U+000d
+0x0e	U+000e
+0x0f	U+000f
+0x10	U+0010
+0x11	U+0011
+0x12	U+0012
+0x13	U+0013
+0x14	U+0014
+0x15	U+0015
+0x16	U+0016
+0x17	U+0017
+0x18	U+0018
+0x19	U+0019
+0x1a	U+001a
+0x1b	U+001b
+0x1c	U+001c
+0x1d	U+001d
+0x1e	U+001e
+0x1f	U+001f
+0x20	U+0020
+0x21	U+0021
+0x22	U+0022
+0x23	U+0023
+0x24	U+0024
+0x25	U+0025
+0x26	U+0026
+0x27	U+0027
+0x28	U+0028
+0x29	U+0029
+0x2a	U+002a
+0x2b	U+002b
+0x2c	U+002c
+0x2d	U+002d
+0x2e	U+002e
+0x2f	U+002f
+0x30	U+0030
+0x31	U+0031
+0x32	U+0032
+0x33	U+0033
+0x34	U+0034
+0x35	U+0035
+0x36	U+0036
+0x37	U+0037
+0x38	U+0038
+0x39	U+0039
+0x3a	U+003a
+0x3b	U+003b
+0x3c	U+003c
+0x3d	U+003d
+0x3e	U+003e
+0x3f	U+003f
+0x40	U+0040
+0x41	U+0041
+0x42	U+0042
+0x43	U+0043
+0x44	U+0044
+0x45	U+0045
+0x46	U+0046
+0x47	U+0047
+0x48	U+0048
+0x49	U+0049
+0x4a	U+004a
+0x4b	U+004b
+0x4c	U+004c
+0x4d	U+004d
+0x4e	U+004e
+0x4f	U+004f
+0x50	U+0050
+0x51	U+0051
+0x52	U+0052
+0x53	U+0053
+0x54	U+0054
+0x55	U+0055
+0x56	U+0056
+0x57	U+0057
+0x58	U+0058
+0x59	U+0059
+0x5a	U+005a
+0x5b	U+005b
+0x5c	U+005c
+0x5d	U+005d
+0x5e	U+005e
+0x5f	U+005f
+0x60	U+0060
+0x61	U+0061
+0x62	U+0062
+0x63	U+0063
+0x64	U+0064
+0x65	U+0065
+0x66	U+0066
+0x67	U+0067
+0x68	U+0068
+0x69	U+0069
+0x6a	U+006a
+0x6b	U+006b
+0x6c	U+006c
+0x6d	U+006d
+0x6e	U+006e
+0x6f	U+006f
+0x70	U+0070
+0x71	U+0071
+0x72	U+0072
+0x73	U+0073
+0x74	U+0074
+0x75	U+0075
+0x76	U+0076
+0x77	U+0077
+0x78	U+0078
+0x79	U+0079
+0x7a	U+007a
+0x7b	U+007b
+0x7c	U+007c
+0x7d	U+007d
+0x7e	U+007e
+0x7f	U+007f
+0x80	U+0080
+0x81	U+0081
+0x82	U+0082
+0x83	U+0083
+0x84	U+0084
+0x85	U+0085
+0x86	U+0086
+0x87	U+0087
+0x88	U+0088
+0x89	U+0089
+0x8a	U+008a
+0x8b	U+008b
+0x8c	U+008c
+0x8d	U+008d
+0x8e	U+008e
+0x8f	U+008f
+0x90	U+0090
+0x91	U+0091
+0x92	U+0092
+0x93	U+0093
+0x94	U+0094
+0x95	U+0095
+0x96	U+0096
+0x97	U+0097
+0x98	U+0098
+0x99	U+0099
+0x9a	U+009a
+0x9b	U+009b
+0x9c	U+009c
+0x9d	U+009d
+0x9e	U+009e
+0x9f	U+009f
+0xa0	U+00a0
+0xa1	U+0401
+0xa2	U+0402
+0xa3	U+0403
+0xa4	U+0404
+0xa5	U+0405
+0xa6	U+0406
+0xa7	U+0407
+0xa8	U+0408
+0xa9	U+0409
+0xaa	U+040a
+0xab	U+040b
+0xac	U+040c
+0xad	U+00ad
+0xae	U+040e
+0xaf	U+040f
+0xb0	U+0410
+0xb1	U+0411
+0xb2	U+0412
+0xb3	U+0413
+0xb4	U+0414
+0xb5	U+0415
+0xb6	U+0416
+0xb7	U+0417
+0xb8	U+0418
+0xb9	U+0419
+0xba	U+041a
+0xbb	U+041b
+0xbc	U+041c
+0xbd	U+041d
+0xbe	U+041e
+0xbf	U+041f
+0xc0	U+0420
+0xc1	U+0421
+0xc2	U+0422
+0xc3	U+0423
+0xc4	U+0424
+0xc5	U+0425
+0xc6	U+0426
+0xc7	U+0427
+0xc8	U+0428
+0xc9	U+0429
+0xca	U+042a
+0xcb	U+042b
+0xcc	U+042c
+0xcd	U+042d
+0xce	U+042e
+0xcf	U+042f
+0xd0	U+0430
+0xd1	U+0431
+0xd2	U+0432
+0xd3	U+0433
+0xd4	U+0434
+0xd5	U+0435
+0xd6	U+0436
+0xd7	U+0437
+0xd8	U+0438
+0xd9	U+0439
+0xda	U+043a
+0xdb	U+043b
+0xdc	U+043c
+0xdd	U+043d
+0xde	U+043e
+0xdf	U+043f
+0xe0	U+0440
+0xe1	U+0441
+0xe2	U+0442
+0xe3	U+0443
+0xe4	U+0444
+0xe5	U+0445
+0xe6	U+0446
+0xe7	U+0447
+0xe8	U+0448
+0xe9	U+0449
+0xea	U+044a
+0xeb	U+044b
+0xec	U+044c
+0xed	U+044d
+0xee	U+044e
+0xef	U+044f
+0xf0	U+2116
+0xf1	U+0451
+0xf2	U+0452
+0xf3	U+0453
+0xf4	U+0454
+0xf5	U+0455
+0xf6	U+0456
+0xf7	U+0457
+0xf8	U+0458
+0xf9	U+0459
+0xfa	U+045a
+0xfb	U+045b
+0xfc	U+045c
+0xfd	U+00a7
+0xfe	U+045e
+0xff	U+045f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/ISO_8859_6.map	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,257 @@
+#Generated from ISO_8859_6.java
+0x00	U+0000
+0x01	U+0001
+0x02	U+0002
+0x03	U+0003
+0x04	U+0004
+0x05	U+0005
+0x06	U+0006
+0x07	U+0007
+0x08	U+0008
+0x09	U+0009
+0x0a	U+000a
+0x0b	U+000b
+0x0c	U+000c
+0x0d	U+000d
+0x0e	U+000e
+0x0f	U+000f
+0x10	U+0010
+0x11	U+0011
+0x12	U+0012
+0x13	U+0013
+0x14	U+0014
+0x15	U+0015
+0x16	U+0016
+0x17	U+0017
+0x18	U+0018
+0x19	U+0019
+0x1a	U+001a
+0x1b	U+001b
+0x1c	U+001c
+0x1d	U+001d
+0x1e	U+001e
+0x1f	U+001f
+0x20	U+0020
+0x21	U+0021
+0x22	U+0022
+0x23	U+0023
+0x24	U+0024
+0x25	U+0025
+0x26	U+0026
+0x27	U+0027
+0x28	U+0028
+0x29	U+0029
+0x2a	U+002a
+0x2b	U+002b
+0x2c	U+002c
+0x2d	U+002d
+0x2e	U+002e
+0x2f	U+002f
+0x30	U+0030
+0x31	U+0031
+0x32	U+0032
+0x33	U+0033
+0x34	U+0034
+0x35	U+0035
+0x36	U+0036
+0x37	U+0037
+0x38	U+0038
+0x39	U+0039
+0x3a	U+003a
+0x3b	U+003b
+0x3c	U+003c
+0x3d	U+003d
+0x3e	U+003e
+0x3f	U+003f
+0x40	U+0040
+0x41	U+0041
+0x42	U+0042
+0x43	U+0043
+0x44	U+0044
+0x45	U+0045
+0x46	U+0046
+0x47	U+0047
+0x48	U+0048
+0x49	U+0049
+0x4a	U+004a
+0x4b	U+004b
+0x4c	U+004c
+0x4d	U+004d
+0x4e	U+004e
+0x4f	U+004f
+0x50	U+0050
+0x51	U+0051
+0x52	U+0052
+0x53	U+0053
+0x54	U+0054
+0x55	U+0055
+0x56	U+0056
+0x57	U+0057
+0x58	U+0058
+0x59	U+0059
+0x5a	U+005a
+0x5b	U+005b
+0x5c	U+005c
+0x5d	U+005d
+0x5e	U+005e
+0x5f	U+005f
+0x60	U+0060
+0x61	U+0061
+0x62	U+0062
+0x63	U+0063
+0x64	U+0064
+0x65	U+0065
+0x66	U+0066
+0x67	U+0067
+0x68	U+0068
+0x69	U+0069
+0x6a	U+006a
+0x6b	U+006b
+0x6c	U+006c
+0x6d	U+006d
+0x6e	U+006e
+0x6f	U+006f
+0x70	U+0070
+0x71	U+0071
+0x72	U+0072
+0x73	U+0073
+0x74	U+0074
+0x75	U+0075
+0x76	U+0076
+0x77	U+0077
+0x78	U+0078
+0x79	U+0079
+0x7a	U+007a
+0x7b	U+007b
+0x7c	U+007c
+0x7d	U+007d
+0x7e	U+007e
+0x7f	U+007f
+0x80	U+0080
+0x81	U+0081
+0x82	U+0082
+0x83	U+0083
+0x84	U+0084
+0x85	U+0085
+0x86	U+0086
+0x87	U+0087
+0x88	U+0088
+0x89	U+0089
+0x8a	U+008a
+0x8b	U+008b
+0x8c	U+008c
+0x8d	U+008d
+0x8e	U+008e
+0x8f	U+008f
+0x90	U+0090
+0x91	U+0091
+0x92	U+0092
+0x93	U+0093
+0x94	U+0094
+0x95	U+0095
+0x96	U+0096
+0x97	U+0097
+0x98	U+0098
+0x99	U+0099
+0x9a	U+009a
+0x9b	U+009b
+0x9c	U+009c
+0x9d	U+009d
+0x9e	U+009e
+0x9f	U+009f
+0xa0	U+00a0
+0xa1	U+fffd
+0xa2	U+fffd
+0xa3	U+fffd
+0xa4	U+00a4
+0xa5	U+fffd
+0xa6	U+fffd
+0xa7	U+fffd
+0xa8	U+fffd
+0xa9	U+fffd
+0xaa	U+fffd
+0xab	U+fffd
+0xac	U+060c
+0xad	U+00ad
+0xae	U+fffd
+0xaf	U+fffd
+0xb0	U+fffd
+0xb1	U+fffd
+0xb2	U+fffd
+0xb3	U+fffd
+0xb4	U+fffd
+0xb5	U+fffd
+0xb6	U+fffd
+0xb7	U+fffd
+0xb8	U+fffd
+0xb9	U+fffd
+0xba	U+fffd
+0xbb	U+061b
+0xbc	U+fffd
+0xbd	U+fffd
+0xbe	U+fffd
+0xbf	U+061f
+0xc0	U+fffd
+0xc1	U+0621
+0xc2	U+0622
+0xc3	U+0623
+0xc4	U+0624
+0xc5	U+0625
+0xc6	U+0626
+0xc7	U+0627
+0xc8	U+0628
+0xc9	U+0629
+0xca	U+062a
+0xcb	U+062b
+0xcc	U+062c
+0xcd	U+062d
+0xce	U+062e
+0xcf	U+062f
+0xd0	U+0630
+0xd1	U+0631
+0xd2	U+0632
+0xd3	U+0633
+0xd4	U+0634
+0xd5	U+0635
+0xd6	U+0636
+0xd7	U+0637
+0xd8	U+0638
+0xd9	U+0639
+0xda	U+063a
+0xdb	U+fffd
+0xdc	U+fffd
+0xdd	U+fffd
+0xde	U+fffd
+0xdf	U+fffd
+0xe0	U+0640
+0xe1	U+0641
+0xe2	U+0642
+0xe3	U+0643
+0xe4	U+0644
+0xe5	U+0645
+0xe6	U+0646
+0xe7	U+0647
+0xe8	U+0648
+0xe9	U+0649
+0xea	U+064a
+0xeb	U+064b
+0xec	U+064c
+0xed	U+064d
+0xee	U+064e
+0xef	U+064f
+0xf0	U+0650
+0xf1	U+0651
+0xf2	U+0652
+0xf3	U+fffd
+0xf4	U+fffd
+0xf5	U+fffd
+0xf6	U+fffd
+0xf7	U+fffd
+0xf8	U+fffd
+0xf9	U+fffd
+0xfa	U+fffd
+0xfb	U+fffd
+0xfc	U+fffd
+0xfd	U+fffd
+0xfe	U+fffd
+0xff	U+fffd
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/ISO_8859_7.map	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,257 @@
+#Generated from ISO_8859_7.java
+0x00	U+0000
+0x01	U+0001
+0x02	U+0002
+0x03	U+0003
+0x04	U+0004
+0x05	U+0005
+0x06	U+0006
+0x07	U+0007
+0x08	U+0008
+0x09	U+0009
+0x0a	U+000a
+0x0b	U+000b
+0x0c	U+000c
+0x0d	U+000d
+0x0e	U+000e
+0x0f	U+000f
+0x10	U+0010
+0x11	U+0011
+0x12	U+0012
+0x13	U+0013
+0x14	U+0014
+0x15	U+0015
+0x16	U+0016
+0x17	U+0017
+0x18	U+0018
+0x19	U+0019
+0x1a	U+001a
+0x1b	U+001b
+0x1c	U+001c
+0x1d	U+001d
+0x1e	U+001e
+0x1f	U+001f
+0x20	U+0020
+0x21	U+0021
+0x22	U+0022
+0x23	U+0023
+0x24	U+0024
+0x25	U+0025
+0x26	U+0026
+0x27	U+0027
+0x28	U+0028
+0x29	U+0029
+0x2a	U+002a
+0x2b	U+002b
+0x2c	U+002c
+0x2d	U+002d
+0x2e	U+002e
+0x2f	U+002f
+0x30	U+0030
+0x31	U+0031
+0x32	U+0032
+0x33	U+0033
+0x34	U+0034
+0x35	U+0035
+0x36	U+0036
+0x37	U+0037
+0x38	U+0038
+0x39	U+0039
+0x3a	U+003a
+0x3b	U+003b
+0x3c	U+003c
+0x3d	U+003d
+0x3e	U+003e
+0x3f	U+003f
+0x40	U+0040
+0x41	U+0041
+0x42	U+0042
+0x43	U+0043
+0x44	U+0044
+0x45	U+0045
+0x46	U+0046
+0x47	U+0047
+0x48	U+0048
+0x49	U+0049
+0x4a	U+004a
+0x4b	U+004b
+0x4c	U+004c
+0x4d	U+004d
+0x4e	U+004e
+0x4f	U+004f
+0x50	U+0050
+0x51	U+0051
+0x52	U+0052
+0x53	U+0053
+0x54	U+0054
+0x55	U+0055
+0x56	U+0056
+0x57	U+0057
+0x58	U+0058
+0x59	U+0059
+0x5a	U+005a
+0x5b	U+005b
+0x5c	U+005c
+0x5d	U+005d
+0x5e	U+005e
+0x5f	U+005f
+0x60	U+0060
+0x61	U+0061
+0x62	U+0062
+0x63	U+0063
+0x64	U+0064
+0x65	U+0065
+0x66	U+0066
+0x67	U+0067
+0x68	U+0068
+0x69	U+0069
+0x6a	U+006a
+0x6b	U+006b
+0x6c	U+006c
+0x6d	U+006d
+0x6e	U+006e
+0x6f	U+006f
+0x70	U+0070
+0x71	U+0071
+0x72	U+0072
+0x73	U+0073
+0x74	U+0074
+0x75	U+0075
+0x76	U+0076
+0x77	U+0077
+0x78	U+0078
+0x79	U+0079
+0x7a	U+007a
+0x7b	U+007b
+0x7c	U+007c
+0x7d	U+007d
+0x7e	U+007e
+0x7f	U+007f
+0x80	U+0080
+0x81	U+0081
+0x82	U+0082
+0x83	U+0083
+0x84	U+0084
+0x85	U+0085
+0x86	U+0086
+0x87	U+0087
+0x88	U+0088
+0x89	U+0089
+0x8a	U+008a
+0x8b	U+008b
+0x8c	U+008c
+0x8d	U+008d
+0x8e	U+008e
+0x8f	U+008f
+0x90	U+0090
+0x91	U+0091
+0x92	U+0092
+0x93	U+0093
+0x94	U+0094
+0x95	U+0095
+0x96	U+0096
+0x97	U+0097
+0x98	U+0098
+0x99	U+0099
+0x9a	U+009a
+0x9b	U+009b
+0x9c	U+009c
+0x9d	U+009d
+0x9e	U+009e
+0x9f	U+009f
+0xa0	U+00a0
+0xa1	U+2018
+0xa2	U+2019
+0xa3	U+00a3
+0xa4	U+20ac
+0xa5	U+20af
+0xa6	U+00a6
+0xa7	U+00a7
+0xa8	U+00a8
+0xa9	U+00a9
+0xaa	U+037a
+0xab	U+00ab
+0xac	U+00ac
+0xad	U+00ad
+0xae	U+fffd
+0xaf	U+2015
+0xb0	U+00b0
+0xb1	U+00b1
+0xb2	U+00b2
+0xb3	U+00b3
+0xb4	U+0384
+0xb5	U+0385
+0xb6	U+0386
+0xb7	U+00b7
+0xb8	U+0388
+0xb9	U+0389
+0xba	U+038a
+0xbb	U+00bb
+0xbc	U+038c
+0xbd	U+00bd
+0xbe	U+038e
+0xbf	U+038f
+0xc0	U+0390
+0xc1	U+0391
+0xc2	U+0392
+0xc3	U+0393
+0xc4	U+0394
+0xc5	U+0395
+0xc6	U+0396
+0xc7	U+0397
+0xc8	U+0398
+0xc9	U+0399
+0xca	U+039a
+0xcb	U+039b
+0xcc	U+039c
+0xcd	U+039d
+0xce	U+039e
+0xcf	U+039f
+0xd0	U+03a0
+0xd1	U+03a1
+0xd2	U+fffd
+0xd3	U+03a3
+0xd4	U+03a4
+0xd5	U+03a5
+0xd6	U+03a6
+0xd7	U+03a7
+0xd8	U+03a8
+0xd9	U+03a9
+0xda	U+03aa
+0xdb	U+03ab
+0xdc	U+03ac
+0xdd	U+03ad
+0xde	U+03ae
+0xdf	U+03af
+0xe0	U+03b0
+0xe1	U+03b1
+0xe2	U+03b2
+0xe3	U+03b3
+0xe4	U+03b4
+0xe5	U+03b5
+0xe6	U+03b6
+0xe7	U+03b7
+0xe8	U+03b8
+0xe9	U+03b9
+0xea	U+03ba
+0xeb	U+03bb
+0xec	U+03bc
+0xed	U+03bd
+0xee	U+03be
+0xef	U+03bf
+0xf0	U+03c0
+0xf1	U+03c1
+0xf2	U+03c2
+0xf3	U+03c3
+0xf4	U+03c4
+0xf5	U+03c5
+0xf6	U+03c6
+0xf7	U+03c7
+0xf8	U+03c8
+0xf9	U+03c9
+0xfa	U+03ca
+0xfb	U+03cb
+0xfc	U+03cc
+0xfd	U+03cd
+0xfe	U+03ce
+0xff	U+fffd
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/ISO_8859_8.map	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,257 @@
+#Generated from ISO_8859_8.java
+0x00	U+0000
+0x01	U+0001
+0x02	U+0002
+0x03	U+0003
+0x04	U+0004
+0x05	U+0005
+0x06	U+0006
+0x07	U+0007
+0x08	U+0008
+0x09	U+0009
+0x0a	U+000a
+0x0b	U+000b
+0x0c	U+000c
+0x0d	U+000d
+0x0e	U+000e
+0x0f	U+000f
+0x10	U+0010
+0x11	U+0011
+0x12	U+0012
+0x13	U+0013
+0x14	U+0014
+0x15	U+0015
+0x16	U+0016
+0x17	U+0017
+0x18	U+0018
+0x19	U+0019
+0x1a	U+001a
+0x1b	U+001b
+0x1c	U+001c
+0x1d	U+001d
+0x1e	U+001e
+0x1f	U+001f
+0x20	U+0020
+0x21	U+0021
+0x22	U+0022
+0x23	U+0023
+0x24	U+0024
+0x25	U+0025
+0x26	U+0026
+0x27	U+0027
+0x28	U+0028
+0x29	U+0029
+0x2a	U+002a
+0x2b	U+002b
+0x2c	U+002c
+0x2d	U+002d
+0x2e	U+002e
+0x2f	U+002f
+0x30	U+0030
+0x31	U+0031
+0x32	U+0032
+0x33	U+0033
+0x34	U+0034
+0x35	U+0035
+0x36	U+0036
+0x37	U+0037
+0x38	U+0038
+0x39	U+0039
+0x3a	U+003a
+0x3b	U+003b
+0x3c	U+003c
+0x3d	U+003d
+0x3e	U+003e
+0x3f	U+003f
+0x40	U+0040
+0x41	U+0041
+0x42	U+0042
+0x43	U+0043
+0x44	U+0044
+0x45	U+0045
+0x46	U+0046
+0x47	U+0047
+0x48	U+0048
+0x49	U+0049
+0x4a	U+004a
+0x4b	U+004b
+0x4c	U+004c
+0x4d	U+004d
+0x4e	U+004e
+0x4f	U+004f
+0x50	U+0050
+0x51	U+0051
+0x52	U+0052
+0x53	U+0053
+0x54	U+0054
+0x55	U+0055
+0x56	U+0056
+0x57	U+0057
+0x58	U+0058
+0x59	U+0059
+0x5a	U+005a
+0x5b	U+005b
+0x5c	U+005c
+0x5d	U+005d
+0x5e	U+005e
+0x5f	U+005f
+0x60	U+0060
+0x61	U+0061
+0x62	U+0062
+0x63	U+0063
+0x64	U+0064
+0x65	U+0065
+0x66	U+0066
+0x67	U+0067
+0x68	U+0068
+0x69	U+0069
+0x6a	U+006a
+0x6b	U+006b
+0x6c	U+006c
+0x6d	U+006d
+0x6e	U+006e
+0x6f	U+006f
+0x70	U+0070
+0x71	U+0071
+0x72	U+0072
+0x73	U+0073
+0x74	U+0074
+0x75	U+0075
+0x76	U+0076
+0x77	U+0077
+0x78	U+0078
+0x79	U+0079
+0x7a	U+007a
+0x7b	U+007b
+0x7c	U+007c
+0x7d	U+007d
+0x7e	U+007e
+0x7f	U+007f
+0x80	U+0080
+0x81	U+0081
+0x82	U+0082
+0x83	U+0083
+0x84	U+0084
+0x85	U+0085
+0x86	U+0086
+0x87	U+0087
+0x88	U+0088
+0x89	U+0089
+0x8a	U+008a
+0x8b	U+008b
+0x8c	U+008c
+0x8d	U+008d
+0x8e	U+008e
+0x8f	U+008f
+0x90	U+0090
+0x91	U+0091
+0x92	U+0092
+0x93	U+0093
+0x94	U+0094
+0x95	U+0095
+0x96	U+0096
+0x97	U+0097
+0x98	U+0098
+0x99	U+0099
+0x9a	U+009a
+0x9b	U+009b
+0x9c	U+009c
+0x9d	U+009d
+0x9e	U+009e
+0x9f	U+009f
+0xa0	U+00a0
+0xa1	U+fffd
+0xa2	U+00a2
+0xa3	U+00a3
+0xa4	U+00a4
+0xa5	U+00a5
+0xa6	U+00a6
+0xa7	U+00a7
+0xa8	U+00a8
+0xa9	U+00a9
+0xaa	U+00d7
+0xab	U+00ab
+0xac	U+00ac
+0xad	U+00ad
+0xae	U+00ae
+0xaf	U+00af
+0xb0	U+00b0
+0xb1	U+00b1
+0xb2	U+00b2
+0xb3	U+00b3
+0xb4	U+00b4
+0xb5	U+00b5
+0xb6	U+00b6
+0xb7	U+00b7
+0xb8	U+00b8
+0xb9	U+00b9
+0xba	U+00f7
+0xbb	U+00bb
+0xbc	U+00bc
+0xbd	U+00bd
+0xbe	U+00be
+0xbf	U+fffd
+0xc0	U+fffd
+0xc1	U+fffd
+0xc2	U+fffd
+0xc3	U+fffd
+0xc4	U+fffd
+0xc5	U+fffd
+0xc6	U+fffd
+0xc7	U+fffd
+0xc8	U+fffd
+0xc9	U+fffd
+0xca	U+fffd
+0xcb	U+fffd
+0xcc	U+fffd
+0xcd	U+fffd
+0xce	U+fffd
+0xcf	U+fffd
+0xd0	U+fffd
+0xd1	U+fffd
+0xd2	U+fffd
+0xd3	U+fffd
+0xd4	U+fffd
+0xd5	U+fffd
+0xd6	U+fffd
+0xd7	U+fffd
+0xd8	U+fffd
+0xd9	U+fffd
+0xda	U+fffd
+0xdb	U+fffd
+0xdc	U+fffd
+0xdd	U+fffd
+0xde	U+fffd
+0xdf	U+2017
+0xe0	U+05d0
+0xe1	U+05d1
+0xe2	U+05d2
+0xe3	U+05d3
+0xe4	U+05d4
+0xe5	U+05d5
+0xe6	U+05d6
+0xe7	U+05d7
+0xe8	U+05d8
+0xe9	U+05d9
+0xea	U+05da
+0xeb	U+05db
+0xec	U+05dc
+0xed	U+05dd
+0xee	U+05de
+0xef	U+05df
+0xf0	U+05e0
+0xf1	U+05e1
+0xf2	U+05e2
+0xf3	U+05e3
+0xf4	U+05e4
+0xf5	U+05e5
+0xf6	U+05e6
+0xf7	U+05e7
+0xf8	U+05e8
+0xf9	U+05e9
+0xfa	U+05ea
+0xfb	U+fffd
+0xfc	U+fffd
+0xfd	U+200e
+0xfe	U+200f
+0xff	U+fffd
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/ISO_8859_9.map	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,257 @@
+#Generated from ISO_8859_9.java
+0x00	U+0000
+0x01	U+0001
+0x02	U+0002
+0x03	U+0003
+0x04	U+0004
+0x05	U+0005
+0x06	U+0006
+0x07	U+0007
+0x08	U+0008
+0x09	U+0009
+0x0a	U+000a
+0x0b	U+000b
+0x0c	U+000c
+0x0d	U+000d
+0x0e	U+000e
+0x0f	U+000f
+0x10	U+0010
+0x11	U+0011
+0x12	U+0012
+0x13	U+0013
+0x14	U+0014
+0x15	U+0015
+0x16	U+0016
+0x17	U+0017
+0x18	U+0018
+0x19	U+0019
+0x1a	U+001a
+0x1b	U+001b
+0x1c	U+001c
+0x1d	U+001d
+0x1e	U+001e
+0x1f	U+001f
+0x20	U+0020
+0x21	U+0021
+0x22	U+0022
+0x23	U+0023
+0x24	U+0024
+0x25	U+0025
+0x26	U+0026
+0x27	U+0027
+0x28	U+0028
+0x29	U+0029
+0x2a	U+002a
+0x2b	U+002b
+0x2c	U+002c
+0x2d	U+002d
+0x2e	U+002e
+0x2f	U+002f
+0x30	U+0030
+0x31	U+0031
+0x32	U+0032
+0x33	U+0033
+0x34	U+0034
+0x35	U+0035
+0x36	U+0036
+0x37	U+0037
+0x38	U+0038
+0x39	U+0039
+0x3a	U+003a
+0x3b	U+003b
+0x3c	U+003c
+0x3d	U+003d
+0x3e	U+003e
+0x3f	U+003f
+0x40	U+0040
+0x41	U+0041
+0x42	U+0042
+0x43	U+0043
+0x44	U+0044
+0x45	U+0045
+0x46	U+0046
+0x47	U+0047
+0x48	U+0048
+0x49	U+0049
+0x4a	U+004a
+0x4b	U+004b
+0x4c	U+004c
+0x4d	U+004d
+0x4e	U+004e
+0x4f	U+004f
+0x50	U+0050
+0x51	U+0051
+0x52	U+0052
+0x53	U+0053
+0x54	U+0054
+0x55	U+0055
+0x56	U+0056
+0x57	U+0057
+0x58	U+0058
+0x59	U+0059
+0x5a	U+005a
+0x5b	U+005b
+0x5c	U+005c
+0x5d	U+005d
+0x5e	U+005e
+0x5f	U+005f
+0x60	U+0060
+0x61	U+0061
+0x62	U+0062
+0x63	U+0063
+0x64	U+0064
+0x65	U+0065
+0x66	U+0066
+0x67	U+0067
+0x68	U+0068
+0x69	U+0069
+0x6a	U+006a
+0x6b	U+006b
+0x6c	U+006c
+0x6d	U+006d
+0x6e	U+006e
+0x6f	U+006f
+0x70	U+0070
+0x71	U+0071
+0x72	U+0072
+0x73	U+0073
+0x74	U+0074
+0x75	U+0075
+0x76	U+0076
+0x77	U+0077
+0x78	U+0078
+0x79	U+0079
+0x7a	U+007a
+0x7b	U+007b
+0x7c	U+007c
+0x7d	U+007d
+0x7e	U+007e
+0x7f	U+007f
+0x80	U+0080
+0x81	U+0081
+0x82	U+0082
+0x83	U+0083
+0x84	U+0084
+0x85	U+0085
+0x86	U+0086
+0x87	U+0087
+0x88	U+0088
+0x89	U+0089
+0x8a	U+008a
+0x8b	U+008b
+0x8c	U+008c
+0x8d	U+008d
+0x8e	U+008e
+0x8f	U+008f
+0x90	U+0090
+0x91	U+0091
+0x92	U+0092
+0x93	U+0093
+0x94	U+0094
+0x95	U+0095
+0x96	U+0096
+0x97	U+0097
+0x98	U+0098
+0x99	U+0099
+0x9a	U+009a
+0x9b	U+009b
+0x9c	U+009c
+0x9d	U+009d
+0x9e	U+009e
+0x9f	U+009f
+0xa0	U+00a0
+0xa1	U+00a1
+0xa2	U+00a2
+0xa3	U+00a3
+0xa4	U+00a4
+0xa5	U+00a5
+0xa6	U+00a6
+0xa7	U+00a7
+0xa8	U+00a8
+0xa9	U+00a9
+0xaa	U+00aa
+0xab	U+00ab
+0xac	U+00ac
+0xad	U+00ad
+0xae	U+00ae
+0xaf	U+00af
+0xb0	U+00b0
+0xb1	U+00b1
+0xb2	U+00b2
+0xb3	U+00b3
+0xb4	U+00b4
+0xb5	U+00b5
+0xb6	U+00b6
+0xb7	U+00b7
+0xb8	U+00b8
+0xb9	U+00b9
+0xba	U+00ba
+0xbb	U+00bb
+0xbc	U+00bc
+0xbd	U+00bd
+0xbe	U+00be
+0xbf	U+00bf
+0xc0	U+00c0
+0xc1	U+00c1
+0xc2	U+00c2
+0xc3	U+00c3
+0xc4	U+00c4
+0xc5	U+00c5
+0xc6	U+00c6
+0xc7	U+00c7
+0xc8	U+00c8
+0xc9	U+00c9
+0xca	U+00ca
+0xcb	U+00cb
+0xcc	U+00cc
+0xcd	U+00cd
+0xce	U+00ce
+0xcf	U+00cf
+0xd0	U+011e
+0xd1	U+00d1
+0xd2	U+00d2
+0xd3	U+00d3
+0xd4	U+00d4
+0xd5	U+00d5
+0xd6	U+00d6
+0xd7	U+00d7
+0xd8	U+00d8
+0xd9	U+00d9
+0xda	U+00da
+0xdb	U+00db
+0xdc	U+00dc
+0xdd	U+0130
+0xde	U+015e
+0xdf	U+00df
+0xe0	U+00e0
+0xe1	U+00e1
+0xe2	U+00e2
+0xe3	U+00e3
+0xe4	U+00e4
+0xe5	U+00e5
+0xe6	U+00e6
+0xe7	U+00e7
+0xe8	U+00e8
+0xe9	U+00e9
+0xea	U+00ea
+0xeb	U+00eb
+0xec	U+00ec
+0xed	U+00ed
+0xee	U+00ee
+0xef	U+00ef
+0xf0	U+011f
+0xf1	U+00f1
+0xf2	U+00f2
+0xf3	U+00f3
+0xf4	U+00f4
+0xf5	U+00f5
+0xf6	U+00f6
+0xf7	U+00f7
+0xf8	U+00f8
+0xf9	U+00f9
+0xfa	U+00fa
+0xfb	U+00fb
+0xfc	U+00fc
+0xfd	U+0131
+0xfe	U+015f
+0xff	U+00ff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/JIS_X_0201.map	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,257 @@
+#Generated from JIS_X_0201.java
+0x00	U+0000
+0x01	U+0001
+0x02	U+0002
+0x03	U+0003
+0x04	U+0004
+0x05	U+0005
+0x06	U+0006
+0x07	U+0007
+0x08	U+0008
+0x09	U+0009
+0x0a	U+000a
+0x0b	U+000b
+0x0c	U+000c
+0x0d	U+000d
+0x0e	U+000e
+0x0f	U+000f
+0x10	U+0010
+0x11	U+0011
+0x12	U+0012
+0x13	U+0013
+0x14	U+0014
+0x15	U+0015
+0x16	U+0016
+0x17	U+0017
+0x18	U+0018
+0x19	U+0019
+0x1a	U+001a
+0x1b	U+001b
+0x1c	U+001c
+0x1d	U+001d
+0x1e	U+001e
+0x1f	U+001f
+0x20	U+0020
+0x21	U+0021
+0x22	U+0022
+0x23	U+0023
+0x24	U+0024
+0x25	U+0025
+0x26	U+0026
+0x27	U+0027
+0x28	U+0028
+0x29	U+0029
+0x2a	U+002a
+0x2b	U+002b
+0x2c	U+002c
+0x2d	U+002d
+0x2e	U+002e
+0x2f	U+002f
+0x30	U+0030
+0x31	U+0031
+0x32	U+0032
+0x33	U+0033
+0x34	U+0034
+0x35	U+0035
+0x36	U+0036
+0x37	U+0037
+0x38	U+0038
+0x39	U+0039
+0x3a	U+003a
+0x3b	U+003b
+0x3c	U+003c
+0x3d	U+003d
+0x3e	U+003e
+0x3f	U+003f
+0x40	U+0040
+0x41	U+0041
+0x42	U+0042
+0x43	U+0043
+0x44	U+0044
+0x45	U+0045
+0x46	U+0046
+0x47	U+0047
+0x48	U+0048
+0x49	U+0049
+0x4a	U+004a
+0x4b	U+004b
+0x4c	U+004c
+0x4d	U+004d
+0x4e	U+004e
+0x4f	U+004f
+0x50	U+0050
+0x51	U+0051
+0x52	U+0052
+0x53	U+0053
+0x54	U+0054
+0x55	U+0055
+0x56	U+0056
+0x57	U+0057
+0x58	U+0058
+0x59	U+0059
+0x5a	U+005a
+0x5b	U+005b
+0x5c	U+005c
+0x5d	U+005d
+0x5e	U+005e
+0x5f	U+005f
+0x60	U+0060
+0x61	U+0061
+0x62	U+0062
+0x63	U+0063
+0x64	U+0064
+0x65	U+0065
+0x66	U+0066
+0x67	U+0067
+0x68	U+0068
+0x69	U+0069
+0x6a	U+006a
+0x6b	U+006b
+0x6c	U+006c
+0x6d	U+006d
+0x6e	U+006e
+0x6f	U+006f
+0x70	U+0070
+0x71	U+0071
+0x72	U+0072
+0x73	U+0073
+0x74	U+0074
+0x75	U+0075
+0x76	U+0076
+0x77	U+0077
+0x78	U+0078
+0x79	U+0079
+0x7a	U+007a
+0x7b	U+007b
+0x7c	U+007c
+0x7d	U+007d
+0x7e	U+007e
+0x7f	U+007f
+0x80	U+fffd
+0x81	U+fffd
+0x82	U+fffd
+0x83	U+fffd
+0x84	U+fffd
+0x85	U+fffd
+0x86	U+fffd
+0x87	U+fffd
+0x88	U+fffd
+0x89	U+fffd
+0x8a	U+fffd
+0x8b	U+fffd
+0x8c	U+fffd
+0x8d	U+fffd
+0x8e	U+fffd
+0x8f	U+fffd
+0x90	U+fffd
+0x91	U+fffd
+0x92	U+fffd
+0x93	U+fffd
+0x94	U+fffd
+0x95	U+fffd
+0x96	U+fffd
+0x97	U+fffd
+0x98	U+fffd
+0x99	U+fffd
+0x9a	U+fffd
+0x9b	U+fffd
+0x9c	U+fffd
+0x9d	U+fffd
+0x9e	U+fffd
+0x9f	U+fffd
+0xa0	U+fffd
+0xa1	U+ff61
+0xa2	U+ff62
+0xa3	U+ff63
+0xa4	U+ff64
+0xa5	U+ff65
+0xa6	U+ff66
+0xa7	U+ff67
+0xa8	U+ff68
+0xa9	U+ff69
+0xaa	U+ff6a
+0xab	U+ff6b
+0xac	U+ff6c
+0xad	U+ff6d
+0xae	U+ff6e
+0xaf	U+ff6f
+0xb0	U+ff70
+0xb1	U+ff71
+0xb2	U+ff72
+0xb3	U+ff73
+0xb4	U+ff74
+0xb5	U+ff75
+0xb6	U+ff76
+0xb7	U+ff77
+0xb8	U+ff78
+0xb9	U+ff79
+0xba	U+ff7a
+0xbb	U+ff7b
+0xbc	U+ff7c
+0xbd	U+ff7d
+0xbe	U+ff7e
+0xbf	U+ff7f
+0xc0	U+ff80
+0xc1	U+ff81
+0xc2	U+ff82
+0xc3	U+ff83
+0xc4	U+ff84
+0xc5	U+ff85
+0xc6	U+ff86
+0xc7	U+ff87
+0xc8	U+ff88
+0xc9	U+ff89
+0xca	U+ff8a
+0xcb	U+ff8b
+0xcc	U+ff8c
+0xcd	U+ff8d
+0xce	U+ff8e
+0xcf	U+ff8f
+0xd0	U+ff90
+0xd1	U+ff91
+0xd2	U+ff92
+0xd3	U+ff93
+0xd4	U+ff94
+0xd5	U+ff95
+0xd6	U+ff96
+0xd7	U+ff97
+0xd8	U+ff98
+0xd9	U+ff99
+0xda	U+ff9a
+0xdb	U+ff9b
+0xdc	U+ff9c
+0xdd	U+ff9d
+0xde	U+ff9e
+0xdf	U+ff9f
+0xe0	U+fffd
+0xe1	U+fffd
+0xe2	U+fffd
+0xe3	U+fffd
+0xe4	U+fffd
+0xe5	U+fffd
+0xe6	U+fffd
+0xe7	U+fffd
+0xe8	U+fffd
+0xe9	U+fffd
+0xea	U+fffd
+0xeb	U+fffd
+0xec	U+fffd
+0xed	U+fffd
+0xee	U+fffd
+0xef	U+fffd
+0xf0	U+fffd
+0xf1	U+fffd
+0xf2	U+fffd
+0xf3	U+fffd
+0xf4	U+fffd
+0xf5	U+fffd
+0xf6	U+fffd
+0xf7	U+fffd
+0xf8	U+fffd
+0xf9	U+fffd
+0xfa	U+fffd
+0xfb	U+fffd
+0xfc	U+fffd
+0xfd	U+fffd
+0xfe	U+fffd
+0xff	U+fffd
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/KOI8_R.map	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,257 @@
+#Generated from KOI8_R.java
+0x00	U+0000
+0x01	U+0001
+0x02	U+0002
+0x03	U+0003
+0x04	U+0004
+0x05	U+0005
+0x06	U+0006
+0x07	U+0007
+0x08	U+0008
+0x09	U+0009
+0x0a	U+000a
+0x0b	U+000b
+0x0c	U+000c
+0x0d	U+000d
+0x0e	U+000e
+0x0f	U+000f
+0x10	U+0010
+0x11	U+0011
+0x12	U+0012
+0x13	U+0013
+0x14	U+0014
+0x15	U+0015
+0x16	U+0016
+0x17	U+0017
+0x18	U+0018
+0x19	U+0019
+0x1a	U+001a
+0x1b	U+001b
+0x1c	U+001c
+0x1d	U+001d
+0x1e	U+001e
+0x1f	U+001f
+0x20	U+0020
+0x21	U+0021
+0x22	U+0022
+0x23	U+0023
+0x24	U+0024
+0x25	U+0025
+0x26	U+0026
+0x27	U+0027
+0x28	U+0028
+0x29	U+0029
+0x2a	U+002a
+0x2b	U+002b
+0x2c	U+002c
+0x2d	U+002d
+0x2e	U+002e
+0x2f	U+002f
+0x30	U+0030
+0x31	U+0031
+0x32	U+0032
+0x33	U+0033
+0x34	U+0034
+0x35	U+0035
+0x36	U+0036
+0x37	U+0037
+0x38	U+0038
+0x39	U+0039
+0x3a	U+003a
+0x3b	U+003b
+0x3c	U+003c
+0x3d	U+003d
+0x3e	U+003e
+0x3f	U+003f
+0x40	U+0040
+0x41	U+0041
+0x42	U+0042
+0x43	U+0043
+0x44	U+0044
+0x45	U+0045
+0x46	U+0046
+0x47	U+0047
+0x48	U+0048
+0x49	U+0049
+0x4a	U+004a
+0x4b	U+004b
+0x4c	U+004c
+0x4d	U+004d
+0x4e	U+004e
+0x4f	U+004f
+0x50	U+0050
+0x51	U+0051
+0x52	U+0052
+0x53	U+0053
+0x54	U+0054
+0x55	U+0055
+0x56	U+0056
+0x57	U+0057
+0x58	U+0058
+0x59	U+0059
+0x5a	U+005a
+0x5b	U+005b
+0x5c	U+005c
+0x5d	U+005d
+0x5e	U+005e
+0x5f	U+005f
+0x60	U+0060
+0x61	U+0061
+0x62	U+0062
+0x63	U+0063
+0x64	U+0064
+0x65	U+0065
+0x66	U+0066
+0x67	U+0067
+0x68	U+0068
+0x69	U+0069
+0x6a	U+006a
+0x6b	U+006b
+0x6c	U+006c
+0x6d	U+006d
+0x6e	U+006e
+0x6f	U+006f
+0x70	U+0070
+0x71	U+0071
+0x72	U+0072
+0x73	U+0073
+0x74	U+0074
+0x75	U+0075
+0x76	U+0076
+0x77	U+0077
+0x78	U+0078
+0x79	U+0079
+0x7a	U+007a
+0x7b	U+007b
+0x7c	U+007c
+0x7d	U+007d
+0x7e	U+007e
+0x7f	U+007f
+0x80	U+2500
+0x81	U+2502
+0x82	U+250c
+0x83	U+2510
+0x84	U+2514
+0x85	U+2518
+0x86	U+251c
+0x87	U+2524
+0x88	U+252c
+0x89	U+2534
+0x8a	U+253c
+0x8b	U+2580
+0x8c	U+2584
+0x8d	U+2588
+0x8e	U+258c
+0x8f	U+2590
+0x90	U+2591
+0x91	U+2592
+0x92	U+2593
+0x93	U+2320
+0x94	U+25a0
+0x95	U+2219
+0x96	U+221a
+0x97	U+2248
+0x98	U+2264
+0x99	U+2265
+0x9a	U+00a0
+0x9b	U+2321
+0x9c	U+00b0
+0x9d	U+00b2
+0x9e	U+00b7
+0x9f	U+00f7
+0xa0	U+2550
+0xa1	U+2551
+0xa2	U+2552
+0xa3	U+0451
+0xa4	U+2553
+0xa5	U+2554
+0xa6	U+2555
+0xa7	U+2556
+0xa8	U+2557
+0xa9	U+2558
+0xaa	U+2559
+0xab	U+255a
+0xac	U+255b
+0xad	U+255c
+0xae	U+255d
+0xaf	U+255e
+0xb0	U+255f
+0xb1	U+2560
+0xb2	U+2561
+0xb3	U+0401
+0xb4	U+2562
+0xb5	U+2563
+0xb6	U+2564
+0xb7	U+2565
+0xb8	U+2566
+0xb9	U+2567
+0xba	U+2568
+0xbb	U+2569
+0xbc	U+256a
+0xbd	U+256b
+0xbe	U+256c
+0xbf	U+00a9
+0xc0	U+044e
+0xc1	U+0430
+0xc2	U+0431
+0xc3	U+0446
+0xc4	U+0434
+0xc5	U+0435
+0xc6	U+0444
+0xc7	U+0433
+0xc8	U+0445
+0xc9	U+0438
+0xca	U+0439
+0xcb	U+043a
+0xcc	U+043b
+0xcd	U+043c
+0xce	U+043d
+0xcf	U+043e
+0xd0	U+043f
+0xd1	U+044f
+0xd2	U+0440
+0xd3	U+0441
+0xd4	U+0442
+0xd5	U+0443
+0xd6	U+0436
+0xd7	U+0432
+0xd8	U+044c
+0xd9	U+044b
+0xda	U+0437
+0xdb	U+0448
+0xdc	U+044d
+0xdd	U+0449
+0xde	U+0447
+0xdf	U+044a
+0xe0	U+042e
+0xe1	U+0410
+0xe2	U+0411
+0xe3	U+0426
+0xe4	U+0414
+0xe5	U+0415
+0xe6	U+0424
+0xe7	U+0413
+0xe8	U+0425
+0xe9	U+0418
+0xea	U+0419
+0xeb	U+041a
+0xec	U+041b
+0xed	U+041c
+0xee	U+041d
+0xef	U+041e
+0xf0	U+041f
+0xf1	U+042f
+0xf2	U+0420
+0xf3	U+0421
+0xf4	U+0422
+0xf5	U+0423
+0xf6	U+0416
+0xf7	U+0412
+0xf8	U+042c
+0xf9	U+042b
+0xfa	U+0417
+0xfb	U+0428
+0xfc	U+042d
+0xfd	U+0429
+0xfe	U+0427
+0xff	U+042a
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/KOI8_U.map	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,257 @@
+#Generated from KOI8_U.java
+0x00	U+0000
+0x01	U+0001
+0x02	U+0002
+0x03	U+0003
+0x04	U+0004
+0x05	U+0005
+0x06	U+0006
+0x07	U+0007
+0x08	U+0008
+0x09	U+0009
+0x0a	U+000a
+0x0b	U+000b
+0x0c	U+000c
+0x0d	U+000d
+0x0e	U+000e
+0x0f	U+000f
+0x10	U+0010
+0x11	U+0011
+0x12	U+0012
+0x13	U+0013
+0x14	U+0014
+0x15	U+0015
+0x16	U+0016
+0x17	U+0017
+0x18	U+0018
+0x19	U+0019
+0x1a	U+001a
+0x1b	U+001b
+0x1c	U+001c
+0x1d	U+001d
+0x1e	U+001e
+0x1f	U+001f
+0x20	U+0020
+0x21	U+0021
+0x22	U+0022
+0x23	U+0023
+0x24	U+0024
+0x25	U+0025
+0x26	U+0026
+0x27	U+0027
+0x28	U+0028
+0x29	U+0029
+0x2a	U+002a
+0x2b	U+002b
+0x2c	U+002c
+0x2d	U+002d
+0x2e	U+002e
+0x2f	U+002f
+0x30	U+0030
+0x31	U+0031
+0x32	U+0032
+0x33	U+0033
+0x34	U+0034
+0x35	U+0035
+0x36	U+0036
+0x37	U+0037
+0x38	U+0038
+0x39	U+0039
+0x3a	U+003a
+0x3b	U+003b
+0x3c	U+003c
+0x3d	U+003d
+0x3e	U+003e
+0x3f	U+003f
+0x40	U+0040
+0x41	U+0041
+0x42	U+0042
+0x43	U+0043
+0x44	U+0044
+0x45	U+0045
+0x46	U+0046
+0x47	U+0047
+0x48	U+0048
+0x49	U+0049
+0x4a	U+004a
+0x4b	U+004b
+0x4c	U+004c
+0x4d	U+004d
+0x4e	U+004e
+0x4f	U+004f
+0x50	U+0050
+0x51	U+0051
+0x52	U+0052
+0x53	U+0053
+0x54	U+0054
+0x55	U+0055
+0x56	U+0056
+0x57	U+0057
+0x58	U+0058
+0x59	U+0059
+0x5a	U+005a
+0x5b	U+005b
+0x5c	U+005c
+0x5d	U+005d
+0x5e	U+005e
+0x5f	U+005f
+0x60	U+0060
+0x61	U+0061
+0x62	U+0062
+0x63	U+0063
+0x64	U+0064
+0x65	U+0065
+0x66	U+0066
+0x67	U+0067
+0x68	U+0068
+0x69	U+0069
+0x6a	U+006a
+0x6b	U+006b
+0x6c	U+006c
+0x6d	U+006d
+0x6e	U+006e
+0x6f	U+006f
+0x70	U+0070
+0x71	U+0071
+0x72	U+0072
+0x73	U+0073
+0x74	U+0074
+0x75	U+0075
+0x76	U+0076
+0x77	U+0077
+0x78	U+0078
+0x79	U+0079
+0x7a	U+007a
+0x7b	U+007b
+0x7c	U+007c
+0x7d	U+007d
+0x7e	U+007e
+0x7f	U+007f
+0x80	U+2500
+0x81	U+2502
+0x82	U+250c
+0x83	U+2510
+0x84	U+2514
+0x85	U+2518
+0x86	U+251c
+0x87	U+2524
+0x88	U+252c
+0x89	U+2534
+0x8a	U+253c
+0x8b	U+2580
+0x8c	U+2584
+0x8d	U+2588
+0x8e	U+258c
+0x8f	U+2590
+0x90	U+2591
+0x91	U+2592
+0x92	U+2593
+0x93	U+2320
+0x94	U+25a0
+0x95	U+2219
+0x96	U+221a
+0x97	U+2248
+0x98	U+2264
+0x99	U+2265
+0x9a	U+00a0
+0x9b	U+2321
+0x9c	U+00b0
+0x9d	U+00b2
+0x9e	U+00b7
+0x9f	U+00f7
+0xa0	U+2550
+0xa1	U+2551
+0xa2	U+2552
+0xa3	U+0451
+0xa4	U+0454
+0xa5	U+2554
+0xa6	U+0456
+0xa7	U+0457
+0xa8	U+2557
+0xa9	U+2558
+0xaa	U+2559
+0xab	U+255a
+0xac	U+255b
+0xad	U+0491
+0xae	U+255d
+0xaf	U+255e
+0xb0	U+255f
+0xb1	U+2560
+0xb2	U+2561
+0xb3	U+0401
+0xb4	U+0404
+0xb5	U+2563
+0xb6	U+0406
+0xb7	U+0407
+0xb8	U+2566
+0xb9	U+2567
+0xba	U+2568
+0xbb	U+2569
+0xbc	U+256a
+0xbd	U+0490
+0xbe	U+256c
+0xbf	U+00a9
+0xc0	U+044e
+0xc1	U+0430
+0xc2	U+0431
+0xc3	U+0446
+0xc4	U+0434
+0xc5	U+0435
+0xc6	U+0444
+0xc7	U+0433
+0xc8	U+0445
+0xc9	U+0438
+0xca	U+0439
+0xcb	U+043a
+0xcc	U+043b
+0xcd	U+043c
+0xce	U+043d
+0xcf	U+043e
+0xd0	U+043f
+0xd1	U+044f
+0xd2	U+0440
+0xd3	U+0441
+0xd4	U+0442
+0xd5	U+0443
+0xd6	U+0436
+0xd7	U+0432
+0xd8	U+044c
+0xd9	U+044b
+0xda	U+0437
+0xdb	U+0448
+0xdc	U+044d
+0xdd	U+0449
+0xde	U+0447
+0xdf	U+044a
+0xe0	U+042e
+0xe1	U+0410
+0xe2	U+0411
+0xe3	U+0426
+0xe4	U+0414
+0xe5	U+0415
+0xe6	U+0424
+0xe7	U+0413
+0xe8	U+0425
+0xe9	U+0418
+0xea	U+0419
+0xeb	U+041a
+0xec	U+041b
+0xed	U+041c
+0xee	U+041d
+0xef	U+041e
+0xf0	U+041f
+0xf1	U+042f
+0xf2	U+0420
+0xf3	U+0421
+0xf4	U+0422
+0xf5	U+0423
+0xf6	U+0416
+0xf7	U+0412
+0xf8	U+042c
+0xf9	U+042b
+0xfa	U+0417
+0xfb	U+0428
+0xfc	U+042d
+0xfd	U+0429
+0xfe	U+0427
+0xff	U+042a
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/MS1250.map	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,257 @@
+#Generated from MS1250.java
+0x00	U+0000
+0x01	U+0001
+0x02	U+0002
+0x03	U+0003
+0x04	U+0004
+0x05	U+0005
+0x06	U+0006
+0x07	U+0007
+0x08	U+0008
+0x09	U+0009
+0x0a	U+000a
+0x0b	U+000b
+0x0c	U+000c
+0x0d	U+000d
+0x0e	U+000e
+0x0f	U+000f
+0x10	U+0010
+0x11	U+0011
+0x12	U+0012
+0x13	U+0013
+0x14	U+0014
+0x15	U+0015
+0x16	U+0016
+0x17	U+0017
+0x18	U+0018
+0x19	U+0019
+0x1a	U+001a
+0x1b	U+001b
+0x1c	U+001c
+0x1d	U+001d
+0x1e	U+001e
+0x1f	U+001f
+0x20	U+0020
+0x21	U+0021
+0x22	U+0022
+0x23	U+0023
+0x24	U+0024
+0x25	U+0025
+0x26	U+0026
+0x27	U+0027
+0x28	U+0028
+0x29	U+0029
+0x2a	U+002a
+0x2b	U+002b
+0x2c	U+002c
+0x2d	U+002d
+0x2e	U+002e
+0x2f	U+002f
+0x30	U+0030
+0x31	U+0031
+0x32	U+0032
+0x33	U+0033
+0x34	U+0034
+0x35	U+0035
+0x36	U+0036
+0x37	U+0037
+0x38	U+0038
+0x39	U+0039
+0x3a	U+003a
+0x3b	U+003b
+0x3c	U+003c
+0x3d	U+003d
+0x3e	U+003e
+0x3f	U+003f
+0x40	U+0040
+0x41	U+0041
+0x42	U+0042
+0x43	U+0043
+0x44	U+0044
+0x45	U+0045
+0x46	U+0046
+0x47	U+0047
+0x48	U+0048
+0x49	U+0049
+0x4a	U+004a
+0x4b	U+004b
+0x4c	U+004c
+0x4d	U+004d
+0x4e	U+004e
+0x4f	U+004f
+0x50	U+0050
+0x51	U+0051
+0x52	U+0052
+0x53	U+0053
+0x54	U+0054
+0x55	U+0055
+0x56	U+0056
+0x57	U+0057
+0x58	U+0058
+0x59	U+0059
+0x5a	U+005a
+0x5b	U+005b
+0x5c	U+005c
+0x5d	U+005d
+0x5e	U+005e
+0x5f	U+005f
+0x60	U+0060
+0x61	U+0061
+0x62	U+0062
+0x63	U+0063
+0x64	U+0064
+0x65	U+0065
+0x66	U+0066
+0x67	U+0067
+0x68	U+0068
+0x69	U+0069
+0x6a	U+006a
+0x6b	U+006b
+0x6c	U+006c
+0x6d	U+006d
+0x6e	U+006e
+0x6f	U+006f
+0x70	U+0070
+0x71	U+0071
+0x72	U+0072
+0x73	U+0073
+0x74	U+0074
+0x75	U+0075
+0x76	U+0076
+0x77	U+0077
+0x78	U+0078
+0x79	U+0079
+0x7a	U+007a
+0x7b	U+007b
+0x7c	U+007c
+0x7d	U+007d
+0x7e	U+007e
+0x7f	U+007f
+0x80	U+20ac
+0x81	U+fffd
+0x82	U+201a
+0x83	U+fffd
+0x84	U+201e
+0x85	U+2026
+0x86	U+2020
+0x87	U+2021
+0x88	U+fffd
+0x89	U+2030
+0x8a	U+0160
+0x8b	U+2039
+0x8c	U+015a
+0x8d	U+0164
+0x8e	U+017d
+0x8f	U+0179
+0x90	U+fffd
+0x91	U+2018
+0x92	U+2019
+0x93	U+201c
+0x94	U+201d
+0x95	U+2022
+0x96	U+2013
+0x97	U+2014
+0x98	U+fffd
+0x99	U+2122
+0x9a	U+0161
+0x9b	U+203a
+0x9c	U+015b
+0x9d	U+0165
+0x9e	U+017e
+0x9f	U+017a
+0xa0	U+00a0
+0xa1	U+02c7
+0xa2	U+02d8
+0xa3	U+0141
+0xa4	U+00a4
+0xa5	U+0104
+0xa6	U+00a6
+0xa7	U+00a7
+0xa8	U+00a8
+0xa9	U+00a9
+0xaa	U+015e
+0xab	U+00ab
+0xac	U+00ac
+0xad	U+00ad
+0xae	U+00ae
+0xaf	U+017b
+0xb0	U+00b0
+0xb1	U+00b1
+0xb2	U+02db
+0xb3	U+0142
+0xb4	U+00b4
+0xb5	U+00b5
+0xb6	U+00b6
+0xb7	U+00b7
+0xb8	U+00b8
+0xb9	U+0105
+0xba	U+015f
+0xbb	U+00bb
+0xbc	U+013d
+0xbd	U+02dd
+0xbe	U+013e
+0xbf	U+017c
+0xc0	U+0154
+0xc1	U+00c1
+0xc2	U+00c2
+0xc3	U+0102
+0xc4	U+00c4
+0xc5	U+0139
+0xc6	U+0106
+0xc7	U+00c7
+0xc8	U+010c
+0xc9	U+00c9
+0xca	U+0118
+0xcb	U+00cb
+0xcc	U+011a
+0xcd	U+00cd
+0xce	U+00ce
+0xcf	U+010e
+0xd0	U+0110
+0xd1	U+0143
+0xd2	U+0147
+0xd3	U+00d3
+0xd4	U+00d4
+0xd5	U+0150
+0xd6	U+00d6
+0xd7	U+00d7
+0xd8	U+0158
+0xd9	U+016e
+0xda	U+00da
+0xdb	U+0170
+0xdc	U+00dc
+0xdd	U+00dd
+0xde	U+0162
+0xdf	U+00df
+0xe0	U+0155
+0xe1	U+00e1
+0xe2	U+00e2
+0xe3	U+0103
+0xe4	U+00e4
+0xe5	U+013a
+0xe6	U+0107
+0xe7	U+00e7
+0xe8	U+010d
+0xe9	U+00e9
+0xea	U+0119
+0xeb	U+00eb
+0xec	U+011b
+0xed	U+00ed
+0xee	U+00ee
+0xef	U+010f
+0xf0	U+0111
+0xf1	U+0144
+0xf2	U+0148
+0xf3	U+00f3
+0xf4	U+00f4
+0xf5	U+0151
+0xf6	U+00f6
+0xf7	U+00f7
+0xf8	U+0159
+0xf9	U+016f
+0xfa	U+00fa
+0xfb	U+0171
+0xfc	U+00fc
+0xfd	U+00fd
+0xfe	U+0163
+0xff	U+02d9
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/MS1251.map	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,257 @@
+#Generated from MS1251.java
+0x00	U+0000
+0x01	U+0001
+0x02	U+0002
+0x03	U+0003
+0x04	U+0004
+0x05	U+0005
+0x06	U+0006
+0x07	U+0007
+0x08	U+0008
+0x09	U+0009
+0x0a	U+000a
+0x0b	U+000b
+0x0c	U+000c
+0x0d	U+000d
+0x0e	U+000e
+0x0f	U+000f
+0x10	U+0010
+0x11	U+0011
+0x12	U+0012
+0x13	U+0013
+0x14	U+0014
+0x15	U+0015
+0x16	U+0016
+0x17	U+0017
+0x18	U+0018
+0x19	U+0019
+0x1a	U+001a
+0x1b	U+001b
+0x1c	U+001c
+0x1d	U+001d
+0x1e	U+001e
+0x1f	U+001f
+0x20	U+0020
+0x21	U+0021
+0x22	U+0022
+0x23	U+0023
+0x24	U+0024
+0x25	U+0025
+0x26	U+0026
+0x27	U+0027
+0x28	U+0028
+0x29	U+0029
+0x2a	U+002a
+0x2b	U+002b
+0x2c	U+002c
+0x2d	U+002d
+0x2e	U+002e
+0x2f	U+002f
+0x30	U+0030
+0x31	U+0031
+0x32	U+0032
+0x33	U+0033
+0x34	U+0034
+0x35	U+0035
+0x36	U+0036
+0x37	U+0037
+0x38	U+0038
+0x39	U+0039
+0x3a	U+003a
+0x3b	U+003b
+0x3c	U+003c
+0x3d	U+003d
+0x3e	U+003e
+0x3f	U+003f
+0x40	U+0040
+0x41	U+0041
+0x42	U+0042
+0x43	U+0043
+0x44	U+0044
+0x45	U+0045
+0x46	U+0046
+0x47	U+0047
+0x48	U+0048
+0x49	U+0049
+0x4a	U+004a
+0x4b	U+004b
+0x4c	U+004c
+0x4d	U+004d
+0x4e	U+004e
+0x4f	U+004f
+0x50	U+0050
+0x51	U+0051
+0x52	U+0052
+0x53	U+0053
+0x54	U+0054
+0x55	U+0055
+0x56	U+0056
+0x57	U+0057
+0x58	U+0058
+0x59	U+0059
+0x5a	U+005a
+0x5b	U+005b
+0x5c	U+005c
+0x5d	U+005d
+0x5e	U+005e
+0x5f	U+005f
+0x60	U+0060
+0x61	U+0061
+0x62	U+0062
+0x63	U+0063
+0x64	U+0064
+0x65	U+0065
+0x66	U+0066
+0x67	U+0067
+0x68	U+0068
+0x69	U+0069
+0x6a	U+006a
+0x6b	U+006b
+0x6c	U+006c
+0x6d	U+006d
+0x6e	U+006e
+0x6f	U+006f
+0x70	U+0070
+0x71	U+0071
+0x72	U+0072
+0x73	U+0073
+0x74	U+0074
+0x75	U+0075
+0x76	U+0076
+0x77	U+0077
+0x78	U+0078
+0x79	U+0079
+0x7a	U+007a
+0x7b	U+007b
+0x7c	U+007c
+0x7d	U+007d
+0x7e	U+007e
+0x7f	U+007f
+0x80	U+0402
+0x81	U+0403
+0x82	U+201a
+0x83	U+0453
+0x84	U+201e
+0x85	U+2026
+0x86	U+2020
+0x87	U+2021
+0x88	U+20ac
+0x89	U+2030
+0x8a	U+0409
+0x8b	U+2039
+0x8c	U+040a
+0x8d	U+040c
+0x8e	U+040b
+0x8f	U+040f
+0x90	U+0452
+0x91	U+2018
+0x92	U+2019
+0x93	U+201c
+0x94	U+201d
+0x95	U+2022
+0x96	U+2013
+0x97	U+2014
+0x98	U+fffd
+0x99	U+2122
+0x9a	U+0459
+0x9b	U+203a
+0x9c	U+045a
+0x9d	U+045c
+0x9e	U+045b
+0x9f	U+045f
+0xa0	U+00a0
+0xa1	U+040e
+0xa2	U+045e
+0xa3	U+0408
+0xa4	U+00a4
+0xa5	U+0490
+0xa6	U+00a6
+0xa7	U+00a7
+0xa8	U+0401
+0xa9	U+00a9
+0xaa	U+0404
+0xab	U+00ab
+0xac	U+00ac
+0xad	U+00ad
+0xae	U+00ae
+0xaf	U+0407
+0xb0	U+00b0
+0xb1	U+00b1
+0xb2	U+0406
+0xb3	U+0456
+0xb4	U+0491
+0xb5	U+00b5
+0xb6	U+00b6
+0xb7	U+00b7
+0xb8	U+0451
+0xb9	U+2116
+0xba	U+0454
+0xbb	U+00bb
+0xbc	U+0458
+0xbd	U+0405
+0xbe	U+0455
+0xbf	U+0457
+0xc0	U+0410
+0xc1	U+0411
+0xc2	U+0412
+0xc3	U+0413
+0xc4	U+0414
+0xc5	U+0415
+0xc6	U+0416
+0xc7	U+0417
+0xc8	U+0418
+0xc9	U+0419
+0xca	U+041a
+0xcb	U+041b
+0xcc	U+041c
+0xcd	U+041d
+0xce	U+041e
+0xcf	U+041f
+0xd0	U+0420
+0xd1	U+0421
+0xd2	U+0422
+0xd3	U+0423
+0xd4	U+0424
+0xd5	U+0425
+0xd6	U+0426
+0xd7	U+0427
+0xd8	U+0428
+0xd9	U+0429
+0xda	U+042a
+0xdb	U+042b
+0xdc	U+042c
+0xdd	U+042d
+0xde	U+042e
+0xdf	U+042f
+0xe0	U+0430
+0xe1	U+0431
+0xe2	U+0432
+0xe3	U+0433
+0xe4	U+0434
+0xe5	U+0435
+0xe6	U+0436
+0xe7	U+0437
+0xe8	U+0438
+0xe9	U+0439
+0xea	U+043a
+0xeb	U+043b
+0xec	U+043c
+0xed	U+043d
+0xee	U+043e
+0xef	U+043f
+0xf0	U+0440
+0xf1	U+0441
+0xf2	U+0442
+0xf3	U+0443
+0xf4	U+0444
+0xf5	U+0445
+0xf6	U+0446
+0xf7	U+0447
+0xf8	U+0448
+0xf9	U+0449
+0xfa	U+044a
+0xfb	U+044b
+0xfc	U+044c
+0xfd	U+044d
+0xfe	U+044e
+0xff	U+044f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/MS1252.map	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,257 @@
+#Generated from MS1252.java
+0x00	U+0000
+0x01	U+0001
+0x02	U+0002
+0x03	U+0003
+0x04	U+0004
+0x05	U+0005
+0x06	U+0006
+0x07	U+0007
+0x08	U+0008
+0x09	U+0009
+0x0a	U+000a
+0x0b	U+000b
+0x0c	U+000c
+0x0d	U+000d
+0x0e	U+000e
+0x0f	U+000f
+0x10	U+0010
+0x11	U+0011
+0x12	U+0012
+0x13	U+0013
+0x14	U+0014
+0x15	U+0015
+0x16	U+0016
+0x17	U+0017
+0x18	U+0018
+0x19	U+0019
+0x1a	U+001a
+0x1b	U+001b
+0x1c	U+001c
+0x1d	U+001d
+0x1e	U+001e
+0x1f	U+001f
+0x20	U+0020
+0x21	U+0021
+0x22	U+0022
+0x23	U+0023
+0x24	U+0024
+0x25	U+0025
+0x26	U+0026
+0x27	U+0027
+0x28	U+0028
+0x29	U+0029
+0x2a	U+002a
+0x2b	U+002b
+0x2c	U+002c
+0x2d	U+002d
+0x2e	U+002e
+0x2f	U+002f
+0x30	U+0030
+0x31	U+0031
+0x32	U+0032
+0x33	U+0033
+0x34	U+0034
+0x35	U+0035
+0x36	U+0036
+0x37	U+0037
+0x38	U+0038
+0x39	U+0039
+0x3a	U+003a
+0x3b	U+003b
+0x3c	U+003c
+0x3d	U+003d
+0x3e	U+003e
+0x3f	U+003f
+0x40	U+0040
+0x41	U+0041
+0x42	U+0042
+0x43	U+0043
+0x44	U+0044
+0x45	U+0045
+0x46	U+0046
+0x47	U+0047
+0x48	U+0048
+0x49	U+0049
+0x4a	U+004a
+0x4b	U+004b
+0x4c	U+004c
+0x4d	U+004d
+0x4e	U+004e
+0x4f	U+004f
+0x50	U+0050
+0x51	U+0051
+0x52	U+0052
+0x53	U+0053
+0x54	U+0054
+0x55	U+0055
+0x56	U+0056
+0x57	U+0057
+0x58	U+0058
+0x59	U+0059
+0x5a	U+005a
+0x5b	U+005b
+0x5c	U+005c
+0x5d	U+005d
+0x5e	U+005e
+0x5f	U+005f
+0x60	U+0060
+0x61	U+0061
+0x62	U+0062
+0x63	U+0063
+0x64	U+0064
+0x65	U+0065
+0x66	U+0066
+0x67	U+0067
+0x68	U+0068
+0x69	U+0069
+0x6a	U+006a
+0x6b	U+006b
+0x6c	U+006c
+0x6d	U+006d
+0x6e	U+006e
+0x6f	U+006f
+0x70	U+0070
+0x71	U+0071
+0x72	U+0072
+0x73	U+0073
+0x74	U+0074
+0x75	U+0075
+0x76	U+0076
+0x77	U+0077
+0x78	U+0078
+0x79	U+0079
+0x7a	U+007a
+0x7b	U+007b
+0x7c	U+007c
+0x7d	U+007d
+0x7e	U+007e
+0x7f	U+007f
+0x80	U+20ac
+0x81	U+fffd
+0x82	U+201a
+0x83	U+0192
+0x84	U+201e
+0x85	U+2026
+0x86	U+2020
+0x87	U+2021
+0x88	U+02c6
+0x89	U+2030
+0x8a	U+0160
+0x8b	U+2039
+0x8c	U+0152
+0x8d	U+fffd
+0x8e	U+017d
+0x8f	U+fffd
+0x90	U+fffd
+0x91	U+2018
+0x92	U+2019
+0x93	U+201c
+0x94	U+201d
+0x95	U+2022
+0x96	U+2013
+0x97	U+2014
+0x98	U+02dc
+0x99	U+2122
+0x9a	U+0161
+0x9b	U+203a
+0x9c	U+0153
+0x9d	U+fffd
+0x9e	U+017e
+0x9f	U+0178
+0xa0	U+00a0
+0xa1	U+00a1
+0xa2	U+00a2
+0xa3	U+00a3
+0xa4	U+00a4
+0xa5	U+00a5
+0xa6	U+00a6
+0xa7	U+00a7
+0xa8	U+00a8
+0xa9	U+00a9
+0xaa	U+00aa
+0xab	U+00ab
+0xac	U+00ac
+0xad	U+00ad
+0xae	U+00ae
+0xaf	U+00af
+0xb0	U+00b0
+0xb1	U+00b1
+0xb2	U+00b2
+0xb3	U+00b3
+0xb4	U+00b4
+0xb5	U+00b5
+0xb6	U+00b6
+0xb7	U+00b7
+0xb8	U+00b8
+0xb9	U+00b9
+0xba	U+00ba
+0xbb	U+00bb
+0xbc	U+00bc
+0xbd	U+00bd
+0xbe	U+00be
+0xbf	U+00bf
+0xc0	U+00c0
+0xc1	U+00c1
+0xc2	U+00c2
+0xc3	U+00c3
+0xc4	U+00c4
+0xc5	U+00c5
+0xc6	U+00c6
+0xc7	U+00c7
+0xc8	U+00c8
+0xc9	U+00c9
+0xca	U+00ca
+0xcb	U+00cb
+0xcc	U+00cc
+0xcd	U+00cd
+0xce	U+00ce
+0xcf	U+00cf
+0xd0	U+00d0
+0xd1	U+00d1
+0xd2	U+00d2
+0xd3	U+00d3
+0xd4	U+00d4
+0xd5	U+00d5
+0xd6	U+00d6
+0xd7	U+00d7
+0xd8	U+00d8
+0xd9	U+00d9
+0xda	U+00da
+0xdb	U+00db
+0xdc	U+00dc
+0xdd	U+00dd
+0xde	U+00de
+0xdf	U+00df
+0xe0	U+00e0
+0xe1	U+00e1
+0xe2	U+00e2
+0xe3	U+00e3
+0xe4	U+00e4
+0xe5	U+00e5
+0xe6	U+00e6
+0xe7	U+00e7
+0xe8	U+00e8
+0xe9	U+00e9
+0xea	U+00ea
+0xeb	U+00eb
+0xec	U+00ec
+0xed	U+00ed
+0xee	U+00ee
+0xef	U+00ef
+0xf0	U+00f0
+0xf1	U+00f1
+0xf2	U+00f2
+0xf3	U+00f3
+0xf4	U+00f4
+0xf5	U+00f5
+0xf6	U+00f6
+0xf7	U+00f7
+0xf8	U+00f8
+0xf9	U+00f9
+0xfa	U+00fa
+0xfb	U+00fb
+0xfc	U+00fc
+0xfd	U+00fd
+0xfe	U+00fe
+0xff	U+00ff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/MS1253.map	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,257 @@
+#Generated from MS1253.java
+0x00	U+0000
+0x01	U+0001
+0x02	U+0002
+0x03	U+0003
+0x04	U+0004
+0x05	U+0005
+0x06	U+0006
+0x07	U+0007
+0x08	U+0008
+0x09	U+0009
+0x0a	U+000a
+0x0b	U+000b
+0x0c	U+000c
+0x0d	U+000d
+0x0e	U+000e
+0x0f	U+000f
+0x10	U+0010
+0x11	U+0011
+0x12	U+0012
+0x13	U+0013
+0x14	U+0014
+0x15	U+0015
+0x16	U+0016
+0x17	U+0017
+0x18	U+0018
+0x19	U+0019
+0x1a	U+001a
+0x1b	U+001b
+0x1c	U+001c
+0x1d	U+001d
+0x1e	U+001e
+0x1f	U+001f
+0x20	U+0020
+0x21	U+0021
+0x22	U+0022
+0x23	U+0023
+0x24	U+0024
+0x25	U+0025
+0x26	U+0026
+0x27	U+0027
+0x28	U+0028
+0x29	U+0029
+0x2a	U+002a
+0x2b	U+002b
+0x2c	U+002c
+0x2d	U+002d
+0x2e	U+002e
+0x2f	U+002f
+0x30	U+0030
+0x31	U+0031
+0x32	U+0032
+0x33	U+0033
+0x34	U+0034
+0x35	U+0035
+0x36	U+0036
+0x37	U+0037
+0x38	U+0038
+0x39	U+0039
+0x3a	U+003a
+0x3b	U+003b
+0x3c	U+003c
+0x3d	U+003d
+0x3e	U+003e
+0x3f	U+003f
+0x40	U+0040
+0x41	U+0041
+0x42	U+0042
+0x43	U+0043
+0x44	U+0044
+0x45	U+0045
+0x46	U+0046
+0x47	U+0047
+0x48	U+0048
+0x49	U+0049
+0x4a	U+004a
+0x4b	U+004b
+0x4c	U+004c
+0x4d	U+004d
+0x4e	U+004e
+0x4f	U+004f
+0x50	U+0050
+0x51	U+0051
+0x52	U+0052
+0x53	U+0053
+0x54	U+0054
+0x55	U+0055
+0x56	U+0056
+0x57	U+0057
+0x58	U+0058
+0x59	U+0059
+0x5a	U+005a
+0x5b	U+005b
+0x5c	U+005c
+0x5d	U+005d
+0x5e	U+005e
+0x5f	U+005f
+0x60	U+0060
+0x61	U+0061
+0x62	U+0062
+0x63	U+0063
+0x64	U+0064
+0x65	U+0065
+0x66	U+0066
+0x67	U+0067
+0x68	U+0068
+0x69	U+0069
+0x6a	U+006a
+0x6b	U+006b
+0x6c	U+006c
+0x6d	U+006d
+0x6e	U+006e
+0x6f	U+006f
+0x70	U+0070
+0x71	U+0071
+0x72	U+0072
+0x73	U+0073
+0x74	U+0074
+0x75	U+0075
+0x76	U+0076
+0x77	U+0077
+0x78	U+0078
+0x79	U+0079
+0x7a	U+007a
+0x7b	U+007b
+0x7c	U+007c
+0x7d	U+007d
+0x7e	U+007e
+0x7f	U+007f
+0x80	U+20ac
+0x81	U+fffd
+0x82	U+201a
+0x83	U+0192
+0x84	U+201e
+0x85	U+2026
+0x86	U+2020
+0x87	U+2021
+0x88	U+fffd
+0x89	U+2030
+0x8a	U+fffd
+0x8b	U+2039
+0x8c	U+fffd
+0x8d	U+fffd
+0x8e	U+fffd
+0x8f	U+fffd
+0x90	U+fffd
+0x91	U+2018
+0x92	U+2019
+0x93	U+201c
+0x94	U+201d
+0x95	U+2022
+0x96	U+2013
+0x97	U+2014
+0x98	U+fffd
+0x99	U+2122
+0x9a	U+fffd
+0x9b	U+203a
+0x9c	U+fffd
+0x9d	U+fffd
+0x9e	U+fffd
+0x9f	U+fffd
+0xa0	U+00a0
+0xa1	U+0385
+0xa2	U+0386
+0xa3	U+00a3
+0xa4	U+00a4
+0xa5	U+00a5
+0xa6	U+00a6
+0xa7	U+00a7
+0xa8	U+00a8
+0xa9	U+00a9
+0xaa	U+fffd
+0xab	U+00ab
+0xac	U+00ac
+0xad	U+00ad
+0xae	U+00ae
+0xaf	U+2015
+0xb0	U+00b0
+0xb1	U+00b1
+0xb2	U+00b2
+0xb3	U+00b3
+0xb4	U+0384
+0xb5	U+00b5
+0xb6	U+00b6
+0xb7	U+00b7
+0xb8	U+0388
+0xb9	U+0389
+0xba	U+038a
+0xbb	U+00bb
+0xbc	U+038c
+0xbd	U+00bd
+0xbe	U+038e
+0xbf	U+038f
+0xc0	U+0390
+0xc1	U+0391
+0xc2	U+0392
+0xc3	U+0393
+0xc4	U+0394
+0xc5	U+0395
+0xc6	U+0396
+0xc7	U+0397
+0xc8	U+0398
+0xc9	U+0399
+0xca	U+039a
+0xcb	U+039b
+0xcc	U+039c
+0xcd	U+039d
+0xce	U+039e
+0xcf	U+039f
+0xd0	U+03a0
+0xd1	U+03a1
+0xd2	U+fffd
+0xd3	U+03a3
+0xd4	U+03a4
+0xd5	U+03a5
+0xd6	U+03a6
+0xd7	U+03a7
+0xd8	U+03a8
+0xd9	U+03a9
+0xda	U+03aa
+0xdb	U+03ab
+0xdc	U+03ac
+0xdd	U+03ad
+0xde	U+03ae
+0xdf	U+03af
+0xe0	U+03b0
+0xe1	U+03b1
+0xe2	U+03b2
+0xe3	U+03b3
+0xe4	U+03b4
+0xe5	U+03b5
+0xe6	U+03b6
+0xe7	U+03b7
+0xe8	U+03b8
+0xe9	U+03b9
+0xea	U+03ba
+0xeb	U+03bb
+0xec	U+03bc
+0xed	U+03bd
+0xee	U+03be
+0xef	U+03bf
+0xf0	U+03c0
+0xf1	U+03c1
+0xf2	U+03c2
+0xf3	U+03c3
+0xf4	U+03c4
+0xf5	U+03c5
+0xf6	U+03c6
+0xf7	U+03c7
+0xf8	U+03c8
+0xf9	U+03c9
+0xfa	U+03ca
+0xfb	U+03cb
+0xfc	U+03cc
+0xfd	U+03cd
+0xfe	U+03ce
+0xff	U+fffd
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/MS1254.map	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,257 @@
+#Generated from MS1254.java
+0x00	U+0000
+0x01	U+0001
+0x02	U+0002
+0x03	U+0003
+0x04	U+0004
+0x05	U+0005
+0x06	U+0006
+0x07	U+0007
+0x08	U+0008
+0x09	U+0009
+0x0a	U+000a
+0x0b	U+000b
+0x0c	U+000c
+0x0d	U+000d
+0x0e	U+000e
+0x0f	U+000f
+0x10	U+0010
+0x11	U+0011
+0x12	U+0012
+0x13	U+0013
+0x14	U+0014
+0x15	U+0015
+0x16	U+0016
+0x17	U+0017
+0x18	U+0018
+0x19	U+0019
+0x1a	U+001a
+0x1b	U+001b
+0x1c	U+001c
+0x1d	U+001d
+0x1e	U+001e
+0x1f	U+001f
+0x20	U+0020
+0x21	U+0021
+0x22	U+0022
+0x23	U+0023
+0x24	U+0024
+0x25	U+0025
+0x26	U+0026
+0x27	U+0027
+0x28	U+0028
+0x29	U+0029
+0x2a	U+002a
+0x2b	U+002b
+0x2c	U+002c
+0x2d	U+002d
+0x2e	U+002e
+0x2f	U+002f
+0x30	U+0030
+0x31	U+0031
+0x32	U+0032
+0x33	U+0033
+0x34	U+0034
+0x35	U+0035
+0x36	U+0036
+0x37	U+0037
+0x38	U+0038
+0x39	U+0039
+0x3a	U+003a
+0x3b	U+003b
+0x3c	U+003c
+0x3d	U+003d
+0x3e	U+003e
+0x3f	U+003f
+0x40	U+0040
+0x41	U+0041
+0x42	U+0042
+0x43	U+0043
+0x44	U+0044
+0x45	U+0045
+0x46	U+0046
+0x47	U+0047
+0x48	U+0048
+0x49	U+0049
+0x4a	U+004a
+0x4b	U+004b
+0x4c	U+004c
+0x4d	U+004d
+0x4e	U+004e
+0x4f	U+004f
+0x50	U+0050
+0x51	U+0051
+0x52	U+0052
+0x53	U+0053
+0x54	U+0054
+0x55	U+0055
+0x56	U+0056
+0x57	U+0057
+0x58	U+0058
+0x59	U+0059
+0x5a	U+005a
+0x5b	U+005b
+0x5c	U+005c
+0x5d	U+005d
+0x5e	U+005e
+0x5f	U+005f
+0x60	U+0060
+0x61	U+0061
+0x62	U+0062
+0x63	U+0063
+0x64	U+0064
+0x65	U+0065
+0x66	U+0066
+0x67	U+0067
+0x68	U+0068
+0x69	U+0069
+0x6a	U+006a
+0x6b	U+006b
+0x6c	U+006c
+0x6d	U+006d
+0x6e	U+006e
+0x6f	U+006f
+0x70	U+0070
+0x71	U+0071
+0x72	U+0072
+0x73	U+0073
+0x74	U+0074
+0x75	U+0075
+0x76	U+0076
+0x77	U+0077
+0x78	U+0078
+0x79	U+0079
+0x7a	U+007a
+0x7b	U+007b
+0x7c	U+007c
+0x7d	U+007d
+0x7e	U+007e
+0x7f	U+007f
+0x80	U+20ac
+0x81	U+fffd
+0x82	U+201a
+0x83	U+0192
+0x84	U+201e
+0x85	U+2026
+0x86	U+2020
+0x87	U+2021
+0x88	U+02c6
+0x89	U+2030
+0x8a	U+0160
+0x8b	U+2039
+0x8c	U+0152
+0x8d	U+fffd
+0x8e	U+fffd
+0x8f	U+fffd
+0x90	U+fffd
+0x91	U+2018
+0x92	U+2019
+0x93	U+201c
+0x94	U+201d
+0x95	U+2022
+0x96	U+2013
+0x97	U+2014
+0x98	U+02dc
+0x99	U+2122
+0x9a	U+0161
+0x9b	U+203a
+0x9c	U+0153
+0x9d	U+fffd
+0x9e	U+fffd
+0x9f	U+0178
+0xa0	U+00a0
+0xa1	U+00a1
+0xa2	U+00a2
+0xa3	U+00a3
+0xa4	U+00a4
+0xa5	U+00a5
+0xa6	U+00a6
+0xa7	U+00a7
+0xa8	U+00a8
+0xa9	U+00a9
+0xaa	U+00aa
+0xab	U+00ab
+0xac	U+00ac
+0xad	U+00ad
+0xae	U+00ae
+0xaf	U+00af
+0xb0	U+00b0
+0xb1	U+00b1
+0xb2	U+00b2
+0xb3	U+00b3
+0xb4	U+00b4
+0xb5	U+00b5
+0xb6	U+00b6
+0xb7	U+00b7
+0xb8	U+00b8
+0xb9	U+00b9
+0xba	U+00ba
+0xbb	U+00bb
+0xbc	U+00bc
+0xbd	U+00bd
+0xbe	U+00be
+0xbf	U+00bf
+0xc0	U+00c0
+0xc1	U+00c1
+0xc2	U+00c2
+0xc3	U+00c3
+0xc4	U+00c4
+0xc5	U+00c5
+0xc6	U+00c6
+0xc7	U+00c7
+0xc8	U+00c8
+0xc9	U+00c9
+0xca	U+00ca
+0xcb	U+00cb
+0xcc	U+00cc
+0xcd	U+00cd
+0xce	U+00ce
+0xcf	U+00cf
+0xd0	U+011e
+0xd1	U+00d1
+0xd2	U+00d2
+0xd3	U+00d3
+0xd4	U+00d4
+0xd5	U+00d5
+0xd6	U+00d6
+0xd7	U+00d7
+0xd8	U+00d8
+0xd9	U+00d9
+0xda	U+00da
+0xdb	U+00db
+0xdc	U+00dc
+0xdd	U+0130
+0xde	U+015e
+0xdf	U+00df
+0xe0	U+00e0
+0xe1	U+00e1
+0xe2	U+00e2
+0xe3	U+00e3
+0xe4	U+00e4
+0xe5	U+00e5
+0xe6	U+00e6
+0xe7	U+00e7
+0xe8	U+00e8
+0xe9	U+00e9
+0xea	U+00ea
+0xeb	U+00eb
+0xec	U+00ec
+0xed	U+00ed
+0xee	U+00ee
+0xef	U+00ef
+0xf0	U+011f
+0xf1	U+00f1
+0xf2	U+00f2
+0xf3	U+00f3
+0xf4	U+00f4
+0xf5	U+00f5
+0xf6	U+00f6
+0xf7	U+00f7
+0xf8	U+00f8
+0xf9	U+00f9
+0xfa	U+00fa
+0xfb	U+00fb
+0xfc	U+00fc
+0xfd	U+0131
+0xfe	U+015f
+0xff	U+00ff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/MS1255.map	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,257 @@
+#Generated from MS1255.java
+0x00	U+0000
+0x01	U+0001
+0x02	U+0002
+0x03	U+0003
+0x04	U+0004
+0x05	U+0005
+0x06	U+0006
+0x07	U+0007
+0x08	U+0008
+0x09	U+0009
+0x0a	U+000a
+0x0b	U+000b
+0x0c	U+000c
+0x0d	U+000d
+0x0e	U+000e
+0x0f	U+000f
+0x10	U+0010
+0x11	U+0011
+0x12	U+0012
+0x13	U+0013
+0x14	U+0014
+0x15	U+0015
+0x16	U+0016
+0x17	U+0017
+0x18	U+0018
+0x19	U+0019
+0x1a	U+001a
+0x1b	U+001b
+0x1c	U+001c
+0x1d	U+001d
+0x1e	U+001e
+0x1f	U+001f
+0x20	U+0020
+0x21	U+0021
+0x22	U+0022
+0x23	U+0023
+0x24	U+0024
+0x25	U+0025
+0x26	U+0026
+0x27	U+0027
+0x28	U+0028
+0x29	U+0029
+0x2a	U+002a
+0x2b	U+002b
+0x2c	U+002c
+0x2d	U+002d
+0x2e	U+002e
+0x2f	U+002f
+0x30	U+0030
+0x31	U+0031
+0x32	U+0032
+0x33	U+0033
+0x34	U+0034
+0x35	U+0035
+0x36	U+0036
+0x37	U+0037
+0x38	U+0038
+0x39	U+0039
+0x3a	U+003a
+0x3b	U+003b
+0x3c	U+003c
+0x3d	U+003d
+0x3e	U+003e
+0x3f	U+003f
+0x40	U+0040
+0x41	U+0041
+0x42	U+0042
+0x43	U+0043
+0x44	U+0044
+0x45	U+0045
+0x46	U+0046
+0x47	U+0047
+0x48	U+0048
+0x49	U+0049
+0x4a	U+004a
+0x4b	U+004b
+0x4c	U+004c
+0x4d	U+004d
+0x4e	U+004e
+0x4f	U+004f
+0x50	U+0050
+0x51	U+0051
+0x52	U+0052
+0x53	U+0053
+0x54	U+0054
+0x55	U+0055
+0x56	U+0056
+0x57	U+0057
+0x58	U+0058
+0x59	U+0059
+0x5a	U+005a
+0x5b	U+005b
+0x5c	U+005c
+0x5d	U+005d
+0x5e	U+005e
+0x5f	U+005f
+0x60	U+0060
+0x61	U+0061
+0x62	U+0062
+0x63	U+0063
+0x64	U+0064
+0x65	U+0065
+0x66	U+0066
+0x67	U+0067
+0x68	U+0068
+0x69	U+0069
+0x6a	U+006a
+0x6b	U+006b
+0x6c	U+006c
+0x6d	U+006d
+0x6e	U+006e
+0x6f	U+006f
+0x70	U+0070
+0x71	U+0071
+0x72	U+0072
+0x73	U+0073
+0x74	U+0074
+0x75	U+0075
+0x76	U+0076
+0x77	U+0077
+0x78	U+0078
+0x79	U+0079
+0x7a	U+007a
+0x7b	U+007b
+0x7c	U+007c
+0x7d	U+007d
+0x7e	U+007e
+0x7f	U+007f
+0x80	U+20ac
+0x81	U+fffd
+0x82	U+201a
+0x83	U+0192
+0x84	U+201e
+0x85	U+2026
+0x86	U+2020
+0x87	U+2021
+0x88	U+02c6
+0x89	U+2030
+0x8a	U+fffd
+0x8b	U+2039
+0x8c	U+fffd
+0x8d	U+fffd
+0x8e	U+fffd
+0x8f	U+fffd
+0x90	U+fffd
+0x91	U+2018
+0x92	U+2019
+0x93	U+201c
+0x94	U+201d
+0x95	U+2022
+0x96	U+2013
+0x97	U+2014
+0x98	U+02dc
+0x99	U+2122
+0x9a	U+fffd
+0x9b	U+203a
+0x9c	U+fffd
+0x9d	U+fffd
+0x9e	U+fffd
+0x9f	U+fffd
+0xa0	U+00a0
+0xa1	U+00a1
+0xa2	U+00a2
+0xa3	U+00a3
+0xa4	U+20aa
+0xa5	U+00a5
+0xa6	U+00a6
+0xa7	U+00a7
+0xa8	U+00a8
+0xa9	U+00a9
+0xaa	U+00d7
+0xab	U+00ab
+0xac	U+00ac
+0xad	U+00ad
+0xae	U+00ae
+0xaf	U+00af
+0xb0	U+00b0
+0xb1	U+00b1
+0xb2	U+00b2
+0xb3	U+00b3
+0xb4	U+00b4
+0xb5	U+00b5
+0xb6	U+00b6
+0xb7	U+00b7
+0xb8	U+00b8
+0xb9	U+00b9
+0xba	U+00f7
+0xbb	U+00bb
+0xbc	U+00bc
+0xbd	U+00bd
+0xbe	U+00be
+0xbf	U+00bf
+0xc0	U+05b0
+0xc1	U+05b1
+0xc2	U+05b2
+0xc3	U+05b3
+0xc4	U+05b4
+0xc5	U+05b5
+0xc6	U+05b6
+0xc7	U+05b7
+0xc8	U+05b8
+0xc9	U+05b9
+0xca	U+fffd
+0xcb	U+05bb
+0xcc	U+05bc
+0xcd	U+05bd
+0xce	U+05be
+0xcf	U+05bf
+0xd0	U+05c0
+0xd1	U+05c1
+0xd2	U+05c2
+0xd3	U+05c3
+0xd4	U+05f0
+0xd5	U+05f1
+0xd6	U+05f2
+0xd7	U+05f3
+0xd8	U+05f4
+0xd9	U+fffd
+0xda	U+fffd
+0xdb	U+fffd
+0xdc	U+fffd
+0xdd	U+fffd
+0xde	U+fffd
+0xdf	U+fffd
+0xe0	U+05d0
+0xe1	U+05d1
+0xe2	U+05d2
+0xe3	U+05d3
+0xe4	U+05d4
+0xe5	U+05d5
+0xe6	U+05d6
+0xe7	U+05d7
+0xe8	U+05d8
+0xe9	U+05d9
+0xea	U+05da
+0xeb	U+05db
+0xec	U+05dc
+0xed	U+05dd
+0xee	U+05de
+0xef	U+05df
+0xf0	U+05e0
+0xf1	U+05e1
+0xf2	U+05e2
+0xf3	U+05e3
+0xf4	U+05e4
+0xf5	U+05e5
+0xf6	U+05e6
+0xf7	U+05e7
+0xf8	U+05e8
+0xf9	U+05e9
+0xfa	U+05ea
+0xfb	U+fffd
+0xfc	U+fffd
+0xfd	U+200e
+0xfe	U+200f
+0xff	U+fffd
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/MS1256.map	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,257 @@
+#Generated from MS1256.java
+0x00	U+0000
+0x01	U+0001
+0x02	U+0002
+0x03	U+0003
+0x04	U+0004
+0x05	U+0005
+0x06	U+0006
+0x07	U+0007
+0x08	U+0008
+0x09	U+0009
+0x0a	U+000a
+0x0b	U+000b
+0x0c	U+000c
+0x0d	U+000d
+0x0e	U+000e
+0x0f	U+000f
+0x10	U+0010
+0x11	U+0011
+0x12	U+0012
+0x13	U+0013
+0x14	U+0014
+0x15	U+0015
+0x16	U+0016
+0x17	U+0017
+0x18	U+0018
+0x19	U+0019
+0x1a	U+001a
+0x1b	U+001b
+0x1c	U+001c
+0x1d	U+001d
+0x1e	U+001e
+0x1f	U+001f
+0x20	U+0020
+0x21	U+0021
+0x22	U+0022
+0x23	U+0023
+0x24	U+0024
+0x25	U+0025
+0x26	U+0026
+0x27	U+0027
+0x28	U+0028
+0x29	U+0029
+0x2a	U+002a
+0x2b	U+002b
+0x2c	U+002c
+0x2d	U+002d
+0x2e	U+002e
+0x2f	U+002f
+0x30	U+0030
+0x31	U+0031
+0x32	U+0032
+0x33	U+0033
+0x34	U+0034
+0x35	U+0035
+0x36	U+0036
+0x37	U+0037
+0x38	U+0038
+0x39	U+0039
+0x3a	U+003a
+0x3b	U+003b
+0x3c	U+003c
+0x3d	U+003d
+0x3e	U+003e
+0x3f	U+003f
+0x40	U+0040
+0x41	U+0041
+0x42	U+0042
+0x43	U+0043
+0x44	U+0044
+0x45	U+0045
+0x46	U+0046
+0x47	U+0047
+0x48	U+0048
+0x49	U+0049
+0x4a	U+004a
+0x4b	U+004b
+0x4c	U+004c
+0x4d	U+004d
+0x4e	U+004e
+0x4f	U+004f
+0x50	U+0050
+0x51	U+0051
+0x52	U+0052
+0x53	U+0053
+0x54	U+0054
+0x55	U+0055
+0x56	U+0056
+0x57	U+0057
+0x58	U+0058
+0x59	U+0059
+0x5a	U+005a
+0x5b	U+005b
+0x5c	U+005c
+0x5d	U+005d
+0x5e	U+005e
+0x5f	U+005f
+0x60	U+0060
+0x61	U+0061
+0x62	U+0062
+0x63	U+0063
+0x64	U+0064
+0x65	U+0065
+0x66	U+0066
+0x67	U+0067
+0x68	U+0068
+0x69	U+0069
+0x6a	U+006a
+0x6b	U+006b
+0x6c	U+006c
+0x6d	U+006d
+0x6e	U+006e
+0x6f	U+006f
+0x70	U+0070
+0x71	U+0071
+0x72	U+0072
+0x73	U+0073
+0x74	U+0074
+0x75	U+0075
+0x76	U+0076
+0x77	U+0077
+0x78	U+0078
+0x79	U+0079
+0x7a	U+007a
+0x7b	U+007b
+0x7c	U+007c
+0x7d	U+007d
+0x7e	U+007e
+0x7f	U+007f
+0x80	U+20ac
+0x81	U+067e
+0x82	U+201a
+0x83	U+0192
+0x84	U+201e
+0x85	U+2026
+0x86	U+2020
+0x87	U+2021
+0x88	U+02c6
+0x89	U+2030
+0x8a	U+0679
+0x8b	U+2039
+0x8c	U+0152
+0x8d	U+0686
+0x8e	U+0698
+0x8f	U+0688
+0x90	U+06af
+0x91	U+2018
+0x92	U+2019
+0x93	U+201c
+0x94	U+201d
+0x95	U+2022
+0x96	U+2013
+0x97	U+2014
+0x98	U+06a9
+0x99	U+2122
+0x9a	U+0691
+0x9b	U+203a
+0x9c	U+0153
+0x9d	U+200c
+0x9e	U+200d
+0x9f	U+06ba
+0xa0	U+00a0
+0xa1	U+060c
+0xa2	U+00a2
+0xa3	U+00a3
+0xa4	U+00a4
+0xa5	U+00a5
+0xa6	U+00a6
+0xa7	U+00a7
+0xa8	U+00a8
+0xa9	U+00a9
+0xaa	U+06be
+0xab	U+00ab
+0xac	U+00ac
+0xad	U+00ad
+0xae	U+00ae
+0xaf	U+00af
+0xb0	U+00b0
+0xb1	U+00b1
+0xb2	U+00b2
+0xb3	U+00b3
+0xb4	U+00b4
+0xb5	U+00b5
+0xb6	U+00b6
+0xb7	U+00b7
+0xb8	U+00b8
+0xb9	U+00b9
+0xba	U+061b
+0xbb	U+00bb
+0xbc	U+00bc
+0xbd	U+00bd
+0xbe	U+00be
+0xbf	U+061f
+0xc0	U+06c1
+0xc1	U+0621
+0xc2	U+0622
+0xc3	U+0623
+0xc4	U+0624
+0xc5	U+0625
+0xc6	U+0626
+0xc7	U+0627
+0xc8	U+0628
+0xc9	U+0629
+0xca	U+062a
+0xcb	U+062b
+0xcc	U+062c
+0xcd	U+062d
+0xce	U+062e
+0xcf	U+062f
+0xd0	U+0630
+0xd1	U+0631
+0xd2	U+0632
+0xd3	U+0633
+0xd4	U+0634
+0xd5	U+0635
+0xd6	U+0636
+0xd7	U+00d7
+0xd8	U+0637
+0xd9	U+0638
+0xda	U+0639
+0xdb	U+063a
+0xdc	U+0640
+0xdd	U+0641
+0xde	U+0642
+0xdf	U+0643
+0xe0	U+00e0
+0xe1	U+0644
+0xe2	U+00e2
+0xe3	U+0645
+0xe4	U+0646
+0xe5	U+0647
+0xe6	U+0648
+0xe7	U+00e7
+0xe8	U+00e8
+0xe9	U+00e9
+0xea	U+00ea
+0xeb	U+00eb
+0xec	U+0649
+0xed	U+064a
+0xee	U+00ee
+0xef	U+00ef
+0xf0	U+064b
+0xf1	U+064c
+0xf2	U+064d
+0xf3	U+064e
+0xf4	U+00f4
+0xf5	U+064f
+0xf6	U+0650
+0xf7	U+00f7
+0xf8	U+0651
+0xf9	U+00f9
+0xfa	U+0652
+0xfb	U+00fb
+0xfc	U+00fc
+0xfd	U+200e
+0xfe	U+200f
+0xff	U+06d2
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/MS1257.map	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,257 @@
+#Generated from MS1257.java
+0x00	U+0000
+0x01	U+0001
+0x02	U+0002
+0x03	U+0003
+0x04	U+0004
+0x05	U+0005
+0x06	U+0006
+0x07	U+0007
+0x08	U+0008
+0x09	U+0009
+0x0a	U+000a
+0x0b	U+000b
+0x0c	U+000c
+0x0d	U+000d
+0x0e	U+000e
+0x0f	U+000f
+0x10	U+0010
+0x11	U+0011
+0x12	U+0012
+0x13	U+0013
+0x14	U+0014
+0x15	U+0015
+0x16	U+0016
+0x17	U+0017
+0x18	U+0018
+0x19	U+0019
+0x1a	U+001a
+0x1b	U+001b
+0x1c	U+001c
+0x1d	U+001d
+0x1e	U+001e
+0x1f	U+001f
+0x20	U+0020
+0x21	U+0021
+0x22	U+0022
+0x23	U+0023
+0x24	U+0024
+0x25	U+0025
+0x26	U+0026
+0x27	U+0027
+0x28	U+0028
+0x29	U+0029
+0x2a	U+002a
+0x2b	U+002b
+0x2c	U+002c
+0x2d	U+002d
+0x2e	U+002e
+0x2f	U+002f
+0x30	U+0030
+0x31	U+0031
+0x32	U+0032
+0x33	U+0033
+0x34	U+0034
+0x35	U+0035
+0x36	U+0036
+0x37	U+0037
+0x38	U+0038
+0x39	U+0039
+0x3a	U+003a
+0x3b	U+003b
+0x3c	U+003c
+0x3d	U+003d
+0x3e	U+003e
+0x3f	U+003f
+0x40	U+0040
+0x41	U+0041
+0x42	U+0042
+0x43	U+0043
+0x44	U+0044
+0x45	U+0045
+0x46	U+0046
+0x47	U+0047
+0x48	U+0048
+0x49	U+0049
+0x4a	U+004a
+0x4b	U+004b
+0x4c	U+004c
+0x4d	U+004d
+0x4e	U+004e
+0x4f	U+004f
+0x50	U+0050
+0x51	U+0051
+0x52	U+0052
+0x53	U+0053
+0x54	U+0054
+0x55	U+0055
+0x56	U+0056
+0x57	U+0057
+0x58	U+0058
+0x59	U+0059
+0x5a	U+005a
+0x5b	U+005b
+0x5c	U+005c
+0x5d	U+005d
+0x5e	U+005e
+0x5f	U+005f
+0x60	U+0060
+0x61	U+0061
+0x62	U+0062
+0x63	U+0063
+0x64	U+0064
+0x65	U+0065
+0x66	U+0066
+0x67	U+0067
+0x68	U+0068
+0x69	U+0069
+0x6a	U+006a
+0x6b	U+006b
+0x6c	U+006c
+0x6d	U+006d
+0x6e	U+006e
+0x6f	U+006f
+0x70	U+0070
+0x71	U+0071
+0x72	U+0072
+0x73	U+0073
+0x74	U+0074
+0x75	U+0075
+0x76	U+0076
+0x77	U+0077
+0x78	U+0078
+0x79	U+0079
+0x7a	U+007a
+0x7b	U+007b
+0x7c	U+007c
+0x7d	U+007d
+0x7e	U+007e
+0x7f	U+007f
+0x80	U+20ac
+0x81	U+fffd
+0x82	U+201a
+0x83	U+fffd
+0x84	U+201e
+0x85	U+2026
+0x86	U+2020
+0x87	U+2021
+0x88	U+fffd
+0x89	U+2030
+0x8a	U+fffd
+0x8b	U+2039
+0x8c	U+fffd
+0x8d	U+00a8
+0x8e	U+02c7
+0x8f	U+00b8
+0x90	U+fffd
+0x91	U+2018
+0x92	U+2019
+0x93	U+201c
+0x94	U+201d
+0x95	U+2022
+0x96	U+2013
+0x97	U+2014
+0x98	U+fffd
+0x99	U+2122
+0x9a	U+fffd
+0x9b	U+203a
+0x9c	U+fffd
+0x9d	U+00af
+0x9e	U+02db
+0x9f	U+fffd
+0xa0	U+00a0
+0xa1	U+fffd
+0xa2	U+00a2
+0xa3	U+00a3
+0xa4	U+00a4
+0xa5	U+fffd
+0xa6	U+00a6
+0xa7	U+00a7
+0xa8	U+00d8
+0xa9	U+00a9
+0xaa	U+0156
+0xab	U+00ab
+0xac	U+00ac
+0xad	U+00ad
+0xae	U+00ae
+0xaf	U+00c6
+0xb0	U+00b0
+0xb1	U+00b1
+0xb2	U+00b2
+0xb3	U+00b3
+0xb4	U+00b4
+0xb5	U+00b5
+0xb6	U+00b6
+0xb7	U+00b7
+0xb8	U+00f8
+0xb9	U+00b9
+0xba	U+0157
+0xbb	U+00bb
+0xbc	U+00bc
+0xbd	U+00bd
+0xbe	U+00be
+0xbf	U+00e6
+0xc0	U+0104
+0xc1	U+012e
+0xc2	U+0100
+0xc3	U+0106
+0xc4	U+00c4
+0xc5	U+00c5
+0xc6	U+0118
+0xc7	U+0112
+0xc8	U+010c
+0xc9	U+00c9
+0xca	U+0179
+0xcb	U+0116
+0xcc	U+0122
+0xcd	U+0136
+0xce	U+012a
+0xcf	U+013b
+0xd0	U+0160
+0xd1	U+0143
+0xd2	U+0145
+0xd3	U+00d3
+0xd4	U+014c
+0xd5	U+00d5
+0xd6	U+00d6
+0xd7	U+00d7
+0xd8	U+0172
+0xd9	U+0141
+0xda	U+015a
+0xdb	U+016a
+0xdc	U+00dc
+0xdd	U+017b
+0xde	U+017d
+0xdf	U+00df
+0xe0	U+0105
+0xe1	U+012f
+0xe2	U+0101
+0xe3	U+0107
+0xe4	U+00e4
+0xe5	U+00e5
+0xe6	U+0119
+0xe7	U+0113
+0xe8	U+010d
+0xe9	U+00e9
+0xea	U+017a
+0xeb	U+0117
+0xec	U+0123
+0xed	U+0137
+0xee	U+012b
+0xef	U+013c
+0xf0	U+0161
+0xf1	U+0144
+0xf2	U+0146
+0xf3	U+00f3
+0xf4	U+014d
+0xf5	U+00f5
+0xf6	U+00f6
+0xf7	U+00f7
+0xf8	U+0173
+0xf9	U+0142
+0xfa	U+015b
+0xfb	U+016b
+0xfc	U+00fc
+0xfd	U+017c
+0xfe	U+017e
+0xff	U+02d9
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/MS1258.map	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,257 @@
+#Generated from MS1258.java
+0x00	U+0000
+0x01	U+0001
+0x02	U+0002
+0x03	U+0003
+0x04	U+0004
+0x05	U+0005
+0x06	U+0006
+0x07	U+0007
+0x08	U+0008
+0x09	U+0009
+0x0a	U+000a
+0x0b	U+000b
+0x0c	U+000c
+0x0d	U+000d
+0x0e	U+000e
+0x0f	U+000f
+0x10	U+0010
+0x11	U+0011
+0x12	U+0012
+0x13	U+0013
+0x14	U+0014
+0x15	U+0015
+0x16	U+0016
+0x17	U+0017
+0x18	U+0018
+0x19	U+0019
+0x1a	U+001a
+0x1b	U+001b
+0x1c	U+001c
+0x1d	U+001d
+0x1e	U+001e
+0x1f	U+001f
+0x20	U+0020
+0x21	U+0021
+0x22	U+0022
+0x23	U+0023
+0x24	U+0024
+0x25	U+0025
+0x26	U+0026
+0x27	U+0027
+0x28	U+0028
+0x29	U+0029
+0x2a	U+002a
+0x2b	U+002b
+0x2c	U+002c
+0x2d	U+002d
+0x2e	U+002e
+0x2f	U+002f
+0x30	U+0030
+0x31	U+0031
+0x32	U+0032
+0x33	U+0033
+0x34	U+0034
+0x35	U+0035
+0x36	U+0036
+0x37	U+0037
+0x38	U+0038
+0x39	U+0039
+0x3a	U+003a
+0x3b	U+003b
+0x3c	U+003c
+0x3d	U+003d
+0x3e	U+003e
+0x3f	U+003f
+0x40	U+0040
+0x41	U+0041
+0x42	U+0042
+0x43	U+0043
+0x44	U+0044
+0x45	U+0045
+0x46	U+0046
+0x47	U+0047
+0x48	U+0048
+0x49	U+0049
+0x4a	U+004a
+0x4b	U+004b
+0x4c	U+004c
+0x4d	U+004d
+0x4e	U+004e
+0x4f	U+004f
+0x50	U+0050
+0x51	U+0051
+0x52	U+0052
+0x53	U+0053
+0x54	U+0054
+0x55	U+0055
+0x56	U+0056
+0x57	U+0057
+0x58	U+0058
+0x59	U+0059
+0x5a	U+005a
+0x5b	U+005b
+0x5c	U+005c
+0x5d	U+005d
+0x5e	U+005e
+0x5f	U+005f
+0x60	U+0060
+0x61	U+0061
+0x62	U+0062
+0x63	U+0063
+0x64	U+0064
+0x65	U+0065
+0x66	U+0066
+0x67	U+0067
+0x68	U+0068
+0x69	U+0069
+0x6a	U+006a
+0x6b	U+006b
+0x6c	U+006c
+0x6d	U+006d
+0x6e	U+006e
+0x6f	U+006f
+0x70	U+0070
+0x71	U+0071
+0x72	U+0072
+0x73	U+0073
+0x74	U+0074
+0x75	U+0075
+0x76	U+0076
+0x77	U+0077
+0x78	U+0078
+0x79	U+0079
+0x7a	U+007a
+0x7b	U+007b
+0x7c	U+007c
+0x7d	U+007d
+0x7e	U+007e
+0x7f	U+007f
+0x80	U+20ac
+0x81	U+fffd
+0x82	U+201a
+0x83	U+0192
+0x84	U+201e
+0x85	U+2026
+0x86	U+2020
+0x87	U+2021
+0x88	U+02c6
+0x89	U+2030
+0x8a	U+fffd
+0x8b	U+2039
+0x8c	U+0152
+0x8d	U+fffd
+0x8e	U+fffd
+0x8f	U+fffd
+0x90	U+fffd
+0x91	U+2018
+0x92	U+2019
+0x93	U+201c
+0x94	U+201d
+0x95	U+2022
+0x96	U+2013
+0x97	U+2014
+0x98	U+02dc
+0x99	U+2122
+0x9a	U+fffd
+0x9b	U+203a
+0x9c	U+0153
+0x9d	U+fffd
+0x9e	U+fffd
+0x9f	U+0178
+0xa0	U+00a0
+0xa1	U+00a1
+0xa2	U+00a2
+0xa3	U+00a3
+0xa4	U+00a4
+0xa5	U+00a5
+0xa6	U+00a6
+0xa7	U+00a7
+0xa8	U+00a8
+0xa9	U+00a9
+0xaa	U+00aa
+0xab	U+00ab
+0xac	U+00ac
+0xad	U+00ad
+0xae	U+00ae
+0xaf	U+00af
+0xb0	U+00b0
+0xb1	U+00b1
+0xb2	U+00b2
+0xb3	U+00b3
+0xb4	U+00b4
+0xb5	U+00b5
+0xb6	U+00b6
+0xb7	U+00b7
+0xb8	U+00b8
+0xb9	U+00b9
+0xba	U+00ba
+0xbb	U+00bb
+0xbc	U+00bc
+0xbd	U+00bd
+0xbe	U+00be
+0xbf	U+00bf
+0xc0	U+00c0
+0xc1	U+00c1
+0xc2	U+00c2
+0xc3	U+0102
+0xc4	U+00c4
+0xc5	U+00c5
+0xc6	U+00c6
+0xc7	U+00c7
+0xc8	U+00c8
+0xc9	U+00c9
+0xca	U+00ca
+0xcb	U+00cb
+0xcc	U+0300
+0xcd	U+00cd
+0xce	U+00ce
+0xcf	U+00cf
+0xd0	U+0110
+0xd1	U+00d1
+0xd2	U+0309
+0xd3	U+00d3
+0xd4	U+00d4
+0xd5	U+01a0
+0xd6	U+00d6
+0xd7	U+00d7
+0xd8	U+00d8
+0xd9	U+00d9
+0xda	U+00da
+0xdb	U+00db
+0xdc	U+00dc
+0xdd	U+01af
+0xde	U+0303
+0xdf	U+00df
+0xe0	U+00e0
+0xe1	U+00e1
+0xe2	U+00e2
+0xe3	U+0103
+0xe4	U+00e4
+0xe5	U+00e5
+0xe6	U+00e6
+0xe7	U+00e7
+0xe8	U+00e8
+0xe9	U+00e9
+0xea	U+00ea
+0xeb	U+00eb
+0xec	U+0301
+0xed	U+00ed
+0xee	U+00ee
+0xef	U+00ef
+0xf0	U+0111
+0xf1	U+00f1
+0xf2	U+0323
+0xf3	U+00f3
+0xf4	U+00f4
+0xf5	U+01a1
+0xf6	U+00f6
+0xf7	U+00f7
+0xf8	U+00f8
+0xf9	U+00f9
+0xfa	U+00fa
+0xfb	U+00fb
+0xfc	U+00fc
+0xfd	U+01b0
+0xfe	U+20ab
+0xff	U+00ff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/MS874.map	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,257 @@
+#Generated from MS874.java
+0x00	U+0000
+0x01	U+0001
+0x02	U+0002
+0x03	U+0003
+0x04	U+0004
+0x05	U+0005
+0x06	U+0006
+0x07	U+0007
+0x08	U+0008
+0x09	U+0009
+0x0a	U+000a
+0x0b	U+000b
+0x0c	U+000c
+0x0d	U+000d
+0x0e	U+000e
+0x0f	U+000f
+0x10	U+0010
+0x11	U+0011
+0x12	U+0012
+0x13	U+0013
+0x14	U+0014
+0x15	U+0015
+0x16	U+0016
+0x17	U+0017
+0x18	U+0018
+0x19	U+0019
+0x1a	U+001a
+0x1b	U+001b
+0x1c	U+001c
+0x1d	U+001d
+0x1e	U+001e
+0x1f	U+001f
+0x20	U+0020
+0x21	U+0021
+0x22	U+0022
+0x23	U+0023
+0x24	U+0024
+0x25	U+0025
+0x26	U+0026
+0x27	U+0027
+0x28	U+0028
+0x29	U+0029
+0x2a	U+002a
+0x2b	U+002b
+0x2c	U+002c
+0x2d	U+002d
+0x2e	U+002e
+0x2f	U+002f
+0x30	U+0030
+0x31	U+0031
+0x32	U+0032
+0x33	U+0033
+0x34	U+0034
+0x35	U+0035
+0x36	U+0036
+0x37	U+0037
+0x38	U+0038
+0x39	U+0039
+0x3a	U+003a
+0x3b	U+003b
+0x3c	U+003c
+0x3d	U+003d
+0x3e	U+003e
+0x3f	U+003f
+0x40	U+0040
+0x41	U+0041
+0x42	U+0042
+0x43	U+0043
+0x44	U+0044
+0x45	U+0045
+0x46	U+0046
+0x47	U+0047
+0x48	U+0048
+0x49	U+0049
+0x4a	U+004a
+0x4b	U+004b
+0x4c	U+004c
+0x4d	U+004d
+0x4e	U+004e
+0x4f	U+004f
+0x50	U+0050
+0x51	U+0051
+0x52	U+0052
+0x53	U+0053
+0x54	U+0054
+0x55	U+0055
+0x56	U+0056
+0x57	U+0057
+0x58	U+0058
+0x59	U+0059
+0x5a	U+005a
+0x5b	U+005b
+0x5c	U+005c
+0x5d	U+005d
+0x5e	U+005e
+0x5f	U+005f
+0x60	U+0060
+0x61	U+0061
+0x62	U+0062
+0x63	U+0063
+0x64	U+0064
+0x65	U+0065
+0x66	U+0066
+0x67	U+0067
+0x68	U+0068
+0x69	U+0069
+0x6a	U+006a
+0x6b	U+006b
+0x6c	U+006c
+0x6d	U+006d
+0x6e	U+006e
+0x6f	U+006f
+0x70	U+0070
+0x71	U+0071
+0x72	U+0072
+0x73	U+0073
+0x74	U+0074
+0x75	U+0075
+0x76	U+0076
+0x77	U+0077
+0x78	U+0078
+0x79	U+0079
+0x7a	U+007a
+0x7b	U+007b
+0x7c	U+007c
+0x7d	U+007d
+0x7e	U+007e
+0x7f	U+007f
+0x80	U+20ac
+0x81	U+fffd
+0x82	U+fffd
+0x83	U+fffd
+0x84	U+fffd
+0x85	U+2026
+0x86	U+fffd
+0x87	U+fffd
+0x88	U+fffd
+0x89	U+fffd
+0x8a	U+fffd
+0x8b	U+fffd
+0x8c	U+fffd
+0x8d	U+fffd
+0x8e	U+fffd
+0x8f	U+fffd
+0x90	U+fffd
+0x91	U+2018
+0x92	U+2019
+0x93	U+201c
+0x94	U+201d
+0x95	U+2022
+0x96	U+2013
+0x97	U+2014
+0x98	U+fffd
+0x99	U+fffd
+0x9a	U+fffd
+0x9b	U+fffd
+0x9c	U+fffd
+0x9d	U+fffd
+0x9e	U+fffd
+0x9f	U+fffd
+0xa0	U+00a0
+0xa1	U+0e01
+0xa2	U+0e02
+0xa3	U+0e03
+0xa4	U+0e04
+0xa5	U+0e05
+0xa6	U+0e06
+0xa7	U+0e07
+0xa8	U+0e08
+0xa9	U+0e09
+0xaa	U+0e0a
+0xab	U+0e0b
+0xac	U+0e0c
+0xad	U+0e0d
+0xae	U+0e0e
+0xaf	U+0e0f
+0xb0	U+0e10
+0xb1	U+0e11
+0xb2	U+0e12
+0xb3	U+0e13
+0xb4	U+0e14
+0xb5	U+0e15
+0xb6	U+0e16
+0xb7	U+0e17
+0xb8	U+0e18
+0xb9	U+0e19
+0xba	U+0e1a
+0xbb	U+0e1b
+0xbc	U+0e1c
+0xbd	U+0e1d
+0xbe	U+0e1e
+0xbf	U+0e1f
+0xc0	U+0e20
+0xc1	U+0e21
+0xc2	U+0e22
+0xc3	U+0e23
+0xc4	U+0e24
+0xc5	U+0e25
+0xc6	U+0e26
+0xc7	U+0e27
+0xc8	U+0e28
+0xc9	U+0e29
+0xca	U+0e2a
+0xcb	U+0e2b
+0xcc	U+0e2c
+0xcd	U+0e2d
+0xce	U+0e2e
+0xcf	U+0e2f
+0xd0	U+0e30
+0xd1	U+0e31
+0xd2	U+0e32
+0xd3	U+0e33
+0xd4	U+0e34
+0xd5	U+0e35
+0xd6	U+0e36
+0xd7	U+0e37
+0xd8	U+0e38
+0xd9	U+0e39
+0xda	U+0e3a
+0xdb	U+fffd
+0xdc	U+fffd
+0xdd	U+fffd
+0xde	U+fffd
+0xdf	U+0e3f
+0xe0	U+0e40
+0xe1	U+0e41
+0xe2	U+0e42
+0xe3	U+0e43
+0xe4	U+0e44
+0xe5	U+0e45
+0xe6	U+0e46
+0xe7	U+0e47
+0xe8	U+0e48
+0xe9	U+0e49
+0xea	U+0e4a
+0xeb	U+0e4b
+0xec	U+0e4c
+0xed	U+0e4d
+0xee	U+0e4e
+0xef	U+0e4f
+0xf0	U+0e50
+0xf1	U+0e51
+0xf2	U+0e52
+0xf3	U+0e53
+0xf4	U+0e54
+0xf5	U+0e55
+0xf6	U+0e56
+0xf7	U+0e57
+0xf8	U+0e58
+0xf9	U+0e59
+0xfa	U+0e5a
+0xfb	U+0e5b
+0xfc	U+fffd
+0xfd	U+fffd
+0xfe	U+fffd
+0xff	U+fffd
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/MacArabic.map	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,257 @@
+#Generated from MacArabic.java
+0x00	U+0000
+0x01	U+0001
+0x02	U+0002
+0x03	U+0003
+0x04	U+0004
+0x05	U+0005
+0x06	U+0006
+0x07	U+0007
+0x08	U+0008
+0x09	U+0009
+0x0a	U+000a
+0x0b	U+000b
+0x0c	U+000c
+0x0d	U+000d
+0x0e	U+000e
+0x0f	U+000f
+0x10	U+0010
+0x11	U+0011
+0x12	U+0012
+0x13	U+0013
+0x14	U+0014
+0x15	U+0015
+0x16	U+0016
+0x17	U+0017
+0x18	U+0018
+0x19	U+0019
+0x1a	U+001a
+0x1b	U+001b
+0x1c	U+001c
+0x1d	U+001d
+0x1e	U+001e
+0x1f	U+001f
+0x20	U+0020
+0x21	U+0021
+0x22	U+0022
+0x23	U+0023
+0x24	U+0024
+0x25	U+0025
+0x26	U+0026
+0x27	U+0027
+0x28	U+0028
+0x29	U+0029
+0x2a	U+002a
+0x2b	U+002b
+0x2c	U+002c
+0x2d	U+002d
+0x2e	U+002e
+0x2f	U+002f
+0x30	U+0030
+0x31	U+0031
+0x32	U+0032
+0x33	U+0033
+0x34	U+0034
+0x35	U+0035
+0x36	U+0036
+0x37	U+0037
+0x38	U+0038
+0x39	U+0039
+0x3a	U+003a
+0x3b	U+003b
+0x3c	U+003c
+0x3d	U+003d
+0x3e	U+003e
+0x3f	U+003f
+0x40	U+0040
+0x41	U+0041
+0x42	U+0042
+0x43	U+0043
+0x44	U+0044
+0x45	U+0045
+0x46	U+0046
+0x47	U+0047
+0x48	U+0048
+0x49	U+0049
+0x4a	U+004a
+0x4b	U+004b
+0x4c	U+004c
+0x4d	U+004d
+0x4e	U+004e
+0x4f	U+004f
+0x50	U+0050
+0x51	U+0051
+0x52	U+0052
+0x53	U+0053
+0x54	U+0054
+0x55	U+0055
+0x56	U+0056
+0x57	U+0057
+0x58	U+0058
+0x59	U+0059
+0x5a	U+005a
+0x5b	U+005b
+0x5c	U+005c
+0x5d	U+005d
+0x5e	U+005e
+0x5f	U+005f
+0x60	U+0060
+0x61	U+0061
+0x62	U+0062
+0x63	U+0063
+0x64	U+0064
+0x65	U+0065
+0x66	U+0066
+0x67	U+0067
+0x68	U+0068
+0x69	U+0069
+0x6a	U+006a
+0x6b	U+006b
+0x6c	U+006c
+0x6d	U+006d
+0x6e	U+006e
+0x6f	U+006f
+0x70	U+0070
+0x71	U+0071
+0x72	U+0072
+0x73	U+0073
+0x74	U+0074
+0x75	U+0075
+0x76	U+0076
+0x77	U+0077
+0x78	U+0078
+0x79	U+0079
+0x7a	U+007a
+0x7b	U+007b
+0x7c	U+007c
+0x7d	U+007d
+0x7e	U+007e
+0x7f	U+007f
+0x80	U+00c4
+0x81	U+00a0
+0x82	U+00c7
+0x83	U+00c9
+0x84	U+00d1
+0x85	U+00d6
+0x86	U+00dc
+0x87	U+00e1
+0x88	U+00e0
+0x89	U+00e2
+0x8a	U+00e4
+0x8b	U+06ba
+0x8c	U+00ab
+0x8d	U+00e7
+0x8e	U+00e9
+0x8f	U+00e8
+0x90	U+00ea
+0x91	U+00eb
+0x92	U+00ed
+0x93	U+2026
+0x94	U+00ee
+0x95	U+00ef
+0x96	U+00f1
+0x97	U+00f3
+0x98	U+00bb
+0x99	U+00f4
+0x9a	U+00f6
+0x9b	U+00f7
+0x9c	U+00fa
+0x9d	U+00f9
+0x9e	U+00fb
+0x9f	U+00fc
+0xa0	U+fffd
+0xa1	U+fffd
+0xa2	U+fffd
+0xa3	U+fffd
+0xa4	U+fffd
+0xa5	U+066a
+0xa6	U+fffd
+0xa7	U+fffd
+0xa8	U+fffd
+0xa9	U+fffd
+0xaa	U+fffd
+0xab	U+fffd
+0xac	U+060c
+0xad	U+fffd
+0xae	U+fffd
+0xaf	U+fffd
+0xb0	U+0660
+0xb1	U+0661
+0xb2	U+0662
+0xb3	U+0663
+0xb4	U+0664
+0xb5	U+0665
+0xb6	U+0666
+0xb7	U+0667
+0xb8	U+0668
+0xb9	U+0669
+0xba	U+fffd
+0xbb	U+061b
+0xbc	U+fffd
+0xbd	U+fffd
+0xbe	U+fffd
+0xbf	U+061f
+0xc0	U+066d
+0xc1	U+0621
+0xc2	U+0622
+0xc3	U+0623
+0xc4	U+0624
+0xc5	U+0625
+0xc6	U+0626
+0xc7	U+0627
+0xc8	U+0628
+0xc9	U+0629
+0xca	U+062a
+0xcb	U+062b
+0xcc	U+062c
+0xcd	U+062d
+0xce	U+062e
+0xcf	U+062f
+0xd0	U+0630
+0xd1	U+0631
+0xd2	U+0632
+0xd3	U+0633
+0xd4	U+0634
+0xd5	U+0635
+0xd6	U+0636
+0xd7	U+0637
+0xd8	U+0638
+0xd9	U+0639
+0xda	U+063a
+0xdb	U+fffd
+0xdc	U+fffd
+0xdd	U+fffd
+0xde	U+fffd
+0xdf	U+fffd
+0xe0	U+0640
+0xe1	U+0641
+0xe2	U+0642
+0xe3	U+0643
+0xe4	U+0644
+0xe5	U+0645
+0xe6	U+0646
+0xe7	U+0647
+0xe8	U+0648
+0xe9	U+0649
+0xea	U+064a
+0xeb	U+064b
+0xec	U+064c
+0xed	U+064d
+0xee	U+064e
+0xef	U+064f
+0xf0	U+0650
+0xf1	U+0651
+0xf2	U+0652
+0xf3	U+067e
+0xf4	U+0679
+0xf5	U+0686
+0xf6	U+06d5
+0xf7	U+06a4
+0xf8	U+06af
+0xf9	U+0688
+0xfa	U+0691
+0xfb	U+fffd
+0xfc	U+fffd
+0xfd	U+fffd
+0xfe	U+0698
+0xff	U+06d2
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/MacCentralEurope.map	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,257 @@
+#Generated from MacCentralEurope.java
+0x00	U+0000
+0x01	U+0001
+0x02	U+0002
+0x03	U+0003
+0x04	U+0004
+0x05	U+0005
+0x06	U+0006
+0x07	U+0007
+0x08	U+0008
+0x09	U+0009
+0x0a	U+000a
+0x0b	U+000b
+0x0c	U+000c
+0x0d	U+000d
+0x0e	U+000e
+0x0f	U+000f
+0x10	U+0010
+0x11	U+0011
+0x12	U+0012
+0x13	U+0013
+0x14	U+0014
+0x15	U+0015
+0x16	U+0016
+0x17	U+0017
+0x18	U+0018
+0x19	U+0019
+0x1a	U+001a
+0x1b	U+001b
+0x1c	U+001c
+0x1d	U+001d
+0x1e	U+001e
+0x1f	U+001f
+0x20	U+0020
+0x21	U+0021
+0x22	U+0022
+0x23	U+0023
+0x24	U+0024
+0x25	U+0025
+0x26	U+0026
+0x27	U+0027
+0x28	U+0028
+0x29	U+0029
+0x2a	U+002a
+0x2b	U+002b
+0x2c	U+002c
+0x2d	U+002d
+0x2e	U+002e
+0x2f	U+002f
+0x30	U+0030
+0x31	U+0031
+0x32	U+0032
+0x33	U+0033
+0x34	U+0034
+0x35	U+0035
+0x36	U+0036
+0x37	U+0037
+0x38	U+0038
+0x39	U+0039
+0x3a	U+003a
+0x3b	U+003b
+0x3c	U+003c
+0x3d	U+003d
+0x3e	U+003e
+0x3f	U+003f
+0x40	U+0040
+0x41	U+0041
+0x42	U+0042
+0x43	U+0043
+0x44	U+0044
+0x45	U+0045
+0x46	U+0046
+0x47	U+0047
+0x48	U+0048
+0x49	U+0049
+0x4a	U+004a
+0x4b	U+004b
+0x4c	U+004c
+0x4d	U+004d
+0x4e	U+004e
+0x4f	U+004f
+0x50	U+0050
+0x51	U+0051
+0x52	U+0052
+0x53	U+0053
+0x54	U+0054
+0x55	U+0055
+0x56	U+0056
+0x57	U+0057
+0x58	U+0058
+0x59	U+0059
+0x5a	U+005a
+0x5b	U+005b
+0x5c	U+005c
+0x5d	U+005d
+0x5e	U+005e
+0x5f	U+005f
+0x60	U+0060
+0x61	U+0061
+0x62	U+0062
+0x63	U+0063
+0x64	U+0064
+0x65	U+0065
+0x66	U+0066
+0x67	U+0067
+0x68	U+0068
+0x69	U+0069
+0x6a	U+006a
+0x6b	U+006b
+0x6c	U+006c
+0x6d	U+006d
+0x6e	U+006e
+0x6f	U+006f
+0x70	U+0070
+0x71	U+0071
+0x72	U+0072
+0x73	U+0073
+0x74	U+0074
+0x75	U+0075
+0x76	U+0076
+0x77	U+0077
+0x78	U+0078
+0x79	U+0079
+0x7a	U+007a
+0x7b	U+007b
+0x7c	U+007c
+0x7d	U+007d
+0x7e	U+007e
+0x7f	U+007f
+0x80	U+00c4
+0x81	U+0100
+0x82	U+0101
+0x83	U+00c9
+0x84	U+0104
+0x85	U+00d6
+0x86	U+00dc
+0x87	U+00e1
+0x88	U+0105
+0x89	U+010c
+0x8a	U+00e4
+0x8b	U+010d
+0x8c	U+0106
+0x8d	U+0107
+0x8e	U+00e9
+0x8f	U+0179
+0x90	U+017a
+0x91	U+010e
+0x92	U+00ed
+0x93	U+010f
+0x94	U+0112
+0x95	U+0113
+0x96	U+0116
+0x97	U+00f3
+0x98	U+0117
+0x99	U+00f4
+0x9a	U+00f6
+0x9b	U+00f5
+0x9c	U+00fa
+0x9d	U+011a
+0x9e	U+011b
+0x9f	U+00fc
+0xa0	U+2020
+0xa1	U+00b0
+0xa2	U+0118
+0xa3	U+00a3
+0xa4	U+00a7
+0xa5	U+2022
+0xa6	U+00b6
+0xa7	U+00df
+0xa8	U+00ae
+0xa9	U+00a9
+0xaa	U+2122
+0xab	U+0119
+0xac	U+00a8
+0xad	U+2260
+0xae	U+0123
+0xaf	U+012e
+0xb0	U+012f
+0xb1	U+012a
+0xb2	U+2264
+0xb3	U+2265
+0xb4	U+012b
+0xb5	U+0136
+0xb6	U+2202
+0xb7	U+2211
+0xb8	U+0142
+0xb9	U+013b
+0xba	U+013c
+0xbb	U+013d
+0xbc	U+013e
+0xbd	U+0139
+0xbe	U+013a
+0xbf	U+0145
+0xc0	U+0146
+0xc1	U+0143
+0xc2	U+00ac
+0xc3	U+221a
+0xc4	U+0144
+0xc5	U+0147
+0xc6	U+2206
+0xc7	U+00ab
+0xc8	U+00bb
+0xc9	U+2026
+0xca	U+00a0
+0xcb	U+0148
+0xcc	U+0150
+0xcd	U+00d5
+0xce	U+0151
+0xcf	U+014c
+0xd0	U+2013
+0xd1	U+2014
+0xd2	U+201c
+0xd3	U+201d
+0xd4	U+2018
+0xd5	U+2019
+0xd6	U+00f7
+0xd7	U+25ca
+0xd8	U+014d
+0xd9	U+0154
+0xda	U+0155
+0xdb	U+0158
+0xdc	U+2039
+0xdd	U+203a
+0xde	U+0159
+0xdf	U+0156
+0xe0	U+0157
+0xe1	U+0160
+0xe2	U+201a
+0xe3	U+201e
+0xe4	U+0161
+0xe5	U+015a
+0xe6	U+015b
+0xe7	U+00c1
+0xe8	U+0164
+0xe9	U+0165
+0xea	U+00cd
+0xeb	U+017d
+0xec	U+017e
+0xed	U+016a
+0xee	U+00d3
+0xef	U+00d4
+0xf0	U+016b
+0xf1	U+016e
+0xf2	U+00da
+0xf3	U+016f
+0xf4	U+0170
+0xf5	U+0171
+0xf6	U+0172
+0xf7	U+0173
+0xf8	U+00dd
+0xf9	U+00fd
+0xfa	U+0137
+0xfb	U+017b
+0xfc	U+0141
+0xfd	U+017c
+0xfe	U+0122
+0xff	U+02c7
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/MacCroatian.map	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,257 @@
+#Generated from MacCroatian.java
+0x00	U+0000
+0x01	U+0001
+0x02	U+0002
+0x03	U+0003
+0x04	U+0004
+0x05	U+0005
+0x06	U+0006
+0x07	U+0007
+0x08	U+0008
+0x09	U+0009
+0x0a	U+000a
+0x0b	U+000b
+0x0c	U+000c
+0x0d	U+000d
+0x0e	U+000e
+0x0f	U+000f
+0x10	U+0010
+0x11	U+0011
+0x12	U+0012
+0x13	U+0013
+0x14	U+0014
+0x15	U+0015
+0x16	U+0016
+0x17	U+0017
+0x18	U+0018
+0x19	U+0019
+0x1a	U+001a
+0x1b	U+001b
+0x1c	U+001c
+0x1d	U+001d
+0x1e	U+001e
+0x1f	U+001f
+0x20	U+0020
+0x21	U+0021
+0x22	U+0022
+0x23	U+0023
+0x24	U+0024
+0x25	U+0025
+0x26	U+0026
+0x27	U+0027
+0x28	U+0028
+0x29	U+0029
+0x2a	U+002a
+0x2b	U+002b
+0x2c	U+002c
+0x2d	U+002d
+0x2e	U+002e
+0x2f	U+002f
+0x30	U+0030
+0x31	U+0031
+0x32	U+0032
+0x33	U+0033
+0x34	U+0034
+0x35	U+0035
+0x36	U+0036
+0x37	U+0037
+0x38	U+0038
+0x39	U+0039
+0x3a	U+003a
+0x3b	U+003b
+0x3c	U+003c
+0x3d	U+003d
+0x3e	U+003e
+0x3f	U+003f
+0x40	U+0040
+0x41	U+0041
+0x42	U+0042
+0x43	U+0043
+0x44	U+0044
+0x45	U+0045
+0x46	U+0046
+0x47	U+0047
+0x48	U+0048
+0x49	U+0049
+0x4a	U+004a
+0x4b	U+004b
+0x4c	U+004c
+0x4d	U+004d
+0x4e	U+004e
+0x4f	U+004f
+0x50	U+0050
+0x51	U+0051
+0x52	U+0052
+0x53	U+0053
+0x54	U+0054
+0x55	U+0055
+0x56	U+0056
+0x57	U+0057
+0x58	U+0058
+0x59	U+0059
+0x5a	U+005a
+0x5b	U+005b
+0x5c	U+005c
+0x5d	U+005d
+0x5e	U+005e
+0x5f	U+005f
+0x60	U+0060
+0x61	U+0061
+0x62	U+0062
+0x63	U+0063
+0x64	U+0064
+0x65	U+0065
+0x66	U+0066
+0x67	U+0067
+0x68	U+0068
+0x69	U+0069
+0x6a	U+006a
+0x6b	U+006b
+0x6c	U+006c
+0x6d	U+006d
+0x6e	U+006e
+0x6f	U+006f
+0x70	U+0070
+0x71	U+0071
+0x72	U+0072
+0x73	U+0073
+0x74	U+0074
+0x75	U+0075
+0x76	U+0076
+0x77	U+0077
+0x78	U+0078
+0x79	U+0079
+0x7a	U+007a
+0x7b	U+007b
+0x7c	U+007c
+0x7d	U+007d
+0x7e	U+007e
+0x7f	U+007f
+0x80	U+00c4
+0x81	U+00c5
+0x82	U+00c7
+0x83	U+00c9
+0x84	U+00d1
+0x85	U+00d6
+0x86	U+00dc
+0x87	U+00e1
+0x88	U+00e0
+0x89	U+00e2
+0x8a	U+00e4
+0x8b	U+00e3
+0x8c	U+00e5
+0x8d	U+00e7
+0x8e	U+00e9
+0x8f	U+00e8
+0x90	U+00ea
+0x91	U+00eb
+0x92	U+00ed
+0x93	U+00ec
+0x94	U+00ee
+0x95	U+00ef
+0x96	U+00f1
+0x97	U+00f3
+0x98	U+00f2
+0x99	U+00f4
+0x9a	U+00f6
+0x9b	U+00f5
+0x9c	U+00fa
+0x9d	U+00f9
+0x9e	U+00fb
+0x9f	U+00fc
+0xa0	U+2020
+0xa1	U+00b0
+0xa2	U+00a2
+0xa3	U+00a3
+0xa4	U+00a7
+0xa5	U+2022
+0xa6	U+00b6
+0xa7	U+00df
+0xa8	U+00ae
+0xa9	U+0160
+0xaa	U+2122
+0xab	U+00b4
+0xac	U+00a8
+0xad	U+2260
+0xae	U+017d
+0xaf	U+00d8
+0xb0	U+221e
+0xb1	U+00b1
+0xb2	U+2264
+0xb3	U+2265
+0xb4	U+2206
+0xb5	U+00b5
+0xb6	U+2202
+0xb7	U+2211
+0xb8	U+220f
+0xb9	U+0161
+0xba	U+222b
+0xbb	U+00aa
+0xbc	U+00ba
+0xbd	U+2126
+0xbe	U+017e
+0xbf	U+00f8
+0xc0	U+00bf
+0xc1	U+00a1
+0xc2	U+00ac
+0xc3	U+221a
+0xc4	U+0192
+0xc5	U+2248
+0xc6	U+0106
+0xc7	U+00ab
+0xc8	U+010c
+0xc9	U+2026
+0xca	U+00a0
+0xcb	U+00c0
+0xcc	U+00c3
+0xcd	U+00d5
+0xce	U+0152
+0xcf	U+0153
+0xd0	U+0110
+0xd1	U+2014
+0xd2	U+201c
+0xd3	U+201d
+0xd4	U+2018
+0xd5	U+2019
+0xd6	U+00f7
+0xd7	U+25ca
+0xd8	U+f8ff
+0xd9	U+00a9
+0xda	U+2044
+0xdb	U+00a4
+0xdc	U+2039
+0xdd	U+203a
+0xde	U+00c6
+0xdf	U+00bb
+0xe0	U+2013
+0xe1	U+00b7
+0xe2	U+201a
+0xe3	U+201e
+0xe4	U+2030
+0xe5	U+00c2
+0xe6	U+0107
+0xe7	U+00c1
+0xe8	U+010d
+0xe9	U+00c8
+0xea	U+00cd
+0xeb	U+00ce
+0xec	U+00cf
+0xed	U+00cc
+0xee	U+00d3
+0xef	U+00d4
+0xf0	U+0111
+0xf1	U+00d2
+0xf2	U+00da
+0xf3	U+00db
+0xf4	U+00d9
+0xf5	U+0131
+0xf6	U+02c6
+0xf7	U+02dc
+0xf8	U+00af
+0xf9	U+03c0
+0xfa	U+00cb
+0xfb	U+02da
+0xfc	U+00b8
+0xfd	U+00ca
+0xfe	U+00e6
+0xff	U+02c7
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/MacCyrillic.map	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,257 @@
+#Generated from MacCyrillic.java
+0x00	U+0000
+0x01	U+0001
+0x02	U+0002
+0x03	U+0003
+0x04	U+0004
+0x05	U+0005
+0x06	U+0006
+0x07	U+0007
+0x08	U+0008
+0x09	U+0009
+0x0a	U+000a
+0x0b	U+000b
+0x0c	U+000c
+0x0d	U+000d
+0x0e	U+000e
+0x0f	U+000f
+0x10	U+0010
+0x11	U+0011
+0x12	U+0012
+0x13	U+0013
+0x14	U+0014
+0x15	U+0015
+0x16	U+0016
+0x17	U+0017
+0x18	U+0018
+0x19	U+0019
+0x1a	U+001a
+0x1b	U+001b
+0x1c	U+001c
+0x1d	U+001d
+0x1e	U+001e
+0x1f	U+001f
+0x20	U+0020
+0x21	U+0021
+0x22	U+0022
+0x23	U+0023
+0x24	U+0024
+0x25	U+0025
+0x26	U+0026
+0x27	U+0027
+0x28	U+0028
+0x29	U+0029
+0x2a	U+002a
+0x2b	U+002b
+0x2c	U+002c
+0x2d	U+002d
+0x2e	U+002e
+0x2f	U+002f
+0x30	U+0030
+0x31	U+0031
+0x32	U+0032
+0x33	U+0033
+0x34	U+0034
+0x35	U+0035
+0x36	U+0036
+0x37	U+0037
+0x38	U+0038
+0x39	U+0039
+0x3a	U+003a
+0x3b	U+003b
+0x3c	U+003c
+0x3d	U+003d
+0x3e	U+003e
+0x3f	U+003f
+0x40	U+0040
+0x41	U+0041
+0x42	U+0042
+0x43	U+0043
+0x44	U+0044
+0x45	U+0045
+0x46	U+0046
+0x47	U+0047
+0x48	U+0048
+0x49	U+0049
+0x4a	U+004a
+0x4b	U+004b
+0x4c	U+004c
+0x4d	U+004d
+0x4e	U+004e
+0x4f	U+004f
+0x50	U+0050
+0x51	U+0051
+0x52	U+0052
+0x53	U+0053
+0x54	U+0054
+0x55	U+0055
+0x56	U+0056
+0x57	U+0057
+0x58	U+0058
+0x59	U+0059
+0x5a	U+005a
+0x5b	U+005b
+0x5c	U+005c
+0x5d	U+005d
+0x5e	U+005e
+0x5f	U+005f
+0x60	U+0060
+0x61	U+0061
+0x62	U+0062
+0x63	U+0063
+0x64	U+0064
+0x65	U+0065
+0x66	U+0066
+0x67	U+0067
+0x68	U+0068
+0x69	U+0069
+0x6a	U+006a
+0x6b	U+006b
+0x6c	U+006c
+0x6d	U+006d
+0x6e	U+006e
+0x6f	U+006f
+0x70	U+0070
+0x71	U+0071
+0x72	U+0072
+0x73	U+0073
+0x74	U+0074
+0x75	U+0075
+0x76	U+0076
+0x77	U+0077
+0x78	U+0078
+0x79	U+0079
+0x7a	U+007a
+0x7b	U+007b
+0x7c	U+007c
+0x7d	U+007d
+0x7e	U+007e
+0x7f	U+007f
+0x80	U+0410
+0x81	U+0411
+0x82	U+0412
+0x83	U+0413
+0x84	U+0414
+0x85	U+0415
+0x86	U+0416
+0x87	U+0417
+0x88	U+0418
+0x89	U+0419
+0x8a	U+041a
+0x8b	U+041b
+0x8c	U+041c
+0x8d	U+041d
+0x8e	U+041e
+0x8f	U+041f
+0x90	U+0420
+0x91	U+0421
+0x92	U+0422
+0x93	U+0423
+0x94	U+0424
+0x95	U+0425
+0x96	U+0426
+0x97	U+0427
+0x98	U+0428
+0x99	U+0429
+0x9a	U+042a
+0x9b	U+042b
+0x9c	U+042c
+0x9d	U+042d
+0x9e	U+042e
+0x9f	U+042f
+0xa0	U+2020
+0xa1	U+00b0
+0xa2	U+00a2
+0xa3	U+00a3
+0xa4	U+00a7
+0xa5	U+2022
+0xa6	U+00b6
+0xa7	U+0406
+0xa8	U+00ae
+0xa9	U+00a9
+0xaa	U+2122
+0xab	U+0402
+0xac	U+0452
+0xad	U+2260
+0xae	U+0403
+0xaf	U+0453
+0xb0	U+221e
+0xb1	U+00b1
+0xb2	U+2264
+0xb3	U+2265
+0xb4	U+0456
+0xb5	U+00b5
+0xb6	U+2202
+0xb7	U+0408
+0xb8	U+0404
+0xb9	U+0454
+0xba	U+0407
+0xbb	U+0457
+0xbc	U+0409
+0xbd	U+0459
+0xbe	U+040a
+0xbf	U+045a
+0xc0	U+0458
+0xc1	U+0405
+0xc2	U+00ac
+0xc3	U+221a
+0xc4	U+0192
+0xc5	U+2248
+0xc6	U+2206
+0xc7	U+00ab
+0xc8	U+00bb
+0xc9	U+2026
+0xca	U+00a0
+0xcb	U+040b
+0xcc	U+045b
+0xcd	U+040c
+0xce	U+045c
+0xcf	U+0455
+0xd0	U+2013
+0xd1	U+2014
+0xd2	U+201c
+0xd3	U+201d
+0xd4	U+2018
+0xd5	U+2019
+0xd6	U+00f7
+0xd7	U+201e
+0xd8	U+040e
+0xd9	U+045e
+0xda	U+040f
+0xdb	U+045f
+0xdc	U+2116
+0xdd	U+0401
+0xde	U+0451
+0xdf	U+044f
+0xe0	U+0430
+0xe1	U+0431
+0xe2	U+0432
+0xe3	U+0433
+0xe4	U+0434
+0xe5	U+0435
+0xe6	U+0436
+0xe7	U+0437
+0xe8	U+0438
+0xe9	U+0439
+0xea	U+043a
+0xeb	U+043b
+0xec	U+043c
+0xed	U+043d
+0xee	U+043e
+0xef	U+043f
+0xf0	U+0440
+0xf1	U+0441
+0xf2	U+0442
+0xf3	U+0443
+0xf4	U+0444
+0xf5	U+0445
+0xf6	U+0446
+0xf7	U+0447
+0xf8	U+0448
+0xf9	U+0449
+0xfa	U+044a
+0xfb	U+044b
+0xfc	U+044c
+0xfd	U+044d
+0xfe	U+044e
+0xff	U+00a4
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/MacDingbat.map	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,257 @@
+#Generated from MacDingbat.java
+0x00	U+0000
+0x01	U+0001
+0x02	U+0002
+0x03	U+0003
+0x04	U+0004
+0x05	U+0005
+0x06	U+0006
+0x07	U+0007
+0x08	U+0008
+0x09	U+0009
+0x0a	U+000a
+0x0b	U+000b
+0x0c	U+000c
+0x0d	U+000d
+0x0e	U+000e
+0x0f	U+000f
+0x10	U+0010
+0x11	U+0011
+0x12	U+0012
+0x13	U+0013
+0x14	U+0014
+0x15	U+0015
+0x16	U+0016
+0x17	U+0017
+0x18	U+0018
+0x19	U+0019
+0x1a	U+001a
+0x1b	U+001b
+0x1c	U+001c
+0x1d	U+001d
+0x1e	U+001e
+0x1f	U+001f
+0x20	U+0020
+0x21	U+2701
+0x22	U+2702
+0x23	U+2703
+0x24	U+2704
+0x25	U+260e
+0x26	U+2706
+0x27	U+2707
+0x28	U+2708
+0x29	U+2709
+0x2a	U+261b
+0x2b	U+261e
+0x2c	U+270c
+0x2d	U+270d
+0x2e	U+270e
+0x2f	U+270f
+0x30	U+2710
+0x31	U+2711
+0x32	U+2712
+0x33	U+2713
+0x34	U+2714
+0x35	U+2715
+0x36	U+2716
+0x37	U+2717
+0x38	U+2718
+0x39	U+2719
+0x3a	U+271a
+0x3b	U+271b
+0x3c	U+271c
+0x3d	U+271d
+0x3e	U+271e
+0x3f	U+271f
+0x40	U+2720
+0x41	U+2721
+0x42	U+2722
+0x43	U+2723
+0x44	U+2724
+0x45	U+2725
+0x46	U+2726
+0x47	U+2727
+0x48	U+2605
+0x49	U+2729
+0x4a	U+272a
+0x4b	U+272b
+0x4c	U+272c
+0x4d	U+272d
+0x4e	U+272e
+0x4f	U+272f
+0x50	U+2730
+0x51	U+2731
+0x52	U+2732
+0x53	U+2733
+0x54	U+2734
+0x55	U+2735
+0x56	U+2736
+0x57	U+2737
+0x58	U+2738
+0x59	U+2739
+0x5a	U+273a
+0x5b	U+273b
+0x5c	U+273c
+0x5d	U+273d
+0x5e	U+273e
+0x5f	U+273f
+0x60	U+2740
+0x61	U+2741
+0x62	U+2742
+0x63	U+2743
+0x64	U+2744
+0x65	U+2745
+0x66	U+2746
+0x67	U+2747
+0x68	U+2748
+0x69	U+2749
+0x6a	U+274a
+0x6b	U+274b
+0x6c	U+25cf
+0x6d	U+274d
+0x6e	U+25a0
+0x6f	U+274f
+0x70	U+2750
+0x71	U+2751
+0x72	U+2752
+0x73	U+25b2
+0x74	U+25bc
+0x75	U+25c6
+0x76	U+2756
+0x77	U+25d7
+0x78	U+2758
+0x79	U+2759
+0x7a	U+275a
+0x7b	U+275b
+0x7c	U+275c
+0x7d	U+275d
+0x7e	U+275e
+0x7f	U+007f
+0x80	U+fffd
+0x81	U+fffd
+0x82	U+fffd
+0x83	U+fffd
+0x84	U+fffd
+0x85	U+fffd
+0x86	U+fffd
+0x87	U+fffd
+0x88	U+fffd
+0x89	U+fffd
+0x8a	U+fffd
+0x8b	U+fffd
+0x8c	U+fffd
+0x8d	U+fffd
+0x8e	U+fffd
+0x8f	U+fffd
+0x90	U+fffd
+0x91	U+fffd
+0x92	U+fffd
+0x93	U+fffd
+0x94	U+fffd
+0x95	U+fffd
+0x96	U+fffd
+0x97	U+fffd
+0x98	U+fffd
+0x99	U+fffd
+0x9a	U+fffd
+0x9b	U+fffd
+0x9c	U+fffd
+0x9d	U+fffd
+0x9e	U+fffd
+0x9f	U+fffd
+0xa0	U+fffd
+0xa1	U+2761
+0xa2	U+2762
+0xa3	U+2763
+0xa4	U+2764
+0xa5	U+2765
+0xa6	U+2766
+0xa7	U+2767
+0xa8	U+2663
+0xa9	U+2666
+0xaa	U+2665
+0xab	U+2660
+0xac	U+2460
+0xad	U+2461
+0xae	U+2462
+0xaf	U+2463
+0xb0	U+2464
+0xb1	U+2465
+0xb2	U+2466
+0xb3	U+2467
+0xb4	U+2468
+0xb5	U+2469
+0xb6	U+2776
+0xb7	U+2777
+0xb8	U+2778
+0xb9	U+2779
+0xba	U+277a
+0xbb	U+277b
+0xbc	U+277c
+0xbd	U+277d
+0xbe	U+277e
+0xbf	U+277f
+0xc0	U+2780
+0xc1	U+2781
+0xc2	U+2782
+0xc3	U+2783
+0xc4	U+2784
+0xc5	U+2785
+0xc6	U+2786
+0xc7	U+2787
+0xc8	U+2788
+0xc9	U+2789
+0xca	U+278a
+0xcb	U+278b
+0xcc	U+278c
+0xcd	U+278d
+0xce	U+278e
+0xcf	U+278f
+0xd0	U+2790
+0xd1	U+2791
+0xd2	U+2792
+0xd3	U+2793
+0xd4	U+2794
+0xd5	U+2192
+0xd6	U+2194
+0xd7	U+2195
+0xd8	U+2798
+0xd9	U+2799
+0xda	U+279a
+0xdb	U+279b
+0xdc	U+279c
+0xdd	U+279d
+0xde	U+279e
+0xdf	U+279f
+0xe0	U+27a0
+0xe1	U+27a1
+0xe2	U+27a2
+0xe3	U+27a3
+0xe4	U+27a4
+0xe5	U+27a5
+0xe6	U+27a6
+0xe7	U+27a7
+0xe8	U+27a8
+0xe9	U+27a9
+0xea	U+27aa
+0xeb	U+27ab
+0xec	U+27ac
+0xed	U+27ad
+0xee	U+27ae
+0xef	U+27af
+0xf0	U+fffd
+0xf1	U+27b1
+0xf2	U+27b2
+0xf3	U+27b3
+0xf4	U+27b4
+0xf5	U+27b5
+0xf6	U+27b6
+0xf7	U+27b7
+0xf8	U+27b8
+0xf9	U+27b9
+0xfa	U+27ba
+0xfb	U+27bb
+0xfc	U+27bc
+0xfd	U+27bd
+0xfe	U+27be
+0xff	U+fffd
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/MacGreek.map	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,257 @@
+#Generated from MacGreek.java
+0x00	U+0000
+0x01	U+0001
+0x02	U+0002
+0x03	U+0003
+0x04	U+0004
+0x05	U+0005
+0x06	U+0006
+0x07	U+0007
+0x08	U+0008
+0x09	U+0009
+0x0a	U+000a
+0x0b	U+000b
+0x0c	U+000c
+0x0d	U+000d
+0x0e	U+000e
+0x0f	U+000f
+0x10	U+0010
+0x11	U+0011
+0x12	U+0012
+0x13	U+0013
+0x14	U+0014
+0x15	U+0015
+0x16	U+0016
+0x17	U+0017
+0x18	U+0018
+0x19	U+0019
+0x1a	U+001a
+0x1b	U+001b
+0x1c	U+001c
+0x1d	U+001d
+0x1e	U+001e
+0x1f	U+001f
+0x20	U+0020
+0x21	U+0021
+0x22	U+0022
+0x23	U+0023
+0x24	U+0024
+0x25	U+0025
+0x26	U+0026
+0x27	U+0027
+0x28	U+0028
+0x29	U+0029
+0x2a	U+002a
+0x2b	U+002b
+0x2c	U+002c
+0x2d	U+002d
+0x2e	U+002e
+0x2f	U+002f
+0x30	U+0030
+0x31	U+0031
+0x32	U+0032
+0x33	U+0033
+0x34	U+0034
+0x35	U+0035
+0x36	U+0036
+0x37	U+0037
+0x38	U+0038
+0x39	U+0039
+0x3a	U+003a
+0x3b	U+003b
+0x3c	U+003c
+0x3d	U+003d
+0x3e	U+003e
+0x3f	U+003f
+0x40	U+0040
+0x41	U+0041
+0x42	U+0042
+0x43	U+0043
+0x44	U+0044
+0x45	U+0045
+0x46	U+0046
+0x47	U+0047
+0x48	U+0048
+0x49	U+0049
+0x4a	U+004a
+0x4b	U+004b
+0x4c	U+004c
+0x4d	U+004d
+0x4e	U+004e
+0x4f	U+004f
+0x50	U+0050
+0x51	U+0051
+0x52	U+0052
+0x53	U+0053
+0x54	U+0054
+0x55	U+0055
+0x56	U+0056
+0x57	U+0057
+0x58	U+0058
+0x59	U+0059
+0x5a	U+005a
+0x5b	U+005b
+0x5c	U+005c
+0x5d	U+005d
+0x5e	U+005e
+0x5f	U+005f
+0x60	U+0060
+0x61	U+0061
+0x62	U+0062
+0x63	U+0063
+0x64	U+0064
+0x65	U+0065
+0x66	U+0066
+0x67	U+0067
+0x68	U+0068
+0x69	U+0069
+0x6a	U+006a
+0x6b	U+006b
+0x6c	U+006c
+0x6d	U+006d
+0x6e	U+006e
+0x6f	U+006f
+0x70	U+0070
+0x71	U+0071
+0x72	U+0072
+0x73	U+0073
+0x74	U+0074
+0x75	U+0075
+0x76	U+0076
+0x77	U+0077
+0x78	U+0078
+0x79	U+0079
+0x7a	U+007a
+0x7b	U+007b
+0x7c	U+007c
+0x7d	U+007d
+0x7e	U+007e
+0x7f	U+007f
+0x80	U+00c4
+0x81	U+00b9
+0x82	U+00b2
+0x83	U+00c9
+0x84	U+00b3
+0x85	U+00d6
+0x86	U+00dc
+0x87	U+0385
+0x88	U+00e0
+0x89	U+00e2
+0x8a	U+00e4
+0x8b	U+0384
+0x8c	U+00a8
+0x8d	U+00e7
+0x8e	U+00e9
+0x8f	U+00e8
+0x90	U+00ea
+0x91	U+00eb
+0x92	U+00a3
+0x93	U+2122
+0x94	U+00ee
+0x95	U+00ef
+0x96	U+2022
+0x97	U+00bd
+0x98	U+2030
+0x99	U+00f4
+0x9a	U+00f6
+0x9b	U+00a6
+0x9c	U+00ad
+0x9d	U+00f9
+0x9e	U+00fb
+0x9f	U+00fc
+0xa0	U+2020
+0xa1	U+0393
+0xa2	U+0394
+0xa3	U+0398
+0xa4	U+039b
+0xa5	U+039e
+0xa6	U+03a0
+0xa7	U+00df
+0xa8	U+00ae
+0xa9	U+00a9
+0xaa	U+03a3
+0xab	U+03aa
+0xac	U+00a7
+0xad	U+2260
+0xae	U+00b0
+0xaf	U+0387
+0xb0	U+0391
+0xb1	U+00b1
+0xb2	U+2264
+0xb3	U+2265
+0xb4	U+00a5
+0xb5	U+0392
+0xb6	U+0395
+0xb7	U+0396
+0xb8	U+0397
+0xb9	U+0399
+0xba	U+039a
+0xbb	U+039c
+0xbc	U+03a6
+0xbd	U+03ab
+0xbe	U+03a8
+0xbf	U+03a9
+0xc0	U+03ac
+0xc1	U+039d
+0xc2	U+00ac
+0xc3	U+039f
+0xc4	U+03a1
+0xc5	U+2248
+0xc6	U+03a4
+0xc7	U+00ab
+0xc8	U+00bb
+0xc9	U+2026
+0xca	U+00a0
+0xcb	U+03a5
+0xcc	U+03a7
+0xcd	U+0386
+0xce	U+0388
+0xcf	U+0153
+0xd0	U+2013
+0xd1	U+2015
+0xd2	U+201c
+0xd3	U+201d
+0xd4	U+2018
+0xd5	U+2019
+0xd6	U+00f7
+0xd7	U+0389
+0xd8	U+038a
+0xd9	U+038c
+0xda	U+038e
+0xdb	U+03ad
+0xdc	U+03ae
+0xdd	U+03af
+0xde	U+03cc
+0xdf	U+038f
+0xe0	U+03cd
+0xe1	U+03b1
+0xe2	U+03b2
+0xe3	U+03c8
+0xe4	U+03b4
+0xe5	U+03b5
+0xe6	U+03c6
+0xe7	U+03b3
+0xe8	U+03b7
+0xe9	U+03b9
+0xea	U+03be
+0xeb	U+03ba
+0xec	U+03bb
+0xed	U+03bc
+0xee	U+03bd
+0xef	U+03bf
+0xf0	U+03c0
+0xf1	U+03ce
+0xf2	U+03c1
+0xf3	U+03c3
+0xf4	U+03c4
+0xf5	U+03b8
+0xf6	U+03c9
+0xf7	U+03c2
+0xf8	U+03c7
+0xf9	U+03c5
+0xfa	U+03b6
+0xfb	U+03ca
+0xfc	U+03cb
+0xfd	U+0390
+0xfe	U+03b0
+0xff	U+fffd
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/MacHebrew.map	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,257 @@
+#Generated from MacHebrew.java
+0x00	U+0000
+0x01	U+0001
+0x02	U+0002
+0x03	U+0003
+0x04	U+0004
+0x05	U+0005
+0x06	U+0006
+0x07	U+0007
+0x08	U+0008
+0x09	U+0009
+0x0a	U+000a
+0x0b	U+000b
+0x0c	U+000c
+0x0d	U+000d
+0x0e	U+000e
+0x0f	U+000f
+0x10	U+0010
+0x11	U+0011
+0x12	U+0012
+0x13	U+0013
+0x14	U+0014
+0x15	U+0015
+0x16	U+0016
+0x17	U+0017
+0x18	U+0018
+0x19	U+0019
+0x1a	U+001a
+0x1b	U+001b
+0x1c	U+001c
+0x1d	U+001d
+0x1e	U+001e
+0x1f	U+001f
+0x20	U+0020
+0x21	U+0021
+0x22	U+0022
+0x23	U+0023
+0x24	U+0024
+0x25	U+0025
+0x26	U+0026
+0x27	U+0027
+0x28	U+0028
+0x29	U+0029
+0x2a	U+002a
+0x2b	U+002b
+0x2c	U+002c
+0x2d	U+002d
+0x2e	U+002e
+0x2f	U+002f
+0x30	U+0030
+0x31	U+0031
+0x32	U+0032
+0x33	U+0033
+0x34	U+0034
+0x35	U+0035
+0x36	U+0036
+0x37	U+0037
+0x38	U+0038
+0x39	U+0039
+0x3a	U+003a
+0x3b	U+003b
+0x3c	U+003c
+0x3d	U+003d
+0x3e	U+003e
+0x3f	U+003f
+0x40	U+0040
+0x41	U+0041
+0x42	U+0042
+0x43	U+0043
+0x44	U+0044
+0x45	U+0045
+0x46	U+0046
+0x47	U+0047
+0x48	U+0048
+0x49	U+0049
+0x4a	U+004a
+0x4b	U+004b
+0x4c	U+004c
+0x4d	U+004d
+0x4e	U+004e
+0x4f	U+004f
+0x50	U+0050
+0x51	U+0051
+0x52	U+0052
+0x53	U+0053
+0x54	U+0054
+0x55	U+0055
+0x56	U+0056
+0x57	U+0057
+0x58	U+0058
+0x59	U+0059
+0x5a	U+005a
+0x5b	U+005b
+0x5c	U+005c
+0x5d	U+005d
+0x5e	U+005e
+0x5f	U+005f
+0x60	U+0060
+0x61	U+0061
+0x62	U+0062
+0x63	U+0063
+0x64	U+0064
+0x65	U+0065
+0x66	U+0066
+0x67	U+0067
+0x68	U+0068
+0x69	U+0069
+0x6a	U+006a
+0x6b	U+006b
+0x6c	U+006c
+0x6d	U+006d
+0x6e	U+006e
+0x6f	U+006f
+0x70	U+0070
+0x71	U+0071
+0x72	U+0072
+0x73	U+0073
+0x74	U+0074
+0x75	U+0075
+0x76	U+0076
+0x77	U+0077
+0x78	U+0078
+0x79	U+0079
+0x7a	U+007a
+0x7b	U+007b
+0x7c	U+007c
+0x7d	U+007d
+0x7e	U+007e
+0x7f	U+007f
+0x80	U+00c4
+0x81	U+fb1f
+0x82	U+00c7
+0x83	U+00c9
+0x84	U+00d1
+0x85	U+00d6
+0x86	U+00dc
+0x87	U+00e1
+0x88	U+00e0
+0x89	U+00e2
+0x8a	U+00e4
+0x8b	U+00e3
+0x8c	U+00e5
+0x8d	U+00e7
+0x8e	U+00e9
+0x8f	U+00e8
+0x90	U+00ea
+0x91	U+00eb
+0x92	U+00ed
+0x93	U+00ec
+0x94	U+00ee
+0x95	U+00ef
+0x96	U+00f1
+0x97	U+00f3
+0x98	U+00f2
+0x99	U+00f4
+0x9a	U+00f6
+0x9b	U+00f5
+0x9c	U+00fa
+0x9d	U+00f9
+0x9e	U+00fb
+0x9f	U+00fc
+0xa0	U+fffd
+0xa1	U+fffd
+0xa2	U+fffd
+0xa3	U+fffd
+0xa4	U+fffd
+0xa5	U+fffd
+0xa6	U+20aa
+0xa7	U+fffd
+0xa8	U+fffd
+0xa9	U+fffd
+0xaa	U+fffd
+0xab	U+fffd
+0xac	U+fffd
+0xad	U+fffd
+0xae	U+fffd
+0xaf	U+fffd
+0xb0	U+fffd
+0xb1	U+fffd
+0xb2	U+fffd
+0xb3	U+fffd
+0xb4	U+fffd
+0xb5	U+fffd
+0xb6	U+fffd
+0xb7	U+fffd
+0xb8	U+fffd
+0xb9	U+fffd
+0xba	U+fffd
+0xbb	U+fffd
+0xbc	U+fffd
+0xbd	U+fffd
+0xbe	U+fffd
+0xbf	U+fffd
+0xc0	U+fffd
+0xc1	U+201e
+0xc2	U+fffd
+0xc3	U+fffd
+0xc4	U+fffd
+0xc5	U+fffd
+0xc6	U+05bc
+0xc7	U+fb4b
+0xc8	U+fb35
+0xc9	U+2026
+0xca	U+00a0
+0xcb	U+05b8
+0xcc	U+05b7
+0xcd	U+05b5
+0xce	U+05b6
+0xcf	U+05b4
+0xd0	U+2013
+0xd1	U+2014
+0xd2	U+201c
+0xd3	U+201d
+0xd4	U+2018
+0xd5	U+2019
+0xd6	U+fb2a
+0xd7	U+fb2b
+0xd8	U+05bf
+0xd9	U+05b0
+0xda	U+05b2
+0xdb	U+05b1
+0xdc	U+05bb
+0xdd	U+05b9
+0xde	U+fffd
+0xdf	U+05b3
+0xe0	U+05d0
+0xe1	U+05d1
+0xe2	U+05d2
+0xe3	U+05d3
+0xe4	U+05d4
+0xe5	U+05d5
+0xe6	U+05d6
+0xe7	U+05d7
+0xe8	U+05d8
+0xe9	U+05d9
+0xea	U+05da
+0xeb	U+05db
+0xec	U+05dc
+0xed	U+05dd
+0xee	U+05de
+0xef	U+05df
+0xf0	U+05e0
+0xf1	U+05e1
+0xf2	U+05e2
+0xf3	U+05e3
+0xf4	U+05e4
+0xf5	U+05e5
+0xf6	U+05e6
+0xf7	U+05e7
+0xf8	U+05e8
+0xf9	U+05e9
+0xfa	U+05ea
+0xfb	U+fffd
+0xfc	U+fffd
+0xfd	U+fffd
+0xfe	U+fffd
+0xff	U+fffd
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/MacIceland.map	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,257 @@
+#Generated from MacIceland.java
+0x00	U+0000
+0x01	U+0001
+0x02	U+0002
+0x03	U+0003
+0x04	U+0004
+0x05	U+0005
+0x06	U+0006
+0x07	U+0007
+0x08	U+0008
+0x09	U+0009
+0x0a	U+000a
+0x0b	U+000b
+0x0c	U+000c
+0x0d	U+000d
+0x0e	U+000e
+0x0f	U+000f
+0x10	U+0010
+0x11	U+0011
+0x12	U+0012
+0x13	U+0013
+0x14	U+0014
+0x15	U+0015
+0x16	U+0016
+0x17	U+0017
+0x18	U+0018
+0x19	U+0019
+0x1a	U+001a
+0x1b	U+001b
+0x1c	U+001c
+0x1d	U+001d
+0x1e	U+001e
+0x1f	U+001f
+0x20	U+0020
+0x21	U+0021
+0x22	U+0022
+0x23	U+0023
+0x24	U+0024
+0x25	U+0025
+0x26	U+0026
+0x27	U+0027
+0x28	U+0028
+0x29	U+0029
+0x2a	U+002a
+0x2b	U+002b
+0x2c	U+002c
+0x2d	U+002d
+0x2e	U+002e
+0x2f	U+002f
+0x30	U+0030
+0x31	U+0031
+0x32	U+0032
+0x33	U+0033
+0x34	U+0034
+0x35	U+0035
+0x36	U+0036
+0x37	U+0037
+0x38	U+0038
+0x39	U+0039
+0x3a	U+003a
+0x3b	U+003b
+0x3c	U+003c
+0x3d	U+003d
+0x3e	U+003e
+0x3f	U+003f
+0x40	U+0040
+0x41	U+0041
+0x42	U+0042
+0x43	U+0043
+0x44	U+0044
+0x45	U+0045
+0x46	U+0046
+0x47	U+0047
+0x48	U+0048
+0x49	U+0049
+0x4a	U+004a
+0x4b	U+004b
+0x4c	U+004c
+0x4d	U+004d
+0x4e	U+004e
+0x4f	U+004f
+0x50	U+0050
+0x51	U+0051
+0x52	U+0052
+0x53	U+0053
+0x54	U+0054
+0x55	U+0055
+0x56	U+0056
+0x57	U+0057
+0x58	U+0058
+0x59	U+0059
+0x5a	U+005a
+0x5b	U+005b
+0x5c	U+005c
+0x5d	U+005d
+0x5e	U+005e
+0x5f	U+005f
+0x60	U+0060
+0x61	U+0061
+0x62	U+0062
+0x63	U+0063
+0x64	U+0064
+0x65	U+0065
+0x66	U+0066
+0x67	U+0067
+0x68	U+0068
+0x69	U+0069
+0x6a	U+006a
+0x6b	U+006b
+0x6c	U+006c
+0x6d	U+006d
+0x6e	U+006e
+0x6f	U+006f
+0x70	U+0070
+0x71	U+0071
+0x72	U+0072
+0x73	U+0073
+0x74	U+0074
+0x75	U+0075
+0x76	U+0076
+0x77	U+0077
+0x78	U+0078
+0x79	U+0079
+0x7a	U+007a
+0x7b	U+007b
+0x7c	U+007c
+0x7d	U+007d
+0x7e	U+007e
+0x7f	U+007f
+0x80	U+00c4
+0x81	U+00c5
+0x82	U+00c7
+0x83	U+00c9
+0x84	U+00d1
+0x85	U+00d6
+0x86	U+00dc
+0x87	U+00e1
+0x88	U+00e0
+0x89	U+00e2
+0x8a	U+00e4
+0x8b	U+00e3
+0x8c	U+00e5
+0x8d	U+00e7
+0x8e	U+00e9
+0x8f	U+00e8
+0x90	U+00ea
+0x91	U+00eb
+0x92	U+00ed
+0x93	U+00ec
+0x94	U+00ee
+0x95	U+00ef
+0x96	U+00f1
+0x97	U+00f3
+0x98	U+00f2
+0x99	U+00f4
+0x9a	U+00f6
+0x9b	U+00f5
+0x9c	U+00fa
+0x9d	U+00f9
+0x9e	U+00fb
+0x9f	U+00fc
+0xa0	U+00dd
+0xa1	U+00b0
+0xa2	U+00a2
+0xa3	U+00a3
+0xa4	U+00a7
+0xa5	U+2022
+0xa6	U+00b6
+0xa7	U+00df
+0xa8	U+00ae
+0xa9	U+00a9
+0xaa	U+2122
+0xab	U+00b4
+0xac	U+00a8
+0xad	U+2260
+0xae	U+00c6
+0xaf	U+00d8
+0xb0	U+221e
+0xb1	U+00b1
+0xb2	U+2264
+0xb3	U+2265
+0xb4	U+00a5
+0xb5	U+00b5
+0xb6	U+2202
+0xb7	U+2211
+0xb8	U+220f
+0xb9	U+03c0
+0xba	U+222b
+0xbb	U+00aa
+0xbc	U+00ba
+0xbd	U+2126
+0xbe	U+00e6
+0xbf	U+00f8
+0xc0	U+00bf
+0xc1	U+00a1
+0xc2	U+00ac
+0xc3	U+221a
+0xc4	U+0192
+0xc5	U+2248
+0xc6	U+2206
+0xc7	U+00ab
+0xc8	U+00bb
+0xc9	U+2026
+0xca	U+00a0
+0xcb	U+00c0
+0xcc	U+00c3
+0xcd	U+00d5
+0xce	U+0152
+0xcf	U+0153
+0xd0	U+2013
+0xd1	U+2014
+0xd2	U+201c
+0xd3	U+201d
+0xd4	U+2018
+0xd5	U+2019
+0xd6	U+00f7
+0xd7	U+25ca
+0xd8	U+00ff
+0xd9	U+0178
+0xda	U+2044
+0xdb	U+00a4
+0xdc	U+00d0
+0xdd	U+00f0
+0xde	U+00de
+0xdf	U+00fe
+0xe0	U+00fd
+0xe1	U+00b7
+0xe2	U+201a
+0xe3	U+201e
+0xe4	U+2030
+0xe5	U+00c2
+0xe6	U+00ca
+0xe7	U+00c1
+0xe8	U+00cb
+0xe9	U+00c8
+0xea	U+00cd
+0xeb	U+00ce
+0xec	U+00cf
+0xed	U+00cc
+0xee	U+00d3
+0xef	U+00d4
+0xf0	U+f8ff
+0xf1	U+00d2
+0xf2	U+00da
+0xf3	U+00db
+0xf4	U+00d9
+0xf5	U+0131
+0xf6	U+02c6
+0xf7	U+02dc
+0xf8	U+00af
+0xf9	U+02d8
+0xfa	U+02d9
+0xfb	U+02da
+0xfc	U+00b8
+0xfd	U+02dd
+0xfe	U+02db
+0xff	U+02c7
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/MacRoman.map	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,257 @@
+#Generated from MacRoman.java
+0x00	U+0000
+0x01	U+0001
+0x02	U+0002
+0x03	U+0003
+0x04	U+0004
+0x05	U+0005
+0x06	U+0006
+0x07	U+0007
+0x08	U+0008
+0x09	U+0009
+0x0a	U+000a
+0x0b	U+000b
+0x0c	U+000c
+0x0d	U+000d
+0x0e	U+000e
+0x0f	U+000f
+0x10	U+0010
+0x11	U+0011
+0x12	U+0012
+0x13	U+0013
+0x14	U+0014
+0x15	U+0015
+0x16	U+0016
+0x17	U+0017
+0x18	U+0018
+0x19	U+0019
+0x1a	U+001a
+0x1b	U+001b
+0x1c	U+001c
+0x1d	U+001d
+0x1e	U+001e
+0x1f	U+001f
+0x20	U+0020
+0x21	U+0021
+0x22	U+0022
+0x23	U+0023
+0x24	U+0024
+0x25	U+0025
+0x26	U+0026
+0x27	U+0027
+0x28	U+0028
+0x29	U+0029
+0x2a	U+002a
+0x2b	U+002b
+0x2c	U+002c
+0x2d	U+002d
+0x2e	U+002e
+0x2f	U+002f
+0x30	U+0030
+0x31	U+0031
+0x32	U+0032
+0x33	U+0033
+0x34	U+0034
+0x35	U+0035
+0x36	U+0036
+0x37	U+0037
+0x38	U+0038
+0x39	U+0039
+0x3a	U+003a
+0x3b	U+003b
+0x3c	U+003c
+0x3d	U+003d
+0x3e	U+003e
+0x3f	U+003f
+0x40	U+0040
+0x41	U+0041
+0x42	U+0042
+0x43	U+0043
+0x44	U+0044
+0x45	U+0045
+0x46	U+0046
+0x47	U+0047
+0x48	U+0048
+0x49	U+0049
+0x4a	U+004a
+0x4b	U+004b
+0x4c	U+004c
+0x4d	U+004d
+0x4e	U+004e
+0x4f	U+004f
+0x50	U+0050
+0x51	U+0051
+0x52	U+0052
+0x53	U+0053
+0x54	U+0054
+0x55	U+0055
+0x56	U+0056
+0x57	U+0057
+0x58	U+0058
+0x59	U+0059
+0x5a	U+005a
+0x5b	U+005b
+0x5c	U+005c
+0x5d	U+005d
+0x5e	U+005e
+0x5f	U+005f
+0x60	U+0060
+0x61	U+0061
+0x62	U+0062
+0x63	U+0063
+0x64	U+0064
+0x65	U+0065
+0x66	U+0066
+0x67	U+0067
+0x68	U+0068
+0x69	U+0069
+0x6a	U+006a
+0x6b	U+006b
+0x6c	U+006c
+0x6d	U+006d
+0x6e	U+006e
+0x6f	U+006f
+0x70	U+0070
+0x71	U+0071
+0x72	U+0072
+0x73	U+0073
+0x74	U+0074
+0x75	U+0075
+0x76	U+0076
+0x77	U+0077
+0x78	U+0078
+0x79	U+0079
+0x7a	U+007a
+0x7b	U+007b
+0x7c	U+007c
+0x7d	U+007d
+0x7e	U+007e
+0x7f	U+007f
+0x80	U+00c4
+0x81	U+00c5
+0x82	U+00c7
+0x83	U+00c9
+0x84	U+00d1
+0x85	U+00d6
+0x86	U+00dc
+0x87	U+00e1
+0x88	U+00e0
+0x89	U+00e2
+0x8a	U+00e4
+0x8b	U+00e3
+0x8c	U+00e5
+0x8d	U+00e7
+0x8e	U+00e9
+0x8f	U+00e8
+0x90	U+00ea
+0x91	U+00eb
+0x92	U+00ed
+0x93	U+00ec
+0x94	U+00ee
+0x95	U+00ef
+0x96	U+00f1
+0x97	U+00f3
+0x98	U+00f2
+0x99	U+00f4
+0x9a	U+00f6
+0x9b	U+00f5
+0x9c	U+00fa
+0x9d	U+00f9
+0x9e	U+00fb
+0x9f	U+00fc
+0xa0	U+2020
+0xa1	U+00b0
+0xa2	U+00a2
+0xa3	U+00a3
+0xa4	U+00a7
+0xa5	U+2022
+0xa6	U+00b6
+0xa7	U+00df
+0xa8	U+00ae
+0xa9	U+00a9
+0xaa	U+2122
+0xab	U+00b4
+0xac	U+00a8
+0xad	U+2260
+0xae	U+00c6
+0xaf	U+00d8
+0xb0	U+221e
+0xb1	U+00b1
+0xb2	U+2264
+0xb3	U+2265
+0xb4	U+00a5
+0xb5	U+00b5
+0xb6	U+2202
+0xb7	U+2211
+0xb8	U+220f
+0xb9	U+03c0
+0xba	U+222b
+0xbb	U+00aa
+0xbc	U+00ba
+0xbd	U+03a9
+0xbe	U+00e6
+0xbf	U+00f8
+0xc0	U+00bf
+0xc1	U+00a1
+0xc2	U+00ac
+0xc3	U+221a
+0xc4	U+0192
+0xc5	U+2248
+0xc6	U+2206
+0xc7	U+00ab
+0xc8	U+00bb
+0xc9	U+2026
+0xca	U+00a0
+0xcb	U+00c0
+0xcc	U+00c3
+0xcd	U+00d5
+0xce	U+0152
+0xcf	U+0153
+0xd0	U+2013
+0xd1	U+2014
+0xd2	U+201c
+0xd3	U+201d
+0xd4	U+2018
+0xd5	U+2019
+0xd6	U+00f7
+0xd7	U+25ca
+0xd8	U+00ff
+0xd9	U+0178
+0xda	U+2044
+0xdb	U+20ac
+0xdc	U+2039
+0xdd	U+203a
+0xde	U+fb01
+0xdf	U+fb02
+0xe0	U+2021
+0xe1	U+00b7
+0xe2	U+201a
+0xe3	U+201e
+0xe4	U+2030
+0xe5	U+00c2
+0xe6	U+00ca
+0xe7	U+00c1
+0xe8	U+00cb
+0xe9	U+00c8
+0xea	U+00cd
+0xeb	U+00ce
+0xec	U+00cf
+0xed	U+00cc
+0xee	U+00d3
+0xef	U+00d4
+0xf0	U+f8ff
+0xf1	U+00d2
+0xf2	U+00da
+0xf3	U+00db
+0xf4	U+00d9
+0xf5	U+0131
+0xf6	U+02c6
+0xf7	U+02dc
+0xf8	U+00af
+0xf9	U+02d8
+0xfa	U+02d9
+0xfb	U+02da
+0xfc	U+00b8
+0xfd	U+02dd
+0xfe	U+02db
+0xff	U+02c7
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/MacRomania.map	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,257 @@
+#Generated from MacRomania.java
+0x00	U+0000
+0x01	U+0001
+0x02	U+0002
+0x03	U+0003
+0x04	U+0004
+0x05	U+0005
+0x06	U+0006
+0x07	U+0007
+0x08	U+0008
+0x09	U+0009
+0x0a	U+000a
+0x0b	U+000b
+0x0c	U+000c
+0x0d	U+000d
+0x0e	U+000e
+0x0f	U+000f
+0x10	U+0010
+0x11	U+0011
+0x12	U+0012
+0x13	U+0013
+0x14	U+0014
+0x15	U+0015
+0x16	U+0016
+0x17	U+0017
+0x18	U+0018
+0x19	U+0019
+0x1a	U+001a
+0x1b	U+001b
+0x1c	U+001c
+0x1d	U+001d
+0x1e	U+001e
+0x1f	U+001f
+0x20	U+0020
+0x21	U+0021
+0x22	U+0022
+0x23	U+0023
+0x24	U+0024
+0x25	U+0025
+0x26	U+0026
+0x27	U+0027
+0x28	U+0028
+0x29	U+0029
+0x2a	U+002a
+0x2b	U+002b
+0x2c	U+002c
+0x2d	U+002d
+0x2e	U+002e
+0x2f	U+002f
+0x30	U+0030
+0x31	U+0031
+0x32	U+0032
+0x33	U+0033
+0x34	U+0034
+0x35	U+0035
+0x36	U+0036
+0x37	U+0037
+0x38	U+0038
+0x39	U+0039
+0x3a	U+003a
+0x3b	U+003b
+0x3c	U+003c
+0x3d	U+003d
+0x3e	U+003e
+0x3f	U+003f
+0x40	U+0040
+0x41	U+0041
+0x42	U+0042
+0x43	U+0043
+0x44	U+0044
+0x45	U+0045
+0x46	U+0046
+0x47	U+0047
+0x48	U+0048
+0x49	U+0049
+0x4a	U+004a
+0x4b	U+004b
+0x4c	U+004c
+0x4d	U+004d
+0x4e	U+004e
+0x4f	U+004f
+0x50	U+0050
+0x51	U+0051
+0x52	U+0052
+0x53	U+0053
+0x54	U+0054
+0x55	U+0055
+0x56	U+0056
+0x57	U+0057
+0x58	U+0058
+0x59	U+0059
+0x5a	U+005a
+0x5b	U+005b
+0x5c	U+005c
+0x5d	U+005d
+0x5e	U+005e
+0x5f	U+005f
+0x60	U+0060
+0x61	U+0061
+0x62	U+0062
+0x63	U+0063
+0x64	U+0064
+0x65	U+0065
+0x66	U+0066
+0x67	U+0067
+0x68	U+0068
+0x69	U+0069
+0x6a	U+006a
+0x6b	U+006b
+0x6c	U+006c
+0x6d	U+006d
+0x6e	U+006e
+0x6f	U+006f
+0x70	U+0070
+0x71	U+0071
+0x72	U+0072
+0x73	U+0073
+0x74	U+0074
+0x75	U+0075
+0x76	U+0076
+0x77	U+0077
+0x78	U+0078
+0x79	U+0079
+0x7a	U+007a
+0x7b	U+007b
+0x7c	U+007c
+0x7d	U+007d
+0x7e	U+007e
+0x7f	U+007f
+0x80	U+00c4
+0x81	U+00c5
+0x82	U+00c7
+0x83	U+00c9
+0x84	U+00d1
+0x85	U+00d6
+0x86	U+00dc
+0x87	U+00e1
+0x88	U+00e0
+0x89	U+00e2
+0x8a	U+00e4
+0x8b	U+00e3
+0x8c	U+00e5
+0x8d	U+00e7
+0x8e	U+00e9
+0x8f	U+00e8
+0x90	U+00ea
+0x91	U+00eb
+0x92	U+00ed
+0x93	U+00ec
+0x94	U+00ee
+0x95	U+00ef
+0x96	U+00f1
+0x97	U+00f3
+0x98	U+00f2
+0x99	U+00f4
+0x9a	U+00f6
+0x9b	U+00f5
+0x9c	U+00fa
+0x9d	U+00f9
+0x9e	U+00fb
+0x9f	U+00fc
+0xa0	U+2020
+0xa1	U+00b0
+0xa2	U+00a2
+0xa3	U+00a3
+0xa4	U+00a7
+0xa5	U+2022
+0xa6	U+00b6
+0xa7	U+00df
+0xa8	U+00ae
+0xa9	U+00a9
+0xaa	U+2122
+0xab	U+00b4
+0xac	U+00a8
+0xad	U+2260
+0xae	U+0102
+0xaf	U+015e
+0xb0	U+221e
+0xb1	U+00b1
+0xb2	U+2264
+0xb3	U+2265
+0xb4	U+00a5
+0xb5	U+00b5
+0xb6	U+2202
+0xb7	U+2211
+0xb8	U+220f
+0xb9	U+03c0
+0xba	U+222b
+0xbb	U+00aa
+0xbc	U+00ba
+0xbd	U+2126
+0xbe	U+0103
+0xbf	U+015f
+0xc0	U+00bf
+0xc1	U+00a1
+0xc2	U+00ac
+0xc3	U+221a
+0xc4	U+0192
+0xc5	U+2248
+0xc6	U+2206
+0xc7	U+00ab
+0xc8	U+00bb
+0xc9	U+2026
+0xca	U+00a0
+0xcb	U+00c0
+0xcc	U+00c3
+0xcd	U+00d5
+0xce	U+0152
+0xcf	U+0153
+0xd0	U+2013
+0xd1	U+2014
+0xd2	U+201c
+0xd3	U+201d
+0xd4	U+2018
+0xd5	U+2019
+0xd6	U+00f7
+0xd7	U+25ca
+0xd8	U+00ff
+0xd9	U+0178
+0xda	U+2044
+0xdb	U+00a4
+0xdc	U+2039
+0xdd	U+203a
+0xde	U+0162
+0xdf	U+0163
+0xe0	U+2021
+0xe1	U+00b7
+0xe2	U+201a
+0xe3	U+201e
+0xe4	U+2030
+0xe5	U+00c2
+0xe6	U+00ca
+0xe7	U+00c1
+0xe8	U+00cb
+0xe9	U+00c8
+0xea	U+00cd
+0xeb	U+00ce
+0xec	U+00cf
+0xed	U+00cc
+0xee	U+00d3
+0xef	U+00d4
+0xf0	U+f8ff
+0xf1	U+00d2
+0xf2	U+00da
+0xf3	U+00db
+0xf4	U+00d9
+0xf5	U+0131
+0xf6	U+02c6
+0xf7	U+02dc
+0xf8	U+00af
+0xf9	U+02d8
+0xfa	U+02d9
+0xfb	U+02da
+0xfc	U+00b8
+0xfd	U+02dd
+0xfe	U+02db
+0xff	U+02c7
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/MacSymbol.map	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,257 @@
+#Generated from MacSymbol.java
+0x00	U+0000
+0x01	U+0001
+0x02	U+0002
+0x03	U+0003
+0x04	U+0004
+0x05	U+0005
+0x06	U+0006
+0x07	U+0007
+0x08	U+0008
+0x09	U+0009
+0x0a	U+000a
+0x0b	U+000b
+0x0c	U+000c
+0x0d	U+000d
+0x0e	U+000e
+0x0f	U+000f
+0x10	U+0010
+0x11	U+0011
+0x12	U+0012
+0x13	U+0013
+0x14	U+0014
+0x15	U+0015
+0x16	U+0016
+0x17	U+0017
+0x18	U+0018
+0x19	U+0019
+0x1a	U+001a
+0x1b	U+001b
+0x1c	U+001c
+0x1d	U+001d
+0x1e	U+001e
+0x1f	U+001f
+0x20	U+0020
+0x21	U+0021
+0x22	U+2200
+0x23	U+0023
+0x24	U+2203
+0x25	U+0025
+0x26	U+0026
+0x27	U+220d
+0x28	U+0028
+0x29	U+0029
+0x2a	U+2217
+0x2b	U+002b
+0x2c	U+002c
+0x2d	U+2212
+0x2e	U+002e
+0x2f	U+002f
+0x30	U+0030
+0x31	U+0031
+0x32	U+0032
+0x33	U+0033
+0x34	U+0034
+0x35	U+0035
+0x36	U+0036
+0x37	U+0037
+0x38	U+0038
+0x39	U+0039
+0x3a	U+003a
+0x3b	U+003b
+0x3c	U+003c
+0x3d	U+003d
+0x3e	U+003e
+0x3f	U+003f
+0x40	U+2245
+0x41	U+0391
+0x42	U+0392
+0x43	U+03a7
+0x44	U+0394
+0x45	U+0395
+0x46	U+03a6
+0x47	U+0393
+0x48	U+0397
+0x49	U+0399
+0x4a	U+03d1
+0x4b	U+039a
+0x4c	U+039b
+0x4d	U+039c
+0x4e	U+039d
+0x4f	U+039f
+0x50	U+03a0
+0x51	U+0398
+0x52	U+03a1
+0x53	U+03a3
+0x54	U+03a4
+0x55	U+03a5
+0x56	U+03c2
+0x57	U+03a9
+0x58	U+039e
+0x59	U+03a8
+0x5a	U+0396
+0x5b	U+005b
+0x5c	U+2234
+0x5d	U+005d
+0x5e	U+22a5
+0x5f	U+005f
+0x60	U+f8e5
+0x61	U+03b1
+0x62	U+03b2
+0x63	U+03c7
+0x64	U+03b4
+0x65	U+03b5
+0x66	U+03c6
+0x67	U+03b3
+0x68	U+03b7
+0x69	U+03b9
+0x6a	U+03d5
+0x6b	U+03ba
+0x6c	U+03bb
+0x6d	U+03bc
+0x6e	U+03bd
+0x6f	U+03bf
+0x70	U+03c0
+0x71	U+03b8
+0x72	U+03c1
+0x73	U+03c3
+0x74	U+03c4
+0x75	U+03c5
+0x76	U+03d6
+0x77	U+03c9
+0x78	U+03be
+0x79	U+03c8
+0x7a	U+03b6
+0x7b	U+007b
+0x7c	U+007c
+0x7d	U+007d
+0x7e	U+223c
+0x7f	U+007f
+0x80	U+fffd
+0x81	U+fffd
+0x82	U+fffd
+0x83	U+fffd
+0x84	U+fffd
+0x85	U+fffd
+0x86	U+fffd
+0x87	U+fffd
+0x88	U+fffd
+0x89	U+fffd
+0x8a	U+fffd
+0x8b	U+fffd
+0x8c	U+fffd
+0x8d	U+fffd
+0x8e	U+fffd
+0x8f	U+fffd
+0x90	U+fffd
+0x91	U+fffd
+0x92	U+fffd
+0x93	U+fffd
+0x94	U+fffd
+0x95	U+fffd
+0x96	U+fffd
+0x97	U+fffd
+0x98	U+fffd
+0x99	U+fffd
+0x9a	U+fffd
+0x9b	U+fffd
+0x9c	U+fffd
+0x9d	U+fffd
+0x9e	U+fffd
+0x9f	U+fffd
+0xa0	U+20ac
+0xa1	U+03d2
+0xa2	U+2032
+0xa3	U+2264
+0xa4	U+2044
+0xa5	U+221e
+0xa6	U+0192
+0xa7	U+2663
+0xa8	U+2666
+0xa9	U+2665
+0xaa	U+2660
+0xab	U+2194
+0xac	U+2190
+0xad	U+2191
+0xae	U+2192
+0xaf	U+2193
+0xb0	U+00b0
+0xb1	U+00b1
+0xb2	U+2033
+0xb3	U+2265
+0xb4	U+00d7
+0xb5	U+221d
+0xb6	U+2202
+0xb7	U+2022
+0xb8	U+00f7
+0xb9	U+2260
+0xba	U+2261
+0xbb	U+2248
+0xbc	U+2026
+0xbd	U+f8e6
+0xbe	U+f8e7
+0xbf	U+21b5
+0xc0	U+2135
+0xc1	U+2111
+0xc2	U+211c
+0xc3	U+2118
+0xc4	U+2297
+0xc5	U+2295
+0xc6	U+2205
+0xc7	U+2229
+0xc8	U+222a
+0xc9	U+2283
+0xca	U+2287
+0xcb	U+2284
+0xcc	U+2282
+0xcd	U+2286
+0xce	U+2208
+0xcf	U+2209
+0xd0	U+2220
+0xd1	U+2207
+0xd2	U+00ae
+0xd3	U+00a9
+0xd4	U+2122
+0xd5	U+220f
+0xd6	U+221a
+0xd7	U+22c5
+0xd8	U+00ac
+0xd9	U+2227
+0xda	U+2228
+0xdb	U+21d4
+0xdc	U+21d0
+0xdd	U+21d1
+0xde	U+21d2
+0xdf	U+21d3
+0xe0	U+22c4
+0xe1	U+3008
+0xe2	U+fffd
+0xe3	U+fffd
+0xe4	U+fffd
+0xe5	U+2211
+0xe6	U+fffd
+0xe7	U+fffd
+0xe8	U+fffd
+0xe9	U+fffd
+0xea	U+fffd
+0xeb	U+fffd
+0xec	U+fffd
+0xed	U+fffd
+0xee	U+fffd
+0xef	U+f8f4
+0xf0	U+f8ff
+0xf1	U+3009
+0xf2	U+222b
+0xf3	U+2320
+0xf4	U+fffd
+0xf5	U+2321
+0xf6	U+fffd
+0xf7	U+fffd
+0xf8	U+fffd
+0xf9	U+fffd
+0xfa	U+fffd
+0xfb	U+fffd
+0xfc	U+fffd
+0xfd	U+fffd
+0xfe	U+fffd
+0xff	U+fffd
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/MacThai.map	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,257 @@
+#Generated from MacThai.java
+0x00	U+0000
+0x01	U+0001
+0x02	U+0002
+0x03	U+0003
+0x04	U+0004
+0x05	U+0005
+0x06	U+0006
+0x07	U+0007
+0x08	U+0008
+0x09	U+0009
+0x0a	U+000a
+0x0b	U+000b
+0x0c	U+000c
+0x0d	U+000d
+0x0e	U+000e
+0x0f	U+000f
+0x10	U+0010
+0x11	U+0011
+0x12	U+0012
+0x13	U+0013
+0x14	U+0014
+0x15	U+0015
+0x16	U+0016
+0x17	U+0017
+0x18	U+0018
+0x19	U+0019
+0x1a	U+001a
+0x1b	U+001b
+0x1c	U+001c
+0x1d	U+001d
+0x1e	U+001e
+0x1f	U+001f
+0x20	U+0020
+0x21	U+0021
+0x22	U+0022
+0x23	U+0023
+0x24	U+0024
+0x25	U+0025
+0x26	U+0026
+0x27	U+0027
+0x28	U+0028
+0x29	U+0029
+0x2a	U+002a
+0x2b	U+002b
+0x2c	U+002c
+0x2d	U+002d
+0x2e	U+002e
+0x2f	U+002f
+0x30	U+0030
+0x31	U+0031
+0x32	U+0032
+0x33	U+0033
+0x34	U+0034
+0x35	U+0035
+0x36	U+0036
+0x37	U+0037
+0x38	U+0038
+0x39	U+0039
+0x3a	U+003a
+0x3b	U+003b
+0x3c	U+003c
+0x3d	U+003d
+0x3e	U+003e
+0x3f	U+003f
+0x40	U+0040
+0x41	U+0041
+0x42	U+0042
+0x43	U+0043
+0x44	U+0044
+0x45	U+0045
+0x46	U+0046
+0x47	U+0047
+0x48	U+0048
+0x49	U+0049
+0x4a	U+004a
+0x4b	U+004b
+0x4c	U+004c
+0x4d	U+004d
+0x4e	U+004e
+0x4f	U+004f
+0x50	U+0050
+0x51	U+0051
+0x52	U+0052
+0x53	U+0053
+0x54	U+0054
+0x55	U+0055
+0x56	U+0056
+0x57	U+0057
+0x58	U+0058
+0x59	U+0059
+0x5a	U+005a
+0x5b	U+005b
+0x5c	U+005c
+0x5d	U+005d
+0x5e	U+005e
+0x5f	U+005f
+0x60	U+0060
+0x61	U+0061
+0x62	U+0062
+0x63	U+0063
+0x64	U+0064
+0x65	U+0065
+0x66	U+0066
+0x67	U+0067
+0x68	U+0068
+0x69	U+0069
+0x6a	U+006a
+0x6b	U+006b
+0x6c	U+006c
+0x6d	U+006d
+0x6e	U+006e
+0x6f	U+006f
+0x70	U+0070
+0x71	U+0071
+0x72	U+0072
+0x73	U+0073
+0x74	U+0074
+0x75	U+0075
+0x76	U+0076
+0x77	U+0077
+0x78	U+0078
+0x79	U+0079
+0x7a	U+007a
+0x7b	U+007b
+0x7c	U+007c
+0x7d	U+007d
+0x7e	U+007e
+0x7f	U+007f
+0x80	U+00ab
+0x81	U+00bb
+0x82	U+2026
+0x83	U+f88c
+0x84	U+f88f
+0x85	U+f892
+0x86	U+f895
+0x87	U+f898
+0x88	U+f88b
+0x89	U+f88e
+0x8a	U+f891
+0x8b	U+f894
+0x8c	U+f897
+0x8d	U+201c
+0x8e	U+201d
+0x8f	U+f899
+0x90	U+fffd
+0x91	U+2022
+0x92	U+f884
+0x93	U+f889
+0x94	U+f885
+0x95	U+f886
+0x96	U+f887
+0x97	U+f888
+0x98	U+f88a
+0x99	U+f88d
+0x9a	U+f890
+0x9b	U+f893
+0x9c	U+f896
+0x9d	U+2018
+0x9e	U+2019
+0x9f	U+fffd
+0xa0	U+00a0
+0xa1	U+0e01
+0xa2	U+0e02
+0xa3	U+0e03
+0xa4	U+0e04
+0xa5	U+0e05
+0xa6	U+0e06
+0xa7	U+0e07
+0xa8	U+0e08
+0xa9	U+0e09
+0xaa	U+0e0a
+0xab	U+0e0b
+0xac	U+0e0c
+0xad	U+0e0d
+0xae	U+0e0e
+0xaf	U+0e0f
+0xb0	U+0e10
+0xb1	U+0e11
+0xb2	U+0e12
+0xb3	U+0e13
+0xb4	U+0e14
+0xb5	U+0e15
+0xb6	U+0e16
+0xb7	U+0e17
+0xb8	U+0e18
+0xb9	U+0e19
+0xba	U+0e1a
+0xbb	U+0e1b
+0xbc	U+0e1c
+0xbd	U+0e1d
+0xbe	U+0e1e
+0xbf	U+0e1f
+0xc0	U+0e20
+0xc1	U+0e21
+0xc2	U+0e22
+0xc3	U+0e23
+0xc4	U+0e24
+0xc5	U+0e25
+0xc6	U+0e26
+0xc7	U+0e27
+0xc8	U+0e28
+0xc9	U+0e29
+0xca	U+0e2a
+0xcb	U+0e2b
+0xcc	U+0e2c
+0xcd	U+0e2d
+0xce	U+0e2e
+0xcf	U+0e2f
+0xd0	U+0e30
+0xd1	U+0e31
+0xd2	U+0e32
+0xd3	U+0e33
+0xd4	U+0e34
+0xd5	U+0e35
+0xd6	U+0e36
+0xd7	U+0e37
+0xd8	U+0e38
+0xd9	U+0e39
+0xda	U+0e3a
+0xdb	U+feff
+0xdc	U+200b
+0xdd	U+2013
+0xde	U+2014
+0xdf	U+0e3f
+0xe0	U+0e40
+0xe1	U+0e41
+0xe2	U+0e42
+0xe3	U+0e43
+0xe4	U+0e44
+0xe5	U+0e45
+0xe6	U+0e46
+0xe7	U+0e47
+0xe8	U+0e48
+0xe9	U+0e49
+0xea	U+0e4a
+0xeb	U+0e4b
+0xec	U+0e4c
+0xed	U+0e4d
+0xee	U+2122
+0xef	U+0e4f
+0xf0	U+0e50
+0xf1	U+0e51
+0xf2	U+0e52
+0xf3	U+0e53
+0xf4	U+0e54
+0xf5	U+0e55
+0xf6	U+0e56
+0xf7	U+0e57
+0xf8	U+0e58
+0xf9	U+0e59
+0xfa	U+00ae
+0xfb	U+00a9
+0xfc	U+fffd
+0xfd	U+fffd
+0xfe	U+fffd
+0xff	U+fffd
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/MacTurkish.map	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,257 @@
+#Generated from MacTurkish.java
+0x00	U+0000
+0x01	U+0001
+0x02	U+0002
+0x03	U+0003
+0x04	U+0004
+0x05	U+0005
+0x06	U+0006
+0x07	U+0007
+0x08	U+0008
+0x09	U+0009
+0x0a	U+000a
+0x0b	U+000b
+0x0c	U+000c
+0x0d	U+000d
+0x0e	U+000e
+0x0f	U+000f
+0x10	U+0010
+0x11	U+0011
+0x12	U+0012
+0x13	U+0013
+0x14	U+0014
+0x15	U+0015
+0x16	U+0016
+0x17	U+0017
+0x18	U+0018
+0x19	U+0019
+0x1a	U+001a
+0x1b	U+001b
+0x1c	U+001c
+0x1d	U+001d
+0x1e	U+001e
+0x1f	U+001f
+0x20	U+0020
+0x21	U+0021
+0x22	U+0022
+0x23	U+0023
+0x24	U+0024
+0x25	U+0025
+0x26	U+0026
+0x27	U+0027
+0x28	U+0028
+0x29	U+0029
+0x2a	U+002a
+0x2b	U+002b
+0x2c	U+002c
+0x2d	U+002d
+0x2e	U+002e
+0x2f	U+002f
+0x30	U+0030
+0x31	U+0031
+0x32	U+0032
+0x33	U+0033
+0x34	U+0034
+0x35	U+0035
+0x36	U+0036
+0x37	U+0037
+0x38	U+0038
+0x39	U+0039
+0x3a	U+003a
+0x3b	U+003b
+0x3c	U+003c
+0x3d	U+003d
+0x3e	U+003e
+0x3f	U+003f
+0x40	U+0040
+0x41	U+0041
+0x42	U+0042
+0x43	U+0043
+0x44	U+0044
+0x45	U+0045
+0x46	U+0046
+0x47	U+0047
+0x48	U+0048
+0x49	U+0049
+0x4a	U+004a
+0x4b	U+004b
+0x4c	U+004c
+0x4d	U+004d
+0x4e	U+004e
+0x4f	U+004f
+0x50	U+0050
+0x51	U+0051
+0x52	U+0052
+0x53	U+0053
+0x54	U+0054
+0x55	U+0055
+0x56	U+0056
+0x57	U+0057
+0x58	U+0058
+0x59	U+0059
+0x5a	U+005a
+0x5b	U+005b
+0x5c	U+005c
+0x5d	U+005d
+0x5e	U+005e
+0x5f	U+005f
+0x60	U+0060
+0x61	U+0061
+0x62	U+0062
+0x63	U+0063
+0x64	U+0064
+0x65	U+0065
+0x66	U+0066
+0x67	U+0067
+0x68	U+0068
+0x69	U+0069
+0x6a	U+006a
+0x6b	U+006b
+0x6c	U+006c
+0x6d	U+006d
+0x6e	U+006e
+0x6f	U+006f
+0x70	U+0070
+0x71	U+0071
+0x72	U+0072
+0x73	U+0073
+0x74	U+0074
+0x75	U+0075
+0x76	U+0076
+0x77	U+0077
+0x78	U+0078
+0x79	U+0079
+0x7a	U+007a
+0x7b	U+007b
+0x7c	U+007c
+0x7d	U+007d
+0x7e	U+007e
+0x7f	U+007f
+0x80	U+00c4
+0x81	U+00c5
+0x82	U+00c7
+0x83	U+00c9
+0x84	U+00d1
+0x85	U+00d6
+0x86	U+00dc
+0x87	U+00e1
+0x88	U+00e0
+0x89	U+00e2
+0x8a	U+00e4
+0x8b	U+00e3
+0x8c	U+00e5
+0x8d	U+00e7
+0x8e	U+00e9
+0x8f	U+00e8
+0x90	U+00ea
+0x91	U+00eb
+0x92	U+00ed
+0x93	U+00ec
+0x94	U+00ee
+0x95	U+00ef
+0x96	U+00f1
+0x97	U+00f3
+0x98	U+00f2
+0x99	U+00f4
+0x9a	U+00f6
+0x9b	U+00f5
+0x9c	U+00fa
+0x9d	U+00f9
+0x9e	U+00fb
+0x9f	U+00fc
+0xa0	U+2020
+0xa1	U+00b0
+0xa2	U+00a2
+0xa3	U+00a3
+0xa4	U+00a7
+0xa5	U+2022
+0xa6	U+00b6
+0xa7	U+00df
+0xa8	U+00ae
+0xa9	U+00a9
+0xaa	U+2122
+0xab	U+00b4
+0xac	U+00a8
+0xad	U+2260
+0xae	U+00c6
+0xaf	U+00d8
+0xb0	U+221e
+0xb1	U+00b1
+0xb2	U+2264
+0xb3	U+2265
+0xb4	U+00a5
+0xb5	U+00b5
+0xb6	U+2202
+0xb7	U+2211
+0xb8	U+220f
+0xb9	U+03c0
+0xba	U+222b
+0xbb	U+00aa
+0xbc	U+00ba
+0xbd	U+2126
+0xbe	U+00e6
+0xbf	U+00f8
+0xc0	U+00bf
+0xc1	U+00a1
+0xc2	U+00ac
+0xc3	U+221a
+0xc4	U+0192
+0xc5	U+2248
+0xc6	U+2206
+0xc7	U+00ab
+0xc8	U+00bb
+0xc9	U+2026
+0xca	U+00a0
+0xcb	U+00c0
+0xcc	U+00c3
+0xcd	U+00d5
+0xce	U+0152
+0xcf	U+0153
+0xd0	U+2013
+0xd1	U+2014
+0xd2	U+201c
+0xd3	U+201d
+0xd4	U+2018
+0xd5	U+2019
+0xd6	U+00f7
+0xd7	U+25ca
+0xd8	U+00ff
+0xd9	U+0178
+0xda	U+011e
+0xdb	U+011f
+0xdc	U+0130
+0xdd	U+0131
+0xde	U+015e
+0xdf	U+015f
+0xe0	U+2021
+0xe1	U+00b7
+0xe2	U+201a
+0xe3	U+201e
+0xe4	U+2030
+0xe5	U+00c2
+0xe6	U+00ca
+0xe7	U+00c1
+0xe8	U+00cb
+0xe9	U+00c8
+0xea	U+00cd
+0xeb	U+00ce
+0xec	U+00cf
+0xed	U+00cc
+0xee	U+00d3
+0xef	U+00d4
+0xf0	U+f8ff
+0xf1	U+00d2
+0xf2	U+00da
+0xf3	U+00db
+0xf4	U+00d9
+0xf5	U+fffd
+0xf6	U+02c6
+0xf7	U+02dc
+0xf8	U+00af
+0xf9	U+02d8
+0xfa	U+02d9
+0xfb	U+02da
+0xfc	U+00b8
+0xfd	U+02dd
+0xfe	U+02db
+0xff	U+02c7
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/MacUkraine.map	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,257 @@
+#Generated from MacUkraine.java
+0x00	U+0000
+0x01	U+0001
+0x02	U+0002
+0x03	U+0003
+0x04	U+0004
+0x05	U+0005
+0x06	U+0006
+0x07	U+0007
+0x08	U+0008
+0x09	U+0009
+0x0a	U+000a
+0x0b	U+000b
+0x0c	U+000c
+0x0d	U+000d
+0x0e	U+000e
+0x0f	U+000f
+0x10	U+0010
+0x11	U+0011
+0x12	U+0012
+0x13	U+0013
+0x14	U+0014
+0x15	U+0015
+0x16	U+0016
+0x17	U+0017
+0x18	U+0018
+0x19	U+0019
+0x1a	U+001a
+0x1b	U+001b
+0x1c	U+001c
+0x1d	U+001d
+0x1e	U+001e
+0x1f	U+001f
+0x20	U+0020
+0x21	U+0021
+0x22	U+0022
+0x23	U+0023
+0x24	U+0024
+0x25	U+0025
+0x26	U+0026
+0x27	U+0027
+0x28	U+0028
+0x29	U+0029
+0x2a	U+002a
+0x2b	U+002b
+0x2c	U+002c
+0x2d	U+002d
+0x2e	U+002e
+0x2f	U+002f
+0x30	U+0030
+0x31	U+0031
+0x32	U+0032
+0x33	U+0033
+0x34	U+0034
+0x35	U+0035
+0x36	U+0036
+0x37	U+0037
+0x38	U+0038
+0x39	U+0039
+0x3a	U+003a
+0x3b	U+003b
+0x3c	U+003c
+0x3d	U+003d
+0x3e	U+003e
+0x3f	U+003f
+0x40	U+0040
+0x41	U+0041
+0x42	U+0042
+0x43	U+0043
+0x44	U+0044
+0x45	U+0045
+0x46	U+0046
+0x47	U+0047
+0x48	U+0048
+0x49	U+0049
+0x4a	U+004a
+0x4b	U+004b
+0x4c	U+004c
+0x4d	U+004d
+0x4e	U+004e
+0x4f	U+004f
+0x50	U+0050
+0x51	U+0051
+0x52	U+0052
+0x53	U+0053
+0x54	U+0054
+0x55	U+0055
+0x56	U+0056
+0x57	U+0057
+0x58	U+0058
+0x59	U+0059
+0x5a	U+005a
+0x5b	U+005b
+0x5c	U+005c
+0x5d	U+005d
+0x5e	U+005e
+0x5f	U+005f
+0x60	U+0060
+0x61	U+0061
+0x62	U+0062
+0x63	U+0063
+0x64	U+0064
+0x65	U+0065
+0x66	U+0066
+0x67	U+0067
+0x68	U+0068
+0x69	U+0069
+0x6a	U+006a
+0x6b	U+006b
+0x6c	U+006c
+0x6d	U+006d
+0x6e	U+006e
+0x6f	U+006f
+0x70	U+0070
+0x71	U+0071
+0x72	U+0072
+0x73	U+0073
+0x74	U+0074
+0x75	U+0075
+0x76	U+0076
+0x77	U+0077
+0x78	U+0078
+0x79	U+0079
+0x7a	U+007a
+0x7b	U+007b
+0x7c	U+007c
+0x7d	U+007d
+0x7e	U+007e
+0x7f	U+007f
+0x80	U+0410
+0x81	U+0411
+0x82	U+0412
+0x83	U+0413
+0x84	U+0414
+0x85	U+0415
+0x86	U+0416
+0x87	U+0417
+0x88	U+0418
+0x89	U+0419
+0x8a	U+041a
+0x8b	U+041b
+0x8c	U+041c
+0x8d	U+041d
+0x8e	U+041e
+0x8f	U+041f
+0x90	U+0420
+0x91	U+0421
+0x92	U+0422
+0x93	U+0423
+0x94	U+0424
+0x95	U+0425
+0x96	U+0426
+0x97	U+0427
+0x98	U+0428
+0x99	U+0429
+0x9a	U+042a
+0x9b	U+042b
+0x9c	U+042c
+0x9d	U+042d
+0x9e	U+042e
+0x9f	U+042f
+0xa0	U+2020
+0xa1	U+00b0
+0xa2	U+0490
+0xa3	U+00a3
+0xa4	U+00a7
+0xa5	U+2022
+0xa6	U+00b6
+0xa7	U+0406
+0xa8	U+00ae
+0xa9	U+00a9
+0xaa	U+2122
+0xab	U+0402
+0xac	U+0452
+0xad	U+2260
+0xae	U+0403
+0xaf	U+0453
+0xb0	U+221e
+0xb1	U+00b1
+0xb2	U+2264
+0xb3	U+2265
+0xb4	U+0456
+0xb5	U+00b5
+0xb6	U+0491
+0xb7	U+0408
+0xb8	U+0404
+0xb9	U+0454
+0xba	U+0407
+0xbb	U+0457
+0xbc	U+0409
+0xbd	U+0459
+0xbe	U+040a
+0xbf	U+045a
+0xc0	U+0458
+0xc1	U+0405
+0xc2	U+00ac
+0xc3	U+221a
+0xc4	U+0192
+0xc5	U+2248
+0xc6	U+2206
+0xc7	U+00ab
+0xc8	U+00bb
+0xc9	U+2026
+0xca	U+00a0
+0xcb	U+040b
+0xcc	U+045b
+0xcd	U+040c
+0xce	U+045c
+0xcf	U+0455
+0xd0	U+2013
+0xd1	U+2014
+0xd2	U+201c
+0xd3	U+201d
+0xd4	U+2018
+0xd5	U+2019
+0xd6	U+00f7
+0xd7	U+201e
+0xd8	U+040e
+0xd9	U+045e
+0xda	U+040f
+0xdb	U+045f
+0xdc	U+2116
+0xdd	U+0401
+0xde	U+0451
+0xdf	U+044f
+0xe0	U+0430
+0xe1	U+0431
+0xe2	U+0432
+0xe3	U+0433
+0xe4	U+0434
+0xe5	U+0435
+0xe6	U+0436
+0xe7	U+0437
+0xe8	U+0438
+0xe9	U+0439
+0xea	U+043a
+0xeb	U+043b
+0xec	U+043c
+0xed	U+043d
+0xee	U+043e
+0xef	U+043f
+0xf0	U+0440
+0xf1	U+0441
+0xf2	U+0442
+0xf3	U+0443
+0xf4	U+0444
+0xf5	U+0445
+0xf6	U+0446
+0xf7	U+0447
+0xf8	U+0448
+0xf9	U+0449
+0xfa	U+044a
+0xfb	U+044b
+0xfc	U+044c
+0xfd	U+044d
+0xfe	U+044e
+0xff	U+00a4
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/SingleByte-X.java	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,83 @@
+/*
+ * Copyright 2008 Sun Microsystems, Inc.  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.  Sun designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+package $PACKAGE$;
+
+import java.nio.charset.Charset;
+import java.nio.charset.CharsetDecoder;
+import java.nio.charset.CharsetEncoder;
+import sun.nio.cs.StandardCharsets;
+import sun.nio.cs.SingleByte;
+import sun.nio.cs.HistoricallyNamedCharset;
+import static sun.nio.cs.CharsetMapping.*;
+
+public class $NAME_CLZ$ extends Charset implements HistoricallyNamedCharset
+{
+    public $NAME_CLZ$() {
+        super("$NAME_CS$", $NAME_ALIASES$);
+    }
+
+    public String historicalName() {
+        return "$NAME_HIS$";
+    }
+
+    public boolean contains(Charset cs) {
+        $CONTAINS$;
+    }
+
+    public CharsetDecoder newDecoder() {
+        return new SingleByte.Decoder(this, b2c);
+    }
+
+    public CharsetEncoder newEncoder() {
+        return new SingleByte.Encoder(this, c2b, c2bIndex);
+    }
+
+    public String getDecoderSingleByteMappings() {
+        return b2cTable;
+    }
+
+    public char[] getEncoderIndex2() {
+        return c2b;
+    }
+
+    public char[] getEncoderIndex1() {
+        return c2bIndex;
+    }
+
+    private final static String b2cTable = $B2CTABLE$
+
+    private final static char[] b2c = b2cTable.toCharArray();
+    private final static char[] c2b = new char[$C2BLENGTH$];
+    private final static char[] c2bIndex = new char[0x100];
+
+    static {
+        char[] b2cMap = b2c;
+        char[] c2bNR = null;
+        $NONROUNDTRIP_B2C$
+        $NONROUNDTRIP_C2B$
+        SingleByte.initC2B(b2cMap, c2bNR, c2b, c2bIndex);
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/TIS_620.map	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,257 @@
+#Generated from TIS_620.java
+0x00	U+0000
+0x01	U+0001
+0x02	U+0002
+0x03	U+0003
+0x04	U+0004
+0x05	U+0005
+0x06	U+0006
+0x07	U+0007
+0x08	U+0008
+0x09	U+0009
+0x0a	U+000a
+0x0b	U+000b
+0x0c	U+000c
+0x0d	U+000d
+0x0e	U+000e
+0x0f	U+000f
+0x10	U+0010
+0x11	U+0011
+0x12	U+0012
+0x13	U+0013
+0x14	U+0014
+0x15	U+0015
+0x16	U+0016
+0x17	U+0017
+0x18	U+0018
+0x19	U+0019
+0x1a	U+001a
+0x1b	U+001b
+0x1c	U+001c
+0x1d	U+001d
+0x1e	U+001e
+0x1f	U+001f
+0x20	U+0020
+0x21	U+0021
+0x22	U+0022
+0x23	U+0023
+0x24	U+0024
+0x25	U+0025
+0x26	U+0026
+0x27	U+0027
+0x28	U+0028
+0x29	U+0029
+0x2a	U+002a
+0x2b	U+002b
+0x2c	U+002c
+0x2d	U+002d
+0x2e	U+002e
+0x2f	U+002f
+0x30	U+0030
+0x31	U+0031
+0x32	U+0032
+0x33	U+0033
+0x34	U+0034
+0x35	U+0035
+0x36	U+0036
+0x37	U+0037
+0x38	U+0038
+0x39	U+0039
+0x3a	U+003a
+0x3b	U+003b
+0x3c	U+003c
+0x3d	U+003d
+0x3e	U+003e
+0x3f	U+003f
+0x40	U+0040
+0x41	U+0041
+0x42	U+0042
+0x43	U+0043
+0x44	U+0044
+0x45	U+0045
+0x46	U+0046
+0x47	U+0047
+0x48	U+0048
+0x49	U+0049
+0x4a	U+004a
+0x4b	U+004b
+0x4c	U+004c
+0x4d	U+004d
+0x4e	U+004e
+0x4f	U+004f
+0x50	U+0050
+0x51	U+0051
+0x52	U+0052
+0x53	U+0053
+0x54	U+0054
+0x55	U+0055
+0x56	U+0056
+0x57	U+0057
+0x58	U+0058
+0x59	U+0059
+0x5a	U+005a
+0x5b	U+005b
+0x5c	U+005c
+0x5d	U+005d
+0x5e	U+005e
+0x5f	U+005f
+0x60	U+0060
+0x61	U+0061
+0x62	U+0062
+0x63	U+0063
+0x64	U+0064
+0x65	U+0065
+0x66	U+0066
+0x67	U+0067
+0x68	U+0068
+0x69	U+0069
+0x6a	U+006a
+0x6b	U+006b
+0x6c	U+006c
+0x6d	U+006d
+0x6e	U+006e
+0x6f	U+006f
+0x70	U+0070
+0x71	U+0071
+0x72	U+0072
+0x73	U+0073
+0x74	U+0074
+0x75	U+0075
+0x76	U+0076
+0x77	U+0077
+0x78	U+0078
+0x79	U+0079
+0x7a	U+007a
+0x7b	U+007b
+0x7c	U+007c
+0x7d	U+007d
+0x7e	U+007e
+0x7f	U+007f
+0x80	U+fffd
+0x81	U+fffd
+0x82	U+fffd
+0x83	U+fffd
+0x84	U+fffd
+0x85	U+fffd
+0x86	U+fffd
+0x87	U+fffd
+0x88	U+fffd
+0x89	U+fffd
+0x8a	U+fffd
+0x8b	U+fffd
+0x8c	U+fffd
+0x8d	U+fffd
+0x8e	U+fffd
+0x8f	U+fffd
+0x90	U+fffd
+0x91	U+fffd
+0x92	U+fffd
+0x93	U+fffd
+0x94	U+fffd
+0x95	U+fffd
+0x96	U+fffd
+0x97	U+fffd
+0x98	U+fffd
+0x99	U+fffd
+0x9a	U+fffd
+0x9b	U+fffd
+0x9c	U+fffd
+0x9d	U+fffd
+0x9e	U+fffd
+0x9f	U+fffd
+0xa0	U+00a0
+0xa1	U+0e01
+0xa2	U+0e02
+0xa3	U+0e03
+0xa4	U+0e04
+0xa5	U+0e05
+0xa6	U+0e06
+0xa7	U+0e07
+0xa8	U+0e08
+0xa9	U+0e09
+0xaa	U+0e0a
+0xab	U+0e0b
+0xac	U+0e0c
+0xad	U+0e0d
+0xae	U+0e0e
+0xaf	U+0e0f
+0xb0	U+0e10
+0xb1	U+0e11
+0xb2	U+0e12
+0xb3	U+0e13
+0xb4	U+0e14
+0xb5	U+0e15
+0xb6	U+0e16
+0xb7	U+0e17
+0xb8	U+0e18
+0xb9	U+0e19
+0xba	U+0e1a
+0xbb	U+0e1b
+0xbc	U+0e1c
+0xbd	U+0e1d
+0xbe	U+0e1e
+0xbf	U+0e1f
+0xc0	U+0e20
+0xc1	U+0e21
+0xc2	U+0e22
+0xc3	U+0e23
+0xc4	U+0e24
+0xc5	U+0e25
+0xc6	U+0e26
+0xc7	U+0e27
+0xc8	U+0e28
+0xc9	U+0e29
+0xca	U+0e2a
+0xcb	U+0e2b
+0xcc	U+0e2c
+0xcd	U+0e2d
+0xce	U+0e2e
+0xcf	U+0e2f
+0xd0	U+0e30
+0xd1	U+0e31
+0xd2	U+0e32
+0xd3	U+0e33
+0xd4	U+0e34
+0xd5	U+0e35
+0xd6	U+0e36
+0xd7	U+0e37
+0xd8	U+0e38
+0xd9	U+0e39
+0xda	U+0e3a
+0xdb	U+fffd
+0xdc	U+fffd
+0xdd	U+fffd
+0xde	U+fffd
+0xdf	U+0e3f
+0xe0	U+0e40
+0xe1	U+0e41
+0xe2	U+0e42
+0xe3	U+0e43
+0xe4	U+0e44
+0xe5	U+0e45
+0xe6	U+0e46
+0xe7	U+0e47
+0xe8	U+0e48
+0xe9	U+0e49
+0xea	U+0e4a
+0xeb	U+0e4b
+0xec	U+0e4c
+0xed	U+0e4d
+0xee	U+0e4e
+0xef	U+0e4f
+0xf0	U+0e50
+0xf1	U+0e51
+0xf2	U+0e52
+0xf3	U+0e53
+0xf4	U+0e54
+0xf5	U+0e55
+0xf6	U+0e56
+0xf7	U+0e57
+0xf8	U+0e58
+0xf9	U+0e59
+0xfa	U+0e5a
+0xfb	U+0e5b
+0xfc	U+fffd
+0xfd	U+fffd
+0xfe	U+fffd
+0xff	U+fffd
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/extsbcs	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,74 @@
+# clzName	csName		hisName		containASCII	pkg
+IBM037		IBM037		Cp037		false		sun.nio.cs.ext
+IBM1006		x-IBM1006	Cp1006		false		sun.nio.cs.ext
+IBM1025		x-IBM1025	Cp1025		false		sun.nio.cs.ext
+IBM1026		IBM1026		Cp1026		false		sun.nio.cs.ext
+IBM1046		x-IBM1046	Cp1046		false		sun.nio.cs.ext
+IBM1047		IBM1047		Cp1047		false		sun.nio.cs.ext
+IBM1097		x-IBM1097	Cp1097		false		sun.nio.cs.ext
+IBM1098		x-IBM1098	Cp1098		false		sun.nio.cs.ext
+IBM1112		x-IBM1112	Cp1112		false		sun.nio.cs.ext
+IBM1122		x-IBM1122	Cp1122		false		sun.nio.cs.ext
+IBM1123		x-IBM1123	Cp1123		false		sun.nio.cs.ext
+IBM1124		x-IBM1124	Cp1124		false		sun.nio.cs.ext
+# map tables for 1140-1149 are updated manualy with the u+20ac entry          
+IBM1140		IBM01140	Cp1140		false		sun.nio.cs.ext
+IBM1141		IBM01141	Cp1141		false		sun.nio.cs.ext
+IBM1142		IBM01142	Cp1142		false		sun.nio.cs.ext
+IBM1143		IBM01143	Cp1143		false		sun.nio.cs.ext
+IBM1144		IBM01144	Cp1144		false		sun.nio.cs.ext
+IBM1145		IBM01145	Cp1145		false		sun.nio.cs.ext
+IBM1146		IBM01146	Cp1146		false		sun.nio.cs.ext
+IBM1147		IBM01147	Cp1147		false		sun.nio.cs.ext
+IBM1148		IBM01148	Cp1148		false		sun.nio.cs.ext
+IBM1149		IBM01149	Cp1149		false		sun.nio.cs.ext
+IBM273		IBM273		Cp273		false		sun.nio.cs.ext
+IBM277		IBM277		Cp277		false		sun.nio.cs.ext
+IBM278		IBM278		Cp278		false		sun.nio.cs.ext
+IBM280		IBM280		Cp280		false		sun.nio.cs.ext
+IBM284		IBM284		Cp284		false		sun.nio.cs.ext
+IBM285		IBM285		Cp285		false		sun.nio.cs.ext
+IBM297		IBM297		Cp297		false		sun.nio.cs.ext
+IBM420		IBM420		Cp420		false		sun.nio.cs.ext
+IBM424		IBM424		Cp424		false		sun.nio.cs.ext
+IBM500		IBM500		Cp500		false		sun.nio.cs.ext
+IBM838		IBM-Thai	Cp838		false		sun.nio.cs.ext
+IBM856		x-IBM856	Cp856		false		sun.nio.cs.ext
+IBM860		IBM860		Cp860		false		sun.nio.cs.ext
+IBM861		IBM861		Cp861		false		sun.nio.cs.ext
+IBM863		IBM863		Cp863		false		sun.nio.cs.ext
+IBM864		IBM864		Cp864		false		sun.nio.cs.ext
+IBM865		IBM865		Cp865		false		sun.nio.cs.ext
+IBM868		IBM868		Cp868		false		sun.nio.cs.ext
+IBM869		IBM869		Cp869		false		sun.nio.cs.ext
+IBM870		IBM870		Cp870		false		sun.nio.cs.ext
+IBM871		IBM871		Cp871		false		sun.nio.cs.ext
+IBM875		x-IBM875	Cp875		false		sun.nio.cs.ext
+IBM918		IBM918		Cp918		false		sun.nio.cs.ext
+IBM921		x-IBM921	Cp921		false		sun.nio.cs.ext
+IBM922		x-IBM922	Cp922		false		sun.nio.cs.ext
+# use name as hisname as well, cs did not support hisname prevously           
+ISO_8859_11	x-iso-8859-11	x-iso-8859-11	true		sun.nio.cs.ext
+ISO_8859_3	ISO-8859-3	ISO8859_3	true		sun.nio.cs.ext
+ISO_8859_6	ISO-8859-6	ISO8859_6	true		sun.nio.cs.ext
+ISO_8859_8	ISO-8859-8	ISO8859_8	true		sun.nio.cs.ext
+#JIS_X_0201	JIS_X0201	JIS_X0201	true		sun.nio.cs.ext
+MS1255		windows-1255	Cp1255		true		sun.nio.cs.ext
+MS1256		windows-1256	Cp1256		true		sun.nio.cs.ext
+MS1258		windows-1258	Cp1258		true		sun.nio.cs.ext
+MS874		x-windows-874	MS874		true		sun.nio.cs.ext
+MacArabic	x-MacArabic	MacArabic	false		sun.nio.cs.ext
+MacCentralEurope	x-MacCentralEurope	MacCentralEurope	false	sun.nio.cs.ext
+MacCroatian	x-MacCroatian	MacCroatian	false		sun.nio.cs.ext
+MacCyrillic	x-MacCyrillic	MacCyrillic	false		sun.nio.cs.ext
+MacDingbat	x-MacDingbat	MacDingbat	false		sun.nio.cs.ext
+MacGreek	x-MacGreek	MacGreek	false		sun.nio.cs.ext
+MacHebrew	x-MacHebrew	MacHebrew	false		sun.nio.cs.ext
+MacIceland	x-MacIceland	MacIceland	false		sun.nio.cs.ext
+MacRoman	x-MacRoman	MacRoman	false		sun.nio.cs.ext
+MacRomania	x-MacRomania	MacRomania	false		sun.nio.cs.ext
+MacSymbol	x-MacSymbol	MacSymbol	false		sun.nio.cs.ext
+MacThai		x-MacThai	MacThai		false		sun.nio.cs.ext
+MacTurkish	x-MacTurkish	MacTurkish	false		sun.nio.cs.ext
+MacUkraine	x-MacUkraine	MacUkraine	false		sun.nio.cs.ext
+TIS_620		TIS-620		TIS620		true		sun.nio.cs.ext
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/CharsetMapping/sbcs	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,28 @@
+# clzName	csName		hisName		containASCII	pkg
+IBM437		IBM437		Cp437		false		sun.nio.cs
+IBM737		x-IBM737	Cp737		false		sun.nio.cs	
+IBM775		IBM775		Cp775		false		sun.nio.cs
+IBM850		IBM850		Cp850		false		sun.nio.cs
+IBM852		IBM852		Cp852		false		sun.nio.cs
+IBM855		IBM855		Cp855		false		sun.nio.cs
+IBM857		IBM857		Cp857		false		sun.nio.cs	
+IBM858		IBM00858	Cp858		false		sun.nio.cs
+IBM862		IBM862		Cp862		false		sun.nio.cs
+IBM866		IBM866		Cp866		false		sun.nio.cs
+IBM874		x-IBM874	Cp874		false		sun.nio.cs
+ISO_8859_2	ISO-8859-2	ISO8859_2	true		sun.nio.cs
+ISO_8859_4	ISO-8859-4	ISO8859_4	true		sun.nio.cs
+ISO_8859_5	ISO-8859-5	ISO8859_5	true		sun.nio.cs
+ISO_8859_7	ISO-8859-7	ISO8859_7	true		sun.nio.cs
+ISO_8859_9	ISO-8859-9	ISO8859_9	true		sun.nio.cs
+ISO_8859_13	ISO-8859-13	ISO8859_13	true		sun.nio.cs
+ISO_8859_15	ISO-8859-15	ISO8859_15	true		sun.nio.cs
+KOI8_R		KOI8-R		KOI8_R		true		sun.nio.cs
+KOI8_U		KOI8-U		KOI8_U		true		sun.nio.cs
+MS1250		windows-1250	Cp1250		true		sun.nio.cs
+MS1251		windows-1251	Cp1251		true		sun.nio.cs
+MS1252		windows-1252	Cp1252		true		sun.nio.cs
+MS1253		windows-1253	Cp1253		true		sun.nio.cs
+MS1254		windows-1254	Cp1254		true		sun.nio.cs
+MS1257		windows-1257	Cp1257		true		sun.nio.cs
+
--- a/jdk/make/tools/src/build/tools/charsetmapping/GenerateMapping.java	Wed Jul 05 16:44:40 2017 +0200
+++ b/jdk/make/tools/src/build/tools/charsetmapping/GenerateMapping.java	Wed Jul 05 16:45:14 2017 +0200
@@ -27,12 +27,13 @@
 
 import java.io.*;
 import java.util.regex.*;
+import build.tools.charsetmapping.GenerateSBCS;
 import static build.tools.charsetmapping.CharsetMapping.*;
 
 public class GenerateMapping {
     public static void main(String argv[]) throws IOException {
         if (argv.length < 2) {
-            System.out.println("Usage: java GenCSData fMap fDat");
+            System.out.println("Usage: java GenerateMapping fMap fDat");
             System.exit(1);
         }
         genDataJIS0213(new FileInputStream(argv[0]),
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/make/tools/src/build/tools/charsetmapping/GenerateSBCS.java	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,262 @@
+/*
+ * Copyright 2008 Sun Microsystems, Inc.  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.  Sun designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+package build.tools.charsetmapping;
+
+import java.io.*;
+import java.util.ArrayList;
+import java.util.Scanner;
+import java.util.Formatter;
+import java.util.regex.*;
+import java.nio.charset.*;
+import static build.tools.charsetmapping.CharsetMapping.*;
+
+public class GenerateSBCS {
+    public static void main(String args[]) throws Exception {
+        if (args.length < 3) {
+            System.err.println("Usage: java GenSBCS srcDir dstDir config");
+            System.exit(1);
+        }
+
+        Scanner s = new Scanner(new File(args[0], args[2]));
+        while (s.hasNextLine()) {
+            String line = s.nextLine();
+            if (line.startsWith("#") || line.length() == 0)
+                continue;
+            String[] fields = line.split("\\s+");
+            if (fields.length < 5) {
+                System.err.println("Misconfiged sbcs line <" + line + ">?");
+                continue;
+            }
+            String clzName = fields[0];
+            String csName  = fields[1];
+            String hisName = fields[2];
+            boolean isASCII = Boolean.valueOf(fields[3]);
+            String pkgName  = fields[4];
+            System.out.printf("%s,%s,%s,%b,%s%n", clzName, csName, hisName, isASCII, pkgName);
+
+            StringBuilder b2c = new StringBuilder();
+            int c2bLen = genB2C(
+                new FileInputStream(new File(args[0], clzName+".map")), b2c);
+
+            String b2cNR = null;
+            File nrF = new File(args[0], clzName+".nr");
+            if (nrF.exists()) {
+                b2cNR = genNR(new FileInputStream(nrF));
+            }
+
+            String c2bNR = null;
+            File c2bF = new File(args[0], clzName+".c2b");
+            if (c2bF.exists()) {
+                c2bNR = genC2BNR(new FileInputStream(c2bF));
+            }
+
+            genSBCSClass(args[0], args[1], "SingleByte-X.java",
+                         clzName, csName, hisName, pkgName, isASCII,
+                         b2c.toString(), b2cNR, c2bNR, c2bLen);
+        }
+    }
+
+    private static void toString(char[] sb, int off, int end,
+                                 Formatter out, String closure) {
+        while (off < end) {
+            out.format("        \"");
+            for (int j = 0; j < 8; j++) {
+                char c = sb[off++];
+                switch (c) {
+                case '\b':
+                    out.format("\\b"); break;
+                case '\t':
+                    out.format("\\t"); break;
+                case '\n':
+                    out.format("\\n"); break;
+                case '\f':
+                    out.format("\\f"); break;
+                case '\r':
+                    out.format("\\r"); break;
+                case '\"':
+                    out.format("\\\""); break;
+                case '\'':
+                    out.format("\\'"); break;
+                case '\\':
+                    out.format("\\\\"); break;
+                default:
+                    out.format("\\u%04X", c & 0xffff);
+                }
+            }
+            if (off == end)
+               out.format("\" %s      // 0x%02x - 0x%02x%n", closure, off-8, off-1);
+            else
+               out.format("\" +      // 0x%02x - 0x%02x%n", off-8, off-1);
+        }
+    }
+
+    static Pattern sbmap = Pattern.compile("0x(\\p{XDigit}++)\\s++U\\+(\\p{XDigit}++)(\\s++#.*)?");
+    private static int genB2C(InputStream in, StringBuilder out)
+        throws Exception
+    {
+        char[] sb = new char[0x100];
+        int[] indexC2B = new int[0x100];
+
+        for (int i = 0; i < sb.length; i++)
+            sb[i] = UNMAPPABLE_DECODING;
+
+        // parse the b2c mapping table
+        Parser p = new Parser(in, sbmap);
+        Entry  e = null;
+        int    off = 0;
+        while ((e = p.next()) != null) {
+            sb[e.bs] = (char)e.cp;
+            if (indexC2B[e.cp>>8] == 0) {
+                off += 0x100;
+                indexC2B[e.cp>>8] = 1;
+            }
+        }
+
+        Formatter fm = new Formatter(out);
+        fm.format("%n");
+
+        // vm -server shows cc[byte + 128] access is much faster than
+        // cc[byte&0xff] so we output the upper segment first
+        toString(sb, 0x80, 0x100, fm, "+");
+        toString(sb, 0x00, 0x80,  fm, ";");
+
+        fm.close();
+        return off;
+    }
+
+    // generate non-roundtrip entries from xxx.nr file
+    private static String genNR(InputStream in) throws Exception
+    {
+        StringBuilder sb = new StringBuilder();
+        Formatter fm = new Formatter(sb);
+        Parser p = new Parser(in, sbmap);
+        Entry  e = null;
+        fm.format("// remove non-roundtrip entries%n");
+        fm.format("        b2cMap = b2cTable.toCharArray();%n");
+        while ((e = p.next()) != null) {
+            fm.format("        b2cMap[%d] = UNMAPPABLE_DECODING;%n",
+                      (e.bs>=0x80)?(e.bs-0x80):(e.bs+0x80));
+        }
+        fm.close();
+        return sb.toString();
+    }
+
+    // generate c2b only entries from xxx.c2b file
+    private static String genC2BNR(InputStream in) throws Exception
+    {
+        StringBuilder sb = new StringBuilder();
+        Formatter fm = new Formatter(sb);
+        Parser p = new Parser(in, sbmap);
+        ArrayList<Entry> es = new ArrayList<Entry>();
+        Entry  e = null;
+        while ((e = p.next()) != null) {
+            es.add(e);
+        }
+
+        fm.format("// non-roundtrip c2b only entries%n");
+        fm.format("        c2bNR = new char[%d];%n", es.size() * 2);
+        int i = 0;
+        for (Entry entry: es) {
+            fm.format("        c2bNR[%d] = 0x%x; c2bNR[%d] = 0x%x;%n",
+                      i++, entry.bs, i++, entry.cp);
+        }
+        fm.close();
+        return sb.toString();
+    }
+
+    private static void genSBCSClass(String srcDir,
+                                     String dstDir,
+                                     String template,
+                                     String clzName,
+                                     String csName,
+                                     String hisName,
+                                     String pkgName,
+                                     boolean isASCII,
+                                     String b2c,
+                                     String b2cNR,
+                                     String c2bNR,
+                                     int    c2blen)
+        throws Exception
+    {
+        Scanner s = new Scanner(new File(srcDir, template));
+        PrintStream out = new PrintStream(new FileOutputStream(
+                              new File(dstDir, clzName + ".java")));
+
+        while (s.hasNextLine()) {
+            String line = s.nextLine();
+            int i = line.indexOf("$");
+            if (i == -1) {
+                out.println(line);
+                continue;
+            }
+            if (line.indexOf("$PACKAGE$", i) != -1) {
+                line = line.replace("$PACKAGE$", pkgName);
+            }
+            if (line.indexOf("$NAME_CLZ$", i) != -1) {
+                line = line.replace("$NAME_CLZ$", clzName);
+            }
+            if (line.indexOf("$NAME_CS$", i) != -1) {
+                line = line.replace("$NAME_CS$", csName);
+            }
+            if (line.indexOf("$NAME_ALIASES$", i) != -1) {
+                if ("sun.nio.cs".equals(pkgName))
+                    line = line.replace("$NAME_ALIASES$",
+                                        "StandardCharsets.aliases_" + clzName);
+                else
+                    line = line.replace("$NAME_ALIASES$",
+                                        "ExtendedCharsets.aliasesFor(\"" + csName + "\")");
+            }
+            if (line.indexOf("$NAME_HIS$", i) != -1) {
+                line = line.replace("$NAME_HIS$", hisName);
+            }
+            if (line.indexOf("$CONTAINS$", i) != -1) {
+                if (isASCII)
+                    line = "        return ((cs.name().equals(\"US-ASCII\")) || (cs instanceof " + clzName + "));";
+                else
+                    line = "        return (cs instanceof " + clzName + ");";
+            }
+            if (line.indexOf("$B2CTABLE$") != -1) {
+                line = line.replace("$B2CTABLE$", b2c);
+            }
+            if (line.indexOf("$C2BLENGTH$") != -1) {
+                line = line.replace("$C2BLENGTH$", "0x" + Integer.toString(c2blen, 16));
+            }
+            if (line.indexOf("$NONROUNDTRIP_B2C$") != -1) {
+                if (b2cNR == null)
+                    continue;
+                line = line.replace("$NONROUNDTRIP_B2C$", b2cNR);
+            }
+
+            if (line.indexOf("$NONROUNDTRIP_C2B$") != -1) {
+                if (c2bNR == null)
+                    continue;
+                line = line.replace("$NONROUNDTRIP_C2B$", c2bNR);
+            }
+            out.println(line);
+        }
+        out.close();
+    }
+}
--- a/jdk/src/share/classes/com/sun/imageio/plugins/png/PNGImageReader.java	Wed Jul 05 16:44:40 2017 +0200
+++ b/jdk/src/share/classes/com/sun/imageio/plugins/png/PNGImageReader.java	Wed Jul 05 16:45:14 2017 +0200
@@ -44,7 +44,6 @@
 import java.util.Arrays;
 import java.util.Enumeration;
 import java.util.Iterator;
-import java.util.List;
 import java.util.zip.Inflater;
 import java.util.zip.InflaterInputStream;
 import javax.imageio.IIOException;
@@ -57,6 +56,7 @@
 import com.sun.imageio.plugins.common.InputStreamAdapter;
 import com.sun.imageio.plugins.common.ReaderUtil;
 import com.sun.imageio.plugins.common.SubImageInputStream;
+import java.io.ByteArrayOutputStream;
 import sun.awt.image.ByteInterleavedRaster;
 
 class PNGImageDataEnumeration implements Enumeration {
@@ -207,6 +207,15 @@
         resetStreamSettings();
     }
 
+    private String readNullTerminatedString(String charset) throws IOException {
+        ByteArrayOutputStream baos = new ByteArrayOutputStream();
+        int b;
+        while ((b = stream.read()) != 0) {
+            baos.write(b);
+        }
+        return new String(baos.toByteArray(), charset);
+    }
+
     private String readNullTerminatedString() throws IOException {
         StringBuilder b = new StringBuilder();
         int c;
@@ -445,26 +454,27 @@
         metadata.iTXt_keyword.add(keyword);
 
         int compressionFlag = stream.readUnsignedByte();
-        metadata.iTXt_compressionFlag.add(new Integer(compressionFlag));
+        metadata.iTXt_compressionFlag.add(Boolean.valueOf(compressionFlag == 1));
 
         int compressionMethod = stream.readUnsignedByte();
-        metadata.iTXt_compressionMethod.add(new Integer(compressionMethod));
+        metadata.iTXt_compressionMethod.add(Integer.valueOf(compressionMethod));
 
-        String languageTag = readNullTerminatedString();
+        String languageTag = readNullTerminatedString("UTF8");
         metadata.iTXt_languageTag.add(languageTag);
 
-        String translatedKeyword = stream.readUTF();
+        String translatedKeyword =
+            readNullTerminatedString("UTF8");
         metadata.iTXt_translatedKeyword.add(translatedKeyword);
-        stream.skipBytes(1); // Null separator
 
         String text;
+        long pos = stream.getStreamPosition();
+        byte[] b = new byte[(int)(chunkStart + chunkLength - pos)];
+        stream.readFully(b);
+
         if (compressionFlag == 1) { // Decompress the text
-            long pos = stream.getStreamPosition();
-            byte[] b = new byte[(int)(chunkStart + chunkLength - pos)];
-            stream.readFully(b);
-            text = inflate(b);
+            text = new String(inflate(b), "UTF8");
         } else {
-            text = stream.readUTF();
+            text = new String(b, "UTF8");
         }
         metadata.iTXt_text.add(text);
     }
@@ -613,15 +623,20 @@
         metadata.tRNS_present = true;
     }
 
-    private static String inflate(byte[] b) throws IOException {
+    private static byte[] inflate(byte[] b) throws IOException {
         InputStream bais = new ByteArrayInputStream(b);
         InputStream iis = new InflaterInputStream(bais);
-        StringBuilder sb = new StringBuilder(80);
+        ByteArrayOutputStream baos = new ByteArrayOutputStream();
+
         int c;
-        while ((c = iis.read()) != -1) {
-            sb.append((char)c);
+        try {
+            while ((c = iis.read()) != -1) {
+                baos.write(c);
+            }
+        } finally {
+            iis.close();
         }
-        return sb.toString();
+        return baos.toByteArray();
     }
 
     private void parse_zTXt_chunk(int chunkLength) throws IOException {
@@ -633,7 +648,7 @@
 
         byte[] b = new byte[chunkLength - keyword.length() - 2];
         stream.readFully(b);
-        metadata.zTXt_text.add(inflate(b));
+        metadata.zTXt_text.add(new String(inflate(b)));
     }
 
     private void readMetadata() throws IIOException {
@@ -1244,13 +1259,26 @@
             destinationBands = param.getDestinationBands();
             destinationOffset = param.getDestinationOffset();
         }
-
+        Inflater inf = null;
         try {
             stream.seek(imageStartPosition);
 
             Enumeration e = new PNGImageDataEnumeration(stream);
             InputStream is = new SequenceInputStream(e);
-            is = new InflaterInputStream(is, new Inflater());
+
+           /* InflaterInputStream uses an Inflater instance which consumes
+            * native (non-GC visible) resources. This is normally implicitly
+            * freed when the stream is closed. However since the
+            * InflaterInputStream wraps a client-supplied input stream,
+            * we cannot close it.
+            * But the app may depend on GC finalization to close the stream.
+            * Therefore to ensure timely freeing of native resources we
+            * explicitly create the Inflater instance and free its resources
+            * when we are done with the InflaterInputStream by calling
+            * inf.end();
+            */
+            inf = new Inflater();
+            is = new InflaterInputStream(is, inf);
             is = new BufferedInputStream(is);
             this.pixelStream = new DataInputStream(is);
 
@@ -1283,6 +1311,10 @@
             }
         } catch (IOException e) {
             throw new IIOException("Error reading PNG image data", e);
+        } finally {
+            if (inf != null) {
+                inf.end();
+            }
         }
     }
 
--- a/jdk/src/share/classes/com/sun/imageio/plugins/png/PNGImageWriter.java	Wed Jul 05 16:44:40 2017 +0200
+++ b/jdk/src/share/classes/com/sun/imageio/plugins/png/PNGImageWriter.java	Wed Jul 05 16:45:14 2017 +0200
@@ -244,13 +244,17 @@
     }
 
     public void finish() throws IOException {
-        if (!def.finished()) {
-            def.finish();
-            while (!def.finished()) {
-                deflate();
+        try {
+            if (!def.finished()) {
+                def.finish();
+                while (!def.finished()) {
+                    deflate();
+                }
             }
+            finishChunk();
+        } finally {
+            def.end();
         }
-        finishChunk();
     }
 
     protected void finalize() throws Throwable {
@@ -667,13 +671,13 @@
         }
     }
 
-    private byte[] deflate(String s) throws IOException {
+    private byte[] deflate(byte[] b) throws IOException {
         ByteArrayOutputStream baos = new ByteArrayOutputStream();
         DeflaterOutputStream dos = new DeflaterOutputStream(baos);
 
-        int len = s.length();
+        int len = b.length;
         for (int i = 0; i < len; i++) {
-            dos.write((int)s.charAt(i));
+            dos.write((int)(0xff & b[i]));
         }
         dos.close();
 
@@ -681,38 +685,37 @@
     }
 
     private void write_iTXt() throws IOException {
-        Iterator keywordIter = metadata.iTXt_keyword.iterator();
-        Iterator flagIter = metadata.iTXt_compressionFlag.iterator();
-        Iterator methodIter = metadata.iTXt_compressionMethod.iterator();
-        Iterator languageIter = metadata.iTXt_languageTag.iterator();
-        Iterator translatedKeywordIter =
+        Iterator<String> keywordIter = metadata.iTXt_keyword.iterator();
+        Iterator<Boolean> flagIter = metadata.iTXt_compressionFlag.iterator();
+        Iterator<Integer> methodIter = metadata.iTXt_compressionMethod.iterator();
+        Iterator<String> languageIter = metadata.iTXt_languageTag.iterator();
+        Iterator<String> translatedKeywordIter =
             metadata.iTXt_translatedKeyword.iterator();
-        Iterator textIter = metadata.iTXt_text.iterator();
+        Iterator<String> textIter = metadata.iTXt_text.iterator();
 
         while (keywordIter.hasNext()) {
             ChunkStream cs = new ChunkStream(PNGImageReader.iTXt_TYPE, stream);
-            String keyword = (String)keywordIter.next();
-            cs.writeBytes(keyword);
+
+            cs.writeBytes(keywordIter.next());
             cs.writeByte(0);
 
-            int flag = ((Integer)flagIter.next()).intValue();
-            cs.writeByte(flag);
-            int method = ((Integer)methodIter.next()).intValue();
-            cs.writeByte(method);
+            Boolean compressed = flagIter.next();
+            cs.writeByte(compressed ? 1 : 0);
 
-            String languageTag = (String)languageIter.next();
-            cs.writeBytes(languageTag);
+            cs.writeByte(methodIter.next().intValue());
+
+            cs.writeBytes(languageIter.next());
             cs.writeByte(0);
 
-            String translatedKeyword = (String)translatedKeywordIter.next();
-            cs.writeBytes(translatedKeyword);
+
+            cs.write(translatedKeywordIter.next().getBytes("UTF8"));
             cs.writeByte(0);
 
-            String text = (String)textIter.next();
-            if (flag == 1) {
-                cs.write(deflate(text));
+            String text = textIter.next();
+            if (compressed) {
+                cs.write(deflate(text.getBytes("UTF8")));
             } else {
-                cs.writeUTF(text);
+                cs.write(text.getBytes("UTF8"));
             }
             cs.finish();
         }
@@ -733,7 +736,7 @@
             cs.writeByte(compressionMethod);
 
             String text = (String)textIter.next();
-            cs.write(deflate(text));
+            cs.write(deflate(text.getBytes()));
             cs.finish();
         }
     }
@@ -928,23 +931,24 @@
     // Use sourceXOffset, etc.
     private void write_IDAT(RenderedImage image) throws IOException {
         IDATOutputStream ios = new IDATOutputStream(stream, 32768);
-
-        if (metadata.IHDR_interlaceMethod == 1) {
-            for (int i = 0; i < 7; i++) {
-                encodePass(ios, image,
-                           PNGImageReader.adam7XOffset[i],
-                           PNGImageReader.adam7YOffset[i],
-                           PNGImageReader.adam7XSubsampling[i],
-                           PNGImageReader.adam7YSubsampling[i]);
-                if (abortRequested()) {
-                    break;
+        try {
+            if (metadata.IHDR_interlaceMethod == 1) {
+                for (int i = 0; i < 7; i++) {
+                    encodePass(ios, image,
+                               PNGImageReader.adam7XOffset[i],
+                               PNGImageReader.adam7YOffset[i],
+                               PNGImageReader.adam7XSubsampling[i],
+                               PNGImageReader.adam7YSubsampling[i]);
+                    if (abortRequested()) {
+                        break;
+                    }
                 }
+            } else {
+                encodePass(ios, image, 0, 0, 1, 1);
             }
-        } else {
-            encodePass(ios, image, 0, 0, 1, 1);
+        } finally {
+            ios.finish();
         }
-
-        ios.finish();
     }
 
     private void writeIEND() throws IOException {
--- a/jdk/src/share/classes/com/sun/imageio/plugins/png/PNGMetadata.java	Wed Jul 05 16:44:40 2017 +0200
+++ b/jdk/src/share/classes/com/sun/imageio/plugins/png/PNGMetadata.java	Wed Jul 05 16:45:14 2017 +0200
@@ -174,12 +174,12 @@
     public byte[] iCCP_compressedProfile;
 
     // iTXt chunk
-    public ArrayList iTXt_keyword = new ArrayList(); // Strings
-    public ArrayList iTXt_compressionFlag = new ArrayList(); // Integers
-    public ArrayList iTXt_compressionMethod = new ArrayList(); // Integers
-    public ArrayList iTXt_languageTag = new ArrayList(); // Strings
-    public ArrayList iTXt_translatedKeyword = new ArrayList(); // Strings
-    public ArrayList iTXt_text = new ArrayList(); // Strings
+    public ArrayList<String> iTXt_keyword = new ArrayList<String>();
+    public ArrayList<Boolean> iTXt_compressionFlag = new ArrayList<Boolean>();
+    public ArrayList<Integer> iTXt_compressionMethod = new ArrayList<Integer>();
+    public ArrayList<String> iTXt_languageTag = new ArrayList<String>();
+    public ArrayList<String> iTXt_translatedKeyword = new ArrayList<String>();
+    public ArrayList<String> iTXt_text = new ArrayList<String>();
 
     // pHYs chunk
     public boolean pHYs_present;
@@ -597,19 +597,17 @@
         if (iTXt_keyword.size() > 0) {
             IIOMetadataNode iTXt_parent = new IIOMetadataNode("iTXt");
             for (int i = 0; i < iTXt_keyword.size(); i++) {
-                Integer val;
-
                 IIOMetadataNode iTXt_node = new IIOMetadataNode("iTXtEntry");
-                iTXt_node.setAttribute("keyword", (String)iTXt_keyword.get(i));
-                val = (Integer)iTXt_compressionFlag.get(i);
-                iTXt_node.setAttribute("compressionFlag", val.toString());
-                val = (Integer)iTXt_compressionMethod.get(i);
-                iTXt_node.setAttribute("compressionMethod", val.toString());
+                iTXt_node.setAttribute("keyword", iTXt_keyword.get(i));
+                iTXt_node.setAttribute("compressionFlag",
+                        iTXt_compressionFlag.get(i) ? "1" : "0");
+                iTXt_node.setAttribute("compressionMethod",
+                        iTXt_compressionMethod.get(i).toString());
                 iTXt_node.setAttribute("languageTag",
-                                       (String)iTXt_languageTag.get(i));
+                                       iTXt_languageTag.get(i));
                 iTXt_node.setAttribute("translatedKeyword",
-                                       (String)iTXt_translatedKeyword.get(i));
-                iTXt_node.setAttribute("text", (String)iTXt_text.get(i));
+                                       iTXt_translatedKeyword.get(i));
+                iTXt_node.setAttribute("text", iTXt_text.get(i));
 
                 iTXt_parent.appendChild(iTXt_node);
             }
@@ -1037,11 +1035,11 @@
 
         for (int i = 0; i < iTXt_keyword.size(); i++) {
             node = new IIOMetadataNode("TextEntry");
-            node.setAttribute("keyword", (String)iTXt_keyword.get(i));
-            node.setAttribute("value", (String)iTXt_text.get(i));
+            node.setAttribute("keyword", iTXt_keyword.get(i));
+            node.setAttribute("value", iTXt_text.get(i));
             node.setAttribute("language",
-                              (String)iTXt_languageTag.get(i));
-            if (((Integer)iTXt_compressionFlag.get(i)).intValue() == 1) {
+                              iTXt_languageTag.get(i));
+            if (iTXt_compressionFlag.get(i)) {
                 node.setAttribute("compression", "deflate");
             } else {
                 node.setAttribute("compression", "none");
@@ -1427,11 +1425,11 @@
 
                     boolean compressionFlag =
                         getBooleanAttribute(iTXt_node, "compressionFlag");
-                    iTXt_compressionFlag.add(new Boolean(compressionFlag));
+                    iTXt_compressionFlag.add(Boolean.valueOf(compressionFlag));
 
                     String compressionMethod =
                         getAttribute(iTXt_node, "compressionMethod");
-                    iTXt_compressionMethod.add(compressionMethod);
+                    iTXt_compressionMethod.add(Integer.valueOf(compressionMethod));
 
                     String languageTag =
                         getAttribute(iTXt_node, "languageTag");
@@ -1950,13 +1948,10 @@
                                 tEXt_text.add(value);
                             }
                         } else {
-                            int flag = compression.equals("zip") ?
-                                1 : 0;
-
                             // Use an iTXt node
                             iTXt_keyword.add(keyword);
-                            iTXt_compressionFlag.add(new Integer(flag));
-                            iTXt_compressionMethod.add(new Integer(0));
+                            iTXt_compressionFlag.add(Boolean.valueOf(compression.equals("zip")));
+                            iTXt_compressionMethod.add(Integer.valueOf(0));
                             iTXt_languageTag.add(language);
                             iTXt_translatedKeyword.add(keyword); // fake it
                             iTXt_text.add(value);
@@ -1993,12 +1988,12 @@
         gAMA_present = false;
         hIST_present = false;
         iCCP_present = false;
-        iTXt_keyword = new ArrayList();
-        iTXt_compressionFlag = new ArrayList();
-        iTXt_compressionMethod = new ArrayList();
-        iTXt_languageTag = new ArrayList();
-        iTXt_translatedKeyword = new ArrayList();
-        iTXt_text = new ArrayList();
+        iTXt_keyword = new ArrayList<String>();
+        iTXt_compressionFlag = new ArrayList<Boolean>();
+        iTXt_compressionMethod = new ArrayList<Integer>();
+        iTXt_languageTag = new ArrayList<String>();
+        iTXt_translatedKeyword = new ArrayList<String>();
+        iTXt_text = new ArrayList<String>();
         pHYs_present = false;
         sBIT_present = false;
         sPLT_present = false;
--- a/jdk/src/share/classes/com/sun/jmx/interceptor/DefaultMBeanServerInterceptor.java	Wed Jul 05 16:44:40 2017 +0200
+++ b/jdk/src/share/classes/com/sun/jmx/interceptor/DefaultMBeanServerInterceptor.java	Wed Jul 05 16:45:14 2017 +0200
@@ -919,6 +919,12 @@
 
         DynamicMBean mbean = Introspector.makeDynamicMBean(object);
 
+        //Access the ObjectName template value only if the provided name is null
+        if(name == null) {
+            name = Introspector.templateToObjectName(mbean.getMBeanInfo().
+                    getDescriptor(), mbean);
+        }
+
         return registerDynamicMBean(classname, mbean, name);
     }
 
--- a/jdk/src/share/classes/com/sun/jmx/interceptor/DispatchInterceptor.java	Wed Jul 05 16:44:40 2017 +0200
+++ b/jdk/src/share/classes/com/sun/jmx/interceptor/DispatchInterceptor.java	Wed Jul 05 16:45:14 2017 +0200
@@ -44,7 +44,6 @@
 import javax.management.MBeanInfo;
 import javax.management.MBeanRegistrationException;
 import javax.management.MBeanServer;
-import javax.management.MalformedObjectNameException;
 import javax.management.NotCompliantMBeanException;
 import javax.management.NotificationFilter;
 import javax.management.NotificationListener;
@@ -205,8 +204,7 @@
 
     // Returns the ObjectName of the JMXNamespace (or JMXDomain) for that
     // key (a namespace or a domain name).
-    abstract ObjectName getHandlerNameFor(String key)
-        throws MalformedObjectNameException;
+    abstract ObjectName getHandlerNameFor(String key);
 
     // Creates an interceptor for the given key, name, JMXNamespace (or
     // JMXDomain). Note: this will be either a NamespaceInterceptor
@@ -263,14 +261,10 @@
     void validateHandlerNameFor(String key, ObjectName name) {
         if (key == null || key.equals(""))
             throw new IllegalArgumentException("invalid key for "+name+": "+key);
-        try {
-            final ObjectName handlerName = getHandlerNameFor(key);
-            if (!name.equals(handlerName))
-                throw new IllegalArgumentException("bad handler name: "+name+
-                        ". Should be: "+handlerName);
-        } catch (MalformedObjectNameException x) {
-            throw new IllegalArgumentException(name.toString(),x);
-        }
+        final ObjectName handlerName = getHandlerNameFor(key);
+        if (!name.equals(handlerName))
+            throw new IllegalArgumentException("bad handler name: "+name+
+                    ". Should be: "+handlerName);
     }
 
     // Called by the DefaultMBeanServerInterceptor when an instance
--- a/jdk/src/share/classes/com/sun/jmx/interceptor/DomainDispatchInterceptor.java	Wed Jul 05 16:44:40 2017 +0200
+++ b/jdk/src/share/classes/com/sun/jmx/interceptor/DomainDispatchInterceptor.java	Wed Jul 05 16:45:14 2017 +0200
@@ -38,7 +38,6 @@
 
 import javax.management.MBeanServer;
 import javax.management.MBeanServerDelegate;
-import javax.management.MalformedObjectNameException;
 import javax.management.ObjectName;
 import javax.management.QueryExp;
 import javax.management.namespace.JMXDomain;
@@ -248,21 +247,17 @@
         if (pattern == null) return true;
         if (pattern.isDomainPattern()) return true;
 
-        try {
-            // case b) above.
-            //
-            // This is a bit of a hack. If there's any chance that a JMXDomain
-            // MBean name is selected by the given pattern then we must include
-            // the local namespace in our search.
-            //
-            // Returning true will have this effect. see 2. above.
-            //
-            if (pattern.apply(ALL_DOMAINS.withDomain(pattern.getDomain())))
-                return true;
-        } catch (MalformedObjectNameException x) {
-            // should not happen
-            throw new IllegalArgumentException(String.valueOf(pattern), x);
-        }
+        // case b) above.
+        //
+        // This is a bit of a hack. If there's any chance that a JMXDomain
+        // MBean name is selected by the given pattern then we must include
+        // the local namespace in our search.
+        //
+        // Returning true will have this effect. see 2. above.
+        //
+        if (pattern.apply(ALL_DOMAINS.withDomain(pattern.getDomain())))
+            return true;
+
         return false;
     }
 
@@ -291,8 +286,7 @@
     }
 
     @Override
-    final ObjectName getHandlerNameFor(String key)
-        throws MalformedObjectNameException {
+    final ObjectName getHandlerNameFor(String key) {
         return JMXDomain.getDomainObjectName(key);
     }
 
--- a/jdk/src/share/classes/com/sun/jmx/interceptor/NamespaceDispatchInterceptor.java	Wed Jul 05 16:44:40 2017 +0200
+++ b/jdk/src/share/classes/com/sun/jmx/interceptor/NamespaceDispatchInterceptor.java	Wed Jul 05 16:45:14 2017 +0200
@@ -37,8 +37,8 @@
 
 import javax.management.MBeanServer;
 import javax.management.MBeanServerDelegate;
-import javax.management.MalformedObjectNameException;
 import javax.management.ObjectName;
+import javax.management.RuntimeOperationsException;
 import javax.management.namespace.JMXDomain;
 import javax.management.namespace.JMXNamespace;
 import static javax.management.namespace.JMXNamespaces.NAMESPACE_SEPARATOR;
@@ -60,6 +60,7 @@
 
     private static final int NAMESPACE_SEPARATOR_LENGTH =
             NAMESPACE_SEPARATOR.length();
+    private static final ObjectName X3 = ObjectName.valueOf("x:x=x");
 
     private final DomainDispatchInterceptor nextInterceptor;
     private final String           serverName;
@@ -89,27 +90,38 @@
            serverName = Util.getMBeanServerSecurityName(delegate);
     }
 
-    // TODO: Should move that to JMXNamespace? or to ObjectName?
     /**
      * Get first name space in ObjectName path. Ignore leading namespace
-     * separators.
+     * separators. Includes the trailing //.
+     *
+     * Examples:
+     * <pre>
+     *  For ObjectName:                   Returns:
+     *  foo//bar//baz:x=x         ->      "foo//"
+     *  foo//:type=JMXNamespace   ->      "foo//"
+     *  foo//:x=x                 ->      "foo//"
+     *  foo////:x=x               ->      "foo//"
+     *  //foo//bar//baz:x=x       ->      "//"
+     *  ////foo//bar//baz:x=x     ->      "//"
+     *  //:x=x                    ->      "//"
+     *  foo:x=x                   ->      ""
+     *  (null)                    ->      ""
+     *  :x=x                      ->      ""
+     *
+     * </pre>
      **/
-    static String getFirstNamespace(ObjectName name) {
+    static String getFirstNamespaceWithSlash(ObjectName name) {
         if (name == null) return "";
         final String domain = name.getDomain();
         if (domain.equals("")) return "";
 
-        // skip leading separators
-        int first = 0;
-        while (domain.startsWith(NAMESPACE_SEPARATOR,first))
-            first += NAMESPACE_SEPARATOR_LENGTH;
-
         // go to next separator
-        final int end = domain.indexOf(NAMESPACE_SEPARATOR,first);
+        final int end = domain.indexOf(NAMESPACE_SEPARATOR);
         if (end == -1) return ""; // no namespace
 
         // This is the first element in the namespace path.
-        final String namespace = domain.substring(first,end);
+        final String namespace =
+                domain.substring(0,end+NAMESPACE_SEPARATOR_LENGTH);
 
         return namespace;
     }
@@ -130,27 +142,49 @@
                     resource.getClass().getName());
     }
 
-    final boolean isLocalHandlerNameFor(String namespace,
-            ObjectName handlerName) {
-        return handlerName.getDomain().equals(namespace+NAMESPACE_SEPARATOR) &&
-               JMXNamespace.TYPE_ASSIGNMENT.equals(
-               handlerName.getKeyPropertyListString());
+    // Removes the trailing //. namespaceWithSlash should be either
+    // "" or a namespace path ending with //.
+    //
+    private final String getKeyFor(String namespaceWithSlash) {
+        final int end = namespaceWithSlash.length() -
+                NAMESPACE_SEPARATOR_LENGTH;
+        if (end <= 0) return "";
+        final String key = namespaceWithSlash.substring(0,end);
+        return key;
     }
 
     @Override
     final MBeanServer getInterceptorOrNullFor(ObjectName name) {
-        final String namespace = getFirstNamespace(name);
-        if (namespace.equals("") || isLocalHandlerNameFor(namespace,name) ||
-            name.getDomain().equals(namespace+NAMESPACE_SEPARATOR)) {
+        final String namespace = getFirstNamespaceWithSlash(name);
+
+        // Leading separators should trigger instance not found exception.
+        // returning null here has this effect.
+        //
+        if (namespace.equals(NAMESPACE_SEPARATOR)) {
+            LOG.finer("ObjectName starts with: "+namespace);
+            return null;
+        }
+
+        // namespace="" means that there was no namespace path in the
+        //   ObjectName. => delegate to the next interceptor (local MBS)
+        // name.getDomain()=namespace means that we have an ObjectName of
+        //   the form blah//:x=x. This is either a JMXNamespace or a non
+        //   existent MBean. => delegate to the next interceptor (local MBS)
+        if (namespace.equals("") || name.getDomain().equals(namespace)) {
             LOG.finer("dispatching to local name space");
             return nextInterceptor;
         }
-        final NamespaceInterceptor ns = getInterceptor(namespace);
+
+        // There was a namespace path in the ObjectName. Returns the
+        // interceptor that handles it, or null if there is no such
+        // interceptor.
+        final String key = getKeyFor(namespace);
+        final NamespaceInterceptor ns = getInterceptor(key);
         if (LOG.isLoggable(Level.FINER)) {
             if (ns != null) {
-                LOG.finer("dispatching to name space: " + namespace);
+                LOG.finer("dispatching to name space: " + key);
             } else {
-                LOG.finer("no handler for: " + namespace);
+                LOG.finer("no handler for: " + key);
             }
         }
         return ns;
@@ -158,18 +192,44 @@
 
     @Override
     final QueryInterceptor getInterceptorForQuery(ObjectName pattern) {
-        final String namespace = getFirstNamespace(pattern);
-        if (namespace.equals("") || isLocalHandlerNameFor(namespace,pattern) ||
-            pattern.getDomain().equals(namespace+NAMESPACE_SEPARATOR)) {
+        final String namespace = getFirstNamespaceWithSlash(pattern);
+
+        // Leading separators should trigger instance not found exception.
+        // returning null here has this effect.
+        //
+        if (namespace.equals(NAMESPACE_SEPARATOR)) {
+            LOG.finer("ObjectName starts with: "+namespace);
+            return null;
+        }
+
+        // namespace="" means that there was no namespace path in the
+        //   ObjectName. => delegate to the next interceptor (local MBS)
+        // name.getDomain()=namespace means that we have an ObjectName of
+        //   the form blah//:x=x. This is either a JMXNamespace or a non
+        //   existent MBean. => delegate to the next interceptor (local MBS)
+        if (namespace.equals("") || pattern.getDomain().equals(namespace)) {
             LOG.finer("dispatching to local name space");
             return new QueryInterceptor(nextInterceptor);
         }
-        final NamespaceInterceptor ns = getInterceptor(namespace);
+
+        // This is a 'hack' to check whether the first namespace is a pattern.
+        // We wan to throw RTOE wrapping IAE in that case
+        if (X3.withDomain(namespace).isDomainPattern()) {
+            throw new RuntimeOperationsException(
+                new IllegalArgumentException("Pattern not allowed in namespace path"));
+        }
+
+        // There was a namespace path in the ObjectName. Returns the
+        // interceptor that handles it, or null if there is no such
+        // interceptor.
+        //
+        final String key = getKeyFor(namespace);
+        final NamespaceInterceptor ns = getInterceptor(key);
         if (LOG.isLoggable(Level.FINER)) {
             if (ns != null) {
-                LOG.finer("dispatching to name space: " + namespace);
+                LOG.finer("dispatching to name space: " + key);
             } else {
-                LOG.finer("no handler for: " + namespace);
+                LOG.finer("no handler for: " + key);
             }
         }
         if (ns == null) return null;
@@ -177,15 +237,16 @@
     }
 
     @Override
-    final ObjectName getHandlerNameFor(String key)
-        throws MalformedObjectNameException {
-        return ObjectName.getInstance(key+NAMESPACE_SEPARATOR,
+    final ObjectName getHandlerNameFor(String key) {
+        return ObjectName.valueOf(key+NAMESPACE_SEPARATOR,
                     "type", JMXNamespace.TYPE);
     }
 
     @Override
     final public String getHandlerKey(ObjectName name) {
-        return getFirstNamespace(name);
+        final String namespace = getFirstNamespaceWithSlash(name);
+        // namespace is either "" or a namespace ending with //
+        return getKeyFor(namespace);
     }
 
     @Override
--- a/jdk/src/share/classes/com/sun/jmx/mbeanserver/ConvertingMethod.java	Wed Jul 05 16:44:40 2017 +0200
+++ b/jdk/src/share/classes/com/sun/jmx/mbeanserver/ConvertingMethod.java	Wed Jul 05 16:45:14 2017 +0200
@@ -53,7 +53,7 @@
     }
 
     Descriptor getDescriptor() {
-        return Introspector.descriptorForElement(method);
+        return Introspector.descriptorForElement(method, false);
     }
 
     Type getGenericReturnType() {
--- a/jdk/src/share/classes/com/sun/jmx/mbeanserver/Introspector.java	Wed Jul 05 16:44:40 2017 +0200
+++ b/jdk/src/share/classes/com/sun/jmx/mbeanserver/Introspector.java	Wed Jul 05 16:45:14 2017 +0200
@@ -63,7 +63,14 @@
 import java.beans.PropertyDescriptor;
 import java.lang.reflect.Array;
 import java.lang.reflect.InvocationTargetException;
+import java.util.LinkedHashSet;
+import java.util.Set;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
 import javax.management.AttributeNotFoundException;
+import javax.management.JMX;
+import javax.management.ObjectName;
+import javax.management.ObjectNameTemplate;
 import javax.management.openmbean.CompositeData;
 import javax.management.openmbean.MXBeanMappingFactory;
 
@@ -75,7 +82,13 @@
  */
 public class Introspector {
 
-
+    /**
+     * Pattern used to extract Attribute Names from ObjectNameTemplate Annotation
+     * For example, in the following example, the Name attribute value is
+     * retrieved : ":type=MyType, name={Name}"
+     */
+    private static Pattern OBJECT_NAME_PATTERN_TEMPLATE =
+            Pattern.compile("(\\{[^\\}]+\\})|(=\"\\{[^\\}]+\\}\")");
      /*
      * ------------------------------------------
      *  PRIVATE CONSTRUCTORS
@@ -389,6 +402,42 @@
             return getStandardMBeanInterface(baseClass);
     }
 
+    public static ObjectName templateToObjectName(Descriptor descriptor,
+            DynamicMBean mbean)
+            throws NotCompliantMBeanException {
+        String template = (String)
+            descriptor.getFieldValue(JMX.OBJECT_NAME_TEMPLATE);
+        if(template == null) return null;
+        try {
+            Matcher m = OBJECT_NAME_PATTERN_TEMPLATE.matcher(template);
+            while (m.find()){
+                String grp = m.group();
+                System.out.println("GROUP " + grp);
+                String attributeName = null;
+                boolean quote = false;
+                if(grp.startsWith("=\"{")) {
+                    attributeName = grp.substring(3, grp.length() - 2);
+                    quote = true;
+                } else
+                    attributeName = grp.substring(1, grp.length() - 1);
+
+                Object attributeValue = mbean.getAttribute(attributeName);
+                String validValue = quote ?
+                    "=" + ObjectName.quote(attributeValue.toString()) :
+                    attributeValue.toString();
+                template = template.replace(grp, validValue);
+            }
+            return new ObjectName(template);
+        }catch(Exception ex) {
+            NotCompliantMBeanException ncex = new
+                    NotCompliantMBeanException(ObjectNameTemplate.class.
+                    getSimpleName() + " annotation value [" + template + "] " +
+                    "is invalid. " + ex);
+            ncex.initCause(ex);
+            throw ncex;
+        }
+    }
+
     /*
      * ------------------------------------------
      *  PRIVATE METHODS
@@ -462,11 +511,31 @@
         return null;
     }
 
-    public static Descriptor descriptorForElement(final AnnotatedElement elmt) {
+    public static Descriptor descriptorForElement(final AnnotatedElement elmt,
+            boolean isSetter) {
         if (elmt == null)
             return ImmutableDescriptor.EMPTY_DESCRIPTOR;
         final Annotation[] annots = elmt.getAnnotations();
-        return descriptorForAnnotations(annots);
+        Descriptor descr = descriptorForAnnotations(annots);
+        String[] exceptions = {};
+        if(elmt instanceof Method)
+            exceptions = getAllExceptions(((Method) elmt).getExceptionTypes());
+        else
+            if(elmt instanceof Constructor<?>)
+                exceptions = getAllExceptions(((Constructor<?>) elmt).
+                        getExceptionTypes());
+
+        if(exceptions.length > 0 ) {
+            String fieldName = isSetter ? JMX.SET_EXCEPTIONS_FIELD :
+                JMX.EXCEPTIONS_FIELD;
+
+            String[] fieldNames = {fieldName};
+            Object[] fieldValues = {exceptions};
+            descr = ImmutableDescriptor.union(descr,
+                    new ImmutableDescriptor(fieldNames, fieldValues));
+        }
+
+        return descr;
     }
 
     public static Descriptor descriptorForAnnotation(Annotation annot) {
@@ -489,6 +558,20 @@
             return new ImmutableDescriptor(descriptorMap);
     }
 
+    /**
+     * Array of thrown excepions.
+     * @param exceptions can be null;
+     * @return An Array of Exception class names. Size is 0 if method is null.
+     */
+    private static String[] getAllExceptions(Class<?>[] exceptions) {
+        Set<String> set = new LinkedHashSet<String>();
+        for(Class<?>ex : exceptions)
+            set.add(ex.getName());
+
+        String[] arr = new String[set.size()];
+        return set.toArray(arr);
+    }
+
     private static void addDescriptorFieldsToMap(
             Map<String, Object> descriptorMap, DescriptorFields df) {
         for (String field : df.value()) {
--- a/jdk/src/share/classes/com/sun/jmx/mbeanserver/MBeanInjector.java	Wed Jul 05 16:44:40 2017 +0200
+++ b/jdk/src/share/classes/com/sun/jmx/mbeanserver/MBeanInjector.java	Wed Jul 05 16:45:14 2017 +0200
@@ -47,6 +47,10 @@
 import javax.management.SendNotification;
 
 public class MBeanInjector {
+    // There are no instances of this class
+    private MBeanInjector() {
+    }
+
     private static Class<?>[] injectedClasses = {
         MBeanServer.class, ObjectName.class, SendNotification.class,
     };
--- a/jdk/src/share/classes/com/sun/jmx/mbeanserver/MBeanInstantiator.java	Wed Jul 05 16:44:40 2017 +0200
+++ b/jdk/src/share/classes/com/sun/jmx/mbeanserver/MBeanInstantiator.java	Wed Jul 05 16:45:14 2017 +0200
@@ -614,6 +614,15 @@
     }
 
     /**
+     * Returns the class of a primitive type.
+     * @param name The type for which we the associated class.
+     * @return the class, or null if name is not primitive.
+     */
+    public static Class<?> primitiveType(String name) {
+        return primitiveClasses.get(name);
+    }
+
+    /**
      * Load a class with the specified loader, or with this object
      * class loader if the specified loader is null.
      **/
@@ -636,7 +645,7 @@
             }
         } catch (ClassNotFoundException e) {
             throw new ReflectionException(e,
-            "The MBean class could not be loaded by the context classloader");
+            "The MBean class could not be loaded");
         }
         return theClass;
     }
--- a/jdk/src/share/classes/com/sun/jmx/mbeanserver/MBeanIntrospector.java	Wed Jul 05 16:44:40 2017 +0200
+++ b/jdk/src/share/classes/com/sun/jmx/mbeanserver/MBeanIntrospector.java	Wed Jul 05 16:45:14 2017 +0200
@@ -44,7 +44,6 @@
 import javax.management.ImmutableDescriptor;
 import javax.management.IntrospectionException;
 import javax.management.InvalidAttributeValueException;
-import javax.management.JMX;
 import javax.management.MBean;
 import javax.management.MBeanAttributeInfo;
 import javax.management.MBeanConstructorInfo;
@@ -404,7 +403,7 @@
                     new ImmutableDescriptor(interfaceClassName);
             final Descriptor mbeanDescriptor = getBasicMBeanDescriptor();
             final Descriptor annotatedDescriptor =
-                    Introspector.descriptorForElement(mbeanInterface);
+                    Introspector.descriptorForElement(mbeanInterface, false);
             final Descriptor descriptor =
                 DescriptorCache.getInstance().union(
                     classNameDescriptor,
@@ -519,7 +518,7 @@
      * see the version of the @ManagedAttribute (or ...Operation) annotation
      * from that method, which might have a different description or whatever.
      */
-    private static void getAnnotatedMethods(Class<?> c, List<Method> methods)
+    public static void getAnnotatedMethods(Class<?> c, List<Method> methods)
     throws Exception {
         Class<?> sup = c.getSuperclass();
         if (sup != null)
@@ -538,6 +537,14 @@
         }
     }
 
+    /*
+     * Return the array of MBeanNotificationInfo for the given MBean object.
+     * If the object implements NotificationBroadcaster and its
+     * getNotificationInfo() method returns a non-empty array, then that
+     * is the result.  Otherwise, if the object has a @NotificationInfo
+     * or @NotificationInfos annotation, then its contents form the result.
+     * Otherwise, the result is null.
+     */
     static MBeanNotificationInfo[] findNotifications(Object moi) {
         if (moi instanceof NotificationBroadcaster) {
             MBeanNotificationInfo[] mbn =
@@ -553,6 +560,13 @@
                 }
                 return result;
             }
+        } else {
+            try {
+                if (!MBeanInjector.injectsSendNotification(moi))
+                    return null;
+            } catch (NotCompliantMBeanException e) {
+                throw new RuntimeException(e);
+            }
         }
         return findNotificationsFromAnnotations(moi.getClass());
     }
--- a/jdk/src/share/classes/com/sun/jmx/mbeanserver/MXBeanIntrospector.java	Wed Jul 05 16:44:40 2017 +0200
+++ b/jdk/src/share/classes/com/sun/jmx/mbeanserver/MXBeanIntrospector.java	Wed Jul 05 16:45:14 2017 +0200
@@ -292,7 +292,7 @@
         Descriptor descriptor =
             typeDescriptor(returnType, originalReturnType);
         descriptor = ImmutableDescriptor.union(descriptor,
-                Introspector.descriptorForElement(method));
+                Introspector.descriptorForElement(method, false));
         final MBeanOperationInfo oi;
         if (openReturnType && openParameterTypes) {
             /* If the return value and all the parameters can be faithfully
--- a/jdk/src/share/classes/com/sun/jmx/mbeanserver/MXBeanLookup.java	Wed Jul 05 16:44:40 2017 +0200
+++ b/jdk/src/share/classes/com/sun/jmx/mbeanserver/MXBeanLookup.java	Wed Jul 05 16:45:14 2017 +0200
@@ -37,7 +37,6 @@
 import javax.management.JMX;
 import javax.management.MBeanServerConnection;
 import javax.management.MBeanServerInvocationHandler;
-import javax.management.MalformedObjectNameException;
 import javax.management.ObjectName;
 import javax.management.openmbean.OpenDataException;
 
@@ -225,7 +224,7 @@
             String domain = prefix + name.getDomain();
             try {
                 name = name.withDomain(domain);
-            } catch (MalformedObjectNameException e) {
+            } catch (IllegalArgumentException e) {
                 throw EnvHelp.initCause(
                         new InvalidObjectException(e.getMessage()), e);
             }
@@ -239,12 +238,14 @@
             String domain = name.getDomain();
             if (!domain.startsWith(prefix)) {
                 throw new OpenDataException(
-                        "Proxy's name does not start with " + prefix + ": " + name);
+                        "Proxy's name does not start with " +
+                        prefix + ": " + name);
             }
             try {
                 name = name.withDomain(domain.substring(prefix.length()));
-            } catch (MalformedObjectNameException e) {
-                throw EnvHelp.initCause(new OpenDataException(e.getMessage()), e);
+            } catch (IllegalArgumentException e) {
+                throw EnvHelp.initCause(
+                        new OpenDataException(e.getMessage()), e);
             }
             return name;
         }
--- a/jdk/src/share/classes/com/sun/jmx/mbeanserver/Util.java	Wed Jul 05 16:44:40 2017 +0200
+++ b/jdk/src/share/classes/com/sun/jmx/mbeanserver/Util.java	Wed Jul 05 16:45:14 2017 +0200
@@ -48,7 +48,6 @@
 import javax.management.MBeanServer;
 import javax.management.MBeanServerDelegate;
 import javax.management.MBeanServerFactory;
-import javax.management.MalformedObjectNameException;
 import javax.management.ObjectInstance;
 import javax.management.ObjectName;
 import javax.management.loading.ClassLoaderRepository;
--- a/jdk/src/share/classes/com/sun/jmx/namespace/DomainInterceptor.java	Wed Jul 05 16:44:40 2017 +0200
+++ b/jdk/src/share/classes/com/sun/jmx/namespace/DomainInterceptor.java	Wed Jul 05 16:45:14 2017 +0200
@@ -42,7 +42,6 @@
 import javax.management.MBeanPermission;
 import javax.management.MBeanServerDelegate;
 import javax.management.MBeanServerNotification;
-import javax.management.MalformedObjectNameException;
 import javax.management.Notification;
 import javax.management.NotificationFilter;
 import javax.management.NotificationListener;
@@ -268,13 +267,9 @@
     // When we reach here, it has been verified that 'name' matches our domain
     // name (done by DomainDispatchInterceptor)
     private ObjectName getPatternFor(final ObjectName name) {
-        try {
-            if (name == null) return ALL;
-            if (name.getDomain().equals(domainName)) return name;
-            return name.withDomain(domainName);
-        } catch (MalformedObjectNameException x) {
-            throw new IllegalArgumentException(String.valueOf(name),x);
-        }
+        if (name == null) return ALL;
+        if (name.getDomain().equals(domainName)) return name;
+        return name.withDomain(domainName);
    }
 
     @Override
--- a/jdk/src/share/classes/com/sun/jmx/namespace/NamespaceInterceptor.java	Wed Jul 05 16:44:40 2017 +0200
+++ b/jdk/src/share/classes/com/sun/jmx/namespace/NamespaceInterceptor.java	Wed Jul 05 16:45:14 2017 +0200
@@ -24,15 +24,12 @@
  */
 package com.sun.jmx.namespace;
 
-import com.sun.jmx.defaults.JmxProperties;
 import java.util.ArrayList;
 import java.util.List;
-import java.util.logging.Logger;
 
 import javax.management.Attribute;
 import javax.management.AttributeList;
 import javax.management.MBeanServer;
-import javax.management.MalformedObjectNameException;
 import javax.management.ObjectName;
 import javax.management.namespace.JMXNamespace;
 import javax.management.namespace.JMXNamespacePermission;
@@ -114,14 +111,12 @@
     }
 
     @Override
-    protected ObjectName toSource(ObjectName targetName)
-            throws MalformedObjectNameException {
+    protected ObjectName toSource(ObjectName targetName) {
         return proc.toSourceContext(targetName, true);
     }
 
     @Override
-    protected ObjectName toTarget(ObjectName sourceName)
-            throws MalformedObjectNameException {
+    protected ObjectName toTarget(ObjectName sourceName) {
         return proc.toTargetContext(sourceName, false);
     }
 
--- a/jdk/src/share/classes/com/sun/jmx/namespace/ObjectNameRouter.java	Wed Jul 05 16:44:40 2017 +0200
+++ b/jdk/src/share/classes/com/sun/jmx/namespace/ObjectNameRouter.java	Wed Jul 05 16:45:14 2017 +0200
@@ -27,7 +27,6 @@
 
 import static javax.management.namespace.JMXNamespaces.NAMESPACE_SEPARATOR;
 
-import javax.management.MalformedObjectNameException;
 import javax.management.ObjectInstance;
 import javax.management.ObjectName;
 
@@ -83,11 +82,7 @@
         }
         final String targetDomain =
                 (tlen>0?targetPrefix+NAMESPACE_SEPARATOR+srcDomain:srcDomain);
-        try {
-            return sourceName.withDomain(targetDomain);
-        } catch (MalformedObjectNameException x) {
-            throw new IllegalArgumentException(String.valueOf(sourceName),x);
-        }
+        return sourceName.withDomain(targetDomain);
     }
 
     public final ObjectName toSourceContext(ObjectName targetName,
@@ -113,11 +108,7 @@
         final String sourceDomain =
                 (slen>0?sourcePrefix+NAMESPACE_SEPARATOR+targetDomain:
                     targetDomain);
-        try {
-            return targetName.withDomain(sourceDomain);
-        } catch (MalformedObjectNameException x) {
-            throw new IllegalArgumentException(String.valueOf(targetName),x);
-        }
+        return targetName.withDomain(sourceDomain);
     }
 
     public final ObjectInstance toTargetContext(ObjectInstance sourceMoi,
--- a/jdk/src/share/classes/com/sun/jmx/namespace/RoutingMBeanServerConnection.java	Wed Jul 05 16:44:40 2017 +0200
+++ b/jdk/src/share/classes/com/sun/jmx/namespace/RoutingMBeanServerConnection.java	Wed Jul 05 16:45:14 2017 +0200
@@ -46,7 +46,6 @@
 import javax.management.MBeanInfo;
 import javax.management.MBeanRegistrationException;
 import javax.management.MBeanServerConnection;
-import javax.management.MalformedObjectNameException;
 import javax.management.NotCompliantMBeanException;
 import javax.management.NotificationFilter;
 import javax.management.NotificationListener;
@@ -100,18 +99,17 @@
      * the target name is "foo//X".
      * In the case of cascading - such as in NamespaceInterceptor, this method
      * will convert "foo//X" (the targetName) into "X", the source name.
+     * @throws IllegalArgumentException if the name cannot be converted.
      **/
-    protected abstract ObjectName toSource(ObjectName targetName)
-        throws MalformedObjectNameException;
-
+    protected abstract ObjectName toSource(ObjectName targetName);
     /**
      * Converts a source ObjectName to a target ObjectName.
      * (see description of toSource above for explanations)
      * In the case of cascading - such as in NamespaceInterceptor, this method
      * will convert "X" (the sourceName) into "foo//X", the target name.
+     * @throws IllegalArgumentException if the name cannot be converted.
      **/
-    protected abstract ObjectName toTarget(ObjectName sourceName)
-        throws MalformedObjectNameException;
+    protected abstract ObjectName toTarget(ObjectName sourceName);
 
     /**
      * Can be overridden by subclasses to check the validity of a new
@@ -128,17 +126,12 @@
         }
     }
 
-    // Calls toSource(), Wraps MalformedObjectNameException.
-    ObjectName toSourceOrRuntime(ObjectName targetName)
-        throws RuntimeOperationsException {
+    // Calls toSource(), Wraps IllegalArgumentException.
+    ObjectName toSourceOrRuntime(ObjectName targetName) {
         try {
             return toSource(targetName);
-        } catch (MalformedObjectNameException x) {
-            final IllegalArgumentException x2 =
-                    new IllegalArgumentException(String.valueOf(targetName),x);
-            final RuntimeOperationsException x3 =
-                    new RuntimeOperationsException(x2);
-            throw x3;
+        } catch (RuntimeException x) {
+            throw makeCompliantRuntimeException(x);
         }
     }
 
@@ -376,12 +369,8 @@
         try {
             final ObjectName targetName = toTarget(sourceName);
             return new ObjectInstance(targetName,source.getClassName());
-        } catch (MalformedObjectNameException x) {
-            final IllegalArgumentException x2 =
-                    new IllegalArgumentException(String.valueOf(sourceName),x);
-            final RuntimeOperationsException x3 =
-                    new RuntimeOperationsException(x2);
-            throw x3;
+        } catch (RuntimeException x) {
+            throw makeCompliantRuntimeException(x);
         }
     }
 
--- a/jdk/src/share/classes/com/sun/jmx/namespace/RoutingProxy.java	Wed Jul 05 16:44:40 2017 +0200
+++ b/jdk/src/share/classes/com/sun/jmx/namespace/RoutingProxy.java	Wed Jul 05 16:45:14 2017 +0200
@@ -199,8 +199,7 @@
     public T source() { return source; }
 
     @Override
-    public ObjectName toSource(ObjectName targetName)
-        throws MalformedObjectNameException {
+    public ObjectName toSource(ObjectName targetName) {
         if (targetName == null) return null;
         if (targetName.getDomain().equals("") && targetNs.equals("")) {
             try {
@@ -229,8 +228,7 @@
     }
 
     @Override
-    public ObjectName toTarget(ObjectName sourceName)
-        throws MalformedObjectNameException {
+    public ObjectName toTarget(ObjectName sourceName) {
         if (sourceName == null) return null;
         return router.toTargetContext(sourceName,false);
     }
--- a/jdk/src/share/classes/com/sun/jmx/remote/util/EnvHelp.java	Wed Jul 05 16:44:40 2017 +0200
+++ b/jdk/src/share/classes/com/sun/jmx/remote/util/EnvHelp.java	Wed Jul 05 16:45:14 2017 +0200
@@ -1,3 +1,4 @@
+
 /*
  * Copyright 2003-2008 Sun Microsystems, Inc.  All Rights Reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -798,6 +799,24 @@
                 JMXConnectorServer.DELEGATE_TO_EVENT_SERVICE, true, true);
     }
 
+    /**
+     * <p>Name of the attribute that specifies whether a connector server
+     * should not prevent the VM from exiting
+     */
+    public static final String JMX_SERVER_DAEMON = "jmx.remote.x.daemon";
+
+    /**
+     * Returns true if {@value SERVER_DAEMON} is specified in the {@code env}
+     * as a key and its value is a String and it is equal to true ignoring case.
+     *
+     * @param env
+     * @return
+     */
+    public static boolean isServerDaemon(Map<String, ?> env) {
+        return (env != null) &&
+                ("true".equalsIgnoreCase((String)env.get(JMX_SERVER_DAEMON)));
+    }
+
 //    /**
 //     * <p>Name of the attribute that specifies an EventRelay object to use.
 //     */
--- a/jdk/src/share/classes/com/sun/servicetag/Installer.java	Wed Jul 05 16:44:40 2017 +0200
+++ b/jdk/src/share/classes/com/sun/servicetag/Installer.java	Wed Jul 05 16:45:14 2017 +0200
@@ -475,7 +475,7 @@
 
         String filename = "/com/sun/servicetag/resources/javase_" +
                 version + "_swordfish.properties";
-        InputStream in = Installer.class.getClass().getResourceAsStream(filename);
+        InputStream in = Installer.class.getResourceAsStream(filename);
         if (in == null) {
             return null;
         }
@@ -813,7 +813,7 @@
                                    locale,
                                    String.valueOf(version)).toString();
             try {
-                in = Installer.class.getClass().getResourceAsStream(resource + ".html");
+                in = Installer.class.getResourceAsStream(resource + ".html");
                 if (in == null) {
                     // if the resource file is missing
                     if (isVerbose()) {
@@ -825,34 +825,39 @@
                     System.out.println("Generating " + f + " from " + resource + ".html");
                 }
 
-                br = new BufferedReader(new InputStreamReader(in, "UTF-8"));
-                pw = new PrintWriter(f, "UTF-8");
-                String line = null;
-                while ((line = br.readLine()) != null) {
-                    String output = line;
-                    if (line.contains(JDK_VERSION_KEY)) {
-                        output = line.replace(JDK_VERSION_KEY, jdkVersion);
-                    } else if (line.contains(JDK_HEADER_PNG_KEY)) {
-                        output = line.replace(JDK_HEADER_PNG_KEY, headerImageSrc);
-                    } else if (line.contains(REGISTRATION_URL_KEY)) {
-                        output = line.replace(REGISTRATION_URL_KEY, registerURL);
-                    } else if (line.contains(REGISTRATION_PAYLOAD_KEY)) {
-                        output = line.replace(REGISTRATION_PAYLOAD_KEY, payload.toString());
+                try {
+                    br = new BufferedReader(new InputStreamReader(in, "UTF-8"));
+                    pw = new PrintWriter(f, "UTF-8");
+                    String line = null;
+                    while ((line = br.readLine()) != null) {
+                        String output = line;
+                        if (line.contains(JDK_VERSION_KEY)) {
+                            output = line.replace(JDK_VERSION_KEY, jdkVersion);
+                        } else if (line.contains(JDK_HEADER_PNG_KEY)) {
+                            output = line.replace(JDK_HEADER_PNG_KEY, headerImageSrc);
+                        } else if (line.contains(REGISTRATION_URL_KEY)) {
+                            output = line.replace(REGISTRATION_URL_KEY, registerURL);
+                        } else if (line.contains(REGISTRATION_PAYLOAD_KEY)) {
+                            output = line.replace(REGISTRATION_PAYLOAD_KEY, payload.toString());
+                        }
+                        pw.println(output);
                     }
-                    pw.println(output);
+                    f.setReadOnly();
+                    pw.flush();
+                } finally {
+                    // It's safe for this finally block to have two close statements
+                    // consecutively as PrintWriter.close doesn't throw IOException.
+                    if (pw != null) {
+                        pw.close();
+                    }
+                    if (br!= null) {
+                        br.close();
+                    }
                 }
-                f.setReadOnly();
-                pw.flush();
             } finally {
-                if (pw != null) {
-                    pw.close();
-                }
                 if (in != null) {
                     in.close();
                 }
-                if (br!= null) {
-                    br.close();
-                }
             }
         }
     }
--- a/jdk/src/share/classes/com/sun/servicetag/SolarisSystemEnvironment.java	Wed Jul 05 16:44:40 2017 +0200
+++ b/jdk/src/share/classes/com/sun/servicetag/SolarisSystemEnvironment.java	Wed Jul 05 16:45:14 2017 +0200
@@ -62,8 +62,8 @@
             return "Sun Microsystems, Inc";
         }
 
-        // if we're here, then we'll try smbios (type 3)
-        return getSmbiosData("3", "Manufacturer: ");
+        // if we're here, then we'll try smbios (type 4)
+        return getSmbiosData("4", "Manufacturer: ");
     }
 
     /**
--- a/jdk/src/share/classes/com/sun/servicetag/SunConnection.java	Wed Jul 05 16:44:40 2017 +0200
+++ b/jdk/src/share/classes/com/sun/servicetag/SunConnection.java	Wed Jul 05 16:45:14 2017 +0200
@@ -213,10 +213,16 @@
             con.setRequestProperty("Content-Type", "text/xml;charset=\"utf-8\"");
             con.connect();
 
-            OutputStream out = con.getOutputStream();
-            registration.storeToXML(out);
-            out.flush();
-            out.close();
+            OutputStream out = null;
+            try {
+                out = con.getOutputStream();
+                registration.storeToXML(out);
+                out.flush();
+            } finally {
+                if (out != null) {
+                    out.close();
+                }
+            }
 
             int returnCode = con.getResponseCode();
             if (Util.isVerbose()) {
--- a/jdk/src/share/classes/com/sun/servicetag/Util.java	Wed Jul 05 16:44:40 2017 +0200
+++ b/jdk/src/share/classes/com/sun/servicetag/Util.java	Wed Jul 05 16:45:14 2017 +0200
@@ -140,11 +140,14 @@
             }
             return e.getMessage();
         } finally {
-            if (r != null) {
-                r.close();
-            }
-            if (err != null) {
-                err.close();
+            try {
+                if (r != null) {
+                    r.close();
+                }
+            } finally {
+                if (err != null) {
+                    err.close();
+                }
             }
         }
     }
--- a/jdk/src/share/classes/com/sun/servicetag/WindowsSystemEnvironment.java	Wed Jul 05 16:44:40 2017 +0200
+++ b/jdk/src/share/classes/com/sun/servicetag/WindowsSystemEnvironment.java	Wed Jul 05 16:45:14 2017 +0200
@@ -107,11 +107,17 @@
             Process p = pb.start();
             // need this for executing windows commands (at least
             // needed for executing wmic command)
-            BufferedWriter bw = new BufferedWriter(
-                new OutputStreamWriter(p.getOutputStream()));
-            bw.write(13);
-            bw.flush();
-            bw.close();
+            BufferedWriter bw = null;
+            try {
+                bw = new BufferedWriter(
+                         new OutputStreamWriter(p.getOutputStream()));
+                bw.write(13);
+                bw.flush();
+            } finally {
+                if (bw != null) {
+                    bw.close();
+                }
+            }
 
             p.waitFor();
             if (p.exitValue() == 0) {
--- a/jdk/src/share/classes/java/awt/print/PrinterJob.java	Wed Jul 05 16:44:40 2017 +0200
+++ b/jdk/src/share/classes/java/awt/print/PrinterJob.java	Wed Jul 05 16:45:14 2017 +0200
@@ -117,15 +117,18 @@
      * FileOutputStream outstream;
      * StreamPrintService psPrinter;
      * String psMimeType = "application/postscript";
+     * PrinterJob pj = PrinterJob.getPrinterJob();
      *
      * StreamPrintServiceFactory[] factories =
      *     PrinterJob.lookupStreamPrintServices(psMimeType);
      * if (factories.length > 0) {
      *     try {
      *         outstream = new File("out.ps");
-     *         psPrinter =  factories[0].getPrintService(fos);
+     *         psPrinter =  factories[0].getPrintService(outstream);
      *         // psPrinter can now be set as the service on a PrinterJob
-     *     } catch (FileNotFoundException e) {
+     *         pj.setPrintService(psPrinter)
+     *     } catch (Exception e) {
+     *         e.printStackTrace();
      *     }
      * }
      * </pre>
--- a/jdk/src/share/classes/javax/crypto/Cipher.java	Wed Jul 05 16:44:40 2017 +0200
+++ b/jdk/src/share/classes/javax/crypto/Cipher.java	Wed Jul 05 16:45:14 2017 +0200
@@ -2377,7 +2377,7 @@
      * For more information on default key size in JCE jurisdiction
      * policy files, please see Appendix E in the
      * <a href=
-     *   "{@docRoot}/../technotes/guides/security/crypto/CryptoSpec.html#AppE">
+     *   "{@docRoot}/../technotes/guides/security/crypto/CryptoSpec.html#AppC">
      * Java Cryptography Architecture Reference Guide</a>.
      *
      * @param transformation the cipher transformation.
--- a/jdk/src/share/classes/javax/management/Descriptor.java	Wed Jul 05 16:44:40 2017 +0200
+++ b/jdk/src/share/classes/javax/management/Descriptor.java	Wed Jul 05 16:45:14 2017 +0200
@@ -147,6 +147,31 @@
  * might be disabled if it cannot currently be emitted but could be in
  * other circumstances.</td>
  *
+ * <tr id="exceptions"><td><i>exceptions</i><td>String[]</td>
+ * <td>MBeanAttributeInfo, MBeanConstructorInfo, MBeanOperationInfo</td>
+ *
+ * <td>The class names of the exceptions that can be thrown when invoking a
+ * constructor or operation, or getting an attribute. Exceptions thrown when
+ * setting an attribute are specified by the field
+ * <a href="#setExceptions">{@code setExceptions}</a>.
+ *
+ * <tr id="exceptionErrorCodes"><td>exceptionErrorCodes</td><td>String[]</td>
+ * <td>MBeanAttributeInfo<br>MBeanConstructorInfo<br>MBeanOperationInfo</td>
+ *
+ * <td>The {@linkplain GenericMBeanException#getErrorCode() error codes}
+ * that can appear in a {@link GenericMBeanException} thrown when getting
+ * this attribute or invoking this operation or constructor.  See also
+ * <a href="#setExceptionErrorCodes">{@code setExceptionErrorCodes}</a>.
+ *
+ * <tr id="exceptionUserDataTypes"><td>exceptionUserDataTypes</td>
+ * <td>{@link javax.management.openmbean.CompositeType}[]</td>
+ * <td>MBeanAttributeInfo<br>MBeanConstructorInfo<br>MBeanOperationInfo</td>
+ *
+ * <td>The types of {@linkplain GenericMBeanException#getUserData() userData}
+ * that can appear in a {@link GenericMBeanException} thrown when getting
+ * this attribute or invoking this operation or constructor.  See also
+ * <a href="#setExceptionUserDataTypes">{@code setExceptionUserDataTypes}</a>.
+ *
  * <tr id="immutableInfo"><td><i>immutableInfo</i><td>String</td>
  * <td>MBeanInfo</td>
  *
@@ -237,6 +262,13 @@
  * MXBean, if it was not the {@linkplain MXBeanMappingFactory#DEFAULT default}
  * one.</td>
  *
+ * <tr><td id="objectNameTemplate"><i>objectNameTemplate</i>
+ * </td><td>String</td>
+ * <td>MBeanInfo</td>
+ *
+ * <td>The template to use to name this MBean. Its value must be compliant with
+ * the specification of the {@link ObjectNameTemplate} annotation.</td>
+ *
  * <tr id="openType"><td><i>openType</i><td>{@link OpenType}</td>
  * <td>MBeanAttributeInfo<br>MBeanOperationInfo<br>MBeanParameterInfo</td>
  *
@@ -270,6 +302,30 @@
  * href="MXBean.html#type-names">Type Names</a> of the MXBean
  * specification.</p>
  *
+ * <tr id="setExceptions"><td><i>setExceptions</i><td>String[]</td>
+ * <td>MBeanAttributeInfo</td>
+ *
+ * <td>The class names of the exceptions that can be thrown when setting
+ * an attribute. Exceptions thrown when getting an attribute are specified
+ * by the field <a href="#exceptions">{@code exceptions}</a>.
+ *
+ * <tr id="setExceptionErrorCodes"><td>setExceptionErrorCodes</td>
+ * <td>String[]</td><td>MBeanAttributeInfo</td>
+ *
+ * <td>The {@linkplain GenericMBeanException#getErrorCode() error codes}
+ * that can appear in a {@link GenericMBeanException} thrown when setting
+ * this attribute.  See also
+ * <a href="#exceptionErrorCodes">{@code exceptionErrorCodes}</a>.
+ *
+ * <tr id="setExceptionUserDataTypes"><td>setExceptionUserDataTypes</td>
+ * <td>{@link javax.management.openmbean.CompositeType}[]</td>
+ * <td>MBeanAttributeInfo</td>
+ *
+ * <td>The types of {@linkplain GenericMBeanException#getUserData() userData}
+ * that can appear in a {@link GenericMBeanException} thrown when setting
+ * this attribute.  See also
+ * <a href="#exceptionUserDataTypes">{@code exceptionUserDataTypes}</a>.
+ *
  * <tr><td>severity</td><td>String<br>Integer</td>
  * <td>MBeanNotificationInfo</td>
  *
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/src/share/classes/javax/management/GenericMBeanException.java	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,276 @@
+/*
+ * Copyright 2008 Sun Microsystems, Inc.  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.  Sun designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+package javax.management;
+
+import javax.management.openmbean.CompositeData;
+
+/**
+ * <p>A customizable exception that has an optional error code string and
+ * payload.  By using this exception in an MBean, you can avoid requiring
+ * clients of the MBean to have custom exception classes.</p>
+ *
+ * <p>An instance of this class has an optional {@linkplain #getErrorCode()
+ * error code}, and an optional {@linkplain #getUserData() payload} known as
+ * {@code userData}.  This allows you to distinguish between different
+ * sorts of exception while still using this class for all of them.</p>
+ *
+ * <p>To produce a suitable {@code userData}, it is often simplest to use
+ * the MXBean framework.  For example, suppose you want to convey a severity
+ * and a subsystem with your exception, which are respectively an int and a
+ * String.  You could define a class like this:</p>
+ *
+ * <pre>
+ * public class ExceptionDetails {
+ *     private final int severity;
+ *     private final String subsystem;
+ *
+ *     {@link java.beans.ConstructorProperties &#64;ConstructorProperties}(<!--
+ * -->{"severity", "subsystem"})
+ *     public ExceptionDetails(int severity, String subsystem) {
+ *         this.severity = severity;
+ *         this.subsystem = subsystem;
+ *     }
+ *
+ *     public int getSeverity() {
+ *         return severity;
+ *     }
+ *
+ *     public String getSubsystem() {
+ *         return subsystem;
+ *     }
+ * }
+ * </pre>
+ *
+ * <p>Then you can get the MXBean framework to transform {@code ExceptionDetails}
+ * into {@link CompositeData} like this:</p>
+ *
+ * <pre>
+ * static final <!--
+ * -->{@link javax.management.openmbean.MXBeanMapping MXBeanMapping} <!--
+ * -->exceptionDetailsMapping = <!--
+ * -->{@link javax.management.openmbean.MXBeanMappingFactory#DEFAULT
+ *     MXBeanMappingFactory.DEFAULT}.mappingForType(
+ *         ExceptionDetails.class, MXBeanMappingFactory.DEFAULT);
+ *
+ * public static GenericMBeanException newGenericMBeanException(
+ *         String message, String errorCode, int severity, String subsystem) {
+ *     ExceptionDetails details = new ExceptionDetails(severity, subsystem);
+ *     CompositeData userData = (CompositeData)
+ *             exceptionDetailsMapping.toOpenValue(details);
+ *     return new GenericMBeanException(
+ *             message, errorCode, userData, (Throwable) null);
+ * }
+ *
+ * ...
+ *     throw newGenericMBeanException(message, errorCode, 25, "foosystem");
+ * </pre>
+ *
+ * <p>A client that knows the {@code ExceptionDetails} class can convert
+ * back from the {@code userData} of a {@code GenericMBeanException}
+ * that was generated as above:</p>
+ *
+ * <pre>
+ * ...
+ *     try {
+ *         mbeanProxy.foo();
+ *     } catch (GenericMBeanException e) {
+ *         CompositeData userData = e.getUserData();
+ *         ExceptionDetails details = (ExceptionDetails)
+ *                 exceptionDetailsMapping.fromOpenValue(userData);
+ *         System.out.println("Exception Severity: " + details.getSeverity());
+ *     }
+ * ...
+ * </pre>
+ *
+ * <p>The Descriptor field <a href="Descriptor.html#exceptionErrorCodes"><!--
+ * -->exceptionErrorCodes</a> can be used to specify in the
+ * {@link MBeanOperationInfo} for an operation what the possible
+ * {@linkplain #getErrorCode() error codes} are when that operation throws
+ * {@code GenericMBeanException}.  It can also be used in an {@link
+ * MBeanConstructorInfo} or {@link MBeanAttributeInfo} to specify what the
+ * possible error codes are for {@code GenericMBeanException} when invoking
+ * that constructor or getting that attribute, respectively.  The field
+ * <a href="Descriptor.html#setExceptionErrorCodes"><!--
+ * -->setExceptionErrorCodes</a> can be used to specify what the possible
+ * error codes are when setting an attribute.</p>
+ *
+ * <p>You may want to use the {@link DescriptorKey &#64;DescriptorKey} facility
+ * to define annotations that allow you to specify the error codes.  If you
+ * define...</p>
+ *
+ * <pre>
+ * {@link java.lang.annotation.Documented &#64;Documented}
+ * {@link java.lang.annotation.Target &#64;Target}(ElementType.METHOD)
+ * {@link java.lang.annotation.Retention &#64;Retention}(RetentionPolicy.RUNTIME)
+ * public &#64;interface ErrorCodes {
+ *     &#64;DescriptorKey("exceptionErrorCodes")
+ *     String[] value();
+ * }
+ * </pre>
+ *
+ * <p>...then you can write MBean interfaces like this...</p>
+ *
+ * <pre>
+ * public interface FooMBean {  // or FooMXBean
+ *     &#64;ErrorCodes({"com.example.bad", "com.example.worse"})
+ *     public void foo() throws GenericMBeanException;
+ * }
+ * </pre>
+ *
+ * <p>The Descriptor field <a href="Descriptor.html#exceptionUserDataTypes"><!--
+ * -->exceptionUserDataTypes</a> can be used to specify in the
+ * {@link MBeanOperationInfo} for an operation what the possible types of
+ * {@linkplain #getUserData() userData} are when that operation throws
+ * {@code GenericMBeanException}.  It is an array of
+ * {@link javax.management.openmbean.CompositeType CompositeType} values
+ * describing the possible {@link CompositeData} formats.  This field can also be used
+ * in an {@link MBeanConstructorInfo} or {@link MBeanAttributeInfo} to specify
+ * the possible types of user data for {@code GenericMBeanException} when
+ * invoking that constructor or getting that attribute, respectively.  The
+ * field
+ * <a href="Descriptor.html#setExceptionUserDataTypes">setExceptionUserDataTypes</a>
+ * can be used to specify the possible types of user data for exceptions when
+ * setting an attribute.  If a Descriptor has both {@code exceptionErrorCodes}
+ * and {@code exceptionUserDataTypes} then the two arrays should be the
+ * same size; each pair of corresponding elements describes one kind
+ * of exception.  Similarly for {@code setExceptionErrorCodes} and {@code
+ * setExceptionUserDataTypes}.
+ *
+ *
+ * <h4>Serialization</h4>
+ *
+ * <p>For compatibility reasons, instances of this class are serialized as
+ * instances of {@link MBeanException}.  Special logic in that class converts
+ * them back to instances of this class at deserialization time.  If the
+ * serialized object is deserialized in an earlier version of the JMX API
+ * that does not include this class, then it will appear as just an {@code
+ * MBeanException} and the error code or userData will not be available.</p>
+ *
+ * @since 1.7
+ */
+public class GenericMBeanException extends MBeanException {
+    private static final long serialVersionUID = -1560202003985932823L;
+
+    /**
+     * <p>Constructs a new {@code GenericMBeanException} with the given
+     * detail message.  This constructor is
+     * equivalent to {@link #GenericMBeanException(String, String,
+     * CompositeData, Throwable) GenericMBeanException(message, "",
+     * null, null)}.</p>
+     *
+     * @param message the exception detail message.
+     */
+    public GenericMBeanException(String message) {
+        this(message, "", null, null);
+    }
+
+    /**
+     * <p>Constructs a new {@code GenericMBeanException} with the given
+     * detail message and cause.  This constructor is
+     * equivalent to {@link #GenericMBeanException(String, String,
+     * CompositeData, Throwable) GenericMBeanException(message, "",
+     * null, cause)}.</p>
+     *
+     * @param message the exception detail message.
+     * @param cause the cause of this exception.  Can be null.
+     */
+    public GenericMBeanException(String message, Throwable cause) {
+        this(message, "", null, cause);
+    }
+
+    /**
+     * <p>Constructs a new {@code GenericMBeanException} with the given
+     * detail message, error code, and user data.  This constructor is
+     * equivalent to {@link #GenericMBeanException(String, String,
+     * CompositeData, Throwable) GenericMBeanException(message, errorCode,
+     * userData, null)}.</p>
+     *
+     * @param message the exception detail message.
+     * @param errorCode the exception error code.  Specifying a null value
+     * is equivalent to specifying an empty string.  It is recommended to use
+     * the same reverse domain name convention as package names, for example
+     * "com.example.foo.UnexpectedFailure".  There is no requirement that the
+     * error code be a syntactically valid Java identifier.
+     * @param userData extra information about the exception.  Can be null.
+     */
+    public GenericMBeanException(
+            String message, String errorCode, CompositeData userData) {
+        this(message, errorCode, userData, null);
+    }
+
+    /**
+     * <p>Constructs a new {@code GenericMBeanException} with the given
+     * detail message, error code, user data, and cause.</p>
+     *
+     * @param message the exception detail message.
+     * @param errorCode the exception error code.  Specifying a null value
+     * is equivalent to specifying an empty string.  It is recommended to use
+     * the same reverse domain name convention as package names, for example
+     * "com.example.foo.UnexpectedFailure".  There is no requirement that the
+     * error code be a syntactically valid Java identifier.
+     * @param userData extra information about the exception.  Can be null.
+     * @param cause the cause of this exception.  Can be null.
+     */
+    public GenericMBeanException(
+            String message, String errorCode, CompositeData userData,
+            Throwable cause) {
+        super(message, (errorCode == null) ? "" : errorCode, userData, cause);
+    }
+
+    /**
+     * <p>Returns the error code of this exception.</p>
+     *
+     * @return the error code.  This value is never null.
+     */
+    public String getErrorCode() {
+        return errorCode;
+    }
+
+    /**
+     * <p>Returns the userData of this exception.</p>
+     *
+     * @return the userData.  Can be null.
+     */
+    public CompositeData getUserData() {
+        return userData;
+    }
+
+    /**
+     * <p>Instances of this class are serialized as instances of
+     * {@link MBeanException}.  {@code MBeanException} has private fields that can
+     * not be set by its public constructors.  They can only be set in objects
+     * returned by this method.  When an {@code MBeanException} instance is
+     * deserialized, if those fields are present then its {@code readResolve}
+     * method will substitute a {@code GenericMBeanException} equivalent to
+     * this one.</p>
+     */
+    Object writeReplace() {
+        MBeanException x = new MBeanException(
+                getMessage(), errorCode, userData, getCause());
+        x.setStackTrace(this.getStackTrace());
+        return x;
+    }
+}
--- a/jdk/src/share/classes/javax/management/JMX.java	Wed Jul 05 16:44:40 2017 +0200
+++ b/jdk/src/share/classes/javax/management/JMX.java	Wed Jul 05 16:45:14 2017 +0200
@@ -76,6 +76,12 @@
             "descriptionResourceKey";
 
     /**
+     * The name of the <a href="Descriptor.html#exceptions">{@code
+     * exceptions}</a> field.
+     */
+    public static final String EXCEPTIONS_FIELD = "exceptions";
+
+    /**
      * The name of the <a href="Descriptor.html#immutableInfo">{@code
      * immutableInfo}</a> field.
      */
@@ -138,6 +144,18 @@
     public static final String ORIGINAL_TYPE_FIELD = "originalType";
 
     /**
+     * The name of the <a href="Descriptor.html#setExceptions">{@code
+     * setExceptions}</a> field.
+     */
+    public static final String SET_EXCEPTIONS_FIELD = "setExceptions";
+
+    /**
+     * The name of the <a href="Descriptor.html#objectNameTemplate">{@code
+     * objectNameTemplate}</a> field.
+     */
+    public static final String OBJECT_NAME_TEMPLATE = "objectNameTemplate";
+
+    /**
      * <p>Options to apply to an MBean proxy or to an instance of {@link
      * StandardMBean}.</p>
      *
--- a/jdk/src/share/classes/javax/management/MBeanAttributeInfo.java	Wed Jul 05 16:44:40 2017 +0200
+++ b/jdk/src/share/classes/javax/management/MBeanAttributeInfo.java	Wed Jul 05 16:45:14 2017 +0200
@@ -186,8 +186,10 @@
              (getter != null),
              (setter != null),
              isIs(getter),
-             ImmutableDescriptor.union(Introspector.descriptorForElement(getter),
-                                   Introspector.descriptorForElement(setter)));
+             ImmutableDescriptor.union(Introspector.
+             descriptorForElement(getter, false),
+                                   Introspector.descriptorForElement(setter,
+                                   true)));
     }
 
     /**
--- a/jdk/src/share/classes/javax/management/MBeanConstructorInfo.java	Wed Jul 05 16:44:40 2017 +0200
+++ b/jdk/src/share/classes/javax/management/MBeanConstructorInfo.java	Wed Jul 05 16:45:14 2017 +0200
@@ -67,7 +67,7 @@
     public MBeanConstructorInfo(String description, Constructor<?> constructor) {
         this(constructor.getName(), description,
              constructorSignature(constructor),
-             Introspector.descriptorForElement(constructor));
+             Introspector.descriptorForElement(constructor, false));
     }
 
     /**
--- a/jdk/src/share/classes/javax/management/MBeanException.java	Wed Jul 05 16:44:40 2017 +0200
+++ b/jdk/src/share/classes/javax/management/MBeanException.java	Wed Jul 05 16:45:14 2017 +0200
@@ -25,6 +25,8 @@
 
 package javax.management;
 
+import javax.management.openmbean.CompositeData;
+
 
 /**
  * Represents "user defined" exceptions thrown by MBean methods
@@ -41,6 +43,26 @@
     private static final long serialVersionUID = 4066342430588744142L;
 
     /**
+     * @serial This field is null for instances of this class that were
+     * produced by its public constructors.  It is non-null for instances
+     * of this class that represent serialized instances of {@link
+     * GenericMBeanException}.
+     *
+     * @see GenericMBeanException#getErrorCode()
+     */
+    final String errorCode;
+
+    /**
+     * @serial This field is null for instances of this class that were
+     * produced by its public constructors.  It may be non-null for instances
+     * of this class that represent serialized instances of {@link
+     * GenericMBeanException}.
+     *
+     * @see GenericMBeanException#getUserData()
+     */
+    final CompositeData userData;
+
+    /**
      * @serial Encapsulated {@link Exception}
      */
     private java.lang.Exception exception ;
@@ -51,9 +73,8 @@
      *
      * @param e the wrapped exception.
      */
-    public MBeanException(java.lang.Exception e) {
-        super() ;
-        exception = e ;
+    public MBeanException(Exception e) {
+        this(null, null, null, e);
     }
 
     /**
@@ -63,11 +84,19 @@
      * @param e the wrapped exception.
      * @param message the detail message.
      */
-    public MBeanException(java.lang.Exception e, String message) {
-        super(message) ;
-        exception = e ;
+    public MBeanException(Exception e, String message) {
+        this(message, null, null, e);
     }
 
+    MBeanException(
+            String message, String errorCode, CompositeData userData, Throwable cause) {
+        super(message);
+        initCause(cause);
+        if (cause instanceof Exception)
+            this.exception = (Exception) cause;
+        this.errorCode = errorCode;
+        this.userData = userData;
+    }
 
     /**
      * Return the actual {@link Exception} thrown.
@@ -79,11 +108,24 @@
     }
 
     /**
-     * Return the actual {@link Exception} thrown.
-     *
-     * @return the wrapped exception.
+     * This method is invoked when deserializing instances of this class.
+     * If the {@code errorCode} field of the deserialized instance is not
+     * null, this method returns an instance of {@link GenericMBeanException}
+     * instead.  Otherwise it returns {@code this}.
+     * @return {@code this}, or a {@code GenericMBeanException}.
      */
-    public Throwable getCause() {
-        return exception;
+    Object readResolve() {
+        if (errorCode == null) {
+            // serial compatibility: earlier versions did not set
+            // Throwable.cause because they overrode getCause().
+            if (getCause() == null && exception != null)
+                initCause(exception);
+            return this;
+        } else {
+            Throwable t = new GenericMBeanException(
+                    getMessage(), errorCode, userData, getCause());
+            t.setStackTrace(this.getStackTrace());
+            return t;
+        }
     }
 }
--- a/jdk/src/share/classes/javax/management/MBeanOperationInfo.java	Wed Jul 05 16:44:40 2017 +0200
+++ b/jdk/src/share/classes/javax/management/MBeanOperationInfo.java	Wed Jul 05 16:45:14 2017 +0200
@@ -113,7 +113,7 @@
              methodSignature(method),
              method.getReturnType().getName(),
              UNKNOWN,
-             Introspector.descriptorForElement(method));
+             Introspector.descriptorForElement(method, false));
     }
 
     /**
--- a/jdk/src/share/classes/javax/management/MBeanRegistration.java	Wed Jul 05 16:44:40 2017 +0200
+++ b/jdk/src/share/classes/javax/management/MBeanRegistration.java	Wed Jul 05 16:45:14 2017 +0200
@@ -79,6 +79,9 @@
  * }
  * </pre>
  *
+ * <p>(Listeners may be invoked in the same thread as the caller of
+ * {@code sender.sendNotification}.)</p>
+ *
  * <p>A field to be injected must not be static.  It is recommended that
  * such fields be declared {@code volatile}.</p>
  *
--- a/jdk/src/share/classes/javax/management/MBeanServer.java	Wed Jul 05 16:44:40 2017 +0200
+++ b/jdk/src/share/classes/javax/management/MBeanServer.java	Wed Jul 05 16:45:14 2017 +0200
@@ -186,11 +186,11 @@
  * caller's permissions must imply {@link
  * MBeanPermission#MBeanPermission(String,String,String,ObjectName,String)
  * MBeanPermission(mbeanServerName, null, null, null, "queryMBeans")}.
- * Additionally, for each MBean that matches <code>name</code>,
+ * Additionally, for each MBean <em>n</em> that matches <code>name</code>,
  * if the caller's permissions do not imply {@link
  * MBeanPermission#MBeanPermission(String,String,String,ObjectName,String)
- * MBeanPermission(mbeanServerName, className, null, name, "queryMBeans")}, the
- * MBean server will behave as if that MBean did not exist.</p>
+ * MBeanPermission(mbeanServerName, className, null, <em>n</em>, "queryMBeans")},
+ * the MBean server will behave as if that MBean did not exist.</p>
  *
  * <p>Certain query elements perform operations on the MBean server.
  * If the caller does not have the required permissions for a given
@@ -351,11 +351,14 @@
 
     /**
      * <p>Registers a pre-existing object as an MBean with the MBean
-     * server. If the object name given is null, the MBean must
-     * provide its own name by implementing the {@link
+     * server.  If the object name given is null, the
+     * MBean must provide its own name in one or both of two ways: by implementing the {@link
      * javax.management.MBeanRegistration MBeanRegistration} interface
      * and returning the name from the {@link
-     * MBeanRegistration#preRegister preRegister} method.</p>
+     * MBeanRegistration#preRegister preRegister} method; or by defining
+     * an {@code objectNameTemplate} field in its {@link Descriptor},
+     * typically using the {@link ObjectNameTemplate &#64;ObjectNameTemplate}
+     * annotation.</p>
      *
      * <p>If this method successfully registers an MBean, a notification
      * is sent as described <a href="#notif">above</a>.</p>
@@ -421,10 +424,16 @@
     public ObjectInstance getObjectInstance(ObjectName name)
             throws InstanceNotFoundException;
 
-    // doc comment inherited from MBeanServerConnection
+    /**
+     * {@inheritDoc}
+      * @throws RuntimeOperationsException {@inheritDoc}
+     */
     public Set<ObjectInstance> queryMBeans(ObjectName name, QueryExp query);
 
-    // doc comment inherited from MBeanServerConnection
+    /**
+     * {@inheritDoc}
+      * @throws RuntimeOperationsException {@inheritDoc}
+    */
     public Set<ObjectName> queryNames(ObjectName name, QueryExp query);
 
     // doc comment inherited from MBeanServerConnection
--- a/jdk/src/share/classes/javax/management/MBeanServerConnection.java	Wed Jul 05 16:44:40 2017 +0200
+++ b/jdk/src/share/classes/javax/management/MBeanServerConnection.java	Wed Jul 05 16:45:14 2017 +0200
@@ -46,11 +46,14 @@
      * MBean server will use its {@link
      * javax.management.loading.ClassLoaderRepository Default Loader
      * Repository} to load the class of the MBean.  An object name is
-     * associated to the MBean.  If the object name given is null, the
-     * MBean must provide its own name by implementing the {@link
+     * associated with the MBean.  If the object name given is null, the
+     * MBean must provide its own name in one or both of two ways: by implementing the {@link
      * javax.management.MBeanRegistration MBeanRegistration} interface
      * and returning the name from the {@link
-     * MBeanRegistration#preRegister preRegister} method.</p>
+     * MBeanRegistration#preRegister preRegister} method; or by defining
+     * an {@code objectNameTemplate} field in its {@link Descriptor},
+     * typically using the {@link ObjectNameTemplate &#64;ObjectNameTemplate}
+     * annotation.</p>
      *
      * <p>This method is equivalent to {@link
      * #createMBean(String,ObjectName,Object[],String[])
@@ -117,13 +120,16 @@
     /**
      * <p>Instantiates and registers an MBean in the MBean server.  The
      * class loader to be used is identified by its object name. An
-     * object name is associated to the MBean. If the object name of
+     * object name is associated with the MBean. If the object name of
      * the loader is null, the ClassLoader that loaded the MBean
-     * server will be used.  If the MBean's object name given is null,
-     * the MBean must provide its own name by implementing the {@link
+     * server will be used.  If the object name given is null, the
+     * MBean must provide its own name in one or both of two ways: by implementing the {@link
      * javax.management.MBeanRegistration MBeanRegistration} interface
      * and returning the name from the {@link
-     * MBeanRegistration#preRegister preRegister} method.</p>
+     * MBeanRegistration#preRegister preRegister} method; or by defining
+     * an {@code objectNameTemplate} field in its {@link Descriptor},
+     * typically using the {@link ObjectNameTemplate &#64;ObjectNameTemplate}
+     * annotation.</p>
      *
      * <p>This method is equivalent to {@link
      * #createMBean(String,ObjectName,ObjectName,Object[],String[])
@@ -198,11 +204,14 @@
      * MBean server will use its {@link
      * javax.management.loading.ClassLoaderRepository Default Loader
      * Repository} to load the class of the MBean.  An object name is
-     * associated to the MBean.  If the object name given is null, the
-     * MBean must provide its own name by implementing the {@link
+     * associated with the MBean.  If the object name given is null, the
+     * MBean must provide its own name in one or both of two ways: by implementing the {@link
      * javax.management.MBeanRegistration MBeanRegistration} interface
      * and returning the name from the {@link
-     * MBeanRegistration#preRegister preRegister} method.
+     * MBeanRegistration#preRegister preRegister} method; or by defining
+     * an {@code objectNameTemplate} field in its {@link Descriptor},
+     * typically using the {@link ObjectNameTemplate &#64;ObjectNameTemplate}
+     * annotation.</p>
      *
      * @param className The class name of the MBean to be instantiated.
      * @param name The object name of the MBean. May be null.
@@ -267,15 +276,18 @@
                    NotCompliantMBeanException, IOException;
 
     /**
-     * Instantiates and registers an MBean in the MBean server.  The
+     * <p>Instantiates and registers an MBean in the MBean server.  The
      * class loader to be used is identified by its object name. An
-     * object name is associated to the MBean. If the object name of
+     * object name is associated with the MBean. If the object name of
      * the loader is not specified, the ClassLoader that loaded the
-     * MBean server will be used.  If the MBean object name given is
-     * null, the MBean must provide its own name by implementing the
-     * {@link javax.management.MBeanRegistration MBeanRegistration}
-     * interface and returning the name from the {@link
-     * MBeanRegistration#preRegister preRegister} method.
+     * MBean server will be used.  If the object name given is null, the
+     * MBean must provide its own name in one or both of two ways: by implementing the {@link
+     * javax.management.MBeanRegistration MBeanRegistration} interface
+     * and returning the name from the {@link
+     * MBeanRegistration#preRegister preRegister} method; or by defining
+     * an {@code objectNameTemplate} field in its {@link Descriptor},
+     * typically using the {@link ObjectNameTemplate &#64;ObjectNameTemplate}
+     * annotation.</p>
      *
      * @param className The class name of the MBean to be instantiated.
      * @param name The object name of the MBean. May be null.
@@ -424,7 +436,17 @@
      * specified, all the MBeans registered will be retrieved.
      * @param query The query expression to be applied for selecting
      * MBeans. If null no query expression will be applied for
-     * selecting MBeans.
+     * selecting MBeans.  ObjectName patterns that may be contained in the
+     * query expression will be
+     * <a href="namespace/package-summary.html#NamespaceAndQueries"><!--
+     * -->evaluated</a> in the context of the
+     * {@link javax.management.namespace namespace}
+     * in which the MBeans selected by {@code name} are registered.
+     * Thus, in the {@code query} parameter, no ObjectName pattern containing a
+     * namespace path can match any of the MBean names selected by {@code name}.
+     * See the
+     * <a href="namespace/package-summary.html#RejectedNamespacePatterns"><!--
+     * -->namespaces documentation</a> for more details.
      *
      * @return A set containing the <CODE>ObjectInstance</CODE>
      * objects for the selected MBeans.  If no MBean satisfies the
@@ -432,6 +454,11 @@
      *
      * @exception IOException A communication problem occurred when
      * talking to the MBean server.
+     * @exception RuntimeOperationsException Wraps a
+     * <CODE>java.lang.IllegalArgumentException</CODE>: The <em>name</em>
+     * parameter contains an invalid pattern. See the
+     * <a href="namespace/package-summary.html#RejectedNamespacePatterns"><!--
+     * -->namespaces documentation</a> for more details.
      */
     public Set<ObjectInstance> queryMBeans(ObjectName name, QueryExp query)
             throws IOException;
@@ -452,7 +479,17 @@
      * specified, the name of all registered MBeans will be retrieved.
      * @param query The query expression to be applied for selecting
      * MBeans. If null no query expression will be applied for
-     * selecting MBeans.
+     * selecting MBeans. ObjectName patterns that may be contained in the
+     * query expression will be
+     * <a href="namespace/package-summary.html#NamespaceAndQueries"><!--
+     * -->evaluated</a> in the context of the
+     * {@link javax.management.namespace namespace}
+     * in which the MBeans slected by {@code name} are registered.
+     * Thus, in the {@code query} parameter, no ObjectName pattern containing a
+     * namespace path can match any of the MBean names selected by {@code name}.
+     * See the
+     * <a href="namespace/package-summary.html#RejectedNamespacePatterns"><!--
+     * -->namespaces documentation</a> for more details.
      *
      * @return A set containing the ObjectNames for the MBeans
      * selected.  If no MBean satisfies the query, an empty list is
@@ -460,6 +497,11 @@
      *
      * @exception IOException A communication problem occurred when
      * talking to the MBean server.
+     * @exception RuntimeOperationsException Wraps a
+     * <CODE>java.lang.IllegalArgumentException</CODE>: The <em>name</em>
+     * parameter contains an invalid pattern. See the
+     * <a href="namespace/package-summary.html#RejectedNamespacePatterns"><!--
+     * -->namespaces documentation</a> for more details.
      */
     public Set<ObjectName> queryNames(ObjectName name, QueryExp query)
             throws IOException;
--- a/jdk/src/share/classes/javax/management/MBeanServerNotification.java	Wed Jul 05 16:44:40 2017 +0200
+++ b/jdk/src/share/classes/javax/management/MBeanServerNotification.java	Wed Jul 05 16:45:14 2017 +0200
@@ -57,15 +57,55 @@
  *             what = "Unknown type " + n.getType();
  *         System.out.println("Received MBean Server notification: " + what + ": " +
  *                 mbsn.getMBeanName());
+ *     }
  * };
  *
  * ...
  *     mbeanServer.addNotificationListener(
  *             MBeanServerDelegate.DELEGATE_NAME, printListener, null, null);
  * </pre>
- *
- * <p>The following code prints a message every time an MBean is registered
- * or unregistered in the MBean Server {@code mbeanServer}:</p>
+ * <p id="group">
+ * An MBean which is not an {@link MBeanServerDelegate} may also emit
+ * MBeanServerNotifications. In particular, a custom subclass of the
+ * {@link javax.management.namespace.JMXDomain JMXDomain} MBean or a custom
+ * subclass of the {@link javax.management.namespace.JMXNamespace JMXNamespace}
+ * MBean may emit an MBeanServerNotification for a group of MBeans.<br>
+ * An MBeanServerNotification emitted to denote the registration or
+ * unregistration of a group of MBeans has the following characteristics:
+ * <ul><li>Its {@linkplain Notification#getType() notification type} is
+ *     {@code "JMX.mbean.registered.group"} or
+ *     {@code "JMX.mbean.unregistered.group"}, which can also be written {@link
+ *     MBeanServerNotification#REGISTRATION_NOTIFICATION}{@code + ".group"} or
+ *     {@link
+ *     MBeanServerNotification#UNREGISTRATION_NOTIFICATION}{@code + ".group"}.
+ * </li>
+ * <li>Its {@linkplain #getMBeanName() MBean name} is an ObjectName pattern
+ *     that selects the set (or a superset) of the MBeans being registered
+ *     or unregistered</li>
+ * <li>Its {@linkplain Notification#getUserData() user data} can optionally
+ *     be set to an array of ObjectNames containing the names of all MBeans
+ *     being registered or unregistered.</li>
+ * </ul>
+ * </p>
+ * <p>
+ * MBeans which emit these group registration/unregistration notifications will
+ * declare them in their {@link MBeanInfo#getNotifications()
+ * MBeanNotificationInfo}.
+ * </p>
+ * <P>
+ * To receive a group MBeanServerNotification, you need to register a listener
+ * with the MBean that emits it. For instance, assuming that the {@link
+ * javax.management.namespace.JMXNamespace JMXNamespace} MBean handling
+ * namespace {@code "foo"} has declared that it emits such a notification,
+ * you will need to register your notification listener with that MBean, which
+ * will be named {@link
+ * javax.management.namespace.JMXNamespaces#getNamespaceObjectName(java.lang.String)
+ * foo//:type=JMXNamespace}.
+ * </p>
+ * <p>The following code prints a message every time a group of MBean is
+ * registered or unregistered in the namespace {@code "foo"}, assumimg its
+ * {@link javax.management.namespace.JMXNamespace handler} supports
+ * group MBeanServerNotifications:</p>
  *
  * <pre>
  * private static final NotificationListener printListener = new NotificationListener() {
@@ -76,19 +116,33 @@
  *         }
  *         MBeanServerNotification mbsn = (MBeanServerNotification) n;
  *         String what;
- *         if (n.getType().equals(MBeanServerNotification.REGISTRATION_NOTIFICATION))
+ *         ObjectName[] names = null;
+ *         if (n.getType().equals(MBeanServerNotification.REGISTRATION_NOTIFICATION)) {
  *             what = "MBean registered";
- *         else if (n.getType().equals(MBeanServerNotification.UNREGISTRATION_NOTIFICATION))
+ *         } else if (n.getType().equals(MBeanServerNotification.UNREGISTRATION_NOTIFICATION)) {
  *             what = "MBean unregistered";
- *         else
+ *         } else if (n.getType().equals(MBeanServerNotification.REGISTRATION_NOTIFICATION+".group")) {
+ *             what = "Group of MBeans registered matching";
+ *             if (mbsn.getUserData() instanceof ObjectName[])
+ *                names =  (ObjectName[]) mbsn.getUserData();
+ *         } else if (n.getType().equals(MBeanServerNotification.UNREGISTRATION_NOTIFICATION+".group")) {
+ *             what = "Group of MBeans unregistered matching";
+ *             if (mbsn.getUserData() instanceof ObjectName[])
+ *                names = (ObjectName[]) mbsn.getUserData();
+ *         } else
  *             what = "Unknown type " + n.getType();
  *         System.out.println("Received MBean Server notification: " + what + ": " +
  *                 mbsn.getMBeanName());
+ *         if (names != null) {
+ *              for (ObjectName mb : names)
+ *                  System.out.println("\t"+mb);
+ *         }
+ *     }
  * };
  *
  * ...
  *     mbeanServer.addNotificationListener(
- *             MBeanServerDelegate.DELEGATE_NAME, printListener, null, null);
+ *             JMXNamespaces.getNamespaceObjectName("foo"), printListener, null, null);
  * </pre>
  *
  * @since 1.5
--- a/jdk/src/share/classes/javax/management/NotificationBroadcasterSupport.java	Wed Jul 05 16:44:40 2017 +0200
+++ b/jdk/src/share/classes/javax/management/NotificationBroadcasterSupport.java	Wed Jul 05 16:45:14 2017 +0200
@@ -249,6 +249,26 @@
             }
         }
     }
+    /**
+     * Returns true if there are any listeners.
+     *
+     * @return true if there is at least one listener that has been added with
+     * {@code addNotificationListener} and not subsequently removed with
+     * {@code removeNotificationListener} or {@code removeAllNotificationListeners}.
+     * @since 1.7
+     */
+    public boolean isListenedTo() {
+        return listenerList.size() > 0;
+    }
+
+    /**
+     * Removes all listeners.
+     *
+     * @since 1.7
+     */
+    public void removeAllNotificationListeners() {
+        listenerList.clear();
+    }
 
     /**
      * <p>This method is called by {@link #sendNotification
--- a/jdk/src/share/classes/javax/management/NotificationInfo.java	Wed Jul 05 16:44:40 2017 +0200
+++ b/jdk/src/share/classes/javax/management/NotificationInfo.java	Wed Jul 05 16:45:14 2017 +0200
@@ -44,7 +44,13 @@
  *                          "com.example.notifs.destroy"})
  * public interface CacheMBean {...}
  *
- * public class Cache implements CacheMBean {...}
+ * public class Cache
+ *         extends NotificationBroadcasterSupport implements CacheMBean {
+ *     public Cache() {
+ *         super();   // do not supply any MBeanNotificationInfo[]
+ *     }
+ *     ...
+ * }
  * </pre>
  *
  * <pre>
@@ -52,7 +58,11 @@
  * {@link MBean @MBean}
  * {@code @NotificationInfo}(types={"com.example.notifs.create",
  *                          "com.example.notifs.destroy"})
- * public class Cache {...}
+ * public class Cache {
+ *     <a href="MBeanRegistration.html#injection">{@code @Resource}</a>
+ *     private volatile SendNotification sendNotification;
+ *     ...
+ * }
  * </pre>
  *
  * <p>Each {@code @NotificationInfo} produces an {@link
@@ -64,6 +74,13 @@
  * several {@code @NotificationInfo} annotations into a containing
  * {@link NotificationInfos @NotificationInfos} annotation.
  *
+ * <p>The {@code @NotificationInfo} and {@code @NotificationInfos} annotations
+ * are ignored on an MBean that is not a {@linkplain JMX#isNotificationSource
+ * notification source} or that implements {@link NotificationBroadcaster} and
+ * returns a non-empty array from its {@link
+ * NotificationBroadcaster#getNotificationInfo() getNotificationInfo()}
+ * method.</p>
+ *
  * <p>The {@code NotificationInfo} and {@code NotificationInfos}
  * annotations can be applied to the MBean implementation class, or to
  * any parent class or interface.  These annotations on a class take
@@ -71,7 +88,8 @@
  * If an MBean does not have these annotations on its class or any
  * superclass, then superinterfaces are examined.  It is an error for
  * more than one superinterface to have these annotations, unless one
- * of them is a child of all the others.</p>
+ * of them is a descendant of all the others; registering such an erroneous
+ * MBean will cause a {@link NotCompliantMBeanException}.</p>
  */
 @Documented
 @Inherited
--- a/jdk/src/share/classes/javax/management/ObjectName.java	Wed Jul 05 16:44:40 2017 +0200
+++ b/jdk/src/share/classes/javax/management/ObjectName.java	Wed Jul 05 16:45:14 2017 +0200
@@ -56,14 +56,38 @@
  * properties.</p>
  *
  * <p>The <em>domain</em> is a string of characters not including
- * the character colon (<code>:</code>).  It is recommended that the domain
- * should not contain the string "{@code //}", which is reserved for future use.
+ * the character colon (<code>:</code>).</p>
+ * <p>Starting with the version 2.0 of the JMX specification, the
+ * <em>domain</em> can also start with a {@linkplain
+ * javax.management.namespace#NamespacePrefix namespace prefix} identifying
+ * the {@linkplain javax.management.namespace namespace} in which the
+ * MBean is registered. A namespace prefix is a path string where
+ * elements are separated by a double slash (<code>//</code>).
+ * It identifies the {@linkplain  javax.management.namespace namespace} in
+ * which the MBean so named is registered.</p>
+ *
+ * <p>For instance the ObjectName <em>bar//baz:k=v</em> identifiies an MBean
+ * named <em>baz:k=v</em> in the namespace <em>bar</em>. Similarly the
+ * ObjectName <em>foo//bar//baz:k=v</em> identifiies an MBean named
+ * <em>baz:k=v</em> in the namespace <em>foo//bar</em>. See the {@linkplain
+ * javax.management.namespace namespace} documentation for more details.</p>
  *
  * <p>If the domain includes at least one occurrence of the wildcard
  * characters asterisk (<code>*</code>) or question mark
  * (<code>?</code>), then the object name is a pattern.  The asterisk
  * matches any sequence of zero or more characters, while the question
- * mark matches any single character.</p>
+ * mark matches any single character. <br>
+ * A namespace separator <code>//</code> does not match wildcard
+ * characters unless it is at the very end of the domain string.
+ * So <em>foo*bar*:*</em> does not match <em>foo//bar:k=v</em> but it
+ * does match <em>fooxbar//:k=v</em>.
+ * </p>
+ *
+ * <p>When included in a namespace path the special path element
+ * <code>**</code> matches any number of sub namespaces
+ * recursively, but only if used as a complete namespace path element,
+ * as in <code>*&#42;//b//c//D:k=v</code> or <code>a//*&#42;//c//D:k=v</code>
+ * - see <a href="#metawildcard">below</a>.
  *
  * <p>If the domain is empty, it will be replaced in certain contexts
  * by the <em>default domain</em> of the MBean server in which the
@@ -171,6 +195,51 @@
  *     with {@code \}.</li>
  * </ul>
  *
+ * <p id="metawildcard"><b>Pattern and namespaces:</b></p>
+ * <p>In an object name pattern, a path element
+ *    of exactly <code>**</code> corresponds to a meta
+ *    wildcard that will match any number of sub namespaces.<br>Hence:</p>
+ * <table border="0" cellpadding="5">
+ * <thead><th>pattern</th><th>matches</th><th>doesn't match</th></thead>
+ * <tbody>
+ * <tr><td><ul><li><code>*&#42;//D:k=v</code></li></ul></td>
+ *     <td><code>a//D:k=v</code><br>
+ *         <code>a//b//D:k=v</code><br>
+ *         <code>a//b//c//D:k=v</code></td>
+ *     <td><code>D:k=v</code></td></tr>
+ * <tr><td><ul><li><code>a//*&#42;//D:k=v</code></li></ul></td>
+ *     <td><code>a//b//D:k=v</code><br>
+ *         <code>a//b//c//D:k=v</code></td>
+ *     <td><code>b//b//c//D:k=v</code><br>
+ *         <code>a//D:k=v</code><br>
+ *         <code>D:k=v</code></td></tr>
+ * <tr><td><ul><li><code>a//*&#42;//e//D:k=v</code></li></ul></td>
+ *     <td><code>a//b//e//D:k=v</code><br>
+ *         <code>a//b//c//e//D:k=v</code></td>
+ *     <td><code>a//b//c//c//D:k=v</code><br>
+ *         <code>b//b//c//e//D:k=v</code><br>
+ *         <code>a//e//D:k=v</code><br>
+ *         <code>e//D:k=v</code></td></tr>
+ * <tr><td><ul><li><code>a//b*&#42;//e//D:k=v</code></li></ul></td>
+ *      <td><code>a//b//e//D:k=v</code></td>
+ *      <td><code>a//b//c//e//D:k=v</code><br>
+ *          because in that case <code>b*&#42;</code><br>
+ *         is not a meta-wildcard - and <code>b**</code><br>
+ *         is thus equivalent to <code>b*</code>.</td></tr>
+ * </tbody>
+ * </table>
+ *</ul>
+ * </p>
+ * <p>
+ * <b>Note:</b> Although ObjectName patterns where the characters
+ * <code>*</code> and <code>?</code> appear in the namespace path are legal,
+ * they are not valid in the {@code name} parameter of the MBean Server's
+ * {@link MBeanServer#queryNames queryNames} and {@link MBeanServer#queryMBeans
+ * queryMBeans} methods. See the
+ * <a href="namespace/package-summary.html#RejectedNamespacePatterns"><!--
+ * -->namespaces documentation</a> for more details.
+ * </p>
+ *
  * <p>An ObjectName can be written as a String with the following
  * elements in order:</p>
  *
@@ -439,11 +508,6 @@
         _propertyList = aname._propertyList;
         _property_list_pattern = aname._property_list_pattern;
         _property_value_pattern = aname._property_value_pattern;
-        // TODO remove this hack
-        // if (toString().endsWith("//javax.management.service:type1=event_client_delegeate_mbean,type2=default")) {
-        //    Thread.currentThread().dumpStack();
-        //    throw new Error("************************ Gotcha!");
-        //}
     }
 
     // Instance private fields <=======================================
@@ -1096,11 +1160,10 @@
      */
     private boolean isDomain(String domain) {
         if (domain == null) return true;
-        final char[] d=domain.toCharArray();
-        final int len = d.length;
+        final int len = domain.length();
         int next = 0;
         while (next < len) {
-            final char c = d[next++];
+            final char c = domain.charAt(next++);
             switch (c) {
                 case ':' :
                 case '\n' :
@@ -1234,12 +1297,6 @@
         if (!nw.equals("")) {
             nameString = nw + NAMESPACE_SEPARATOR + nameString;
         }
-        // TODO remove this hack
-        // if (nameString.endsWith("//javax.management.service:type1=event_client_delegeate_mbean,type2=default")) {
-        //    System.err.println("old="+old+", nw="+nw);
-        //    Thread.currentThread().dumpStack();
-        //    throw new Error("************************ Gotcha!");
-        // }
         return nameString;
     }
 
@@ -1584,13 +1641,18 @@
      * @return A new {@code ObjectName} that is the same as {@code this}
      *         except the domain is {@code newDomain}.
      * @throws NullPointerException if {@code newDomain} is null.
-     * @throws MalformedObjectNameException if the new domain is syntactically
-     *         illegal.
+     * @exception IllegalArgumentException The {@code newDomain} passed as a
+     * parameter does not have the right format.  The {@linkplain
+     * Throwable#getCause() cause} of this exception will be a
+     * {@link MalformedObjectNameException}.
      * @since 1.7
      **/
-    public final ObjectName withDomain(String newDomain)
-            throws MalformedObjectNameException {
-        return new ObjectName(newDomain, this);
+    public final ObjectName withDomain(String newDomain) {
+        try {
+            return new ObjectName(newDomain, this);
+        } catch (MalformedObjectNameException x) {
+            throw new IllegalArgumentException(x.getMessage(),x);
+        }
     }
 
     /**
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/src/share/classes/javax/management/ObjectNameTemplate.java	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,131 @@
+/*
+ * Copyright 2008 Sun Microsystems, Inc.  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.  Sun designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+package javax.management;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * Annotation to allow an MBean to provide its name.
+ * This annotation can be used on the following types:
+ * <ul>
+ *   <li>MBean or MXBean Java interface.</li>
+ *   <li>Java class annotated with {@link javax.management.MBean &#64;MBean}</code>
+ * annotation.</li>
+ *   <li>Java class annotated with {@link javax.management.MXBean &#64;MXBean}</code>
+ * annotation.</li>
+ * </ul>
+ *
+ * <p>The value of this annotation is used to build the <code>ObjectName</code>
+ * when instances of the annotated type are registered in
+ * an <code>MBeanServer</code> and no explicit name is given to the
+ * {@code createMBean} or {@code registerMBean} method (the {@code ObjectName}
+ * is {@code null}).</p>
+ *
+ * <p>For Dynamic MBeans, which define their own {@code MBeanInfo}, you can
+ * produce the same effect as this annotation by including a field
+ * <a href="Descriptor.html#objectNameTemplate">{@code objectNameTemplate}</a>
+ * in the {@link Descriptor} for the {@code MBeanInfo} returned by
+ * {@link DynamicMBean#getMBeanInfo()}.</p>
+ *
+ * <p>For Standard MBeans and MXBeans, this annotation automatically produces
+ * an {@code objectNameTemplate} field in the {@code Descriptor}.</p>
+ *
+ * <p>The template can contain variables so that the name of the MBean
+ * depends on the value of one or more of its attributes.
+ * A variable that identifies an MBean attribute is of the form
+ * <code>{<em>attribute name</em>}</code>. For example, to make an MBean name
+ * depend on the <code>Name</code> attribute, use the variable
+ * <code>{Name}</code>. Attribute names are case sensitive.
+ * Naming attributes can be of any type. The <code>String</code> returned by
+ * <code>toString()</code> is included in the constructed name.</p>
+ *
+ * <p>If you need the attribute value to be quoted
+ * by a call to {@link ObjectName#quote(String) ObjectName.quote},
+ * surround the variable with quotes. Quoting only applies to key values.
+ * For example, <code>@ObjectNameTemplate("java.lang:type=MemoryPool,name=\"{Name}\"")</code>,
+ * quotes the <code>Name</code> attribute value. You can notice the "\"
+ * character needed to escape a quote within a <code>String</code>. A name
+ * produced by this template might look like
+ * {@code java.lang:type=MemoryPool,name="Code Cache"}.</p>
+ *
+ * <p>Variables can be used anywhere in the <code>String</code>.
+ * Be sure to make the template derived name comply with
+ * {@link ObjectName ObjectName} syntax.</p>
+ *
+ * <p>If an MBean is registered with a null name and it implements
+ * {@link javax.management.MBeanRegistration MBeanRegistration}, then
+ * the computed name is provided to the <code>preRegister</code> method.
+ * Similarly,
+ * if the MBean uses <a href="MBeanRegistration.html#injection">resource
+ * injection</a> to discover its name, it is the computed name that will
+ * be injected.</p>
+ * <p>All of the above can be used with the {@link StandardMBean} class and
+ * the annotation is effective in that case too.</p>
+ * <p>If any exception occurs (such as unknown attribute, invalid syntax or
+ * exception
+ * thrown by the MBean) when the name is computed it is wrapped in a
+ * <code>NotCompliantMBeanException</code>.</p>
+ * <p>Some ObjectName template examples:
+ * <ul><li>"com.example:type=Memory". Fixed ObjectName. Used to name a
+ * singleton MBean.</li>
+ * <li>"com.example:type=MemoryPool,name={Name}". Variable ObjectName.
+ * <code>Name</code> attribute is retrieved to compose the <code>name</code>
+ * key value.</li>
+ * <li>"com.example:type=SomeType,name={InstanceName},id={InstanceId}".
+ * Variable ObjectName.
+ * <code>InstanceName</code> and <code>InstanceId</code> attributes are
+ * retrieved to compose respectively
+ * the <code>name</code> and <code>id</code> key values.</li>
+ * <li>"com.example:type=OtherType,name=\"{ComplexName}\"". Variable ObjectName.
+ * <code>ComplexName</code> attribute is retrieved to compose the
+ * <code>name</code> key quoted value.</li> </li>
+ * <li>"com.example:{TypeKey}=SomeOtherType". Variable ObjectName.
+ * <code>TypeKey</code> attribute is retrieved to compose the
+ * first key name.</li>
+ * * <li>"{Domain}:type=YetAnotherType". Variable ObjectName.
+ * <code>Domain</code> attribute is retrieved to compose the
+ * management domain.</li>
+ * <li>"{Naming}". Variable ObjectName.
+ * <code>Naming</code> attribute is retrieved to compose the
+ * complete name.</li>
+ * </ul>
+ * </p>
+ */
+@Documented
+@Retention(RetentionPolicy.RUNTIME)
+@Target(ElementType.TYPE)
+public @interface ObjectNameTemplate {
+
+    /**
+     * The MBean name template.
+     * @return The MBean name template.
+     */
+    @DescriptorKey("objectNameTemplate")
+    public String value();
+}
--- a/jdk/src/share/classes/javax/management/StandardMBean.java	Wed Jul 05 16:44:40 2017 +0200
+++ b/jdk/src/share/classes/javax/management/StandardMBean.java	Wed Jul 05 16:45:14 2017 +0200
@@ -28,14 +28,21 @@
 import com.sun.jmx.mbeanserver.DescriptorCache;
 import com.sun.jmx.mbeanserver.Introspector;
 import com.sun.jmx.mbeanserver.MBeanInjector;
+import com.sun.jmx.mbeanserver.MBeanInstantiator;
+import com.sun.jmx.mbeanserver.MBeanIntrospector;
 import com.sun.jmx.mbeanserver.MBeanSupport;
 import com.sun.jmx.mbeanserver.MXBeanSupport;
 import com.sun.jmx.mbeanserver.StandardMBeanSupport;
 import com.sun.jmx.mbeanserver.Util;
+import java.lang.reflect.Method;
 import java.security.AccessController;
 import java.security.PrivilegedAction;
+import java.util.ArrayList;
 import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
 import java.util.Map;
+import java.util.Set;
 import java.util.WeakHashMap;
 import java.util.logging.Level;
 import javax.management.openmbean.MXBeanMappingFactory;
@@ -135,6 +142,7 @@
         private static final long serialVersionUID = 5107355471177517164L;
 
         private boolean wrappedVisible;
+        private boolean forwardRegistration;
 
         /**
          * <p>Construct an {@code Options} object where all options have
@@ -177,15 +185,56 @@
             this.wrappedVisible = visible;
         }
 
-        // Canonical objects for each of (MXBean,!MXBean) x (WVisible,!WVisible)
+        /**
+         * <p>Defines whether the {@link MBeanRegistration MBeanRegistration}
+         * callbacks are forwarded to the wrapped object.</p>
+         *
+         * <p>If this option is true, then
+         * {@link #preRegister(MBeanServer, ObjectName) preRegister},
+         * {@link #postRegister(Boolean) postRegister},
+         * {@link #preDeregister preDeregister} and
+         * {@link #postDeregister postDeregister} methods are forwarded
+         * to the wrapped object, in addition to the behaviour specified
+         * for the StandardMBean instance itself.
+         * The default value is false for compatibility reasons, but true
+         * is a better value for most new code.</p>
+         *
+         * @return true if the <code>MBeanRegistration</code> callbacks
+         * are forwarded to the wrapped object.
+         */
+        public boolean isMBeanRegistrationForwarded() {
+            return this.forwardRegistration;
+        }
+
+        /**
+         * <p>Set the
+         * {@link #isMBeanRegistrationForwarded MBeanRegistrationForwarded}
+         * option to the given value.</p>
+         * @param forward the new value.
+         */
+        public void setMBeanRegistrationForwarded(boolean forward) {
+            this.forwardRegistration = forward;
+        }
+
+        // Canonical objects for each of
+        // (MXBean,!MXBean) x (WVisible,!WVisible) x (Forward,!Forward)
         private static final Options[] CANONICALS = {
             new Options(), new Options(), new Options(), new Options(),
+            new Options(), new Options(), new Options(), new Options(),
         };
         static {
             CANONICALS[1].setMXBeanMappingFactory(MXBeanMappingFactory.DEFAULT);
             CANONICALS[2].setWrappedObjectVisible(true);
             CANONICALS[3].setMXBeanMappingFactory(MXBeanMappingFactory.DEFAULT);
             CANONICALS[3].setWrappedObjectVisible(true);
+            CANONICALS[4].setMBeanRegistrationForwarded(true);
+            CANONICALS[5].setMXBeanMappingFactory(MXBeanMappingFactory.DEFAULT);
+            CANONICALS[5].setMBeanRegistrationForwarded(true);
+            CANONICALS[6].setWrappedObjectVisible(true);
+            CANONICALS[6].setMBeanRegistrationForwarded(true);
+            CANONICALS[7].setMXBeanMappingFactory(MXBeanMappingFactory.DEFAULT);
+            CANONICALS[7].setWrappedObjectVisible(true);
+            CANONICALS[7].setMBeanRegistrationForwarded(true);
         }
         @Override
         MBeanOptions[] canonicals() {
@@ -195,7 +244,8 @@
         @Override
         boolean same(MBeanOptions opts) {
             return (super.same(opts) && opts instanceof Options &&
-                    ((Options) opts).wrappedVisible == wrappedVisible);
+                    ((Options) opts).wrappedVisible == wrappedVisible &&
+                    ((Options) opts).forwardRegistration ==forwardRegistration);
         }
     }
 
@@ -477,7 +527,9 @@
      *
      * @exception IllegalArgumentException if the given
      * <var>implementation</var> is null.
-     *
+     * @exception IllegalStateException if the
+     * {@link Options#isMBeanRegistrationForwarded MBeanRegistrationForwarded}
+     * option is true.
      * @exception NotCompliantMBeanException if the given
      * <var>implementation</var> does not implement the
      * Standard MBean (or MXBean) interface that was
@@ -490,6 +542,12 @@
 
         if (implementation == null)
             throw new IllegalArgumentException("implementation is null");
+
+        if(options instanceof Options &&
+                ((Options) options).isMBeanRegistrationForwarded())
+           throw new IllegalStateException("Implementation can't be changed " +
+                   "because MBeanRegistrationForwarded option is true");
+
         setImplementation2(implementation);
     }
 
@@ -1265,6 +1323,145 @@
         return natts;
     }
 
+    // ------------------------------------------------------------------
+    // Resolve from a type name to a Class.
+    // ------------------------------------------------------------------
+    private static Class<?> resolveClass(MBeanFeatureInfo info, String type,
+            Class<?> mbeanItf)
+            throws ClassNotFoundException {
+        String t = (String) info.getDescriptor().
+                getFieldValue(JMX.ORIGINAL_TYPE_FIELD);
+        if (t == null) {
+            t = type;
+        }
+        Class<?> clazz = MBeanInstantiator.primitiveType(t);
+        if(clazz == null)
+            clazz = Class.forName(t, false, mbeanItf.getClassLoader());
+        return clazz;
+    }
+
+    // ------------------------------------------------------------------
+    // Return the subset of valid Management methods
+    // ------------------------------------------------------------------
+    private static Method getManagementMethod(final Class<?> mbeanType,
+            String opName, Class<?>... parameters) throws NoSuchMethodException,
+            SecurityException {
+        Method m = mbeanType.getMethod(opName, parameters);
+        if (mbeanType.isInterface()) {
+            return m;
+        }
+        final List<Method> methods = new ArrayList<Method>();
+        try {
+            MBeanIntrospector.getAnnotatedMethods(mbeanType, methods);
+        }catch (SecurityException ex) {
+            throw ex;
+        }catch (NoSuchMethodException ex) {
+            throw ex;
+        }catch (Exception ex) {
+            NoSuchMethodException nsme =
+                    new NoSuchMethodException(ex.toString());
+            nsme.initCause(ex);
+            throw nsme;
+        }
+
+        if(methods.contains(m)) return m;
+
+        throw new NoSuchMethodException("Operation " + opName +
+                " not found in management interface " + mbeanType.getName());
+    }
+    /**
+     * Retrieve the set of MBean attribute accessor <code>Method</code>s
+     * located in the <code>mbeanInterface</code> MBean interface that
+     * correspond to the <code>attr</code> <code>MBeanAttributeInfo</code>
+     * parameter.
+     * @param mbeanInterface the management interface.
+     * Can be a standard MBean or MXBean interface, or a Java class
+     * annotated with {@link MBean &#64;MBean} or {@link MXBean &#64;MXBean}.
+     * @param attr The attribute we want the accessors for.
+     * @return The set of accessors.
+     * @throws java.lang.NoSuchMethodException if no accessor exists
+     * for the given {@link MBeanAttributeInfo MBeanAttributeInfo}.
+     * @throws java.lang.IllegalArgumentException if at least one
+     * of the two parameters is null.
+     * @throws java.lang.ClassNotFoundException if the class named in the
+     * attribute type is not found.
+     * @throws java.lang.SecurityException if this exception is
+     * encountered while introspecting the MBean interface.
+     */
+    public static Set<Method> findAttributeAccessors(Class<?> mbeanInterface,
+            MBeanAttributeInfo attr)
+            throws NoSuchMethodException,
+            ClassNotFoundException {
+        if (mbeanInterface == null || attr == null) {
+            throw new IllegalArgumentException("mbeanInterface or attr " +
+                    "parameter is null");
+        }
+        String attributeName = attr.getName();
+        Set<Method> methods = new HashSet<Method>();
+        Class<?> clazz = resolveClass(attr, attr.getType(), mbeanInterface);
+        if (attr.isReadable()) {
+            String radical = "get";
+            if(attr.isIs()) radical = "is";
+            Method getter = getManagementMethod(mbeanInterface, radical +
+                    attributeName);
+            if (getter.getReturnType().equals(clazz)) {
+                methods.add(getter);
+            } else {
+                throw new NoSuchMethodException("Invalid getter return type, " +
+                        "should be " + clazz + ", found " +
+                        getter.getReturnType());
+            }
+        }
+        if (attr.isWritable()) {
+            Method setter = getManagementMethod(mbeanInterface, "set" +
+                    attributeName,
+                    clazz);
+            if (setter.getReturnType().equals(Void.TYPE)) {
+                methods.add(setter);
+            } else {
+                throw new NoSuchMethodException("Invalid setter return type, " +
+                        "should be void, found " + setter.getReturnType());
+            }
+        }
+        return methods;
+    }
+
+    /**
+     * Retrieve the MBean operation <code>Method</code>
+     * located in the <code>mbeanInterface</code> MBean interface that
+     * corresponds to the provided <code>op</code>
+     * <code>MBeanOperationInfo</code> parameter.
+     * @param mbeanInterface the management interface.
+     * Can be a standard MBean or MXBean interface, or a Java class
+     * annotated with {@link MBean &#64;MBean} or {@link MXBean &#64;MXBean}.
+     * @param op The operation we want the method for.
+     * @return the method corresponding to the provided MBeanOperationInfo.
+     * @throws java.lang.NoSuchMethodException if no method exists
+     * for the given {@link MBeanOperationInfo MBeanOperationInfo}.
+     * @throws java.lang.IllegalArgumentException if at least one
+     * of the two parameters is null.
+     * @throws java.lang.ClassNotFoundException if one of the
+     * classes named in the operation signature array is not found.
+     * @throws java.lang.SecurityException if this exception is
+     * encountered while introspecting the MBean interface.
+     */
+    public static Method findOperationMethod(Class<?> mbeanInterface,
+            MBeanOperationInfo op)
+            throws ClassNotFoundException, NoSuchMethodException {
+        if (mbeanInterface == null || op == null) {
+            throw new IllegalArgumentException("mbeanInterface or op " +
+                    "parameter is null");
+        }
+        List<Class<?>> classes = new ArrayList<Class<?>>();
+        for (MBeanParameterInfo info : op.getSignature()) {
+            Class<?> clazz = resolveClass(info, info.getType(), mbeanInterface);
+            classes.add(clazz);
+        }
+        Class<?>[] signature = new Class<?>[classes.size()];
+        classes.toArray(signature);
+        return getManagementMethod(mbeanInterface, op.getName(), signature);
+    }
+
     /**
      * <p>Allows the MBean to perform any operations it needs before
      * being registered in the MBean server.  If the name of the MBean
@@ -1273,10 +1470,14 @@
      * registered in the MBean server.</p>
      *
      * <p>The default implementation of this method returns the {@code name}
-     * parameter.  It does nothing else for
-     * Standard MBeans.  For MXBeans, it records the {@code MBeanServer}
-     * and {@code ObjectName} parameters so they can be used to translate
-     * inter-MXBean references.</p>
+     * parameter. If the
+     * {@link Options#isMBeanRegistrationForwarded MBeanRegistrationForwarded}
+     * option is set to true, then this method is forwarded to the object
+     * returned by the {@link #getImplementation getImplementation()} method.
+     * The name returned by this call is then returned by this method.
+     * It does nothing else for Standard MBeans.  For MXBeans, it records
+     * the {@code MBeanServer} and {@code ObjectName} parameters so they can
+     * be used to translate inter-MXBean references.</p>
      *
      * <p>It is good practice for a subclass that overrides this method
      * to call the overridden method via {@code super.preRegister(...)}.
@@ -1311,6 +1512,11 @@
      */
     public ObjectName preRegister(MBeanServer server, ObjectName name)
             throws Exception {
+        // Forward preRegister before to call register and
+        // inject parameters.
+        if(shouldForwardMBeanRegistration())
+            name = ((MBeanRegistration)getImplementation()).
+                    preRegister(server, name);
         mbean.register(server, name);
         MBeanInjector.inject(mbean.getWrappedObject(), server, name);
         return name;
@@ -1320,7 +1526,11 @@
      * <p>Allows the MBean to perform any operations needed after having been
      * registered in the MBean server or after the registration has failed.</p>
      *
-     * <p>The default implementation of this method does nothing for
+     * <p>If the
+     * {@link Options#isMBeanRegistrationForwarded MBeanRegistrationForwarded}
+     * option is set to true, then this method is forwarded to the object
+     * returned by the {@link #getImplementation getImplementation()} method.
+     * The default implementation of this method does nothing else for
      * Standard MBeans.  For MXBeans, it undoes any work done by
      * {@link #preRegister preRegister} if registration fails.</p>
      *
@@ -1338,16 +1548,24 @@
     public void postRegister(Boolean registrationDone) {
         if (!registrationDone)
             mbean.unregister();
+        if(shouldForwardMBeanRegistration())
+            ((MBeanRegistration)getImplementation()).
+                    postRegister(registrationDone);
     }
 
     /**
      * <p>Allows the MBean to perform any operations it needs before
      * being unregistered by the MBean server.</p>
      *
-     * <p>The default implementation of this method does nothing.</p>
+     * <p>If the
+     * {@link Options#isMBeanRegistrationForwarded MBeanRegistrationForwarded}
+     * option is set to true, then this method is forwarded to the object
+     * returned by the {@link #getImplementation getImplementation()} method.
+     * Other than that, the default implementation of this method does nothing.
+     * </p>
      *
      * <p>It is good practice for a subclass that overrides this method
-     * to call the overridden method via {@code super.preDeegister(...)}.</p>
+     * to call the overridden method via {@code super.preDeregister(...)}.</p>
      *
      * @throws Exception no checked exceptions are throw by this method
      * but {@code Exception} is declared so that subclasses can override
@@ -1356,13 +1574,19 @@
      * @since 1.6
      */
     public void preDeregister() throws Exception {
+        if(shouldForwardMBeanRegistration())
+            ((MBeanRegistration)getImplementation()).preDeregister();
     }
 
     /**
      * <p>Allows the MBean to perform any operations needed after having been
      * unregistered in the MBean server.</p>
      *
-     * <p>The default implementation of this method does nothing for
+     * <p>If the
+     * {@link Options#isMBeanRegistrationForwarded MBeanRegistrationForwarded}
+     * option is set to true, then this method is forwarded to the object
+     * returned by the {@link #getImplementation getImplementation()} method.
+     * The default implementation of this method does nothing else for
      * Standard MBeans.  For MXBeans, it removes any information that
      * was recorded by the {@link #preRegister preRegister} method.</p>
      *
@@ -1375,8 +1599,15 @@
      */
     public void postDeregister() {
         mbean.unregister();
+        if(shouldForwardMBeanRegistration())
+            ((MBeanRegistration)getImplementation()).postDeregister();
     }
 
+    private boolean shouldForwardMBeanRegistration() {
+        return (getImplementation() instanceof MBeanRegistration) &&
+           (options instanceof Options &&
+                ((Options) options).isMBeanRegistrationForwarded());
+    }
     //
     // MBeanInfo immutability
     //
--- a/jdk/src/share/classes/javax/management/event/EventClient.java	Wed Jul 05 16:44:40 2017 +0200
+++ b/jdk/src/share/classes/javax/management/event/EventClient.java	Wed Jul 05 16:45:14 2017 +0200
@@ -187,9 +187,10 @@
      * forwarded by the {@link EventClientDelegateMBean}. If {@code null}, a
      * {@link FetchingEventRelay} object will be used.
      * @param distributingExecutor Used to distribute notifications to local
-     * listeners. If {@code null}, the thread that calls {@link
-     * EventReceiver#receive EventReceiver.receive} from the {@link EventRelay}
-     * object is used.
+     * listeners. Only one job at a time will be submitted to this Executor.
+     * If {@code distributingExecutor} is {@code null}, the thread that calls
+     * {@link EventReceiver#receive EventReceiver.receive} from the {@link
+     * EventRelay} object is used.
      * @param leaseScheduler An object that will be used to schedule the
      * periodic {@linkplain EventClientDelegateMBean#lease lease updates}.
      * If {@code null}, a default scheduler will be used.
@@ -545,7 +546,7 @@
      *
      * <P>The method returns the listeners which were added successfully. The
      * elements in the returned collection are a subset of the elements in
-     * {@code infoList}. If all listeners were added successfully, the two
+     * {@code listeners}. If all listeners were added successfully, the two
      * collections are the same. If no listener was added successfully, the
      * returned collection is empty.</p>
      *
--- a/jdk/src/share/classes/javax/management/event/FetchingEventRelay.java	Wed Jul 05 16:44:40 2017 +0200
+++ b/jdk/src/share/classes/javax/management/event/FetchingEventRelay.java	Wed Jul 05 16:45:14 2017 +0200
@@ -39,10 +39,18 @@
 import javax.management.remote.NotificationResult;
 
 /**
- * This class is an implementation of the {@link EventRelay} interface. It calls
+ * <p>This class is an implementation of the {@link EventRelay} interface. It calls
  * {@link EventClientDelegateMBean#fetchNotifications
  * fetchNotifications(String, long, int, long)} to get
- * notifications and then forwards them to an {@link EventReceiver} object.
+ * notifications and then forwards them to an {@link EventReceiver} object.</p>
+ *
+ * <p>A {@code fetchExecutor} parameter can be specified when creating a
+ * {@code FetchingEventRelay}.  That is then the {@code Executor} that will
+ * be used to perform the {@code fetchNotifications} operation.  Only one
+ * job at a time will be submitted to this {@code Executor}.  The behavior
+ * is unspecified if {@link Executor#execute} throws an exception, including
+ * {@link java.util.concurrent.RejectedExecutionException
+ * RejectedExecutionException}.
  *
  * @since JMX 2.0
  */
--- a/jdk/src/share/classes/javax/management/loading/MLet.java	Wed Jul 05 16:44:40 2017 +0200
+++ b/jdk/src/share/classes/javax/management/loading/MLet.java	Wed Jul 05 16:45:14 2017 +0200
@@ -1165,9 +1165,10 @@
                      file.deleteOnExit();
                      FileOutputStream fileOutput = new FileOutputStream(file);
                      try {
-                         int c;
-                         while ((c = is.read()) != -1) {
-                             fileOutput.write(c);
+                         byte[] buf = new byte[4096];
+                         int n;
+                         while ((n = is.read(buf)) >= 0) {
+                            fileOutput.write(buf, 0, n);
                          }
                      } finally {
                          fileOutput.close();
--- a/jdk/src/share/classes/javax/management/modelmbean/DescriptorSupport.java	Wed Jul 05 16:44:40 2017 +0200
+++ b/jdk/src/share/classes/javax/management/modelmbean/DescriptorSupport.java	Wed Jul 05 16:45:14 2017 +0200
@@ -229,9 +229,10 @@
             init(inDescr.descriptorMap);
     }
 
-
     /**
-     * <p>Descriptor constructor taking an XML String.</p>
+     * <p>Descriptor constructor taking an XML String or a
+     * <i>fieldName=fieldValue</i> format String. The String parameter is
+     * parsed as XML if it begins with a '<' character.</p>
      *
      * <p>The format of the XML string is not defined, but an
      * implementation must ensure that the string returned by
@@ -244,17 +245,20 @@
      * programmer will have to reset or convert these fields
      * correctly.</p>
      *
-     * @param inStr An XML-formatted string used to populate this
-     * Descriptor.  The format is not defined, but any
+     * @param inStr An XML-format or a fieldName=fieldValue formatted string
+     * used to populate this Descriptor.  The XML format is not defined, but any
      * implementation must ensure that the string returned by
      * method {@link #toXMLString toXMLString} on an existing
      * descriptor can be used to instantiate an equivalent
      * descriptor when instantiated using this constructor.
      *
-     * @exception RuntimeOperationsException If the String inStr
-     * passed in parameter is null
+     * @exception RuntimeOperationsException If the String inStr passed in
+     * parameter is null or, when it is not an XML string, if the field name or
+     * field value is illegal. If inStr is not an XML string then it must
+     * contain an "=". "fieldValue", "fieldName", and "fieldValue" are illegal.
+     * FieldName cannot be empty. "fieldName=" will cause the value to be empty.
      * @exception XMLParseException XML parsing problem while parsing
-     * the input String
+     * the XML-format input String
      * @exception MBeanException Wraps a distributed communication Exception.
      */
     /* At some stage we should rewrite this code to be cleverer.  Using
@@ -283,14 +287,27 @@
             throw new RuntimeOperationsException(iae, msg);
         }
 
+        // parse parameter string into structures
+
+        init(null);
+
+        if(!inStr.startsWith("<")) {
+            parseNamesValues(inStr);
+            if (MODELMBEAN_LOGGER.isLoggable(Level.FINEST)) {
+                MODELMBEAN_LOGGER.logp(Level.FINEST,
+                    DescriptorSupport.class.getName(),
+                    "Descriptor(name=value)", "Exit");
+            }
+            return;
+        }
+
         final String lowerInStr = inStr.toLowerCase();
         if (!lowerInStr.startsWith("<descriptor>")
             || !lowerInStr.endsWith("</descriptor>")) {
             throw new XMLParseException("No <descriptor>, </descriptor> pair");
         }
 
-        // parse xmlstring into structures
-        init(null);
+
         // create dummy descriptor: should have same size
         // as number of fields in xmlstring
         // loop through structures and put them in descriptor
@@ -454,6 +471,16 @@
 
         init(null);
 
+        parseNamesValues(fields);
+
+        if (MODELMBEAN_LOGGER.isLoggable(Level.FINEST)) {
+            MODELMBEAN_LOGGER.logp(Level.FINEST,
+                    DescriptorSupport.class.getName(),
+                    "Descriptor(String... fields)", "Exit");
+        }
+    }
+
+    private void parseNamesValues(String... fields) {
         for (int i=0; i < fields.length; i++) {
             if ((fields[i] == null) || (fields[i].equals(""))) {
                 continue;
@@ -495,11 +522,6 @@
 
             setField(fieldName,fieldValue);
         }
-        if (MODELMBEAN_LOGGER.isLoggable(Level.FINEST)) {
-            MODELMBEAN_LOGGER.logp(Level.FINEST,
-                    DescriptorSupport.class.getName(),
-                    "Descriptor(String... fields)", "Exit");
-        }
     }
 
     private void init(Map<String, ?> initMap) {
--- a/jdk/src/share/classes/javax/management/monitor/MonitorNotification.java	Wed Jul 05 16:44:40 2017 +0200
+++ b/jdk/src/share/classes/javax/management/monitor/MonitorNotification.java	Wed Jul 05 16:45:14 2017 +0200
@@ -201,7 +201,7 @@
      * @param derGauge The derived gauge.
      * @param trigger The threshold/string (depending on the monitor type) that triggered the notification.
      */
-    MonitorNotification(String type, Object source, long sequenceNumber, long timeStamp, String msg,
+    public MonitorNotification(String type, Object source, long sequenceNumber, long timeStamp, String msg,
                                ObjectName obsObj, String obsAtt, Object derGauge, Object trigger) {
 
         super(type, source, sequenceNumber, timeStamp, msg);
--- a/jdk/src/share/classes/javax/management/namespace/JMXDomain.java	Wed Jul 05 16:44:40 2017 +0200
+++ b/jdk/src/share/classes/javax/management/namespace/JMXDomain.java	Wed Jul 05 16:45:14 2017 +0200
@@ -35,7 +35,6 @@
 import javax.management.InstanceNotFoundException;
 import javax.management.MBeanServer;
 import javax.management.MBeanServerDelegate;
-import javax.management.MalformedObjectNameException;
 import javax.management.ObjectName;
 
 /**
@@ -291,12 +290,9 @@
     public static ObjectName getDomainObjectName(String domain) {
         if (domain == null) return null;
         if (domain.contains(NAMESPACE_SEPARATOR))
-            throw new IllegalArgumentException(domain);
-        try {
-            return ObjectName.getInstance(domain, "type", TYPE);
-        } catch (MalformedObjectNameException x) {
-            throw new IllegalArgumentException(domain,x);
-        }
+            throw new IllegalArgumentException("domain contains " +
+                    NAMESPACE_SEPARATOR+": "+domain);
+        return ObjectName.valueOf(domain, "type", TYPE);
     }
 
 
--- a/jdk/src/share/classes/javax/management/namespace/JMXNamespacePermission.java	Wed Jul 05 16:44:40 2017 +0200
+++ b/jdk/src/share/classes/javax/management/namespace/JMXNamespacePermission.java	Wed Jul 05 16:45:14 2017 +0200
@@ -136,7 +136,8 @@
  * <code>**</code> matches any number of sub namespaces
  * recursively, but only if used as a complete namespace path element,
  * as in <code>*&#42;//b//c//D:k=v</code> or <code>a//*&#42;//c//D:k=v</code>
- * - see <a href="#metawildcard">below</a>.
+ * - see ObjectName <a href="../ObjectName.html#metawildcard">documentation</a>
+ * for more details.
  * </p>
  *
  *
@@ -270,38 +271,9 @@
  * </pre>
  * <p><b>Note on wildcards:</b> In an object name pattern, a path element
  *    of exactly <code>**</code> corresponds to a meta
- *    wildcard that will match any number of sub namespaces. Hence:</p>
- * <ul>
- * <table border="1">
- * <thead><th>pattern</th><th>matches</th><th>doesn't match</th></thead>
- * <tbody>
- * <tr><td><code>*&#42;//D:k=v</code></td>
- *     <td><code>a//D:k=v</code><br>
- *         <code>a//b//D:k=v</code><br>
- *         <code>a//b//c//D:k=v</code></td>
- *     <td><code>D:k=v</code></td></tr>
- * <tr><td><code>a//*&#42;//D:k=v</code></td>
- *     <td><code>a//b//D:k=v</code><br>
- *         <code>a//b//c//D:k=v</code></td>
- *     <td><code>b//b//c//D:k=v</code><br>
- *         <code>a//D:k=v</code><br>
- *         <code>D:k=v</code></td></tr>
- * <tr><td><code>a//*&#42;//e//D:k=v</code></td>
- *     <td><code>a//b//e//D:k=v</code><br>
- *         <code>a//b//c//e//D:k=v</code></td>
- *     <td><code>a//b//c//c//D:k=v</code><br>
- *         <code>b//b//c//e//D:k=v</code><br>
- *         <code>a//e//D:k=v</code><br>
- *         <code>e//D:k=v</code></td></tr>
- * <tr><td><code>a//b*&#42;//e//D:k=v</code></td>
- *      <td><code>a//b//e//D:k=v</code></td>
- *      <td><code>a//b//c//e//D:k=v</code><br>
- *          because in that case <code>b*&#42;</code><br>
- *         is not a meta-wildcard - and <code>b**</code><br>
- *         is thus equivalent to <code>b*</code>.</td></tr>
- * </tbody>
- * </table>
- *</ul>
+ *    wildcard that will match any number of sub namespaces.
+ *    See ObjectName <a href="../ObjectName.html#metawildcard">documentation</a>
+ *    for more details.</p>
  *
  * <p>If {@code <mbean server name>::} is omitted, then one of
  * <code>member</code> or <code>object name</code> may be omitted.
--- a/jdk/src/share/classes/javax/management/namespace/JMXNamespaces.java	Wed Jul 05 16:44:40 2017 +0200
+++ b/jdk/src/share/classes/javax/management/namespace/JMXNamespaces.java	Wed Jul 05 16:45:14 2017 +0200
@@ -292,17 +292,13 @@
         if (path == null || to == null)
             throw new IllegalArgumentException("Null argument");
         checkTrailingSlashes(path);
-        try {
-            String prefix = path;
-            if (!prefix.equals("")) prefix =
-                    ObjectNameRouter.normalizeNamespacePath(
+        String prefix = path;
+        if (!prefix.equals(""))
+            prefix = ObjectNameRouter.normalizeNamespacePath(
                         prefix + NAMESPACE_SEPARATOR,false,false,false);
-            return to.withDomain(
+         return to.withDomain(
                     ObjectNameRouter.normalizeDomain(
                         prefix+to.getDomain(),false));
-        } catch (MalformedObjectNameException x) {
-            throw new IllegalArgumentException(path+": "+x,x);
-        }
     }
 
     /**
--- a/jdk/src/share/classes/javax/management/namespace/package-info.java	Wed Jul 05 16:44:40 2017 +0200
+++ b/jdk/src/share/classes/javax/management/namespace/package-info.java	Wed Jul 05 16:45:14 2017 +0200
@@ -204,7 +204,38 @@
  *      </pre>
  *      An easier way to access MBeans contained in a name space is to
  *      <i>cd</i> inside the name space, as shown in the following paragraph.
- *  </p>
+ *  </p><p id="RejectedNamespacePatterns">
+ *      Although ObjectName patterns where the characters
+ *      <code>*</code> and <code>?</code> appear in the namespace path are
+ *      legal, they are not valid in the {@code name} parameter of the
+ *      MBean Server {@link
+ *      javax.management.MBeanServer#queryNames queryNames} and {@link
+ *      javax.management.MBeanServer#queryMBeans queryMBeans} methods.<br>
+ *      When invoking <code>queryNames</code> or  <code>queryMBeans</code>,
+ *      only ObjectNames of the form:<br>
+ *      [<em>namespace-without-pattern</em>//]*[<em>pattern-without-namespace</em>]:<em>key-properties-with-or-without-pattern</em>
+ *      are valid.<br>
+ *      In other words: in the case of {@link
+ *      javax.management.MBeanServer#queryNames queryNames} and {@link
+ *      javax.management.MBeanServer#queryMBeans queryMBeans}, if a
+ *      namespace path is present, it must not contain any pattern.
+ *  </p><p id="NamespaceAndQueries">
+ *      There is no such restriction for the {@code query} parameter of these
+ *      methods. However, it must be noted that the {@code query} parameter
+ *      will be evaluated in the context of the namespace where the MBeans
+ *      selected by the pattern specified in {@code name} are located.
+ *      This means that if {@code query} parameter is an ObjectName pattern that
+ *      contains a namespace path, no MBean name will match and the result of
+ *      the query will be empty.<br>
+ *      In other words:</p>
+ * <ul><li>{@code queryNames("foo//bar//?a?:*","b?z:type=Monitor,*")} will select
+ *         all MBeans in namespace <em>foo//bar</em> whose names match both
+ *         <em>?a?:*</em> and <em>b?z:type=Monitor,*</em>, but</li>
+ *     <li>{@code queryNames("foo//bar//?a?:*","foo//bar//b?z:type=Monitor,*")}
+ *         will select nothing because no name matching <em>?a?:*</em> will
+ *         also match <em>foo//bar//b?z:type=Monitor,*</em>.
+ *     </li>
+ *  </ul>
  *
  *  <h3 id="ChangeTo">Narrowing Down Into a Name Spaces</h3>
  *  <p>
@@ -228,7 +259,8 @@
  *      to name space {@code "foo"} behaves just like a regular MBean server.
  *      However, it may sometimes throw an {@link
  *      java.lang.UnsupportedOperationException UnsupportedOperationException}
- *      wrapped in a JMX exception if you try to call an operation which is not
+ *      wrapped in a {@link javax.management.RuntimeOperationsException
+ *      RuntimeOperationsException} if you try to call an operation which is not
  *      supported by the underlying name space handler.
  *      <br>For instance, {@link javax.management.MBeanServer#registerMBean
  *      registerMBean} is not supported for name spaces mounted from remote
--- a/jdk/src/share/classes/javax/management/remote/JMXConnectorServer.java	Wed Jul 05 16:44:40 2017 +0200
+++ b/jdk/src/share/classes/javax/management/remote/JMXConnectorServer.java	Wed Jul 05 16:45:14 2017 +0200
@@ -387,6 +387,34 @@
     }
 
     /**
+     * Closes a client connection. If the connection is successfully closed,
+     * the method {@link #connectionClosed} is called to notify interested parties.
+     * <P>Not all connector servers support this method. For those that do, it
+     * should be possible to cause a new client connection to fail before it
+     * can be used, by calling this method from within a
+     * {@link javax.management.NotificationListener}
+     * when it receives a {@link JMXConnectionNotification#OPENED} notification.
+     * This allows the owner of a connector server to deny certain connections,
+     * typically based on the information in the connection id.
+     * <P>The implementation of this method in {@code JMXConnectorServer} throws
+     * {@code UnsupportedOperationException}. Subclasses can override this
+     * method to support closing a specified client connection.
+     *
+     * @param connectionId the id of the client connection to be closed.
+     * @throws IllegalStateException if the server is not started or is closed.
+     * @throws IllegalArgumentException if {@code connectionId} is null or is
+     * not the id of any open connection.
+     * @throws java.io.IOException if an I/O error appears when closing the
+     * connection.
+     *
+     * @since 1.7
+     */
+    public void closeConnection(String connectionId)
+            throws IOException {
+        throw new UnsupportedOperationException();
+    }
+
+    /**
      * <p>Install {@link MBeanServerForwarder}s in the system chain
      * based on the attributes in the given {@code Map}.  A connector
      * server that {@linkplain #supportsSystemMBeanServerForwarder supports}
--- a/jdk/src/share/classes/javax/management/remote/rmi/RMIConnectorServer.java	Wed Jul 05 16:44:40 2017 +0200
+++ b/jdk/src/share/classes/javax/management/remote/rmi/RMIConnectorServer.java	Wed Jul 05 16:45:14 2017 +0200
@@ -602,6 +602,26 @@
         return true;
     }
 
+    /**
+     * {@inheritDoc}
+     * <P>The {@code RMIConnectorServer} class does support closing a specified
+     * client connection.
+     * @throws IllegalStateException if the server is not started or is closed.
+     * @throws IllegalArgumentException if {@code connectionId} is null or is
+     * not the id of any open connection.
+     * @since 1.7
+     */
+    @Override
+    public void closeConnection(String connectionId)
+            throws IOException {
+        if (isActive()) {
+            rmiServerImpl.closeConnection(connectionId);
+        } else {
+            throw new IllegalStateException(
+                    "The server is not started or is closed.");
+        }
+    }
+
     /* We repeat the definitions of connection{Opened,Closed,Failed}
        here so that they are accessible to other classes in this package
        even though they have protected access.  */
--- a/jdk/src/share/classes/javax/management/remote/rmi/RMIJRMPServerImpl.java	Wed Jul 05 16:44:40 2017 +0200
+++ b/jdk/src/share/classes/javax/management/remote/rmi/RMIJRMPServerImpl.java	Wed Jul 05 16:45:14 2017 +0200
@@ -38,6 +38,9 @@
 import javax.security.auth.Subject;
 
 import com.sun.jmx.remote.internal.RMIExporter;
+import com.sun.jmx.remote.util.EnvHelp;
+import sun.rmi.server.UnicastServerRef;
+import sun.rmi.server.UnicastServerRef2;
 
 /**
  * <p>An {@link RMIServer} object that is exported through JRMP and that
@@ -93,12 +96,27 @@
     }
 
     private void export(Remote obj) throws RemoteException {
-        RMIExporter exporter =
+        final RMIExporter exporter =
             (RMIExporter) env.get(RMIExporter.EXPORTER_ATTRIBUTE);
-        if (exporter == null)
+        final boolean daemon = EnvHelp.isServerDaemon(env);
+
+        if (daemon && exporter != null) {
+            throw new IllegalArgumentException("If "+EnvHelp.JMX_SERVER_DAEMON+
+                    " is specified as true, "+RMIExporter.EXPORTER_ATTRIBUTE+
+                    " cannot be used to specify an exporter!");
+        }
+
+        if (daemon) {
+            if (csf == null && ssf == null) {
+                new UnicastServerRef(port).exportObject(obj, null, true);
+            } else {
+                new UnicastServerRef2(port, csf, ssf).exportObject(obj, null, true);
+            }
+        } else if (exporter != null) {
+            exporter.exportObject(obj, port, csf, ssf);
+        } else {
             UnicastRemoteObject.exportObject(obj, port, csf, ssf);
-        else
-            exporter.exportObject(obj, port, csf, ssf);
+        }
     }
 
     private void unexport(Remote obj, boolean force)
--- a/jdk/src/share/classes/javax/management/remote/rmi/RMIServerImpl.java	Wed Jul 05 16:44:40 2017 +0200
+++ b/jdk/src/share/classes/javax/management/remote/rmi/RMIServerImpl.java	Wed Jul 05 16:45:14 2017 +0200
@@ -249,14 +249,21 @@
 
         RMIConnection client = makeClient(connectionId, subject);
 
-        connServer.connectionOpened(connectionId, "Connection opened", null);
-
         dropDeadReferences();
         WeakReference<RMIConnection> wr = new WeakReference<RMIConnection>(client);
         synchronized (clientList) {
             clientList.add(wr);
         }
 
+        connServer.connectionOpened(connectionId, "Connection opened", null);
+
+        synchronized (clientList) {
+            if (!clientList.contains(wr)) {
+                // can be removed only by a JMXConnectionNotification listener
+                throw new IOException("The connection is refused.");
+            }
+        }
+
         if (tracing)
             logger.trace("newClient","new connection done: " + connectionId );
 
@@ -264,6 +271,52 @@
     }
 
     /**
+     * Closes a client connection.
+     * @param connectionId the id of the client connection to be closed.
+     * @throws IllegalArgumentException if {@code connectionId} is null or is
+     * not the id of any open connection.
+     * @throws java.io.IOException if an I/O error appears when closing the
+     * connection.
+     *
+     * @since 1.7
+     */
+    public void closeConnection(String connectionId)
+            throws IOException {
+        final boolean debug = logger.debugOn();
+
+        if (debug) logger.trace("closeConnection","cconnectionId="+connectionId);
+
+        if (connectionId == null)
+            throw new IllegalArgumentException("Null connectionId.");
+
+        RMIConnection client = null;
+        synchronized (clientList) {
+            dropDeadReferences();
+            for (Iterator<WeakReference<RMIConnection>> it = clientList.iterator();
+                 it.hasNext(); ) {
+                client = it.next().get();
+                if (client != null && connectionId.equals(client.getConnectionId())) {
+                    it.remove();
+                    break;
+                }
+            }
+        }
+
+        if (client == null) {
+            throw new IllegalArgumentException("Unknown id: "+connectionId);
+        }
+
+        if (debug) logger.trace("closeConnection", "closing client connection.");
+        closeClient(client);
+
+        if (debug) logger.trace("closeConnection", "sending notif");
+        connServer.connectionClosed(connectionId,
+                                    "Client connection closed", null);
+
+        if (debug) logger.trace("closeConnection","done");
+    }
+
+    /**
      * <p>Creates a new client connection.  This method is called by
      * the public method {@link #newClient(Object)}.</p>
      *
--- a/jdk/src/share/classes/javax/print/Doc.java	Wed Jul 05 16:44:40 2017 +0200
+++ b/jdk/src/share/classes/javax/print/Doc.java	Wed Jul 05 16:45:14 2017 +0200
@@ -28,9 +28,7 @@
 import java.io.InputStream;
 import java.io.IOException;
 import java.io.Reader;
-import java.io.UnsupportedEncodingException;
 
-import javax.print.attribute.AttributeSet;
 import javax.print.attribute.DocAttributeSet;
 
 
--- a/jdk/src/share/classes/javax/print/DocFlavor.java	Wed Jul 05 16:44:40 2017 +0200
+++ b/jdk/src/share/classes/javax/print/DocFlavor.java	Wed Jul 05 16:45:14 2017 +0200
@@ -30,7 +30,6 @@
 import java.io.ObjectOutputStream;
 import java.io.Serializable;
 
-import java.util.Map;
 
 /**
  * Class <code>DocFlavor</code> encapsulates an object that specifies the
--- a/jdk/src/share/classes/javax/print/DocPrintJob.java	Wed Jul 05 16:44:40 2017 +0200
+++ b/jdk/src/share/classes/javax/print/DocPrintJob.java	Wed Jul 05 16:45:14 2017 +0200
@@ -25,7 +25,6 @@
 
 package javax.print;
 
-import javax.print.attribute.AttributeSet;
 import javax.print.attribute.PrintJobAttributeSet;
 import javax.print.attribute.PrintRequestAttributeSet;
 import javax.print.event.PrintJobAttributeListener;
--- a/jdk/src/share/classes/javax/print/MultiDocPrintService.java	Wed Jul 05 16:44:40 2017 +0200
+++ b/jdk/src/share/classes/javax/print/MultiDocPrintService.java	Wed Jul 05 16:45:14 2017 +0200
@@ -25,11 +25,6 @@
 
 package javax.print;
 
-import java.util.Map;
-
-import javax.print.attribute.Attribute;
-import javax.print.event.PrintServiceAttributeListener;
-
 
  /** Interface MultiPrintService is the factory for a MultiDocPrintJob.
   * A MultiPrintService
--- a/jdk/src/share/classes/javax/print/PrintServiceLookup.java	Wed Jul 05 16:44:40 2017 +0200
+++ b/jdk/src/share/classes/javax/print/PrintServiceLookup.java	Wed Jul 05 16:45:14 2017 +0200
@@ -28,7 +28,6 @@
 
 import java.util.ArrayList;
 import java.util.Iterator;
-import java.util.List;
 import javax.print.attribute.AttributeSet;
 
 import sun.awt.AppContext;
--- a/jdk/src/share/classes/javax/print/attribute/URISyntax.java	Wed Jul 05 16:44:40 2017 +0200
+++ b/jdk/src/share/classes/javax/print/attribute/URISyntax.java	Wed Jul 05 16:45:14 2017 +0200
@@ -28,7 +28,6 @@
 
 import java.io.Serializable;
 import java.net.URI;
-import java.net.URISyntaxException;
 
 /**
  * Class URISyntax is an abstract base class providing the common
--- a/jdk/src/share/classes/javax/print/event/PrintServiceAttributeEvent.java	Wed Jul 05 16:44:40 2017 +0200
+++ b/jdk/src/share/classes/javax/print/event/PrintServiceAttributeEvent.java	Wed Jul 05 16:45:14 2017 +0200
@@ -25,7 +25,6 @@
 
 package javax.print.event;
 
-import java.util.List;
 import javax.print.PrintService;
 import javax.print.attribute.AttributeSetUtilities;
 import javax.print.attribute.PrintServiceAttributeSet;
--- a/jdk/src/share/classes/sun/font/Decoration.java	Wed Jul 05 16:44:40 2017 +0200
+++ b/jdk/src/share/classes/sun/font/Decoration.java	Wed Jul 05 16:45:14 2017 +0200
@@ -267,7 +267,9 @@
             CoreMetrics cm = label.getCoreMetrics();
             if (strikethrough) {
                 Stroke savedStroke = g2d.getStroke();
-                g2d.setStroke(new BasicStroke(cm.strikethroughThickness));
+                g2d.setStroke(new BasicStroke(cm.strikethroughThickness,
+                                              BasicStroke.CAP_BUTT,
+                                              BasicStroke.JOIN_MITER));
                 float strikeY = y + cm.strikethroughOffset;
                 g2d.draw(new Line2D.Float(x1, strikeY, x2, strikeY));
                 g2d.setStroke(savedStroke);
@@ -341,7 +343,7 @@
 
             Rectangle2D visBounds = label.handleGetVisualBounds();
 
-            if (swapColors || bgPaint != null
+            if (swapColors || bgPaint != null || strikethrough
                         || stdUnderline != null || imUnderline != null) {
 
                 float minX = 0;
@@ -377,6 +379,7 @@
             // NOTE:  The performace of the following code may
             // be very poor.
             float ulThickness = cm.underlineThickness;
+            float ulOffset = cm.underlineOffset;
 
             Rectangle2D lb = label.getLogicalBounds();
             float x1 = x;
@@ -385,12 +388,15 @@
             Area area = null;
 
             if (stdUnderline != null) {
-                Shape ul = stdUnderline.getUnderlineShape(ulThickness, x1, x2, y);
+                Shape ul = stdUnderline.getUnderlineShape(ulThickness,
+                                                          x1, x2, y+ulOffset);
                 area = new Area(ul);
             }
 
             if (strikethrough) {
-                Stroke stStroke = new BasicStroke(cm.strikethroughThickness);
+                Stroke stStroke = new BasicStroke(cm.strikethroughThickness,
+                                                  BasicStroke.CAP_BUTT,
+                                                  BasicStroke.JOIN_MITER);
                 float shiftY = y + cm.strikethroughOffset;
                 Line2D line = new Line2D.Float(x1, shiftY, x2, shiftY);
                 Area slArea = new Area(stStroke.createStrokedShape(line));
@@ -402,7 +408,8 @@
             }
 
             if (imUnderline != null) {
-                Shape ul = imUnderline.getUnderlineShape(ulThickness, x1, x2, y);
+                Shape ul = imUnderline.getUnderlineShape(ulThickness,
+                                                         x1, x2, y+ulOffset);
                 Area ulArea = new Area(ul);
                 if (area == null) {
                     area = ulArea;
--- a/jdk/src/share/classes/sun/font/FontManager.java	Wed Jul 05 16:44:40 2017 +0200
+++ b/jdk/src/share/classes/sun/font/FontManager.java	Wed Jul 05 16:45:14 2017 +0200
@@ -3344,7 +3344,7 @@
             int fontFormat = FONTFORMAT_NONE;
             int fontRank = Font2D.UNKNOWN_RANK;
 
-            if (ext.equals(".ttf") || isTTC) {
+            if (ext.equals(".ttf") || ext.equals(".otf") || isTTC) {
                 fontFormat = FONTFORMAT_TRUETYPE;
                 fontRank = Font2D.TTF_RANK;
             } else if (ext.equals(".pfa") || ext.equals(".pfb")) {
--- a/jdk/src/share/classes/sun/font/TrueTypeFont.java	Wed Jul 05 16:44:40 2017 +0200
+++ b/jdk/src/share/classes/sun/font/TrueTypeFont.java	Wed Jul 05 16:45:14 2017 +0200
@@ -90,6 +90,7 @@
     public static final int ttcfTag = 0x74746366; // 'ttcf' - TTC file
     public static final int v1ttTag = 0x00010000; // 'v1tt' - Version 1 TT font
     public static final int trueTag = 0x74727565; // 'true' - Version 2 TT font
+    public static final int ottoTag = 0x4f54544f; // 'otto' - OpenType font
 
     /* -- ID's used in the 'name' table */
     public static final int MS_PLATFORM_ID = 3;
@@ -490,6 +491,7 @@
 
             case v1ttTag:
             case trueTag:
+            case ottoTag:
                 break;
 
             default:
--- a/jdk/src/share/classes/sun/font/Underline.java	Wed Jul 05 16:44:40 2017 +0200
+++ b/jdk/src/share/classes/sun/font/Underline.java	Wed Jul 05 16:45:14 2017 +0200
@@ -126,7 +126,9 @@
         private BasicStroke createStroke(float lineThickness) {
 
             if (dashPattern == null) {
-                return new BasicStroke(lineThickness);
+                return new BasicStroke(lineThickness,
+                                       BasicStroke.CAP_BUTT,
+                                       BasicStroke.JOIN_MITER);
             }
             else {
                 return new BasicStroke(lineThickness,
--- a/jdk/src/share/classes/sun/io/ByteToCharCp850.java	Wed Jul 05 16:44:40 2017 +0200
+++ b/jdk/src/share/classes/sun/io/ByteToCharCp850.java	Wed Jul 05 16:45:14 2017 +0200
@@ -1,5 +1,5 @@
 /*
- * Copyright 1996-2005 Sun Microsystems, Inc.  All Rights Reserved.
+ * Copyright 1996-2002 Sun Microsystems, Inc.  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
@@ -23,7 +23,6 @@
  * have any questions.
  */
 
-
 package sun.io;
 
 import sun.nio.cs.IBM850;
@@ -32,6 +31,7 @@
  * A table to convert to Cp850 to Unicode
  *
  * @author  ConverterGenerator tool
+ * @version >= JDK1.1.6
  */
 
 public class ByteToCharCp850 extends ByteToCharSingleByte {
@@ -41,6 +41,6 @@
     }
 
     public ByteToCharCp850() {
-        super.byteToCharTable = IBM850.getDecoderSingleByteMappings();
+        super.byteToCharTable = new IBM850().getDecoderSingleByteMappings();
     }
 }
--- a/jdk/src/share/classes/sun/io/CharToByteJIS0201.java	Wed Jul 05 16:44:40 2017 +0200
+++ b/jdk/src/share/classes/sun/io/CharToByteJIS0201.java	Wed Jul 05 16:45:14 2017 +0200
@@ -1,5 +1,5 @@
 /*
- * Copyright 1997-1998 Sun Microsystems, Inc.  All Rights Reserved.
+ * Copyright 1996-2008 Sun Microsystems, Inc.  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
@@ -29,6 +29,7 @@
  * Tables and data to convert Unicode to JIS0201
  *
  * @author  ConverterGenerator tool
+ * @version >= JDK1.1.6
  */
 
 class CharToByteJIS0201 extends CharToByteSingleByte {
@@ -41,8 +42,21 @@
         super.mask1 = 0xFF00;
         super.mask2 = 0x00FF;
         super.shift = 8;
+        /*
         super.index1 = index1;
         super.index2 = index2;
+        */
+    }
+
+    public byte getNative(char inputChar) {
+        return (byte)index2.charAt(index1[(inputChar & mask1) >> shift]
+                + (inputChar & mask2));
+    }
+
+   public boolean canConvert(char ch) {
+        if (index2.charAt(index1[((ch & mask1) >> shift)] + (ch & mask2)) != '\u0000')
+            return true;
+        return (ch == '\u0000');
     }
 
     private final static String index2 =
--- a/jdk/src/share/classes/sun/io/CharToByteSingleByte.java	Wed Jul 05 16:44:40 2017 +0200
+++ b/jdk/src/share/classes/sun/io/CharToByteSingleByte.java	Wed Jul 05 16:45:14 2017 +0200
@@ -1,5 +1,5 @@
 /*
- * Copyright 1996-2002 Sun Microsystems, Inc.  All Rights Reserved.
+ * Copyright 1996-2008 Sun Microsystems, Inc.  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
@@ -25,6 +25,8 @@
 
 package sun.io;
 
+import static sun.nio.cs.CharsetMapping.*;
+
 /**
 * A table driven conversion from char to byte for single byte
 * character sets.  Tables will reside in the class CharToByteYYYYY,
@@ -35,6 +37,7 @@
 *
 * @author Lloyd Honomichl
 * @author Asmus Freytag
+* @version 8/28/96
 */
 
 public abstract class CharToByteSingleByte extends CharToByteConverter {
@@ -42,12 +45,12 @@
     /*
      * 1st level index, provided by subclass
      */
-    protected short index1[];
+    protected char[] index1;
 
     /*
      * 2nd level index, provided by subclass
      */
-    protected String  index2;
+    protected char[] index2;
 
     /*
      * Mask to isolate bits for 1st level index, from subclass
@@ -66,11 +69,11 @@
 
     private char highHalfZoneCode;
 
-    public short[] getIndex1() {
+    public char[] getIndex1() {
         return index1;
     }
 
-    public String getIndex2() {
+    public char[] getIndex2() {
         return index2;
     }
     public int flush(byte[] output, int outStart, int outEnd)
@@ -229,9 +232,18 @@
         return 1;
     }
 
+    int encodeChar(char ch) {
+        char index = index1[ch >> 8];
+        if (index == UNMAPPABLE_ENCODING)
+            return UNMAPPABLE_ENCODING;
+        return index2[index + (ch & 0xff)];
+    }
+
     public byte getNative(char inputChar) {
-        return (byte)index2.charAt(index1[(inputChar & mask1) >> shift]
-                + (inputChar & mask2));
+        int b = encodeChar(inputChar);
+        if (b == UNMAPPABLE_ENCODING)
+            return 0;
+        return (byte)b;
     }
 
     /**
@@ -248,11 +260,6 @@
      * @return true if a character is mappable
      */
     public boolean canConvert(char ch) {
-        // Look it up in the table
-        if (index2.charAt(index1[((ch & mask1) >> shift)] + (ch & mask2)) != '\u0000')
-            return true;
-
-        // Nulls are always mappable
-        return (ch == '\u0000');
+        return encodeChar(ch) != UNMAPPABLE_ENCODING;
     }
 }
--- a/jdk/src/share/classes/sun/java2d/SunGraphicsEnvironment.java	Wed Jul 05 16:44:40 2017 +0200
+++ b/jdk/src/share/classes/sun/java2d/SunGraphicsEnvironment.java	Wed Jul 05 16:45:14 2017 +0200
@@ -812,7 +812,9 @@
                 return(name.startsWith(".ttf", offset) ||
                        name.startsWith(".TTF", offset) ||
                        name.startsWith(".ttc", offset) ||
-                       name.startsWith(".TTC", offset));
+                       name.startsWith(".TTC", offset) ||
+                       name.startsWith(".otf", offset) ||
+                       name.startsWith(".OTF", offset));
             }
         }
     }
@@ -835,31 +837,11 @@
         }
     }
 
-     public static class TTorT1Filter implements FilenameFilter {
-        public boolean accept(File dir, String name) {
-
-            /* all conveniently have the same suffix length */
-            int offset = name.length()-4;
-            if (offset <= 0) { /* must be at least A.ttf or A.pfa */
-                return false;
-            } else {
-                boolean isTT =
-                    name.startsWith(".ttf", offset) ||
-                    name.startsWith(".TTF", offset) ||
-                    name.startsWith(".ttc", offset) ||
-                    name.startsWith(".TTC", offset);
-                if (isTT) {
-                    return true;
-                } else if (noType1Font) {
-                    return false;
-                } else {
-                    return(name.startsWith(".pfa", offset) ||
-                           name.startsWith(".pfb", offset) ||
-                           name.startsWith(".PFA", offset) ||
-                           name.startsWith(".PFB", offset));
-                }
-            }
-        }
+    public static class TTorT1Filter implements FilenameFilter {
+         public boolean accept(File dir, String name) {
+             return SunGraphicsEnvironment.ttFilter.accept(dir, name) ||
+                 SunGraphicsEnvironment.t1Filter.accept(dir, name);
+         }
     }
 
     /* No need to keep consing up new instances - reuse a singleton.
@@ -1290,6 +1272,13 @@
         displayChanger.notifyPaletteChanged();
     }
 
+    /**
+     * Returns true when the display is local, false for remote displays.
+     *
+     * @return true when the display is local, false for remote displays
+     */
+    public abstract boolean isDisplayLocal();
+
     /*
      * ----DISPLAY CHANGE SUPPORT----
      */
--- a/jdk/src/share/classes/sun/java2d/SurfaceData.java	Wed Jul 05 16:44:40 2017 +0200
+++ b/jdk/src/share/classes/sun/java2d/SurfaceData.java	Wed Jul 05 16:45:14 2017 +0200
@@ -449,7 +449,8 @@
         // For now the answer can only be true in the following cases:
         if (sg2d.compositeState <= SunGraphics2D.COMP_ISCOPY &&
             sg2d.paintState <= SunGraphics2D.PAINT_ALPHACOLOR &&
-            sg2d.clipState <= SunGraphics2D.CLIP_RECTANGULAR)
+            sg2d.clipState <= SunGraphics2D.CLIP_RECTANGULAR &&
+            sg2d.surfaceData.getTransparency() == Transparency.OPAQUE)
         {
             if (haveLCDLoop == LCDLOOP_UNKNOWN) {
                 DrawGlyphListLCD loop =
--- a/jdk/src/share/classes/sun/java2d/opengl/OGLBlitLoops.java	Wed Jul 05 16:44:40 2017 +0200
+++ b/jdk/src/share/classes/sun/java2d/opengl/OGLBlitLoops.java	Wed Jul 05 16:45:14 2017 +0200
@@ -25,17 +25,13 @@
 
 package sun.java2d.opengl;
 
-import java.awt.AlphaComposite;
-import java.awt.Color;
 import java.awt.Composite;
 import java.awt.Transparency;
 import java.awt.geom.AffineTransform;
 import java.awt.image.AffineTransformOp;
 import java.awt.image.BufferedImage;
 import java.awt.image.BufferedImageOp;
-import java.awt.image.ColorModel;
 import java.lang.ref.WeakReference;
-import sun.awt.image.BufImgSurfaceData;
 import sun.java2d.SurfaceData;
 import sun.java2d.loops.Blit;
 import sun.java2d.loops.CompositeType;
@@ -84,6 +80,8 @@
                                    OGLSurfaceData.PF_INT_BGR),
             new OGLSwToSurfaceBlit(SurfaceType.IntBgrx,
                                    OGLSurfaceData.PF_INT_BGRX),
+            new OGLSwToSurfaceBlit(SurfaceType.ThreeByteBgr,
+                                   OGLSurfaceData.PF_3BYTE_BGR),
             new OGLSwToSurfaceBlit(SurfaceType.Ushort565Rgb,
                                    OGLSurfaceData.PF_USHORT_565_RGB),
             new OGLSwToSurfaceBlit(SurfaceType.Ushort555Rgb,
@@ -106,6 +104,8 @@
                                     OGLSurfaceData.PF_INT_BGR),
             new OGLSwToSurfaceScale(SurfaceType.IntBgrx,
                                     OGLSurfaceData.PF_INT_BGRX),
+            new OGLSwToSurfaceScale(SurfaceType.ThreeByteBgr,
+                                    OGLSurfaceData.PF_3BYTE_BGR),
             new OGLSwToSurfaceScale(SurfaceType.Ushort565Rgb,
                                     OGLSurfaceData.PF_USHORT_565_RGB),
             new OGLSwToSurfaceScale(SurfaceType.Ushort555Rgb,
@@ -127,6 +127,8 @@
                                         OGLSurfaceData.PF_INT_BGR),
             new OGLSwToSurfaceTransform(SurfaceType.IntBgrx,
                                         OGLSurfaceData.PF_INT_BGRX),
+            new OGLSwToSurfaceTransform(SurfaceType.ThreeByteBgr,
+                                        OGLSurfaceData.PF_3BYTE_BGR),
             new OGLSwToSurfaceTransform(SurfaceType.Ushort565Rgb,
                                         OGLSurfaceData.PF_USHORT_565_RGB),
             new OGLSwToSurfaceTransform(SurfaceType.Ushort555Rgb,
@@ -155,6 +157,8 @@
                                    OGLSurfaceData.PF_INT_BGR),
             new OGLSwToTextureBlit(SurfaceType.IntBgrx,
                                    OGLSurfaceData.PF_INT_BGRX),
+            new OGLSwToTextureBlit(SurfaceType.ThreeByteBgr,
+                                   OGLSurfaceData.PF_3BYTE_BGR),
             new OGLSwToTextureBlit(SurfaceType.Ushort565Rgb,
                                    OGLSurfaceData.PF_USHORT_565_RGB),
             new OGLSwToTextureBlit(SurfaceType.Ushort555Rgb,
--- a/jdk/src/share/classes/sun/java2d/opengl/OGLSurfaceData.java	Wed Jul 05 16:44:40 2017 +0200
+++ b/jdk/src/share/classes/sun/java2d/opengl/OGLSurfaceData.java	Wed Jul 05 16:45:14 2017 +0200
@@ -120,6 +120,7 @@
     public static final int PF_USHORT_555_RGBX = 8;
     public static final int PF_BYTE_GRAY       = 9;
     public static final int PF_USHORT_GRAY     = 10;
+    public static final int PF_3BYTE_BGR       = 11;
 
     /**
      * SurfaceTypes
@@ -401,6 +402,7 @@
      *   - the fragment shader extension is available, and
      *   - blending is disabled, and
      *   - the source color is opaque
+     *   - and the destination is opaque
      *
      * Eventually, we could enhance the native OGL text rendering code
      * and remove the above restrictions, but that would require significantly
@@ -410,7 +412,8 @@
         return
             graphicsConfig.isCapPresent(CAPS_EXT_LCD_SHADER) &&
             sg2d.compositeState <= SunGraphics2D.COMP_ISCOPY &&
-            sg2d.paintState <= SunGraphics2D.PAINT_OPAQUECOLOR;
+            sg2d.paintState <= SunGraphics2D.PAINT_OPAQUECOLOR &&
+            sg2d.surfaceData.getTransparency() == Transparency.OPAQUE;
     }
 
     public void validatePipe(SunGraphics2D sg2d) {
--- a/jdk/src/share/classes/sun/java2d/pipe/BufferedContext.java	Wed Jul 05 16:44:40 2017 +0200
+++ b/jdk/src/share/classes/sun/java2d/pipe/BufferedContext.java	Wed Jul 05 16:45:14 2017 +0200
@@ -90,7 +90,8 @@
     private Region          validatedClip;
     private Composite       validatedComp;
     private Paint           validatedPaint;
-    private boolean         isValidatedPaintAColor;
+    // renamed from isValidatedPaintAColor as part of a work around for 6764257
+    private boolean         isValidatedPaintJustAColor;
     private int             validatedRGB;
     private int             validatedFlags;
     private boolean         xformInUse;
@@ -182,7 +183,7 @@
         if (paint instanceof Color) {
             // REMIND: not 30-bit friendly
             int newRGB = ((Color)paint).getRGB();
-            if (isValidatedPaintAColor) {
+            if (isValidatedPaintJustAColor) {
                 if (newRGB != validatedRGB) {
                     validatedRGB = newRGB;
                     updatePaint = true;
@@ -190,13 +191,13 @@
             } else {
                 validatedRGB = newRGB;
                 updatePaint = true;
-                isValidatedPaintAColor = true;
+                isValidatedPaintJustAColor = true;
             }
         } else if (validatedPaint != paint) {
             updatePaint = true;
             // this should be set when we are switching from paint to color
             // in which case this condition will be true
-            isValidatedPaintAColor = false;
+            isValidatedPaintJustAColor = false;
         }
 
         if ((currentContext != this) ||
@@ -281,7 +282,7 @@
             txChanged = true;
         }
         // non-Color paints may require paint revalidation
-        if (!isValidatedPaintAColor && txChanged) {
+        if (!isValidatedPaintJustAColor && txChanged) {
             updatePaint = true;
         }
 
@@ -427,10 +428,12 @@
         resetTransform();
         resetComposite();
         resetClip();
+        BufferedPaints.resetPaint(rq);
         invalidateSurfaces();
         validatedComp = null;
         validatedClip = null;
         validatedPaint = null;
+        isValidatedPaintJustAColor = false;
         xformInUse = false;
     }
 
--- a/jdk/src/share/classes/sun/nio/cs/IBM437.java	Wed Jul 05 16:44:40 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,368 +0,0 @@
-/*
- * Copyright 2003-2005 Sun Microsystems, Inc.  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.  Sun designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
- */
-
-package sun.nio.cs;
-
-
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetDecoder;
-import java.nio.charset.CharsetEncoder;
-import sun.nio.cs.StandardCharsets;
-import sun.nio.cs.SingleByteDecoder;
-import sun.nio.cs.SingleByteEncoder;
-import sun.nio.cs.HistoricallyNamedCharset;
-
-public class IBM437
-    extends Charset
-    implements HistoricallyNamedCharset
-{
-
-    public IBM437() {
-        super("IBM437", StandardCharsets.aliases_IBM437);
-    }
-
-    public String historicalName() {
-        return "Cp437";
-    }
-
-    public boolean contains(Charset cs) {
-        return (cs instanceof IBM437);
-    }
-
-    public CharsetDecoder newDecoder() {
-        return new Decoder(this);
-    }
-
-    public CharsetEncoder newEncoder() {
-        return new Encoder(this);
-    }
-
-
-    /**
-     * These accessors are temporarily supplied while sun.io
-     * converters co-exist with the sun.nio.cs.{ext} charset coders
-     * These facilitate sharing of conversion tables between the
-     * two co-existing implementations. When sun.io converters
-     * are made extinct these will be unncessary and should be removed
-     */
-
-    public String getDecoderSingleByteMappings() {
-        return Decoder.byteToCharTable;
-
-    }
-
-    public short[] getEncoderIndex1() {
-        return Encoder.index1;
-
-    }
-    public String getEncoderIndex2() {
-        return Encoder.index2;
-
-    }
-
-    private static class Decoder extends SingleByteDecoder {
-            public Decoder(Charset cs) {
-                super(cs, byteToCharTable);
-        }
-
-        private final static String byteToCharTable =
-
-            "\u00C7\u00FC\u00E9\u00E2\u00E4\u00E0\u00E5\u00E7" +     // 0x80 - 0x87
-            "\u00EA\u00EB\u00E8\u00EF\u00EE\u00EC\u00C4\u00C5" +     // 0x88 - 0x8F
-            "\u00C9\u00E6\u00C6\u00F4\u00F6\u00F2\u00FB\u00F9" +     // 0x90 - 0x97
-            "\u00FF\u00D6\u00DC\u00A2\u00A3\u00A5\u20A7\u0192" +     // 0x98 - 0x9F
-            "\u00E1\u00ED\u00F3\u00FA\u00F1\u00D1\u00AA\u00BA" +     // 0xA0 - 0xA7
-            "\u00BF\u2310\u00AC\u00BD\u00BC\u00A1\u00AB\u00BB" +     // 0xA8 - 0xAF
-            "\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556" +     // 0xB0 - 0xB7
-            "\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510" +     // 0xB8 - 0xBF
-            "\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F" +     // 0xC0 - 0xC7
-            "\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567" +     // 0xC8 - 0xCF
-            "\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B" +     // 0xD0 - 0xD7
-            "\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580" +     // 0xD8 - 0xDF
-            "\u03B1\u00DF\u0393\u03C0\u03A3\u03C3\u00B5\u03C4" +     // 0xE0 - 0xE7
-            "\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229" +     // 0xE8 - 0xEF
-            "\u2261\u00B1\u2265\u2264\u2320\u2321\u00F7\u2248" +     // 0xF0 - 0xF7
-            "\u00B0\u2219\u00B7\u221A\u207F\u00B2\u25A0\u00A0" +     // 0xF8 - 0xFF
-            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +     // 0x00 - 0x07
-            "\b\t\n\u000B\f\r\u000E\u000F" +     // 0x08 - 0x0F
-            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +     // 0x10 - 0x17
-            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +     // 0x18 - 0x1F
-            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +     // 0x20 - 0x27
-            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +     // 0x28 - 0x2F
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +     // 0x30 - 0x37
-            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +     // 0x38 - 0x3F
-            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +     // 0x40 - 0x47
-            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +     // 0x48 - 0x4F
-            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +     // 0x50 - 0x57
-            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +     // 0x58 - 0x5F
-            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +     // 0x60 - 0x67
-            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +     // 0x68 - 0x6F
-            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +     // 0x70 - 0x77
-            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";     // 0x78 - 0x7F
-
-    }
-
-    private static class Encoder extends SingleByteEncoder {
-            public Encoder(Charset cs) {
-                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
-            }
-
-            private final static String index2 =
-
-
-            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
-            "\b\t\n\u000B\f\r\u000E\u000F" +
-            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
-            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
-            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
-            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
-            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
-            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
-            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
-            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
-            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
-            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
-            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
-            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
-            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00FF\u00AD\u009B\u009C\u0000\u009D\u0000\u0000" +
-            "\u0000\u0000\u00A6\u00AE\u00AA\u0000\u0000\u0000" +
-            "\u00F8\u00F1\u00FD\u0000\u0000\u00E6\u0000\u00FA" +
-            "\u0000\u0000\u00A7\u00AF\u00AC\u00AB\u0000\u00A8" +
-            "\u0000\u0000\u0000\u0000\u008E\u008F\u0092\u0080" +
-            "\u0000\u0090\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u00A5\u0000\u0000\u0000\u0000\u0099\u0000" +
-            "\u0000\u0000\u0000\u0000\u009A\u0000\u0000\u00E1" +
-            "\u0085\u00A0\u0083\u0000\u0084\u0086\u0091\u0087" +
-            "\u008A\u0082\u0088\u0089\u008D\u00A1\u008C\u008B" +
-            "\u0000\u00A4\u0095\u00A2\u0093\u0000\u0094\u00F6" +
-            "\u0000\u0097\u00A3\u0096\u0081\u0000\u0000\u0098" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u009F\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u00E2\u0000\u0000\u0000\u0000" +
-            "\u00E9\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u00E4\u0000\u0000\u00E8\u0000" +
-            "\u0000\u00EA\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u00E0\u0000\u0000\u00EB\u00EE\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00E3\u0000\u0000\u00E5\u00E7\u0000\u00ED\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u00FC\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u009E\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00F9" +
-            "\u00FB\u0000\u0000\u0000\u00EC\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00EF" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u00F7\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00F0" +
-            "\u0000\u0000\u00F3\u00F2\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u00A9\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u00F4\u00F5" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u00C4\u0000" +
-            "\u00B3\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u00DA\u0000\u0000\u0000\u00BF\u0000" +
-            "\u0000\u0000\u00C0\u0000\u0000\u0000\u00D9\u0000" +
-            "\u0000\u0000\u00C3\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u00B4\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u00C2\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u00C1\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u00C5\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u00CD\u00BA" +
-            "\u00D5\u00D6\u00C9\u00B8\u00B7\u00BB\u00D4\u00D3" +
-            "\u00C8\u00BE\u00BD\u00BC\u00C6\u00C7\u00CC\u00B5" +
-            "\u00B6\u00B9\u00D1\u00D2\u00CB\u00CF\u00D0\u00CA" +
-            "\u00D8\u00D7\u00CE\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u00DF\u0000" +
-            "\u0000\u0000\u00DC\u0000\u0000\u0000\u00DB\u0000" +
-            "\u0000\u0000\u00DD\u0000\u0000\u0000\u00DE\u00B0" +
-            "\u00B1\u00B2\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u00FE\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000";
-
-    private final static short index1[] = {
-            0, 256, 403, 512, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            711, 403, 942, 1182, 403, 1438, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-
-        };
-    }
-}
--- a/jdk/src/share/classes/sun/nio/cs/IBM737.java	Wed Jul 05 16:44:40 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,321 +0,0 @@
-/*
- * Copyright 2003-2005 Sun Microsystems, Inc.  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.  Sun designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
- */
-
-package sun.nio.cs;
-
-
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetDecoder;
-import java.nio.charset.CharsetEncoder;
-import sun.nio.cs.StandardCharsets;
-import sun.nio.cs.SingleByteDecoder;
-import sun.nio.cs.SingleByteEncoder;
-import sun.nio.cs.HistoricallyNamedCharset;
-
-public class IBM737
-    extends Charset
-    implements HistoricallyNamedCharset
-{
-
-    public IBM737() {
-        super("x-IBM737", StandardCharsets.aliases_IBM737);
-    }
-
-    public String historicalName() {
-        return "Cp737";
-    }
-
-    public boolean contains(Charset cs) {
-        return (cs instanceof IBM737);
-    }
-
-    public CharsetDecoder newDecoder() {
-        return new Decoder(this);
-    }
-
-    public CharsetEncoder newEncoder() {
-        return new Encoder(this);
-    }
-
-
-    /**
-     * These accessors are temporarily supplied while sun.io
-     * converters co-exist with the sun.nio.cs.{ext} charset coders
-     * These facilitate sharing of conversion tables between the
-     * two co-existing implementations. When sun.io converters
-     * are made extinct these will be unncessary and should be removed
-     */
-
-    public String getDecoderSingleByteMappings() {
-        return Decoder.byteToCharTable;
-
-    }
-
-    public short[] getEncoderIndex1() {
-        return Encoder.index1;
-
-    }
-    public String getEncoderIndex2() {
-        return Encoder.index2;
-
-    }
-
-    private static class Decoder extends SingleByteDecoder {
-            public Decoder(Charset cs) {
-                super(cs, byteToCharTable);
-        }
-
-        private final static String byteToCharTable =
-
-            "\u0391\u0392\u0393\u0394\u0395\u0396\u0397\u0398" +        // 0x80 - 0x87
-            "\u0399\u039A\u039B\u039C\u039D\u039E\u039F\u03A0" +        // 0x88 - 0x8F
-            "\u03A1\u03A3\u03A4\u03A5\u03A6\u03A7\u03A8\u03A9" +        // 0x90 - 0x97
-            "\u03B1\u03B2\u03B3\u03B4\u03B5\u03B6\u03B7\u03B8" +        // 0x98 - 0x9F
-            "\u03B9\u03BA\u03BB\u03BC\u03BD\u03BE\u03BF\u03C0" +        // 0xA0 - 0xA7
-            "\u03C1\u03C3\u03C2\u03C4\u03C5\u03C6\u03C7\u03C8" +        // 0xA8 - 0xAF
-            "\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556" +        // 0xB0 - 0xB7
-            "\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510" +        // 0xB8 - 0xBF
-            "\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F" +        // 0xC0 - 0xC7
-            "\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567" +        // 0xC8 - 0xCF
-            "\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B" +        // 0xD0 - 0xD7
-            "\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580" +        // 0xD8 - 0xDF
-            "\u03C9\u03AC\u03AD\u03AE\u03CA\u03AF\u03CC\u03CD" +        // 0xE0 - 0xE7
-            "\u03CB\u03CE\u0386\u0388\u0389\u038A\u038C\u038E" +        // 0xE8 - 0xEF
-            "\u038F\u00B1\u2265\u2264\u03AA\u03AB\u00F7\u2248" +        // 0xF0 - 0xF7
-            "\u00B0\u2219\u00B7\u221A\u207F\u00B2\u25A0\u00A0" +        // 0xF8 - 0xFF
-            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +        // 0x00 - 0x07
-            "\b\t\n\u000B\f\r\u000E\u000F" +    // 0x08 - 0x0F
-            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +        // 0x10 - 0x17
-            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +        // 0x18 - 0x1F
-            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +        // 0x20 - 0x27
-            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +        // 0x28 - 0x2F
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +        // 0x30 - 0x37
-            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +        // 0x38 - 0x3F
-            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +        // 0x40 - 0x47
-            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +        // 0x48 - 0x4F
-            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +        // 0x50 - 0x57
-            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +    // 0x58 - 0x5F
-            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +        // 0x60 - 0x67
-            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +        // 0x68 - 0x6F
-            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +        // 0x70 - 0x77
-            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";         // 0x78 - 0x7F
-
-    }
-
-    private static class Encoder extends SingleByteEncoder {
-            public Encoder(Charset cs) {
-                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
-            }
-
-            private final static String index2 =
-
-
-            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
-            "\b\t\n\u000B\f\r\u000E\u000F" +
-            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
-            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
-            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
-            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
-            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
-            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
-            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
-            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
-            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
-            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
-            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
-            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
-            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00FF\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00F8\u00F1\u00FD\u0000\u0000\u0000\u0000\u00FA" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00F6" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00EA\u0000\u00EB\u00EC\u00ED\u0000\u00EE\u0000" +
-            "\u00EF\u00F0\u0000\u0080\u0081\u0082\u0083\u0084" +
-            "\u0085\u0086\u0087\u0088\u0089\u008A\u008B\u008C" +
-            "\u008D\u008E\u008F\u0090\u0000\u0091\u0092\u0093" +
-            "\u0094\u0095\u0096\u0097\u00F4\u00F5\u00E1\u00E2" +
-            "\u00E3\u00E5\u0000\u0098\u0099\u009A\u009B\u009C" +
-            "\u009D\u009E\u009F\u00A0\u00A1\u00A2\u00A3\u00A4" +
-            "\u00A5\u00A6\u00A7\u00A8\u00AA\u00A9\u00AB\u00AC" +
-            "\u00AD\u00AE\u00AF\u00E0\u00E4\u00E8\u00E6\u00E7" +
-            "\u00E9\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00FC\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u00F9\u00FB\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00F7\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u00F3\u00F2\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00C4\u0000\u00B3\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u00DA\u0000\u0000\u0000" +
-            "\u00BF\u0000\u0000\u0000\u00C0\u0000\u0000\u0000" +
-            "\u00D9\u0000\u0000\u0000\u00C3\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u00B4\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u00C2\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u00C1\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u00C5\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00CD\u00BA\u00D5\u00D6\u00C9\u00B8\u00B7\u00BB" +
-            "\u00D4\u00D3\u00C8\u00BE\u00BD\u00BC\u00C6\u00C7" +
-            "\u00CC\u00B5\u00B6\u00B9\u00D1\u00D2\u00CB\u00CF" +
-            "\u00D0\u00CA\u00D8\u00D7\u00CE\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00DF\u0000\u0000\u0000\u00DC\u0000\u0000\u0000" +
-            "\u00DB\u0000\u0000\u0000\u00DD\u0000\u0000\u0000" +
-            "\u00DE\u00B0\u00B1\u00B2\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00FE\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000";
-
-    private final static short index1[] = {
-            0, 248, 248, 370, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            577, 248, 808, 248, 248, 1064, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-
-        };
-    }
-}
--- a/jdk/src/share/classes/sun/nio/cs/IBM775.java	Wed Jul 05 16:44:40 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,326 +0,0 @@
-/*
- * Copyright 2003-2005 Sun Microsystems, Inc.  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.  Sun designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
- */
-
-package sun.nio.cs;
-
-
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetDecoder;
-import java.nio.charset.CharsetEncoder;
-import sun.nio.cs.StandardCharsets;
-import sun.nio.cs.SingleByteDecoder;
-import sun.nio.cs.SingleByteEncoder;
-import sun.nio.cs.HistoricallyNamedCharset;
-
-public class IBM775
-    extends Charset
-    implements HistoricallyNamedCharset
-{
-
-    public IBM775() {
-        super("IBM775", StandardCharsets.aliases_IBM775);
-    }
-
-    public String historicalName() {
-        return "Cp775";
-    }
-
-    public boolean contains(Charset cs) {
-        return (cs instanceof IBM775);
-    }
-
-    public CharsetDecoder newDecoder() {
-        return new Decoder(this);
-    }
-
-    public CharsetEncoder newEncoder() {
-        return new Encoder(this);
-    }
-
-
-    /**
-     * These accessors are temporarily supplied while sun.io
-     * converters co-exist with the sun.nio.cs.{ext} charset coders
-     * These facilitate sharing of conversion tables between the
-     * two co-existing implementations. When sun.io converters
-     * are made extinct these will be unncessary and should be removed
-     */
-
-    public String getDecoderSingleByteMappings() {
-        return Decoder.byteToCharTable;
-
-    }
-
-    public short[] getEncoderIndex1() {
-        return Encoder.index1;
-
-    }
-    public String getEncoderIndex2() {
-        return Encoder.index2;
-
-    }
-
-    private static class Decoder extends SingleByteDecoder {
-            public Decoder(Charset cs) {
-                super(cs, byteToCharTable);
-        }
-
-        private final static String byteToCharTable =
-
-            "\u0106\u00FC\u00E9\u0101\u00E4\u0123\u00E5\u0107" +        // 0x80 - 0x87
-            "\u0142\u0113\u0156\u0157\u012B\u0179\u00C4\u00C5" +        // 0x88 - 0x8F
-            "\u00C9\u00E6\u00C6\u014D\u00F6\u0122\u00A2\u015A" +        // 0x90 - 0x97
-            "\u015B\u00D6\u00DC\u00F8\u00A3\u00D8\u00D7\u00A4" +        // 0x98 - 0x9F
-            "\u0100\u012A\u00F3\u017B\u017C\u017A\u201D\u00A6" +        // 0xA0 - 0xA7
-            "\u00A9\u00AE\u00AC\u00BD\u00BC\u0141\u00AB\u00BB" +        // 0xA8 - 0xAF
-            "\u2591\u2592\u2593\u2502\u2524\u0104\u010C\u0118" +        // 0xB0 - 0xB7
-            "\u0116\u2563\u2551\u2557\u255D\u012E\u0160\u2510" +        // 0xB8 - 0xBF
-            "\u2514\u2534\u252C\u251C\u2500\u253C\u0172\u016A" +        // 0xC0 - 0xC7
-            "\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u017D" +        // 0xC8 - 0xCF
-            "\u0105\u010D\u0119\u0117\u012F\u0161\u0173\u016B" +        // 0xD0 - 0xD7
-            "\u017E\u2518\u250C\u2588\u2584\u258C\u2590\u2580" +        // 0xD8 - 0xDF
-            "\u00D3\u00DF\u014C\u0143\u00F5\u00D5\u00B5\u0144" +        // 0xE0 - 0xE7
-            "\u0136\u0137\u013B\u013C\u0146\u0112\u0145\u2019" +        // 0xE8 - 0xEF
-            "\u00AD\u00B1\u201C\u00BE\u00B6\u00A7\u00F7\u201E" +        // 0xF0 - 0xF7
-            "\u00B0\u2219\u00B7\u00B9\u00B3\u00B2\u25A0\u00A0" +        // 0xF8 - 0xFF
-            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +        // 0x00 - 0x07
-            "\b\t\n\u000B\f\r\u000E\u000F" +    // 0x08 - 0x0F
-            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +        // 0x10 - 0x17
-            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +        // 0x18 - 0x1F
-            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +        // 0x20 - 0x27
-            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +        // 0x28 - 0x2F
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +        // 0x30 - 0x37
-            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +        // 0x38 - 0x3F
-            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +        // 0x40 - 0x47
-            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +        // 0x48 - 0x4F
-            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +        // 0x50 - 0x57
-            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +    // 0x58 - 0x5F
-            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +        // 0x60 - 0x67
-            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +        // 0x68 - 0x6F
-            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +        // 0x70 - 0x77
-            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";         // 0x78 - 0x7F
-
-    }
-
-    private static class Encoder extends SingleByteEncoder {
-            public Encoder(Charset cs) {
-                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
-            }
-
-            private final static String index2 =
-
-
-            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
-            "\b\t\n\u000B\f\r\u000E\u000F" +
-            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
-            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
-            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
-            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
-            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
-            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
-            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
-            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
-            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
-            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
-            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
-            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
-            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00FF\u0000\u0096\u009C\u009F\u0000\u00A7\u00F5" +
-            "\u0000\u00A8\u0000\u00AE\u00AA\u00F0\u00A9\u0000" +
-            "\u00F8\u00F1\u00FD\u00FC\u0000\u00E6\u00F4\u00FA" +
-            "\u0000\u00FB\u0000\u00AF\u00AC\u00AB\u00F3\u0000" +
-            "\u0000\u0000\u0000\u0000\u008E\u008F\u0092\u0000" +
-            "\u0000\u0090\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u00E0\u0000\u00E5\u0099\u009E" +
-            "\u009D\u0000\u0000\u0000\u009A\u0000\u0000\u00E1" +
-            "\u0000\u0000\u0000\u0000\u0084\u0086\u0091\u0000" +
-            "\u0000\u0082\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u00A2\u0000\u00E4\u0094\u00F6" +
-            "\u009B\u0000\u0000\u0000\u0081\u0000\u0000\u0000" +
-            "\u00A0\u0083\u0000\u0000\u00B5\u00D0\u0080\u0087" +
-            "\u0000\u0000\u0000\u0000\u00B6\u00D1\u0000\u0000" +
-            "\u0000\u0000\u00ED\u0089\u0000\u0000\u00B8\u00D3" +
-            "\u00B7\u00D2\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0095\u0085\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u00A1\u008C\u0000\u0000\u00BD\u00D4" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u00E8\u00E9" +
-            "\u0000\u0000\u0000\u00EA\u00EB\u0000\u0000\u0000" +
-            "\u0000\u00AD\u0088\u00E3\u00E7\u00EE\u00EC\u0000" +
-            "\u0000\u0000\u0000\u0000\u00E2\u0093\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u008A\u008B" +
-            "\u0000\u0000\u0097\u0098\u0000\u0000\u0000\u0000" +
-            "\u00BE\u00D5\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u00C7\u00D7\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u00C6\u00D6\u0000\u0000\u0000\u0000" +
-            "\u0000\u008D\u00A5\u00A3\u00A4\u00CF\u00D8\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00EF" +
-            "\u0000\u0000\u00F2\u00A6\u00F7\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u00F9\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u00C4\u0000\u00B3" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u00DA\u0000\u0000\u0000\u00BF\u0000\u0000" +
-            "\u0000\u00C0\u0000\u0000\u0000\u00D9\u0000\u0000" +
-            "\u0000\u00C3\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u00B4\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u00C2\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u00C1\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u00C5\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u00CD\u00BA\u0000" +
-            "\u0000\u00C9\u0000\u0000\u00BB\u0000\u0000\u00C8" +
-            "\u0000\u0000\u00BC\u0000\u0000\u00CC\u0000\u0000" +
-            "\u00B9\u0000\u0000\u00CB\u0000\u0000\u00CA\u0000" +
-            "\u0000\u00CE\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u00DF\u0000\u0000" +
-            "\u0000\u00DC\u0000\u0000\u0000\u00DB\u0000\u0000" +
-            "\u0000\u00DD\u0000\u0000\u0000\u00DE\u00B0\u00B1" +
-            "\u00B2\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u00FE\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000";
-
-    private final static short index1[] = {
-            0, 256, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            614, 383, 845, 383, 383, 1101, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-
-        };
-    }
-}
--- a/jdk/src/share/classes/sun/nio/cs/IBM850.java	Wed Jul 05 16:44:40 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,299 +0,0 @@
-/*
- * Copyright 2003-2005 Sun Microsystems, Inc.  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.  Sun designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
- */
-
-package sun.nio.cs;
-
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetDecoder;
-import java.nio.charset.CharsetEncoder;
-import sun.nio.cs.StandardCharsets;
-import sun.nio.cs.SingleByteDecoder;
-import sun.nio.cs.SingleByteEncoder;
-import sun.nio.cs.HistoricallyNamedCharset;
-
-public class IBM850
-    extends Charset
-    implements HistoricallyNamedCharset
-{
-
-    public IBM850() {
-        super("IBM850", StandardCharsets.aliases_IBM850);
-    }
-
-    public String historicalName() {
-        return "Cp850";
-    }
-
-    public boolean contains(Charset cs) {
-        return (cs instanceof IBM850);
-    }
-
-    public CharsetDecoder newDecoder() {
-        return new Decoder(this);
-    }
-
-    public CharsetEncoder newEncoder() {
-        return new Encoder(this);
-    }
-
-
-    /**
-     * These accessors are temporarily supplied while sun.io
-     * converters co-exist with the sun.nio.cs.{ext} charset coders
-     * These facilitate sharing of conversion tables between the
-     * two co-existing implementations. When sun.io converters
-     * are made extinct these will be unncessary and should be removed
-     */
-
-    public static String getDecoderSingleByteMappings() {
-        return Decoder.byteToCharTable;
-
-    }
-
-    public short[] getEncoderIndex1() {
-        return Encoder.index1;
-
-    }
-    public String getEncoderIndex2() {
-        return Encoder.index2;
-
-    }
-
-    protected static class Decoder extends SingleByteDecoder {
-            public Decoder(Charset cs) {
-                super(cs, byteToCharTable);
-        }
-
-        private final static String byteToCharTable =
-
-            "\u00C7\u00FC\u00E9\u00E2\u00E4\u00E0\u00E5\u00E7" +        // 0x80 - 0x87
-            "\u00EA\u00EB\u00E8\u00EF\u00EE\u00EC\u00C4\u00C5" +        // 0x88 - 0x8F
-            "\u00C9\u00E6\u00C6\u00F4\u00F6\u00F2\u00FB\u00F9" +        // 0x90 - 0x97
-            "\u00FF\u00D6\u00DC\u00F8\u00A3\u00D8\u00D7\u0192" +        // 0x98 - 0x9F
-            "\u00E1\u00ED\u00F3\u00FA\u00F1\u00D1\u00AA\u00BA" +        // 0xA0 - 0xA7
-            "\u00BF\u00AE\u00AC\u00BD\u00BC\u00A1\u00AB\u00BB" +        // 0xA8 - 0xAF
-            "\u2591\u2592\u2593\u2502\u2524\u00C1\u00C2\u00C0" +        // 0xB0 - 0xB7
-            "\u00A9\u2563\u2551\u2557\u255D\u00A2\u00A5\u2510" +        // 0xB8 - 0xBF
-            "\u2514\u2534\u252C\u251C\u2500\u253C\u00E3\u00C3" +        // 0xC0 - 0xC7
-            "\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u00A4" +        // 0xC8 - 0xCF
-            "\u00F0\u00D0\u00CA\u00CB\u00C8\u0131\u00CD\u00CE" +        // 0xD0 - 0xD7
-            "\u00CF\u2518\u250C\u2588\u2584\u00A6\u00CC\u2580" +        // 0xD8 - 0xDF
-            "\u00D3\u00DF\u00D4\u00D2\u00F5\u00D5\u00B5\u00FE" +        // 0xE0 - 0xE7
-            "\u00DE\u00DA\u00DB\u00D9\u00FD\u00DD\u00AF\u00B4" +        // 0xE8 - 0xEF
-            "\u00AD\u00B1\u2017\u00BE\u00B6\u00A7\u00F7\u00B8" +        // 0xF0 - 0xF7
-            "\u00B0\u00A8\u00B7\u00B9\u00B3\u00B2\u25A0\u00A0" +        // 0xF8 - 0xFF
-            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +        // 0x00 - 0x07
-            "\b\t\n\u000B\f\r\u000E\u000F" +    // 0x08 - 0x0F
-            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +        // 0x10 - 0x17
-            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +        // 0x18 - 0x1F
-            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +        // 0x20 - 0x27
-            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +        // 0x28 - 0x2F
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +        // 0x30 - 0x37
-            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +        // 0x38 - 0x3F
-            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +        // 0x40 - 0x47
-            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +        // 0x48 - 0x4F
-            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +        // 0x50 - 0x57
-            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +    // 0x58 - 0x5F
-            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +        // 0x60 - 0x67
-            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +        // 0x68 - 0x6F
-            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +        // 0x70 - 0x77
-            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";         // 0x78 - 0x7F
-
-    }
-
-    protected static class Encoder extends SingleByteEncoder {
-            public Encoder(Charset cs) {
-                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
-            }
-
-            private final static String index2 =
-
-
-            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
-            "\b\t\n\u000B\f\r\u000E\u000F" +
-            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
-            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
-            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
-            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
-            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
-            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
-            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
-            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
-            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
-            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
-            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
-            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
-            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00FF\u00AD\u00BD\u009C\u00CF\u00BE\u00DD\u00F5" +
-            "\u00F9\u00B8\u00A6\u00AE\u00AA\u00F0\u00A9\u00EE" +
-            "\u00F8\u00F1\u00FD\u00FC\u00EF\u00E6\u00F4\u00FA" +
-            "\u00F7\u00FB\u00A7\u00AF\u00AC\u00AB\u00F3\u00A8" +
-            "\u00B7\u00B5\u00B6\u00C7\u008E\u008F\u0092\u0080" +
-            "\u00D4\u0090\u00D2\u00D3\u00DE\u00D6\u00D7\u00D8" +
-            "\u00D1\u00A5\u00E3\u00E0\u00E2\u00E5\u0099\u009E" +
-            "\u009D\u00EB\u00E9\u00EA\u009A\u00ED\u00E8\u00E1" +
-            "\u0085\u00A0\u0083\u00C6\u0084\u0086\u0091\u0087" +
-            "\u008A\u0082\u0088\u0089\u008D\u00A1\u008C\u008B" +
-            "\u00D0\u00A4\u0095\u00A2\u0093\u00E4\u0094\u00F6" +
-            "\u009B\u0097\u00A3\u0096\u0081\u00EC\u00E7\u0098" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u00D5\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u009F\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u00F2\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u00C4\u0000\u00B3\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00DA\u0000\u0000\u0000\u00BF\u0000\u0000\u0000" +
-            "\u00C0\u0000\u0000\u0000\u00D9\u0000\u0000\u0000" +
-            "\u00C3\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00B4\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00C2\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00C1\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00C5\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u00CD\u00BA\u0000\u0000" +
-            "\u00C9\u0000\u0000\u00BB\u0000\u0000\u00C8\u0000" +
-            "\u0000\u00BC\u0000\u0000\u00CC\u0000\u0000\u00B9" +
-            "\u0000\u0000\u00CB\u0000\u0000\u00CA\u0000\u0000" +
-            "\u00CE\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u00DF\u0000\u0000\u0000" +
-            "\u00DC\u0000\u0000\u0000\u00DB\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u00B0\u00B1\u00B2" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u00FE\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000";
-
-    private final static short index1[] = {
-            0, 256, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            636, 403, 403, 403, 403, 892, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-
-        };
-    }
-}
--- a/jdk/src/share/classes/sun/nio/cs/IBM852.java	Wed Jul 05 16:44:40 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,274 +0,0 @@
-/*
- * Copyright 2003-2005 Sun Microsystems, Inc.  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.  Sun designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
- */
-
-package sun.nio.cs;
-
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetDecoder;
-import java.nio.charset.CharsetEncoder;
-import sun.nio.cs.StandardCharsets;
-import sun.nio.cs.SingleByteDecoder;
-import sun.nio.cs.SingleByteEncoder;
-import sun.nio.cs.HistoricallyNamedCharset;
-
-public class IBM852
-    extends Charset
-    implements HistoricallyNamedCharset
-{
-
-    public IBM852() {
-        super("IBM852", StandardCharsets.aliases_IBM852);
-    }
-
-    public String historicalName() {
-        return "Cp852";
-    }
-
-    public boolean contains(Charset cs) {
-        return (cs instanceof IBM852);
-    }
-
-    public CharsetDecoder newDecoder() {
-        return new Decoder(this);
-    }
-
-    public CharsetEncoder newEncoder() {
-        return new Encoder(this);
-    }
-
-
-    /**
-     * These accessors are temporarily supplied while sun.io
-     * converters co-exist with the sun.nio.cs.{ext} charset coders
-     * These facilitate sharing of conversion tables between the
-     * two co-existing implementations. When sun.io converters
-     * are made extinct these will be unncessary and should be removed
-     */
-
-    public String getDecoderSingleByteMappings() {
-        return Decoder.byteToCharTable;
-
-    }
-
-    public short[] getEncoderIndex1() {
-        return Encoder.index1;
-
-    }
-    public String getEncoderIndex2() {
-        return Encoder.index2;
-
-    }
-
-    private static class Decoder extends SingleByteDecoder {
-            public Decoder(Charset cs) {
-                super(cs, byteToCharTable);
-        }
-
-        private final static String byteToCharTable =
-
-            "\u00C7\u00FC\u00E9\u00E2\u00E4\u016F\u0107\u00E7" +     // 0x80 - 0x87
-            "\u0142\u00EB\u0150\u0151\u00EE\u0179\u00C4\u0106" +     // 0x88 - 0x8F
-            "\u00C9\u0139\u013A\u00F4\u00F6\u013D\u013E\u015A" +     // 0x90 - 0x97
-            "\u015B\u00D6\u00DC\u0164\u0165\u0141\u00D7\u010D" +     // 0x98 - 0x9F
-            "\u00E1\u00ED\u00F3\u00FA\u0104\u0105\u017D\u017E" +     // 0xA0 - 0xA7
-            "\u0118\u0119\u00AC\u017A\u010C\u015F\u00AB\u00BB" +     // 0xA8 - 0xAF
-            "\u2591\u2592\u2593\u2502\u2524\u00C1\u00C2\u011A" +     // 0xB0 - 0xB7
-            "\u015E\u2563\u2551\u2557\u255D\u017B\u017C\u2510" +     // 0xB8 - 0xBF
-            "\u2514\u2534\u252C\u251C\u2500\u253C\u0102\u0103" +     // 0xC0 - 0xC7
-            "\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u00A4" +     // 0xC8 - 0xCF
-            "\u0111\u0110\u010E\u00CB\u010F\u0147\u00CD\u00CE" +     // 0xD0 - 0xD7
-            "\u011B\u2518\u250C\u2588\u2584\u0162\u016E\u2580" +     // 0xD8 - 0xDF
-            "\u00D3\u00DF\u00D4\u0143\u0144\u0148\u0160\u0161" +     // 0xE0 - 0xE7
-            "\u0154\u00DA\u0155\u0170\u00FD\u00DD\u0163\u00B4" +     // 0xE8 - 0xEF
-            "\u00AD\u02DD\u02DB\u02C7\u02D8\u00A7\u00F7\u00B8" +     // 0xF0 - 0xF7
-            "\u00B0\u00A8\u02D9\u0171\u0158\u0159\u25A0\u00A0" +     // 0xF8 - 0xFF
-            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +     // 0x00 - 0x07
-            "\b\t\n\u000B\f\r\u000E\u000F" +     // 0x08 - 0x0F
-            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +     // 0x10 - 0x17
-            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +     // 0x18 - 0x1F
-            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +     // 0x20 - 0x27
-            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +     // 0x28 - 0x2F
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +     // 0x30 - 0x37
-            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +     // 0x38 - 0x3F
-            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +     // 0x40 - 0x47
-            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +     // 0x48 - 0x4F
-            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +     // 0x50 - 0x57
-            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +     // 0x58 - 0x5F
-            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +     // 0x60 - 0x67
-            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +     // 0x68 - 0x6F
-            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +     // 0x70 - 0x77
-            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";     // 0x78 - 0x7F
-
-    }
-
-    private static class Encoder extends SingleByteEncoder {
-            public Encoder(Charset cs) {
-                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
-            }
-
-            private final static String index2 =
-
-
-            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
-            "\b\t\n\u000B\f\r\u000E\u000F" +
-            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
-            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
-            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
-            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
-            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
-            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
-            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
-            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
-            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
-            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
-            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
-            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
-            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00FF\u0000\u0000\u0000\u00CF\u0000\u0000\u00F5" +
-            "\u00F9\u0000\u0000\u00AE\u00AA\u00F0\u0000\u0000" +
-            "\u00F8\u0000\u0000\u0000\u00EF\u0000\u0000\u0000" +
-            "\u00F7\u0000\u0000\u00AF\u0000\u0000\u0000\u0000" +
-            "\u0000\u00B5\u00B6\u0000\u008E\u0000\u0000\u0080" +
-            "\u0000\u0090\u0000\u00D3\u0000\u00D6\u00D7\u0000" +
-            "\u0000\u0000\u0000\u00E0\u00E2\u0000\u0099\u009E" +
-            "\u0000\u0000\u00E9\u0000\u009A\u00ED\u0000\u00E1" +
-            "\u0000\u00A0\u0083\u0000\u0084\u0000\u0000\u0087" +
-            "\u0000\u0082\u0000\u0089\u0000\u00A1\u008C\u0000" +
-            "\u0000\u0000\u0000\u00A2\u0093\u0000\u0094\u00F6" +
-            "\u0000\u0000\u00A3\u0000\u0081\u00EC\u0000\u0000" +
-            "\u00C6\u00C7\u00A4\u00A5\u008F\u0086\u0000\u0000" +
-            "\u0000\u0000\u00AC\u009F\u00D2\u00D4\u00D1\u00D0" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u00A8\u00A9" +
-            "\u00B7\u00D8\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0091" +
-            "\u0092\u0000\u0000\u0095\u0096\u0000\u0000\u009D" +
-            "\u0088\u00E3\u00E4\u0000\u0000\u00D5\u00E5\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u008A\u008B" +
-            "\u0000\u0000\u00E8\u00EA\u0000\u0000\u00FC\u00FD" +
-            "\u0097\u0098\u0000\u0000\u00B8\u00AD\u00E6\u00E7" +
-            "\u00DD\u00EE\u009B\u009C\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u00DE\u0085\u00EB\u00FB" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u008D" +
-            "\u00AB\u00BD\u00BE\u00A6\u00A7\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u00F3\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u00F4\u00FA" +
-            "\u0000\u00F2\u0000\u00F1\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u00C4\u0000" +
-            "\u00B3\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u00DA\u0000\u0000\u0000\u00BF\u0000" +
-            "\u0000\u0000\u00C0\u0000\u0000\u0000\u00D9\u0000" +
-            "\u0000\u0000\u00C3\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u00B4\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u00C2\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u00C1\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u00C5\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u00CD\u00BA" +
-            "\u0000\u0000\u00C9\u0000\u0000\u00BB\u0000\u0000" +
-            "\u00C8\u0000\u0000\u00BC\u0000\u0000\u00CC\u0000" +
-            "\u0000\u00B9\u0000\u0000\u00CB\u0000\u0000\u00CA" +
-            "\u0000\u0000\u00CE\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u00DF\u0000" +
-            "\u0000\u0000\u00DC\u0000\u0000\u0000\u00DB\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00B0" +
-            "\u00B1\u00B2\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u00FE\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000";
-
-    private final static short index1[] = {
-            0, 254, 438, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
-            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
-            381, 381, 381, 381, 381, 694, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
-            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
-            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
-            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
-            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
-            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
-            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
-            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
-            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
-            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
-            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
-            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
-            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
-            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
-
-        };
-    }
-}
--- a/jdk/src/share/classes/sun/nio/cs/IBM855.java	Wed Jul 05 16:44:40 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,304 +0,0 @@
-/*
- * Copyright 2003-2005 Sun Microsystems, Inc.  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.  Sun designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
- */
-
-package sun.nio.cs;
-
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetDecoder;
-import java.nio.charset.CharsetEncoder;
-import sun.nio.cs.StandardCharsets;
-import sun.nio.cs.SingleByteDecoder;
-import sun.nio.cs.SingleByteEncoder;
-import sun.nio.cs.HistoricallyNamedCharset;
-
-public class IBM855
-    extends Charset
-    implements HistoricallyNamedCharset
-{
-
-    public IBM855() {
-        super("IBM855", StandardCharsets.aliases_IBM855);
-    }
-
-    public String historicalName() {
-        return "Cp855";
-    }
-
-    public boolean contains(Charset cs) {
-        return (cs instanceof IBM855);
-    }
-
-    public CharsetDecoder newDecoder() {
-        return new Decoder(this);
-    }
-
-    public CharsetEncoder newEncoder() {
-        return new Encoder(this);
-    }
-
-
-    /**
-     * These accessors are temporarily supplied while sun.io
-     * converters co-exist with the sun.nio.cs.{ext} charset coders
-     * These facilitate sharing of conversion tables between the
-     * two co-existing implementations. When sun.io converters
-     * are made extinct these will be unncessary and should be removed
-     */
-
-    public String getDecoderSingleByteMappings() {
-        return Decoder.byteToCharTable;
-
-    }
-
-    public short[] getEncoderIndex1() {
-        return Encoder.index1;
-
-    }
-    public String getEncoderIndex2() {
-        return Encoder.index2;
-
-    }
-
-    private static class Decoder extends SingleByteDecoder {
-            public Decoder(Charset cs) {
-                super(cs, byteToCharTable);
-        }
-
-        private final static String byteToCharTable =
-
-            "\u0452\u0402\u0453\u0403\u0451\u0401\u0454\u0404" +        // 0x80 - 0x87
-            "\u0455\u0405\u0456\u0406\u0457\u0407\u0458\u0408" +        // 0x88 - 0x8F
-            "\u0459\u0409\u045A\u040A\u045B\u040B\u045C\u040C" +        // 0x90 - 0x97
-            "\u045E\u040E\u045F\u040F\u044E\u042E\u044A\u042A" +        // 0x98 - 0x9F
-            "\u0430\u0410\u0431\u0411\u0446\u0426\u0434\u0414" +        // 0xA0 - 0xA7
-            "\u0435\u0415\u0444\u0424\u0433\u0413\u00AB\u00BB" +        // 0xA8 - 0xAF
-            "\u2591\u2592\u2593\u2502\u2524\u0445\u0425\u0438" +        // 0xB0 - 0xB7
-            "\u0418\u2563\u2551\u2557\u255D\u0439\u0419\u2510" +        // 0xB8 - 0xBF
-            "\u2514\u2534\u252C\u251C\u2500\u253C\u043A\u041A" +        // 0xC0 - 0xC7
-            "\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u00A4" +        // 0xC8 - 0xCF
-            "\u043B\u041B\u043C\u041C\u043D\u041D\u043E\u041E" +        // 0xD0 - 0xD7
-            "\u043F\u2518\u250C\u2588\u2584\u041F\u044F\u2580" +        // 0xD8 - 0xDF
-            "\u042F\u0440\u0420\u0441\u0421\u0442\u0422\u0443" +        // 0xE0 - 0xE7
-            "\u0423\u0436\u0416\u0432\u0412\u044C\u042C\u2116" +        // 0xE8 - 0xEF
-            "\u00AD\u044B\u042B\u0437\u0417\u0448\u0428\u044D" +        // 0xF0 - 0xF7
-            "\u042D\u0449\u0429\u0447\u0427\u00A7\u25A0\u00A0" +        // 0xF8 - 0xFF
-            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +        // 0x00 - 0x07
-            "\b\t\n\u000B\f\r\u000E\u000F" +    // 0x08 - 0x0F
-            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +        // 0x10 - 0x17
-            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +        // 0x18 - 0x1F
-            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +        // 0x20 - 0x27
-            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +        // 0x28 - 0x2F
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +        // 0x30 - 0x37
-            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +        // 0x38 - 0x3F
-            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +        // 0x40 - 0x47
-            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +        // 0x48 - 0x4F
-            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +        // 0x50 - 0x57
-            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +    // 0x58 - 0x5F
-            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +        // 0x60 - 0x67
-            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +        // 0x68 - 0x6F
-            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +        // 0x70 - 0x77
-            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";         // 0x78 - 0x7F
-
-    }
-
-    private static class Encoder extends SingleByteEncoder {
-            public Encoder(Charset cs) {
-                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
-            }
-
-            private final static String index2 =
-
-
-            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
-            "\b\t\n\u000B\f\r\u000E\u000F" +
-            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
-            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
-            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
-            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
-            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
-            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
-            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
-            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
-            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
-            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
-            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
-            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
-            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00FF\u0000\u0000\u0000\u00CF\u0000\u0000\u00FD" +
-            "\u0000\u0000\u0000\u00AE\u0000\u00F0\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u00AF\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0085\u0081\u0083\u0087" +
-            "\u0089\u008B\u008D\u008F\u0091\u0093\u0095\u0097" +
-            "\u0000\u0099\u009B\u00A1\u00A3\u00EC\u00AD\u00A7" +
-            "\u00A9\u00EA\u00F4\u00B8\u00BE\u00C7\u00D1\u00D3" +
-            "\u00D5\u00D7\u00DD\u00E2\u00E4\u00E6\u00E8\u00AB" +
-            "\u00B6\u00A5\u00FC\u00F6\u00FA\u009F\u00F2\u00EE" +
-            "\u00F8\u009D\u00E0\u00A0\u00A2\u00EB\u00AC\u00A6" +
-            "\u00A8\u00E9\u00F3\u00B7\u00BD\u00C6\u00D0\u00D2" +
-            "\u00D4\u00D6\u00D8\u00E1\u00E3\u00E5\u00E7\u00AA" +
-            "\u00B5\u00A4\u00FB\u00F5\u00F9\u009E\u00F1\u00ED" +
-            "\u00F7\u009C\u00DE\u0000\u0084\u0080\u0082\u0086" +
-            "\u0088\u008A\u008C\u008E\u0090\u0092\u0094\u0096" +
-            "\u0000\u0098\u009A\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u00EF\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u00C4\u0000\u00B3" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u00DA\u0000\u0000\u0000\u00BF\u0000\u0000" +
-            "\u0000\u00C0\u0000\u0000\u0000\u00D9\u0000\u0000" +
-            "\u0000\u00C3\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u00B4\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u00C2\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u00C1\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u00C5\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u00CD\u00BA\u0000" +
-            "\u0000\u00C9\u0000\u0000\u00BB\u0000\u0000\u00C8" +
-            "\u0000\u0000\u00BC\u0000\u0000\u00CC\u0000\u0000" +
-            "\u00B9\u0000\u0000\u00CB\u0000\u0000\u00CA\u0000" +
-            "\u0000\u00CE\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u00DF\u0000\u0000" +
-            "\u0000\u00DC\u0000\u0000\u0000\u00DB\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u00B0\u00B1" +
-            "\u00B2\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u00FE\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000";
-
-    private final static short index1[] = {
-            0, 188, 188, 188, 443, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
-            188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
-            188, 677, 188, 188, 188, 933, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
-            188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
-            188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
-            188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
-            188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
-            188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
-            188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
-            188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
-            188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
-            188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
-            188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
-            188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
-            188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
-            188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
-
-        };
-    }
-}
--- a/jdk/src/share/classes/sun/nio/cs/IBM857.java	Wed Jul 05 16:44:40 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,263 +0,0 @@
-/*
- * Copyright 2003-2005 Sun Microsystems, Inc.  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.  Sun designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
- */
-
-package sun.nio.cs;
-
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetDecoder;
-import java.nio.charset.CharsetEncoder;
-import sun.nio.cs.StandardCharsets;
-import sun.nio.cs.SingleByteDecoder;
-import sun.nio.cs.SingleByteEncoder;
-import sun.nio.cs.HistoricallyNamedCharset;
-
-public class IBM857
-    extends Charset
-    implements HistoricallyNamedCharset
-{
-
-    public IBM857() {
-        super("IBM857", StandardCharsets.aliases_IBM857);
-    }
-
-    public String historicalName() {
-        return "Cp857";
-    }
-
-    public boolean contains(Charset cs) {
-        return (cs instanceof IBM857);
-    }
-
-    public CharsetDecoder newDecoder() {
-        return new Decoder(this);
-    }
-
-    public CharsetEncoder newEncoder() {
-        return new Encoder(this);
-    }
-
-
-    /**
-     * These accessors are temporarily supplied while sun.io
-     * converters co-exist with the sun.nio.cs.{ext} charset coders
-     * These facilitate sharing of conversion tables between the
-     * two co-existing implementations. When sun.io converters
-     * are made extinct these will be unncessary and should be removed
-     */
-
-    public String getDecoderSingleByteMappings() {
-        return Decoder.byteToCharTable;
-
-    }
-
-    public short[] getEncoderIndex1() {
-        return Encoder.index1;
-
-    }
-    public String getEncoderIndex2() {
-        return Encoder.index2;
-
-    }
-
-    private static class Decoder extends SingleByteDecoder {
-            public Decoder(Charset cs) {
-                super(cs, byteToCharTable);
-        }
-
-        private final static String byteToCharTable =
-
-            "\u00C7\u00FC\u00E9\u00E2\u00E4\u00E0\u00E5\u00E7" +        // 0x80 - 0x87
-            "\u00EA\u00EB\u00E8\u00EF\u00EE\u0131\u00C4\u00C5" +        // 0x88 - 0x8F
-            "\u00C9\u00E6\u00C6\u00F4\u00F6\u00F2\u00FB\u00F9" +        // 0x90 - 0x97
-            "\u0130\u00D6\u00DC\u00F8\u00A3\u00D8\u015E\u015F" +        // 0x98 - 0x9F
-            "\u00E1\u00ED\u00F3\u00FA\u00F1\u00D1\u011E\u011F" +        // 0xA0 - 0xA7
-            "\u00BF\u00AE\u00AC\u00BD\u00BC\u00A1\u00AB\u00BB" +        // 0xA8 - 0xAF
-            "\u2591\u2592\u2593\u2502\u2524\u00C1\u00C2\u00C0" +        // 0xB0 - 0xB7
-            "\u00A9\u2563\u2551\u2557\u255D\u00A2\u00A5\u2510" +        // 0xB8 - 0xBF
-            "\u2514\u2534\u252C\u251C\u2500\u253C\u00E3\u00C3" +        // 0xC0 - 0xC7
-            "\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u00A4" +        // 0xC8 - 0xCF
-            "\u00BA\u00AA\u00CA\u00CB\u00C8\uFFFD\u00CD\u00CE" +        // 0xD0 - 0xD7
-            "\u00CF\u2518\u250C\u2588\u2584\u00A6\u00CC\u2580" +        // 0xD8 - 0xDF
-            "\u00D3\u00DF\u00D4\u00D2\u00F5\u00D5\u00B5\uFFFD" +        // 0xE0 - 0xE7
-            "\u00D7\u00DA\u00DB\u00D9\u00EC\u00FF\u00AF\u00B4" +        // 0xE8 - 0xEF
-            "\u00AD\u00B1\uFFFD\u00BE\u00B6\u00A7\u00F7\u00B8" +        // 0xF0 - 0xF7
-            "\u00B0\u00A8\u00B7\u00B9\u00B3\u00B2\u25A0\u00A0" +        // 0xF8 - 0xFF
-            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +        // 0x00 - 0x07
-            "\b\t\n\u000B\f\r\u000E\u000F" +    // 0x08 - 0x0F
-            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +        // 0x10 - 0x17
-            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +        // 0x18 - 0x1F
-            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +        // 0x20 - 0x27
-            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +        // 0x28 - 0x2F
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +        // 0x30 - 0x37
-            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +        // 0x38 - 0x3F
-            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +        // 0x40 - 0x47
-            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +        // 0x48 - 0x4F
-            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +        // 0x50 - 0x57
-            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +    // 0x58 - 0x5F
-            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +        // 0x60 - 0x67
-            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +        // 0x68 - 0x6F
-            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +        // 0x70 - 0x77
-            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";         // 0x78 - 0x7F
-
-    }
-
-    private static class Encoder extends SingleByteEncoder {
-            public Encoder(Charset cs) {
-                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
-            }
-
-            private final static String index2 =
-
-
-            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
-            "\b\t\n\u000B\f\r\u000E\u000F" +
-            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
-            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
-            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
-            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
-            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
-            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
-            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
-            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
-            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
-            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
-            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
-            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
-            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00FF\u00AD\u00BD\u009C\u00CF\u00BE\u00DD\u00F5" +
-            "\u00F9\u00B8\u00D1\u00AE\u00AA\u00F0\u00A9\u00EE" +
-            "\u00F8\u00F1\u00FD\u00FC\u00EF\u00E6\u00F4\u00FA" +
-            "\u00F7\u00FB\u00D0\u00AF\u00AC\u00AB\u00F3\u00A8" +
-            "\u00B7\u00B5\u00B6\u00C7\u008E\u008F\u0092\u0080" +
-            "\u00D4\u0090\u00D2\u00D3\u00DE\u00D6\u00D7\u00D8" +
-            "\u0000\u00A5\u00E3\u00E0\u00E2\u00E5\u0099\u00E8" +
-            "\u009D\u00EB\u00E9\u00EA\u009A\u0000\u0000\u00E1" +
-            "\u0085\u00A0\u0083\u00C6\u0084\u0086\u0091\u0087" +
-            "\u008A\u0082\u0088\u0089\u00EC\u00A1\u008C\u008B" +
-            "\u0000\u00A4\u0095\u00A2\u0093\u00E4\u0094\u00F6" +
-            "\u009B\u0097\u00A3\u0096\u0081\u0000\u0000\u00ED" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u00A6\u00A7" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0098\u008D\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u009E\u009F" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00C4\u0000\u00B3\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u00DA\u0000\u0000\u0000" +
-            "\u00BF\u0000\u0000\u0000\u00C0\u0000\u0000\u0000" +
-            "\u00D9\u0000\u0000\u0000\u00C3\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u00B4\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u00C2\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u00C1\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u00C5\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00CD\u00BA\u0000\u0000\u00C9\u0000\u0000\u00BB" +
-            "\u0000\u0000\u00C8\u0000\u0000\u00BC\u0000\u0000" +
-            "\u00CC\u0000\u0000\u00B9\u0000\u0000\u00CB\u0000" +
-            "\u0000\u00CA\u0000\u0000\u00CE\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00DF\u0000\u0000\u0000\u00DC\u0000\u0000\u0000" +
-            "\u00DB\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u00B0\u00B1\u00B2\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00FE\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000";
-
-    private final static short index1[] = {
-            0, 256, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352,
-            352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352,
-            352, 352, 352, 352, 352, 608, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352,
-            352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352,
-            352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352,
-            352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352,
-            352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352,
-            352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352,
-            352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352,
-            352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352,
-            352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352,
-            352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352,
-            352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352,
-            352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352,
-            352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352,
-            352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352,
-
-        };
-    }
-}
--- a/jdk/src/share/classes/sun/nio/cs/IBM858.java	Wed Jul 05 16:44:40 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,264 +0,0 @@
-/*
- * Copyright 2003-2005 Sun Microsystems, Inc.  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.  Sun designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
- */
-
-package sun.nio.cs;
-
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetDecoder;
-import java.nio.charset.CharsetEncoder;
-import sun.nio.cs.StandardCharsets;
-import sun.nio.cs.SingleByteDecoder;
-import sun.nio.cs.SingleByteEncoder;
-import sun.nio.cs.HistoricallyNamedCharset;
-
-public class IBM858
-    extends Charset
-    implements HistoricallyNamedCharset
-{
-
-    public IBM858() {
-        super("IBM00858", StandardCharsets.aliases_IBM858);
-    }
-
-    public String historicalName() {
-        return "Cp858";
-    }
-
-    public boolean contains(Charset cs) {
-        return (cs instanceof IBM858);
-    }
-
-    public CharsetDecoder newDecoder() {
-        return new Decoder(this);
-    }
-
-    public CharsetEncoder newEncoder() {
-        return new Encoder(this);
-    }
-
-
-    /**
-     * These accessors are temporarily supplied while sun.io
-     * converters co-exist with the sun.nio.cs.{ext} charset coders
-     * These facilitate sharing of conversion tables between the
-     * two co-existing implementations. When sun.io converters
-     * are made extinct these will be unncessary and should be removed
-     */
-
-    public static String getDecoderSingleByteMappings() {
-        return IBM850.getDecoderSingleByteMappings();
-    }
-
-    public short[] getEncoderIndex1() {
-        return Encoder.index1;
-
-    }
-    public String getEncoderIndex2() {
-        return Encoder.index2;
-
-    }
-
-    private static class Decoder extends IBM850.Decoder {
-            public Decoder(Charset cs) {
-                super(cs);
-            }
-
-            public char decode(int byteIndex) {
-                return (byteIndex == (byte)0xD5) ? '\u20AC' : super.decode(byteIndex);
-            }
-    }
-
-    private static class Encoder extends SingleByteEncoder {
-        public Encoder(Charset cs) {
-            super(cs, index1, index2, 0xFF00, 0x00FF, 8);
-        }
-
-        private final static String index2 =
-
-            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
-            "\b\t\n\u000B\f\r\u000E\u000F" +
-            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
-            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
-            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
-            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
-            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
-            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
-            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
-            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
-            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
-            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
-            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
-            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
-            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00FF\u00AD\u00BD\u009C\u00CF\u00BE\u00DD\u00F5" +
-            "\u00F9\u00B8\u00A6\u00AE\u00AA\u00F0\u00A9\u00EE" +
-            "\u00F8\u00F1\u00FD\u00FC\u00EF\u00E6\u00F4\u00FA" +
-            "\u00F7\u00FB\u00A7\u00AF\u00AC\u00AB\u00F3\u00A8" +
-            "\u00B7\u00B5\u00B6\u00C7\u008E\u008F\u0092\u0080" +
-            "\u00D4\u0090\u00D2\u00D3\u00DE\u00D6\u00D7\u00D8" +
-            "\u00D1\u00A5\u00E3\u00E0\u00E2\u00E5\u0099\u009E" +
-            "\u009D\u00EB\u00E9\u00EA\u009A\u00ED\u00E8\u00E1" +
-            "\u0085\u00A0\u0083\u00C6\u0084\u0086\u0091\u0087" +
-            "\u008A\u0082\u0088\u0089\u008D\u00A1\u008C\u008B" +
-            "\u00D0\u00A4\u0095\u00A2\u0093\u00E4\u0094\u00F6" +
-            "\u009B\u0097\u00A3\u0096\u0081\u00EC\u00E7\u0098" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u009F\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u00F2\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00D5\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u00C4\u0000\u00B3\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00DA\u0000\u0000\u0000\u00BF\u0000\u0000\u0000" +
-            "\u00C0\u0000\u0000\u0000\u00D9\u0000\u0000\u0000" +
-            "\u00C3\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00B4\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00C2\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00C1\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00C5\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u00CD\u00BA\u0000\u0000" +
-            "\u00C9\u0000\u0000\u00BB\u0000\u0000\u00C8\u0000" +
-            "\u0000\u00BC\u0000\u0000\u00CC\u0000\u0000\u00B9" +
-            "\u0000\u0000\u00CB\u0000\u0000\u00CA\u0000\u0000" +
-            "\u00CE\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u00DF\u0000\u0000\u0000" +
-            "\u00DC\u0000\u0000\u0000\u00DB\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u00B0\u00B1\u00B2" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u00FE\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000";
-
-        private final static short index1[] = {
-            0, 256, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            636, 403, 403, 403, 403, 892, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-        };
-    }
-}
--- a/jdk/src/share/classes/sun/nio/cs/IBM862.java	Wed Jul 05 16:44:40 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,396 +0,0 @@
-/*
- * Copyright 2003-2005 Sun Microsystems, Inc.  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.  Sun designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
- */
-
-package sun.nio.cs;
-
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetDecoder;
-import java.nio.charset.CharsetEncoder;
-import sun.nio.cs.StandardCharsets;
-import sun.nio.cs.SingleByteDecoder;
-import sun.nio.cs.SingleByteEncoder;
-import sun.nio.cs.HistoricallyNamedCharset;
-
-public class IBM862
-    extends Charset
-    implements HistoricallyNamedCharset
-{
-
-    public IBM862() {
-        super("IBM862", StandardCharsets.aliases_IBM862);
-    }
-
-    public String historicalName() {
-        return "Cp862";
-    }
-
-    public boolean contains(Charset cs) {
-        return (cs instanceof IBM862);
-    }
-
-    public CharsetDecoder newDecoder() {
-        return new Decoder(this);
-    }
-
-    public CharsetEncoder newEncoder() {
-        return new Encoder(this);
-    }
-
-
-    /**
-     * These accessors are temporarily supplied while sun.io
-     * converters co-exist with the sun.nio.cs.{ext} charset coders
-     * These facilitate sharing of conversion tables between the
-     * two co-existing implementations. When sun.io converters
-     * are made extinct these will be unncessary and should be removed
-     */
-
-    public String getDecoderSingleByteMappings() {
-        return Decoder.byteToCharTable;
-
-    }
-
-    public short[] getEncoderIndex1() {
-        return Encoder.index1;
-
-    }
-    public String getEncoderIndex2() {
-        return Encoder.index2;
-
-    }
-
-    private static class Decoder extends SingleByteDecoder {
-            public Decoder(Charset cs) {
-                super(cs, byteToCharTable);
-        }
-
-        private final static String byteToCharTable =
-
-            "\u05D0\u05D1\u05D2\u05D3\u05D4\u05D5\u05D6\u05D7" +        // 0x80 - 0x87
-            "\u05D8\u05D9\u05DA\u05DB\u05DC\u05DD\u05DE\u05DF" +        // 0x88 - 0x8F
-            "\u05E0\u05E1\u05E2\u05E3\u05E4\u05E5\u05E6\u05E7" +        // 0x90 - 0x97
-            "\u05E8\u05E9\u05EA\u00A2\u00A3\u00A5\u20A7\u0192" +        // 0x98 - 0x9F
-            "\u00E1\u00ED\u00F3\u00FA\u00F1\u00D1\u00AA\u00BA" +        // 0xA0 - 0xA7
-            "\u00BF\u2310\u00AC\u00BD\u00BC\u00A1\u00AB\u00BB" +        // 0xA8 - 0xAF
-            "\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556" +        // 0xB0 - 0xB7
-            "\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510" +        // 0xB8 - 0xBF
-            "\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F" +        // 0xC0 - 0xC7
-            "\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567" +        // 0xC8 - 0xCF
-            "\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B" +        // 0xD0 - 0xD7
-            "\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580" +        // 0xD8 - 0xDF
-            "\u03B1\u00DF\u0393\u03C0\u03A3\u03C3\u00B5\u03C4" +        // 0xE0 - 0xE7
-            "\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229" +        // 0xE8 - 0xEF
-            "\u2261\u00B1\u2265\u2264\u2320\u2321\u00F7\u2248" +        // 0xF0 - 0xF7
-            "\u00B0\u2219\u00B7\u221A\u207F\u00B2\u25A0\u00A0" +        // 0xF8 - 0xFF
-            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +        // 0x00 - 0x07
-            "\b\t\n\u000B\f\r\u000E\u000F" +    // 0x08 - 0x0F
-            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +        // 0x10 - 0x17
-            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +        // 0x18 - 0x1F
-            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +        // 0x20 - 0x27
-            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +        // 0x28 - 0x2F
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +        // 0x30 - 0x37
-            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +        // 0x38 - 0x3F
-            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +        // 0x40 - 0x47
-            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +        // 0x48 - 0x4F
-            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +        // 0x50 - 0x57
-            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +    // 0x58 - 0x5F
-            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +        // 0x60 - 0x67
-            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +        // 0x68 - 0x6F
-            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +        // 0x70 - 0x77
-            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";         // 0x78 - 0x7F
-
-    }
-
-    private static class Encoder extends SingleByteEncoder {
-            public Encoder(Charset cs) {
-                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
-            }
-
-            private final static String index2 =
-
-
-            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
-            "\b\t\n\u000B\f\r\u000E\u000F" +
-            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
-            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
-            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
-            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
-            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
-            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
-            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
-            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
-            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
-            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
-            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
-            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
-            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00FF\u00AD\u009B\u009C\u0000\u009D\u0000\u0000" +
-            "\u0000\u0000\u00A6\u00AE\u00AA\u0000\u0000\u0000" +
-            "\u00F8\u00F1\u00FD\u0000\u0000\u00E6\u0000\u00FA" +
-            "\u0000\u0000\u00A7\u00AF\u00AC\u00AB\u0000\u00A8" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u00A5\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00E1" +
-            "\u0000\u00A0\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u00A1\u0000\u0000" +
-            "\u0000\u00A4\u0000\u00A2\u0000\u0000\u0000\u00F6" +
-            "\u0000\u0000\u00A3\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u009F\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u00E2\u0000" +
-            "\u0000\u0000\u0000\u00E9\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u00E4\u0000" +
-            "\u0000\u00E8\u0000\u0000\u00EA\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u00E0\u0000\u0000\u00EB" +
-            "\u00EE\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u00E3\u0000\u0000\u00E5\u00E7" +
-            "\u0000\u00ED\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0080\u0081\u0082\u0083\u0084\u0085" +
-            "\u0086\u0087\u0088\u0089\u008A\u008B\u008C\u008D" +
-            "\u008E\u008F\u0090\u0091\u0092\u0093\u0094\u0095" +
-            "\u0096\u0097\u0098\u0099\u009A\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u00FC\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u009E\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u00F9\u00FB\u0000" +
-            "\u0000\u0000\u00EC\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u00EF\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u00F7\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u00F0\u0000\u0000" +
-            "\u00F3\u00F2\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u00A9\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u00F4\u00F5\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u00C4\u0000\u00B3\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00DA\u0000\u0000\u0000\u00BF\u0000\u0000\u0000" +
-            "\u00C0\u0000\u0000\u0000\u00D9\u0000\u0000\u0000" +
-            "\u00C3\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00B4\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00C2\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00C1\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00C5\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u00CD\u00BA\u00D5\u00D6" +
-            "\u00C9\u00B8\u00B7\u00BB\u00D4\u00D3\u00C8\u00BE" +
-            "\u00BD\u00BC\u00C6\u00C7\u00CC\u00B5\u00B6\u00B9" +
-            "\u00D1\u00D2\u00CB\u00CF\u00D0\u00CA\u00D8\u00D7" +
-            "\u00CE\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u00DF\u0000\u0000\u0000" +
-            "\u00DC\u0000\u0000\u0000\u00DB\u0000\u0000\u0000" +
-            "\u00DD\u0000\u0000\u0000\u00DE\u00B0\u00B1\u00B2" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u00FE\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000";
-
-    private final static short index1[] = {
-            0, 251, 398, 507, 398, 706, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398,
-            398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398,
-            941, 398, 1172, 1412, 398, 1668, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398,
-            398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398,
-            398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398,
-            398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398,
-            398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398,
-            398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398,
-            398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398,
-            398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398,
-            398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398,
-            398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398,
-            398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398,
-            398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398,
-            398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398,
-            398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398, 398,
-
-        };
-    }
-}
--- a/jdk/src/share/classes/sun/nio/cs/IBM866.java	Wed Jul 05 16:44:40 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,332 +0,0 @@
-/*
- * Copyright 2003-2005 Sun Microsystems, Inc.  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.  Sun designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
- */
-
-package sun.nio.cs;
-
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetDecoder;
-import java.nio.charset.CharsetEncoder;
-import sun.nio.cs.StandardCharsets;
-import sun.nio.cs.SingleByteDecoder;
-import sun.nio.cs.SingleByteEncoder;
-import sun.nio.cs.HistoricallyNamedCharset;
-
-public class IBM866
-    extends Charset
-    implements HistoricallyNamedCharset
-{
-
-    public IBM866() {
-        super("IBM866", StandardCharsets.aliases_IBM866);
-    }
-
-    public String historicalName() {
-        return "Cp866";
-    }
-
-    public boolean contains(Charset cs) {
-        return (cs instanceof IBM866);
-    }
-
-    public CharsetDecoder newDecoder() {
-        return new Decoder(this);
-    }
-
-    public CharsetEncoder newEncoder() {
-        return new Encoder(this);
-    }
-
-
-    /**
-     * These accessors are temporarily supplied while sun.io
-     * converters co-exist with the sun.nio.cs.{ext} charset coders
-     * These facilitate sharing of conversion tables between the
-     * two co-existing implementations. When sun.io converters
-     * are made extinct these will be unncessary and should be removed
-     */
-
-    public String getDecoderSingleByteMappings() {
-        return Decoder.byteToCharTable;
-
-    }
-
-    public short[] getEncoderIndex1() {
-        return Encoder.index1;
-
-    }
-    public String getEncoderIndex2() {
-        return Encoder.index2;
-
-    }
-
-    private static class Decoder extends SingleByteDecoder {
-            public Decoder(Charset cs) {
-                super(cs, byteToCharTable);
-        }
-
-        private final static String byteToCharTable =
-
-            "\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417" +        // 0x80 - 0x87
-            "\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F" +        // 0x88 - 0x8F
-            "\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427" +        // 0x90 - 0x97
-            "\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F" +        // 0x98 - 0x9F
-            "\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437" +        // 0xA0 - 0xA7
-            "\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F" +        // 0xA8 - 0xAF
-            "\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556" +        // 0xB0 - 0xB7
-            "\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510" +        // 0xB8 - 0xBF
-            "\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F" +        // 0xC0 - 0xC7
-            "\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567" +        // 0xC8 - 0xCF
-            "\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B" +        // 0xD0 - 0xD7
-            "\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580" +        // 0xD8 - 0xDF
-            "\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447" +        // 0xE0 - 0xE7
-            "\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F" +        // 0xE8 - 0xEF
-            "\u0401\u0451\u0404\u0454\u0407\u0457\u040E\u045E" +        // 0xF0 - 0xF7
-            "\u00B0\u2219\u00B7\u221A\u2116\u00A4\u25A0\u00A0" +        // 0xF8 - 0xFF
-            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +        // 0x00 - 0x07
-            "\b\t\n\u000B\f\r\u000E\u000F" +    // 0x08 - 0x0F
-            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +        // 0x10 - 0x17
-            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +        // 0x18 - 0x1F
-            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +        // 0x20 - 0x27
-            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +        // 0x28 - 0x2F
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +        // 0x30 - 0x37
-            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +        // 0x38 - 0x3F
-            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +        // 0x40 - 0x47
-            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +        // 0x48 - 0x4F
-            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +        // 0x50 - 0x57
-            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +    // 0x58 - 0x5F
-            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +        // 0x60 - 0x67
-            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +        // 0x68 - 0x6F
-            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +        // 0x70 - 0x77
-            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";         // 0x78 - 0x7F
-
-    }
-
-    private static class Encoder extends SingleByteEncoder {
-            public Encoder(Charset cs) {
-                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
-            }
-
-            private final static String index2 =
-
-
-            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
-            "\b\t\n\u000B\f\r\u000E\u000F" +
-            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
-            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
-            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
-            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
-            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
-            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
-            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
-            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
-            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
-            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
-            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
-            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
-            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00FF\u0000\u0000\u0000\u00FD\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00F8\u0000\u0000\u0000\u0000\u0000\u0000\u00FA" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00F0\u0000\u0000\u00F2\u0000\u0000\u00F4\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u00F6\u0000\u0080" +
-            "\u0081\u0082\u0083\u0084\u0085\u0086\u0087\u0088" +
-            "\u0089\u008A\u008B\u008C\u008D\u008E\u008F\u0090" +
-            "\u0091\u0092\u0093\u0094\u0095\u0096\u0097\u0098" +
-            "\u0099\u009A\u009B\u009C\u009D\u009E\u009F\u00A0" +
-            "\u00A1\u00A2\u00A3\u00A4\u00A5\u00A6\u00A7\u00A8" +
-            "\u00A9\u00AA\u00AB\u00AC\u00AD\u00AE\u00AF\u00E0" +
-            "\u00E1\u00E2\u00E3\u00E4\u00E5\u00E6\u00E7\u00E8" +
-            "\u00E9\u00EA\u00EB\u00EC\u00ED\u00EE\u00EF\u0000" +
-            "\u00F1\u0000\u0000\u00F3\u0000\u0000\u00F5\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u00F7\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00FC" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u00F9\u00FB\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00C4\u0000\u00B3\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u00DA\u0000\u0000\u0000" +
-            "\u00BF\u0000\u0000\u0000\u00C0\u0000\u0000\u0000" +
-            "\u00D9\u0000\u0000\u0000\u00C3\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u00B4\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u00C2\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u00C1\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u00C5\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00CD\u00BA\u00D5\u00D6\u00C9\u00B8\u00B7\u00BB" +
-            "\u00D4\u00D3\u00C8\u00BE\u00BD\u00BC\u00C6\u00C7" +
-            "\u00CC\u00B5\u00B6\u00B9\u00D1\u00D2\u00CB\u00CF" +
-            "\u00D0\u00CA\u00D8\u00D7\u00CE\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00DF\u0000\u0000\u0000\u00DC\u0000\u0000\u0000" +
-            "\u00DB\u0000\u0000\u0000\u00DD\u0000\u0000\u0000" +
-            "\u00DE\u00B0\u00B1\u00B2\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00FE\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000";
-
-    private final static short index1[] = {
-            0, 184, 184, 184, 439, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184,
-            184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184,
-            184, 673, 904, 184, 184, 1160, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184,
-            184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184,
-            184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184,
-            184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184,
-            184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184,
-            184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184,
-            184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184,
-            184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184,
-            184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184,
-            184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184,
-            184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184,
-            184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184,
-            184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184,
-            184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, 184,
-
-        };
-    }
-}
--- a/jdk/src/share/classes/sun/nio/cs/IBM874.java	Wed Jul 05 16:44:40 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,252 +0,0 @@
-/*
- * Copyright 2003-2005 Sun Microsystems, Inc.  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.  Sun designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
- */
-
-package sun.nio.cs;
-
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetDecoder;
-import java.nio.charset.CharsetEncoder;
-import sun.nio.cs.StandardCharsets;
-import sun.nio.cs.SingleByteDecoder;
-import sun.nio.cs.SingleByteEncoder;
-import sun.nio.cs.HistoricallyNamedCharset;
-
-public class IBM874
-    extends Charset
-    implements HistoricallyNamedCharset
-{
-
-    public IBM874() {
-        super("x-IBM874", StandardCharsets.aliases_IBM874);
-    }
-
-    public String historicalName() {
-        return "Cp874";
-    }
-
-    public boolean contains(Charset cs) {
-        return (cs instanceof IBM874);
-    }
-
-    public CharsetDecoder newDecoder() {
-        return new Decoder(this);
-    }
-
-    public CharsetEncoder newEncoder() {
-        return new Encoder(this);
-    }
-
-
-    /**
-     * These accessors are temporarily supplied while sun.io
-     * converters co-exist with the sun.nio.cs.{ext} charset coders
-     * These facilitate sharing of conversion tables between the
-     * two co-existing implementations. When sun.io converters
-     * are made extinct these will be unncessary and should be removed
-     */
-
-    public String getDecoderSingleByteMappings() {
-        return Decoder.byteToCharTable;
-
-    }
-
-    public short[] getEncoderIndex1() {
-        return Encoder.index1;
-
-    }
-    public String getEncoderIndex2() {
-        return Encoder.index2;
-
-    }
-
-    private static class Decoder extends SingleByteDecoder {
-            public Decoder(Charset cs) {
-                super(cs, byteToCharTable);
-        }
-
-        private final static String byteToCharTable =
-
-            "\u20AC\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" +        // 0x80 - 0x87
-            "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" +        // 0x88 - 0x8F
-            "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" +        // 0x90 - 0x97
-            "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" +        // 0x98 - 0x9F
-            "\u0E48\u0E01\u0E02\u0E03\u0E04\u0E05\u0E06\u0E07" +        // 0xA0 - 0xA7
-            "\u0E08\u0E09\u0E0A\u0E0B\u0E0C\u0E0D\u0E0E\u0E0F" +        // 0xA8 - 0xAF
-            "\u0E10\u0E11\u0E12\u0E13\u0E14\u0E15\u0E16\u0E17" +        // 0xB0 - 0xB7
-            "\u0E18\u0E19\u0E1A\u0E1B\u0E1C\u0E1D\u0E1E\u0E1F" +        // 0xB8 - 0xBF
-            "\u0E20\u0E21\u0E22\u0E23\u0E24\u0E25\u0E26\u0E27" +        // 0xC0 - 0xC7
-            "\u0E28\u0E29\u0E2A\u0E2B\u0E2C\u0E2D\u0E2E\u0E2F" +        // 0xC8 - 0xCF
-            "\u0E30\u0E31\u0E32\u0E33\u0E34\u0E35\u0E36\u0E37" +        // 0xD0 - 0xD7
-            "\u0E38\u0E39\u0E3A\u0E49\u0E4A\u0E4B\u0E4C\u0E3F" +        // 0xD8 - 0xDF
-            "\u0E40\u0E41\u0E42\u0E43\u0E44\u0E45\u0E46\u0E47" +        // 0xE0 - 0xE7
-            "\u0E48\u0E49\u0E4A\u0E4B\u0E4C\u0E4D\u0E4E\u0E4F" +        // 0xE8 - 0xEF
-            "\u0E50\u0E51\u0E52\u0E53\u0E54\u0E55\u0E56\u0E57" +        // 0xF0 - 0xF7
-            "\u0E58\u0E59\u0E5A\u0E5B\u00A2\u00AC\u00A6\u00A0" +        // 0xF8 - 0xFF
-            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +        // 0x00 - 0x07
-            "\b\t\n\u000B\f\r\u000E\u000F" +    // 0x08 - 0x0F
-            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +        // 0x10 - 0x17
-            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +        // 0x18 - 0x1F
-            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +        // 0x20 - 0x27
-            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +        // 0x28 - 0x2F
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +        // 0x30 - 0x37
-            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +        // 0x38 - 0x3F
-            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +        // 0x40 - 0x47
-            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +        // 0x48 - 0x4F
-            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +        // 0x50 - 0x57
-            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +    // 0x58 - 0x5F
-            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +        // 0x60 - 0x67
-            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +        // 0x68 - 0x6F
-            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +        // 0x70 - 0x77
-            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";         // 0x78 - 0x7F
-
-    }
-
-    private static class Encoder extends SingleByteEncoder {
-            public Encoder(Charset cs) {
-                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
-            }
-
-            private final static String index2 =
-
-
-            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
-            "\b\t\n\u000B\f\r\u000E\u000F" +
-            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
-            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
-            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
-            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
-            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
-            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
-            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
-            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
-            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
-            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
-            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
-            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
-            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00FF\u0000\u00FC\u0000\u0000\u0000\u00FE\u0000" +
-            "\u0000\u0000\u0000\u0000\u00FD\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u00A1\u00A2\u00A3" +
-            "\u00A4\u00A5\u00A6\u00A7\u00A8\u00A9\u00AA\u00AB" +
-            "\u00AC\u00AD\u00AE\u00AF\u00B0\u00B1\u00B2\u00B3" +
-            "\u00B4\u00B5\u00B6\u00B7\u00B8\u00B9\u00BA\u00BB" +
-            "\u00BC\u00BD\u00BE\u00BF\u00C0\u00C1\u00C2\u00C3" +
-            "\u00C4\u00C5\u00C6\u00C7\u00C8\u00C9\u00CA\u00CB" +
-            "\u00CC\u00CD\u00CE\u00CF\u00D0\u00D1\u00D2\u00D3" +
-            "\u00D4\u00D5\u00D6\u00D7\u00D8\u00D9\u00DA\u0000" +
-            "\u0000\u0000\u0000\u00DF\u00E0\u00E1\u00E2\u00E3" +
-            "\u00E4\u00E5\u00E6\u00E7\u00E8\u00E9\u00EA\u00EB" +
-            "\u00EC\u00ED\u00EE\u00EF\u00F0\u00F1\u00F2\u00F3" +
-            "\u00F4\u00F5\u00F6\u00F7\u00F8\u00F9\u00FA\u00FB" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0080\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000";
-
-    private final static short index1[] = {
-            0, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 428, 173,
-            173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
-            520, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
-            173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
-            173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
-            173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
-            173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
-            173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
-            173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
-            173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
-            173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
-            173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
-            173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
-            173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
-            173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
-            173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
-
-        };
-    }
-}
--- a/jdk/src/share/classes/sun/nio/cs/ISO_8859_13.java	Wed Jul 05 16:44:40 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,266 +0,0 @@
-/*
- * Copyright 2002-2004 Sun Microsystems, Inc.  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.  Sun designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
- */
-
-package sun.nio.cs;
-
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetDecoder;
-import java.nio.charset.CharsetEncoder;
-import sun.nio.cs.StandardCharsets;
-import sun.nio.cs.SingleByteDecoder;
-import sun.nio.cs.SingleByteEncoder;
-import sun.nio.cs.HistoricallyNamedCharset;
-
-public class ISO_8859_13
-    extends Charset
-    implements HistoricallyNamedCharset
-{
-
-    public ISO_8859_13() {
-        super("ISO-8859-13", StandardCharsets.aliases_ISO_8859_13);
-    }
-
-    public String historicalName() {
-        return "ISO8859_13";
-    }
-
-    public boolean contains(Charset cs) {
-        return ((cs.name().equals("US-ASCII"))
-                || (cs instanceof ISO_8859_13));
-    }
-
-    public CharsetDecoder newDecoder() {
-        return new Decoder(this);
-    }
-
-    public CharsetEncoder newEncoder() {
-        return new Encoder(this);
-    }
-
-
-    /**
-     * These accessors are temporarily supplied while sun.io
-     * converters co-exist with the sun.nio.cs.{ext} charset coders
-     * These facilitate sharing of conversion tables between the
-     * two co-existing implementations. When sun.io converters
-     * are made extinct these will be unncessary and should be removed
-     */
-
-    public String getDecoderSingleByteMappings() {
-        return Decoder.byteToCharTable;
-
-    }
-
-    public short[] getEncoderIndex1() {
-        return Encoder.index1;
-
-    }
-    public String getEncoderIndex2() {
-        return Encoder.index2;
-
-    }
-
-
-    private static class Decoder extends SingleByteDecoder {
-        public Decoder(Charset cs) {
-            super(cs, byteToCharTable);
-        }
-
-        private final static  String byteToCharTable =
-
-        "\u0080\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +     // 0x80 - 0x87
-        "\u0088\u0089\u008A\u008B\u008C\u008D\u008E\u008F" +     // 0x88 - 0x8F
-        "\u0090\u0091\u0092\u0093\u0094\u0095\u0096\u0097" +     // 0x90 - 0x97
-        "\u0098\u0099\u009A\u009B\u009C\u009D\u009E\u009F" +     // 0x98 - 0x9F
-        "\u00A0\u201D\u00A2\u00A3\u00A4\u201E\u00A6\u00A7" +     // 0xA0 - 0xA7
-        "\u00D8\u00A9\u0156\u00AB\u00AC\u00AD\u00AE\u00C6" +     // 0xA8 - 0xAF
-        "\u00B0\u00B1\u00B2\u00B3\u201C\u00B5\u00B6\u00B7" +     // 0xB0 - 0xB7
-        "\u00F8\u00B9\u0157\u00BB\u00BC\u00BD\u00BE\u00E6" +     // 0xB8 - 0xBF
-        "\u0104\u012E\u0100\u0106\u00C4\u00C5\u0118\u0112" +     // 0xC0 - 0xC7
-        "\u010C\u00C9\u0179\u0116\u0122\u0136\u012A\u013B" +     // 0xC8 - 0xCF
-        "\u0160\u0143\u0145\u00D3\u014C\u00D5\u00D6\u00D7" +     // 0xD0 - 0xD7
-        "\u0172\u0141\u015A\u016A\u00DC\u017B\u017D\u00DF" +     // 0xD8 - 0xDF
-        "\u0105\u012F\u0101\u0107\u00E4\u00E5\u0119\u0113" +     // 0xE0 - 0xE7
-        "\u010D\u00E9\u017A\u0117\u0123\u0137\u012B\u013C" +     // 0xE8 - 0xEF
-        "\u0161\u0144\u0146\u00F3\u014D\u00F5\u00F6\u00F7" +     // 0xF0 - 0xF7
-        "\u0173\u0142\u015B\u016B\u00FC\u017C\u017E\u2019" +     // 0xF8 - 0xFF
-        "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +     // 0x00 - 0x07
-        "\b\t\n\u000B\f\r\u000E\u000F" +     // 0x08 - 0x0F
-        "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +     // 0x10 - 0x17
-        "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +     // 0x18 - 0x1F
-        "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +     // 0x20 - 0x27
-        "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +     // 0x28 - 0x2F
-        "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +     // 0x30 - 0x37
-        "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +     // 0x38 - 0x3F
-        "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +     // 0x40 - 0x47
-        "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +     // 0x48 - 0x4F
-        "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +     // 0x50 - 0x57
-        "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +     // 0x58 - 0x5F
-        "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +     // 0x60 - 0x67
-        "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +     // 0x68 - 0x6F
-        "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +     // 0x70 - 0x77
-        "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";     // 0x78 - 0x7F
-
-
-    }
-
-    private static class Encoder extends SingleByteEncoder {
-        public Encoder(Charset cs) {
-            super(cs, index1, index2, 0xFF00, 0x00FF, 8);
-        }
-
-    private final static String index2 =
-
-        "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
-        "\b\t\n\u000B\f\r\u000E\u000F" +
-        "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
-        "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
-        "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
-        "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
-        "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
-        "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
-        "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
-        "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
-        "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
-        "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
-        "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
-        "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
-        "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
-        "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
-        "\u0080\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +
-        "\u0088\u0089\u008A\u008B\u008C\u008D\u008E\u008F" +
-        "\u0090\u0091\u0092\u0093\u0094\u0095\u0096\u0097" +
-        "\u0098\u0099\u009A\u009B\u009C\u009D\u009E\u009F" +
-        "\u00A0\u0000\u00A2\u00A3\u00A4\u0000\u00A6\u00A7" +
-        "\u0000\u00A9\u0000\u00AB\u00AC\u00AD\u00AE\u0000" +
-        "\u00B0\u00B1\u00B2\u00B3\u0000\u00B5\u00B6\u00B7" +
-        "\u0000\u00B9\u0000\u00BB\u00BC\u00BD\u00BE\u0000" +
-        "\u0000\u0000\u0000\u0000\u00C4\u00C5\u00AF\u0000" +
-        "\u0000\u00C9\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u00D3\u0000\u00D5\u00D6\u00D7" +
-        "\u00A8\u0000\u0000\u0000\u00DC\u0000\u0000\u00DF" +
-        "\u0000\u0000\u0000\u0000\u00E4\u00E5\u00BF\u0000" +
-        "\u0000\u00E9\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u00F3\u0000\u00F5\u00F6\u00F7" +
-        "\u00B8\u0000\u0000\u0000\u00FC\u0000\u0000\u0000" +
-        "\u00C2\u00E2\u0000\u0000\u00C0\u00E0\u00C3\u00E3" +
-        "\u0000\u0000\u0000\u0000\u00C8\u00E8\u0000\u0000" +
-        "\u0000\u0000\u00C7\u00E7\u0000\u0000\u00CB\u00EB" +
-        "\u00C6\u00E6\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u00CC\u00EC\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u00CE\u00EE\u0000\u0000\u00C1\u00E1" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u00CD\u00ED" +
-        "\u0000\u0000\u0000\u00CF\u00EF\u0000\u0000\u0000" +
-        "\u0000\u00D9\u00F9\u00D1\u00F1\u00D2\u00F2\u0000" +
-        "\u0000\u0000\u0000\u0000\u00D4\u00F4\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u00AA\u00BA" +
-        "\u0000\u0000\u00DA\u00FA\u0000\u0000\u0000\u0000" +
-        "\u00D0\u00F0\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u00DB\u00FB\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u00D8\u00F8\u0000\u0000\u0000\u0000" +
-        "\u0000\u00CA\u00EA\u00DD\u00FD\u00DE\u00FE\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00FF" +
-        "\u0000\u0000\u00B4\u00A1\u00A5\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000";
-
-    private final static short index1[] = {
-        0, 256, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-        383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-        614, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-        383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-        383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-        383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-        383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-        383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-        383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-        383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-        383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-        383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-        383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-        383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-        383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-        383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-
-      };
-   }
-}
--- a/jdk/src/share/classes/sun/nio/cs/ISO_8859_15.java	Wed Jul 05 16:44:40 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,249 +0,0 @@
-
-/*
- * Copyright 2000-2004 Sun Microsystems, Inc.  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.  Sun designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
- */
-
-package sun.nio.cs;
-
-import java.nio.ByteBuffer;
-import java.nio.CharBuffer;
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetDecoder;
-import java.nio.charset.CharsetEncoder;
-import java.nio.charset.CharacterCodingException;
-import java.nio.charset.MalformedInputException;
-import java.nio.charset.UnmappableCharacterException;
-
-
-public class ISO_8859_15 extends Charset implements HistoricallyNamedCharset
-{
-
-    public ISO_8859_15() {
-        super("ISO-8859-15", StandardCharsets.aliases_ISO_8859_15);
-    }
-
-    public String historicalName() {
-        return "ISO8859_15";
-    }
-
-    public boolean contains(Charset cs) {
-        return ((cs instanceof US_ASCII)
-                || (cs instanceof ISO_8859_1)
-                || (cs instanceof ISO_8859_15));
-    }
-
-    public CharsetDecoder newDecoder() {
-        return new Decoder(this);
-    }
-
-    public CharsetEncoder newEncoder() {
-        return new Encoder(this);
-    }
-
-
-    /**
-     * These accessors are temporarily supplied while sun.io
-     * converters co-exist with the sun.nio.cs.{ext} charset coders
-     * These facilitate sharing of conversion tables between the
-     * two co-existing implementations. When sun.io converters
-     * are made extinct these will be unncessary and should be removed
-     */
-
-    public String getDecoderSingleByteMappings() {
-        return Decoder.byteToCharTable;
-
-    }
-
-    public short[] getEncoderIndex1() {
-        return Encoder.index1;
-
-    }
-    public String getEncoderIndex2() {
-        return Encoder.index2;
-
-    }
-
-    private static class Decoder extends SingleByteDecoder {
-
-        public Decoder(Charset cs) {
-            super(cs, byteToCharTable);
-        }
-
-        private final static String byteToCharTable =
-            "\u0080\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +     // 0x80 - 0x87
-            "\u0088\u0089\u008A\u008B\u008C\u008D\u008E\u008F" +     // 0x88 - 0x8F
-            "\u0090\u0091\u0092\u0093\u0094\u0095\u0096\u0097" +     // 0x90 - 0x97
-            "\u0098\u0099\u009A\u009B\u009C\u009D\u009E\u009F" +     // 0x98 - 0x9F
-            "\u00A0\u00A1\u00A2\u00A3\u20AC\u00A5\u0160\u00A7" +     // 0xA0 - 0xA7
-            "\u0161\u00A9\u00AA\u00AB\u00AC\u00AD\u00AE\u00AF" +     // 0xA8 - 0xAF
-            "\u00B0\u00B1\u00B2\u00B3\u017D\u00B5\u00B6\u00B7" +     // 0xB0 - 0xB7
-            "\u017E\u00B9\u00BA\u00BB\u0152\u0153\u0178\u00BF" +     // 0xB8 - 0xBF
-            "\u00C0\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" +     // 0xC0 - 0xC7
-            "\u00C8\u00C9\u00CA\u00CB\u00CC\u00CD\u00CE\u00CF" +     // 0xC8 - 0xCF
-            "\u00D0\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6\u00D7" +     // 0xD0 - 0xD7
-            "\u00D8\u00D9\u00DA\u00DB\u00DC\u00DD\u00DE\u00DF" +     // 0xD8 - 0xDF
-            "\u00E0\u00E1\u00E2\u00E3\u00E4\u00E5\u00E6\u00E7" +     // 0xE0 - 0xE7
-            "\u00E8\u00E9\u00EA\u00EB\u00EC\u00ED\u00EE\u00EF" +     // 0xE8 - 0xEF
-            "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" +     // 0xF0 - 0xF7
-            "\u00F8\u00F9\u00FA\u00FB\u00FC\u00FD\u00FE\u00FF" +     // 0xF8 - 0xFF
-            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +     // 0x00 - 0x07
-            "\b\t\n\u000B\f\r\u000E\u000F" +     // 0x08 - 0x0F
-            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +     // 0x10 - 0x17
-            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +     // 0x18 - 0x1F
-            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +     // 0x20 - 0x27
-            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +     // 0x28 - 0x2F
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +     // 0x30 - 0x37
-            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +     // 0x38 - 0x3F
-            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +     // 0x40 - 0x47
-            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +     // 0x48 - 0x4F
-            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +     // 0x50 - 0x57
-            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +     // 0x58 - 0x5F
-            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +     // 0x60 - 0x67
-            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +     // 0x68 - 0x6F
-            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +     // 0x70 - 0x77
-            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";     // 0x78 - 0x7F
-
-    }
-
-    private static class Encoder extends SingleByteEncoder {
-
-        public Encoder(Charset cs) {
-            super(cs, index1, index2, 0xFF00, 0x00FF, 8);
-        }
-
-        private final static String index2 =
-            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
-            "\b\t\n\u000B\f\r\u000E\u000F" +
-            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
-            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
-            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
-            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
-            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
-            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
-            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
-            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
-            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
-            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
-            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
-            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
-            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
-            "\u0080\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +
-            "\u0088\u0089\u008A\u008B\u008C\u008D\u008E\u008F" +
-            "\u0090\u0091\u0092\u0093\u0094\u0095\u0096\u0097" +
-            "\u0098\u0099\u009A\u009B\u009C\u009D\u009E\u009F" +
-            "\u00A0\u00A1\u00A2\u00A3\u0000\u00A5\u0000\u00A7" +
-            "\u0000\u00A9\u00AA\u00AB\u00AC\u00AD\u00AE\u00AF" +
-            "\u00B0\u00B1\u00B2\u00B3\u0000\u00B5\u00B6\u00B7" +
-            "\u0000\u00B9\u00BA\u00BB\u0000\u0000\u0000\u00BF" +
-            "\u00C0\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" +
-            "\u00C8\u00C9\u00CA\u00CB\u00CC\u00CD\u00CE\u00CF" +
-            "\u00D0\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6\u00D7" +
-            "\u00D8\u00D9\u00DA\u00DB\u00DC\u00DD\u00DE\u00DF" +
-            "\u00E0\u00E1\u00E2\u00E3\u00E4\u00E5\u00E6\u00E7" +
-            "\u00E8\u00E9\u00EA\u00EB\u00EC\u00ED\u00EE\u00EF" +
-            "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" +
-            "\u00F8\u00F9\u00FA\u00FB\u00FC\u00FD\u00FE\u00FF" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u00BC\u00BD\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00A6\u00A8\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00BE\u0000\u0000\u0000\u0000\u00B4\u00B8\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00A4" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000";
-
-        private final static short index1[] = {
-            0, 256, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            467, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-        };
-
-    }
-
-}
--- a/jdk/src/share/classes/sun/nio/cs/ISO_8859_2.java	Wed Jul 05 16:44:40 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,246 +0,0 @@
-/*
- * Copyright 2002-2004 Sun Microsystems, Inc.  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.  Sun designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
- */
-
-package sun.nio.cs;
-
-import java.nio.ByteBuffer;
-import java.nio.CharBuffer;
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetDecoder;
-import java.nio.charset.CharsetEncoder;
-import java.nio.charset.CharacterCodingException;
-import java.nio.charset.MalformedInputException;
-import java.nio.charset.UnmappableCharacterException;
-import sun.nio.cs.StandardCharsets;
-import sun.nio.cs.SingleByteDecoder;
-import sun.nio.cs.SingleByteEncoder;
-import sun.nio.cs.HistoricallyNamedCharset;
-
-
-public class ISO_8859_2
-    extends Charset
-    implements HistoricallyNamedCharset
-{
-
-    public ISO_8859_2() {
-        super("ISO-8859-2", StandardCharsets.aliases_ISO_8859_2);
-    }
-
-    public String historicalName() {
-        return "ISO8859_2";
-    }
-
-    public boolean contains(Charset cs) {
-        return ((cs.name().equals("US-ASCII"))
-                || (cs instanceof ISO_8859_2));
-    }
-
-    public CharsetDecoder newDecoder() {
-        return new Decoder(this);
-    }
-
-    public CharsetEncoder newEncoder() {
-        return new Encoder(this);
-    }
-
-
-    /**
-     * These accessors are temporarily supplied while sun.io
-     * converters co-exist with the sun.nio.cs.{ext} charset coders
-     * These facilitate sharing of conversion tables between the
-     * two co-existing implementations. When sun.io converters
-     * are made extinct these will be unncessary and should be removed
-     */
-
-    public String getDecoderSingleByteMappings() {
-        return Decoder.byteToCharTable;
-
-    }
-
-    public short[] getEncoderIndex1() {
-        return Encoder.index1;
-
-    }
-    public String getEncoderIndex2() {
-        return Encoder.index2;
-
-    }
-
-    private static class Decoder extends SingleByteDecoder {
-        public Decoder(Charset cs) {
-            super(cs, byteToCharTable);
-        }
-
-        private final static String byteToCharTable =
-
-            "\u0080\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +     // 0x80 - 0x87
-            "\u0088\u0089\u008A\u008B\u008C\u008D\u008E\u008F" +     // 0x88 - 0x8F
-            "\u0090\u0091\u0092\u0093\u0094\u0095\u0096\u0097" +     // 0x90 - 0x97
-            "\u0098\u0099\u009A\u009B\u009C\u009D\u009E\u009F" +     // 0x98 - 0x9F
-            "\u00A0\u0104\u02D8\u0141\u00A4\u013D\u015A\u00A7" +     // 0xA0 - 0xA7
-            "\u00A8\u0160\u015E\u0164\u0179\u00AD\u017D\u017B" +     // 0xA8 - 0xAF
-            "\u00B0\u0105\u02DB\u0142\u00B4\u013E\u015B\u02C7" +     // 0xB0 - 0xB7
-            "\u00B8\u0161\u015F\u0165\u017A\u02DD\u017E\u017C" +     // 0xB8 - 0xBF
-            "\u0154\u00C1\u00C2\u0102\u00C4\u0139\u0106\u00C7" +     // 0xC0 - 0xC7
-            "\u010C\u00C9\u0118\u00CB\u011A\u00CD\u00CE\u010E" +     // 0xC8 - 0xCF
-            "\u0110\u0143\u0147\u00D3\u00D4\u0150\u00D6\u00D7" +     // 0xD0 - 0xD7
-            "\u0158\u016E\u00DA\u0170\u00DC\u00DD\u0162\u00DF" +     // 0xD8 - 0xDF
-            "\u0155\u00E1\u00E2\u0103\u00E4\u013A\u0107\u00E7" +     // 0xE0 - 0xE7
-            "\u010D\u00E9\u0119\u00EB\u011B\u00ED\u00EE\u010F" +     // 0xE8 - 0xEF
-            "\u0111\u0144\u0148\u00F3\u00F4\u0151\u00F6\u00F7" +     // 0xF0 - 0xF7
-            "\u0159\u016F\u00FA\u0171\u00FC\u00FD\u0163\u02D9" +     // 0xF8 - 0xFF
-            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +     // 0x00 - 0x07
-            "\b\t\n\u000B\f\r\u000E\u000F" +     // 0x08 - 0x0F
-            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +     // 0x10 - 0x17
-            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +     // 0x18 - 0x1F
-            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +     // 0x20 - 0x27
-            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +     // 0x28 - 0x2F
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +     // 0x30 - 0x37
-            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +     // 0x38 - 0x3F
-            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +     // 0x40 - 0x47
-            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +     // 0x48 - 0x4F
-            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +     // 0x50 - 0x57
-            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +     // 0x58 - 0x5F
-            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +     // 0x60 - 0x67
-            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +     // 0x68 - 0x6F
-            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +     // 0x70 - 0x77
-            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";     // 0x78 - 0x7F
-    }
-
-    private static class Encoder extends SingleByteEncoder {
-        public Encoder(Charset cs) {
-            super(cs, index1, index2, 0xFF00, 0x00FF, 8);
-        }
-
-        private final static String index2 =
-
-            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
-            "\b\t\n\u000B\f\r\u000E\u000F" +
-            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
-            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
-            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
-            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
-            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
-            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
-            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
-            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
-            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
-            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
-            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
-            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
-            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
-            "\u0080\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +
-            "\u0088\u0089\u008A\u008B\u008C\u008D\u008E\u008F" +
-            "\u0090\u0091\u0092\u0093\u0094\u0095\u0096\u0097" +
-            "\u0098\u0099\u009A\u009B\u009C\u009D\u009E\u009F" +
-            "\u00A0\u0000\u0000\u0000\u00A4\u0000\u0000\u00A7" +
-            "\u00A8\u0000\u0000\u0000\u0000\u00AD\u0000\u0000" +
-            "\u00B0\u0000\u0000\u0000\u00B4\u0000\u0000\u0000" +
-            "\u00B8\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u00C1\u00C2\u0000\u00C4\u0000\u0000\u00C7" +
-            "\u0000\u00C9\u0000\u00CB\u0000\u00CD\u00CE\u0000" +
-            "\u0000\u0000\u0000\u00D3\u00D4\u0000\u00D6\u00D7" +
-            "\u0000\u0000\u00DA\u0000\u00DC\u00DD\u0000\u00DF" +
-            "\u0000\u00E1\u00E2\u0000\u00E4\u0000\u0000\u00E7" +
-            "\u0000\u00E9\u0000\u00EB\u0000\u00ED\u00EE\u0000" +
-            "\u0000\u0000\u0000\u00F3\u00F4\u0000\u00F6\u00F7" +
-            "\u0000\u0000\u00FA\u0000\u00FC\u00FD\u0000\u0000" +
-            "\u00C3\u00E3\u00A1\u00B1\u00C6\u00E6\u0000\u0000" +
-            "\u0000\u0000\u00C8\u00E8\u00CF\u00EF\u00D0\u00F0" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u00CA\u00EA" +
-            "\u00CC\u00EC\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00C5" +
-            "\u00E5\u0000\u0000\u00A5\u00B5\u0000\u0000\u00A3" +
-            "\u00B3\u00D1\u00F1\u0000\u0000\u00D2\u00F2\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u00D5\u00F5" +
-            "\u0000\u0000\u00C0\u00E0\u0000\u0000\u00D8\u00F8" +
-            "\u00A6\u00B6\u0000\u0000\u00AA\u00BA\u00A9\u00B9" +
-            "\u00DE\u00FE\u00AB\u00BB\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u00D9\u00F9\u00DB\u00FB" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00AC" +
-            "\u00BC\u00AF\u00BF\u00AE\u00BE\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u00B7\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u00A2\u00FF" +
-            "\u0000\u00B2\u0000\u00BD\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000";
-
-        private final static short index1[] = {
-            0, 254, 438, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
-            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
-            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
-            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
-            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
-            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
-            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
-            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
-            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
-            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
-            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
-            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
-            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
-            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
-            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
-            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
-        };
-    }
-}
--- a/jdk/src/share/classes/sun/nio/cs/ISO_8859_4.java	Wed Jul 05 16:44:40 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,244 +0,0 @@
-/*
- * Copyright 2002-2004 Sun Microsystems, Inc.  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.  Sun designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
- */
-
-package sun.nio.cs;
-
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetDecoder;
-import java.nio.charset.CharsetEncoder;
-import sun.nio.cs.StandardCharsets;
-import sun.nio.cs.SingleByteDecoder;
-import sun.nio.cs.SingleByteEncoder;
-import sun.nio.cs.HistoricallyNamedCharset;
-
-public class ISO_8859_4
-    extends Charset
-    implements HistoricallyNamedCharset
-{
-
-    public ISO_8859_4() {
-        super("ISO-8859-4", StandardCharsets.aliases_ISO_8859_4);
-    }
-
-    public String historicalName() {
-        return "ISO8859_4";
-    }
-
-    public boolean contains(Charset cs) {
-        return ((cs.name().equals("US-ASCII"))
-                || (cs instanceof ISO_8859_4));
-    }
-
-    public CharsetDecoder newDecoder() {
-        return new Decoder(this);
-    }
-
-    public CharsetEncoder newEncoder() {
-        return new Encoder(this);
-    }
-
-
-    /**
-     * These accessors are temporarily supplied while sun.io
-     * converters co-exist with the sun.nio.cs.{ext} charset coders
-     * These facilitate sharing of conversion tables between the
-     * two co-existing implementations. When sun.io converters
-     * are made extinct these will be unncessary and should be removed
-     */
-
-    public String getDecoderSingleByteMappings() {
-        return Decoder.byteToCharTable;
-
-    }
-
-    public short[] getEncoderIndex1() {
-        return Encoder.index1;
-
-    }
-    public String getEncoderIndex2() {
-        return Encoder.index2;
-
-    }
-
-
-    private static class Decoder extends SingleByteDecoder {
-        public Decoder(Charset cs) {
-            super(cs, byteToCharTable);
-        }
-
-        private final static  String byteToCharTable =
-
-        "\u0080\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +     // 0x80 - 0x87
-        "\u0088\u0089\u008A\u008B\u008C\u008D\u008E\u008F" +     // 0x88 - 0x8F
-        "\u0090\u0091\u0092\u0093\u0094\u0095\u0096\u0097" +     // 0x90 - 0x97
-        "\u0098\u0099\u009A\u009B\u009C\u009D\u009E\u009F" +     // 0x98 - 0x9F
-        "\u00A0\u0104\u0138\u0156\u00A4\u0128\u013B\u00A7" +     // 0xA0 - 0xA7
-        "\u00A8\u0160\u0112\u0122\u0166\u00AD\u017D\u00AF" +     // 0xA8 - 0xAF
-        "\u00B0\u0105\u02DB\u0157\u00B4\u0129\u013C\u02C7" +     // 0xB0 - 0xB7
-        "\u00B8\u0161\u0113\u0123\u0167\u014A\u017E\u014B" +     // 0xB8 - 0xBF
-        "\u0100\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u012E" +     // 0xC0 - 0xC7
-        "\u010C\u00C9\u0118\u00CB\u0116\u00CD\u00CE\u012A" +     // 0xC8 - 0xCF
-        "\u0110\u0145\u014C\u0136\u00D4\u00D5\u00D6\u00D7" +     // 0xD0 - 0xD7
-        "\u00D8\u0172\u00DA\u00DB\u00DC\u0168\u016A\u00DF" +     // 0xD8 - 0xDF
-        "\u0101\u00E1\u00E2\u00E3\u00E4\u00E5\u00E6\u012F" +     // 0xE0 - 0xE7
-        "\u010D\u00E9\u0119\u00EB\u0117\u00ED\u00EE\u012B" +     // 0xE8 - 0xEF
-        "\u0111\u0146\u014D\u0137\u00F4\u00F5\u00F6\u00F7" +     // 0xF0 - 0xF7
-        "\u00F8\u0173\u00FA\u00FB\u00FC\u0169\u016B\u02D9" +     // 0xF8 - 0xFF
-        "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +     // 0x00 - 0x07
-        "\b\t\n\u000B\f\r\u000E\u000F" +     // 0x08 - 0x0F
-        "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +     // 0x10 - 0x17
-        "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +     // 0x18 - 0x1F
-        "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +     // 0x20 - 0x27
-        "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +     // 0x28 - 0x2F
-        "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +     // 0x30 - 0x37
-        "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +     // 0x38 - 0x3F
-        "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +     // 0x40 - 0x47
-        "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +     // 0x48 - 0x4F
-        "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +     // 0x50 - 0x57
-        "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +     // 0x58 - 0x5F
-        "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +     // 0x60 - 0x67
-        "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +     // 0x68 - 0x6F
-        "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +     // 0x70 - 0x77
-        "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";     // 0x78 - 0x7F
-
-
-    }
-
-    private static class Encoder extends SingleByteEncoder {
-        public Encoder(Charset cs) {
-            super(cs, index1, index2, 0xFF00, 0x00FF, 8);
-        }
-
-    private final static String index2 =
-
-        "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
-        "\b\t\n\u000B\f\r\u000E\u000F" +
-        "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
-        "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
-        "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
-        "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
-        "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
-        "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
-        "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
-        "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
-        "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
-        "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
-        "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
-        "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
-        "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
-        "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
-        "\u0080\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +
-        "\u0088\u0089\u008A\u008B\u008C\u008D\u008E\u008F" +
-        "\u0090\u0091\u0092\u0093\u0094\u0095\u0096\u0097" +
-        "\u0098\u0099\u009A\u009B\u009C\u009D\u009E\u009F" +
-        "\u00A0\u0000\u0000\u0000\u00A4\u0000\u0000\u00A7" +
-        "\u00A8\u0000\u0000\u0000\u0000\u00AD\u0000\u00AF" +
-        "\u00B0\u0000\u0000\u0000\u00B4\u0000\u0000\u0000" +
-        "\u00B8\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u0000" +
-        "\u0000\u00C9\u0000\u00CB\u0000\u00CD\u00CE\u0000" +
-        "\u0000\u0000\u0000\u0000\u00D4\u00D5\u00D6\u00D7" +
-        "\u00D8\u0000\u00DA\u00DB\u00DC\u0000\u0000\u00DF" +
-        "\u0000\u00E1\u00E2\u00E3\u00E4\u00E5\u00E6\u0000" +
-        "\u0000\u00E9\u0000\u00EB\u0000\u00ED\u00EE\u0000" +
-        "\u0000\u0000\u0000\u0000\u00F4\u00F5\u00F6\u00F7" +
-        "\u00F8\u0000\u00FA\u00FB\u00FC\u0000\u0000\u0000" +
-        "\u00C0\u00E0\u0000\u0000\u00A1\u00B1\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u00C8\u00E8\u0000\u0000" +
-        "\u00D0\u00F0\u00AA\u00BA\u0000\u0000\u00CC\u00EC" +
-        "\u00CA\u00EA\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u00AB\u00BB\u0000\u0000\u0000\u0000" +
-        "\u00A5\u00B5\u00CF\u00EF\u0000\u0000\u00C7\u00E7" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u00D3\u00F3" +
-        "\u00A2\u0000\u0000\u00A6\u00B6\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u00D1\u00F1\u0000" +
-        "\u0000\u0000\u00BD\u00BF\u00D2\u00F2\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u00A3\u00B3" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u00A9\u00B9\u0000\u0000\u0000\u0000\u00AC\u00BC" +
-        "\u00DD\u00FD\u00DE\u00FE\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u00D9\u00F9\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u00AE\u00BE\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00B7" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u00FF\u0000\u00B2\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000";
-
-    private final static short index1[] = {
-        0, 256, 440, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-        383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-        383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-        383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-        383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-        383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-        383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-        383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-        383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-        383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-        383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-        383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-        383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-        383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-        383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-        383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-
-      };
-   }
-}
--- a/jdk/src/share/classes/sun/nio/cs/ISO_8859_5.java	Wed Jul 05 16:44:40 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,271 +0,0 @@
-/*
- * Copyright 2002-2004 Sun Microsystems, Inc.  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.  Sun designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
- */
-
-package sun.nio.cs;
-
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetDecoder;
-import java.nio.charset.CharsetEncoder;
-import sun.nio.cs.StandardCharsets;
-import sun.nio.cs.SingleByteDecoder;
-import sun.nio.cs.SingleByteEncoder;
-import sun.nio.cs.HistoricallyNamedCharset;
-
-public class ISO_8859_5
-    extends Charset
-    implements HistoricallyNamedCharset
-{
-
-    public ISO_8859_5() {
-        super("ISO-8859-5", StandardCharsets.aliases_ISO_8859_5);
-    }
-
-    public String historicalName() {
-        return "ISO8859_5";
-    }
-
-    public boolean contains(Charset cs) {
-        return ((cs.name().equals("US-ASCII"))
-                || (cs instanceof ISO_8859_5));
-    }
-
-    public CharsetDecoder newDecoder() {
-        return new Decoder(this);
-    }
-
-    public CharsetEncoder newEncoder() {
-        return new Encoder(this);
-    }
-
-
-    /**
-     * These accessors are temporarily supplied while sun.io
-     * converters co-exist with the sun.nio.cs.{ext} charset coders
-     * These facilitate sharing of conversion tables between the
-     * two co-existing implementations. When sun.io converters
-     * are made extinct these will be unncessary and should be removed
-     */
-
-    public String getDecoderSingleByteMappings() {
-        return Decoder.byteToCharTable;
-
-    }
-
-    public short[] getEncoderIndex1() {
-        return Encoder.index1;
-
-    }
-    public String getEncoderIndex2() {
-        return Encoder.index2;
-
-    }
-
-    private static class Decoder extends SingleByteDecoder {
-        public Decoder(Charset cs) {
-            super(cs, byteToCharTable);
-        }
-
-        private final static  String byteToCharTable =
-
-        "\u0080\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +     // 0x80 - 0x87
-        "\u0088\u0089\u008A\u008B\u008C\u008D\u008E\u008F" +     // 0x88 - 0x8F
-        "\u0090\u0091\u0092\u0093\u0094\u0095\u0096\u0097" +     // 0x90 - 0x97
-        "\u0098\u0099\u009A\u009B\u009C\u009D\u009E\u009F" +     // 0x98 - 0x9F
-        "\u00A0\u0401\u0402\u0403\u0404\u0405\u0406\u0407" +     // 0xA0 - 0xA7
-        "\u0408\u0409\u040A\u040B\u040C\u00AD\u040E\u040F" +     // 0xA8 - 0xAF
-        "\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417" +     // 0xB0 - 0xB7
-        "\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F" +     // 0xB8 - 0xBF
-        "\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427" +     // 0xC0 - 0xC7
-        "\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F" +     // 0xC8 - 0xCF
-        "\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437" +     // 0xD0 - 0xD7
-        "\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F" +     // 0xD8 - 0xDF
-        "\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447" +     // 0xE0 - 0xE7
-        "\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F" +     // 0xE8 - 0xEF
-        "\u2116\u0451\u0452\u0453\u0454\u0455\u0456\u0457" +     // 0xF0 - 0xF7
-        "\u0458\u0459\u045A\u045B\u045C\u00A7\u045E\u045F" +     // 0xF8 - 0xFF
-        "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +     // 0x00 - 0x07
-        "\b\t\n\u000B\f\r\u000E\u000F" +     // 0x08 - 0x0F
-        "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +     // 0x10 - 0x17
-        "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +     // 0x18 - 0x1F
-        "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +     // 0x20 - 0x27
-        "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +     // 0x28 - 0x2F
-        "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +     // 0x30 - 0x37
-        "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +     // 0x38 - 0x3F
-        "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +     // 0x40 - 0x47
-        "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +     // 0x48 - 0x4F
-        "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +     // 0x50 - 0x57
-        "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +     // 0x58 - 0x5F
-        "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +     // 0x60 - 0x67
-        "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +     // 0x68 - 0x6F
-        "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +     // 0x70 - 0x77
-        "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";     // 0x78 - 0x7F
-
-
-    }
-
-    private static class Encoder extends SingleByteEncoder {
-        public Encoder(Charset cs) {
-            super(cs, index1, index2, 0xFF00, 0x00FF, 8);
-        }
-
-    private final static String index2 =
-
-        "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
-        "\b\t\n\u000B\f\r\u000E\u000F" +
-        "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
-        "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
-        "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
-        "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
-        "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
-        "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
-        "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
-        "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
-        "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
-        "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
-        "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
-        "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
-        "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
-        "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
-        "\u0080\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +
-        "\u0088\u0089\u008A\u008B\u008C\u008D\u008E\u008F" +
-        "\u0090\u0091\u0092\u0093\u0094\u0095\u0096\u0097" +
-        "\u0098\u0099\u009A\u009B\u009C\u009D\u009E\u009F" +
-        "\u00A0\u0000\u0000\u0000\u0000\u0000\u0000\u00FD" +
-        "\u0000\u0000\u0000\u0000\u0000\u00AD\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u00A1\u00A2" +
-        "\u00A3\u00A4\u00A5\u00A6\u00A7\u00A8\u00A9\u00AA" +
-        "\u00AB\u00AC\u0000\u00AE\u00AF\u00B0\u00B1\u00B2" +
-        "\u00B3\u00B4\u00B5\u00B6\u00B7\u00B8\u00B9\u00BA" +
-        "\u00BB\u00BC\u00BD\u00BE\u00BF\u00C0\u00C1\u00C2" +
-        "\u00C3\u00C4\u00C5\u00C6\u00C7\u00C8\u00C9\u00CA" +
-        "\u00CB\u00CC\u00CD\u00CE\u00CF\u00D0\u00D1\u00D2" +
-        "\u00D3\u00D4\u00D5\u00D6\u00D7\u00D8\u00D9\u00DA" +
-        "\u00DB\u00DC\u00DD\u00DE\u00DF\u00E0\u00E1\u00E2" +
-        "\u00E3\u00E4\u00E5\u00E6\u00E7\u00E8\u00E9\u00EA" +
-        "\u00EB\u00EC\u00ED\u00EE\u00EF\u0000\u00F1\u00F2" +
-        "\u00F3\u00F4\u00F5\u00F6\u00F7\u00F8\u00F9\u00FA" +
-        "\u00FB\u00FC\u0000\u00FE\u00FF\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u00F0\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000";
-
-    private final static short index1[] = {
-        0, 174, 174, 174, 429, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
-        174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
-        174, 663, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
-        174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
-        174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
-        174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
-        174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
-        174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
-        174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
-        174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
-        174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
-        174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
-        174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
-        174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
-        174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
-        174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
-
-      };
-   }
-}
--- a/jdk/src/share/classes/sun/nio/cs/ISO_8859_7.java	Wed Jul 05 16:44:40 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,255 +0,0 @@
-/*
- * Copyright 2002-2006 Sun Microsystems, Inc.  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.  Sun designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
- */
-
-package sun.nio.cs;
-
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetDecoder;
-import java.nio.charset.CharsetEncoder;
-import sun.nio.cs.StandardCharsets;
-import sun.nio.cs.SingleByteDecoder;
-import sun.nio.cs.SingleByteEncoder;
-import sun.nio.cs.HistoricallyNamedCharset;
-
-public class ISO_8859_7
-    extends Charset
-    implements HistoricallyNamedCharset
-{
-
-    public ISO_8859_7() {
-        super("ISO-8859-7", StandardCharsets.aliases_ISO_8859_7);
-    }
-
-    public String historicalName() {
-        return "ISO8859_7";
-    }
-
-    public boolean contains(Charset cs) {
-        return ((cs.name().equals("US-ASCII"))
-                || (cs instanceof ISO_8859_7));
-    }
-
-    public CharsetDecoder newDecoder() {
-        return new Decoder(this);
-    }
-
-    public CharsetEncoder newEncoder() {
-        return new Encoder(this);
-    }
-
-
-    /**
-     * These accessors are temporarily supplied while sun.io
-     * converters co-exist with the sun.nio.cs.{ext} charset coders
-     * These facilitate sharing of conversion tables between the
-     * two co-existing implementations. When sun.io converters
-     * are made extinct these will be unncessary and should be removed
-     */
-
-    public String getDecoderSingleByteMappings() {
-        return Decoder.byteToCharTable;
-
-    }
-
-    public short[] getEncoderIndex1() {
-        return Encoder.index1;
-
-    }
-    public String getEncoderIndex2() {
-        return Encoder.index2;
-
-    }
-
-    private static class Decoder extends SingleByteDecoder {
-        public Decoder(Charset cs) {
-            super(cs, byteToCharTable);
-        }
-
-        private final static  String byteToCharTable =
-
-        "\u0080\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +     // 0x80 - 0x87
-        "\u0088\u0089\u008A\u008B\u008C\u008D\u008E\u008F" +     // 0x88 - 0x8F
-        "\u0090\u0091\u0092\u0093\u0094\u0095\u0096\u0097" +     // 0x90 - 0x97
-        "\u0098\u0099\u009A\u009B\u009C\u009D\u009E\u009F" +     // 0x98 - 0x9F
-        "\u00A0\u2018\u2019\u00A3\u20AC\u20AF\u00A6\u00A7" +     // 0xA0 - 0xA7
-        "\u00A8\u00A9\u037A\u00AB\u00AC\u00AD\uFFFD\u2015" +     // 0xA8 - 0xAF
-        "\u00B0\u00B1\u00B2\u00B3\u0384\u0385\u0386\u00B7" +     // 0xB0 - 0xB7
-        "\u0388\u0389\u038A\u00BB\u038C\u00BD\u038E\u038F" +     // 0xB8 - 0xBF
-        "\u0390\u0391\u0392\u0393\u0394\u0395\u0396\u0397" +     // 0xC0 - 0xC7
-        "\u0398\u0399\u039A\u039B\u039C\u039D\u039E\u039F" +     // 0xC8 - 0xCF
-        "\u03A0\u03A1\uFFFD\u03A3\u03A4\u03A5\u03A6\u03A7" +     // 0xD0 - 0xD7
-        "\u03A8\u03A9\u03AA\u03AB\u03AC\u03AD\u03AE\u03AF" +     // 0xD8 - 0xDF
-        "\u03B0\u03B1\u03B2\u03B3\u03B4\u03B5\u03B6\u03B7" +     // 0xE0 - 0xE7
-        "\u03B8\u03B9\u03BA\u03BB\u03BC\u03BD\u03BE\u03BF" +     // 0xE8 - 0xEF
-        "\u03C0\u03C1\u03C2\u03C3\u03C4\u03C5\u03C6\u03C7" +     // 0xF0 - 0xF7
-        "\u03C8\u03C9\u03CA\u03CB\u03CC\u03CD\u03CE\uFFFD" +     // 0xF8 - 0xFF
-        "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +     // 0x00 - 0x07
-        "\b\t\n\u000B\f\r\u000E\u000F"                     +     // 0x08 - 0x0F
-        "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +     // 0x10 - 0x17
-        "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +     // 0x18 - 0x1F
-        "\u0020\u0021\"\u0023\u0024\u0025\u0026\'"         +     // 0x20 - 0x27
-        "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +     // 0x28 - 0x2F
-        "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +     // 0x30 - 0x37
-        "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +     // 0x38 - 0x3F
-        "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +     // 0x40 - 0x47
-        "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +     // 0x48 - 0x4F
-        "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +     // 0x50 - 0x57
-        "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F"     +     // 0x58 - 0x5F
-        "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +     // 0x60 - 0x67
-        "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +     // 0x68 - 0x6F
-        "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +     // 0x70 - 0x77
-        "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";      // 0x78 - 0x7F
-    }
-
-    private static class Encoder extends SingleByteEncoder {
-        public Encoder(Charset cs) {
-            super(cs, index1, index2, 0xFF00, 0x00FF, 8);
-        }
-
-    private final static String index2 =
-
-        "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
-        "\b\t\n\u000B\f\r\u000E\u000F" +
-        "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
-        "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
-        "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
-        "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
-        "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
-        "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
-        "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
-        "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
-        "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
-        "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
-        "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
-        "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
-        "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
-        "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
-        "\u0080\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +
-        "\u0088\u0089\u008A\u008B\u008C\u008D\u008E\u008F" +
-        "\u0090\u0091\u0092\u0093\u0094\u0095\u0096\u0097" +
-        "\u0098\u0099\u009A\u009B\u009C\u009D\u009E\u009F" +
-        "\u00A0\u0000\u0000\u00A3\u0000\u0000\u00A6\u00A7" +
-        "\u00A8\u00A9\u0000\u00AB\u00AC\u00AD\u0000\u0000" +
-        "\u00B0\u00B1\u00B2\u00B3\u0000\u0000\u0000\u00B7" +
-        "\u0000\u0000\u0000\u00BB\u0000\u00BD\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u00AA\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u00B4\u00B5\u00B6\u0000\u00B8\u00B9\u00BA\u0000" +
-        "\u00BC\u0000\u00BE\u00BF\u00C0\u00C1\u00C2\u00C3" +
-        "\u00C4\u00C5\u00C6\u00C7\u00C8\u00C9\u00CA\u00CB" +
-        "\u00CC\u00CD\u00CE\u00CF\u00D0\u00D1\u0000\u00D3" +
-        "\u00D4\u00D5\u00D6\u00D7\u00D8\u00D9\u00DA\u00DB" +
-        "\u00DC\u00DD\u00DE\u00DF\u00E0\u00E1\u00E2\u00E3" +
-        "\u00E4\u00E5\u00E6\u00E7\u00E8\u00E9\u00EA\u00EB" +
-        "\u00EC\u00ED\u00EE\u00EF\u00F0\u00F1\u00F2\u00F3" +
-        "\u00F4\u00F5\u00F6\u00F7\u00F8\u00F9\u00FA\u00FB" +
-        "\u00FC\u00FD\u00FE\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u00AF\u0000\u0000\u00A1" +
-        "\u00A2\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u00A4\u0000\u0000\u00A5\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000";
-
-    private final static short index1[] = {
-        0, 190, 190, 324, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
-        190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
-        559, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
-        190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
-        190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
-        190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
-        190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
-        190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
-        190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
-        190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
-        190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
-        190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
-        190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
-        190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
-        190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
-        190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
-      };
-   }
-}
--- a/jdk/src/share/classes/sun/nio/cs/ISO_8859_9.java	Wed Jul 05 16:44:40 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,233 +0,0 @@
-/*
- * Copyright 2002-2004 Sun Microsystems, Inc.  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.  Sun designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
- */
-
-package sun.nio.cs;
-
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetDecoder;
-import java.nio.charset.CharsetEncoder;
-import sun.nio.cs.StandardCharsets;
-import sun.nio.cs.SingleByteDecoder;
-import sun.nio.cs.SingleByteEncoder;
-import sun.nio.cs.HistoricallyNamedCharset;
-
-public class ISO_8859_9
-    extends Charset
-    implements HistoricallyNamedCharset
-{
-
-    public ISO_8859_9() {
-        super("ISO-8859-9", StandardCharsets.aliases_ISO_8859_9);
-    }
-
-    public String historicalName() {
-        return "ISO8859_9";
-    }
-
-    public boolean contains(Charset cs) {
-        return ((cs.name().equals("US-ASCII"))
-                || (cs instanceof ISO_8859_9));
-    }
-
-    public CharsetDecoder newDecoder() {
-        return new Decoder(this);
-    }
-
-    public CharsetEncoder newEncoder() {
-        return new Encoder(this);
-    }
-
-
-    /**
-     * These accessors are temporarily supplied while sun.io
-     * converters co-exist with the sun.nio.cs.{ext} charset coders
-     * These facilitate sharing of conversion tables between the
-     * two co-existing implementations. When sun.io converters
-     * are made extinct these will be unncessary and should be removed
-     */
-
-    public String getDecoderSingleByteMappings() {
-        return Decoder.byteToCharTable;
-
-    }
-
-    public short[] getEncoderIndex1() {
-        return Encoder.index1;
-
-    }
-    public String getEncoderIndex2() {
-        return Encoder.index2;
-
-    }
-
-
-    private static class Decoder extends SingleByteDecoder {
-        public Decoder(Charset cs) {
-            super(cs, byteToCharTable);
-        }
-
-        private final static  String byteToCharTable =
-
-        "\u0080\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +     // 0x80 - 0x87
-        "\u0088\u0089\u008A\u008B\u008C\u008D\u008E\u008F" +     // 0x88 - 0x8F
-        "\u0090\u0091\u0092\u0093\u0094\u0095\u0096\u0097" +     // 0x90 - 0x97
-        "\u0098\u0099\u009A\u009B\u009C\u009D\u009E\u009F" +     // 0x98 - 0x9F
-        "\u00A0\u00A1\u00A2\u00A3\u00A4\u00A5\u00A6\u00A7" +     // 0xA0 - 0xA7
-        "\u00A8\u00A9\u00AA\u00AB\u00AC\u00AD\u00AE\u00AF" +     // 0xA8 - 0xAF
-        "\u00B0\u00B1\u00B2\u00B3\u00B4\u00B5\u00B6\u00B7" +     // 0xB0 - 0xB7
-        "\u00B8\u00B9\u00BA\u00BB\u00BC\u00BD\u00BE\u00BF" +     // 0xB8 - 0xBF
-        "\u00C0\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" +     // 0xC0 - 0xC7
-        "\u00C8\u00C9\u00CA\u00CB\u00CC\u00CD\u00CE\u00CF" +     // 0xC8 - 0xCF
-        "\u011E\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6\u00D7" +     // 0xD0 - 0xD7
-        "\u00D8\u00D9\u00DA\u00DB\u00DC\u0130\u015E\u00DF" +     // 0xD8 - 0xDF
-        "\u00E0\u00E1\u00E2\u00E3\u00E4\u00E5\u00E6\u00E7" +     // 0xE0 - 0xE7
-        "\u00E8\u00E9\u00EA\u00EB\u00EC\u00ED\u00EE\u00EF" +     // 0xE8 - 0xEF
-        "\u011F\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" +     // 0xF0 - 0xF7
-        "\u00F8\u00F9\u00FA\u00FB\u00FC\u0131\u015F\u00FF" +     // 0xF8 - 0xFF
-        "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +     // 0x00 - 0x07
-        "\b\t\n\u000B\f\r\u000E\u000F" +     // 0x08 - 0x0F
-        "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +     // 0x10 - 0x17
-        "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +     // 0x18 - 0x1F
-        "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +     // 0x20 - 0x27
-        "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +     // 0x28 - 0x2F
-        "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +     // 0x30 - 0x37
-        "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +     // 0x38 - 0x3F
-        "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +     // 0x40 - 0x47
-        "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +     // 0x48 - 0x4F
-        "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +     // 0x50 - 0x57
-        "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +     // 0x58 - 0x5F
-        "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +     // 0x60 - 0x67
-        "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +     // 0x68 - 0x6F
-        "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +     // 0x70 - 0x77
-        "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";     // 0x78 - 0x7F
-
-
-    }
-
-    private static class Encoder extends SingleByteEncoder {
-        public Encoder(Charset cs) {
-            super(cs, index1, index2, 0xFF00, 0x00FF, 8);
-        }
-
-    private final static String index2 =
-
-        "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
-        "\b\t\n\u000B\f\r\u000E\u000F" +
-        "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
-        "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
-        "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
-        "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
-        "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
-        "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
-        "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
-        "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
-        "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
-        "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
-        "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
-        "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
-        "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
-        "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
-        "\u0080\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +
-        "\u0088\u0089\u008A\u008B\u008C\u008D\u008E\u008F" +
-        "\u0090\u0091\u0092\u0093\u0094\u0095\u0096\u0097" +
-        "\u0098\u0099\u009A\u009B\u009C\u009D\u009E\u009F" +
-        "\u00A0\u00A1\u00A2\u00A3\u00A4\u00A5\u00A6\u00A7" +
-        "\u00A8\u00A9\u00AA\u00AB\u00AC\u00AD\u00AE\u00AF" +
-        "\u00B0\u00B1\u00B2\u00B3\u00B4\u00B5\u00B6\u00B7" +
-        "\u00B8\u00B9\u00BA\u00BB\u00BC\u00BD\u00BE\u00BF" +
-        "\u00C0\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" +
-        "\u00C8\u00C9\u00CA\u00CB\u00CC\u00CD\u00CE\u00CF" +
-        "\u0000\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6\u00D7" +
-        "\u00D8\u00D9\u00DA\u00DB\u00DC\u0000\u0000\u00DF" +
-        "\u00E0\u00E1\u00E2\u00E3\u00E4\u00E5\u00E6\u00E7" +
-        "\u00E8\u00E9\u00EA\u00EB\u00EC\u00ED\u00EE\u00EF" +
-        "\u0000\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" +
-        "\u00F8\u00F9\u00FA\u00FB\u00FC\u0000\u0000\u00FF" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u00D0\u00F0" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u00DD\u00FD\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u00DE\u00FE" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000";
-
-    private final static short index1[] = {
-        0, 256, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352,
-        352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352,
-        352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352,
-        352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352,
-        352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352,
-        352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352,
-        352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352,
-        352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352,
-        352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352,
-        352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352,
-        352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352,
-        352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352,
-        352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352,
-        352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352,
-        352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352,
-        352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352,
-
-      };
-   }
-}
--- a/jdk/src/share/classes/sun/nio/cs/KOI8_R.java	Wed Jul 05 16:44:40 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,344 +0,0 @@
-/*
- * Copyright 2002-2004 Sun Microsystems, Inc.  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.  Sun designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
- */
-
-package sun.nio.cs;
-
-import java.nio.ByteBuffer;
-import java.nio.CharBuffer;
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetDecoder;
-import java.nio.charset.CharsetEncoder;
-import java.nio.charset.CharacterCodingException;
-import java.nio.charset.MalformedInputException;
-import java.nio.charset.UnmappableCharacterException;
-import sun.nio.cs.StandardCharsets;
-import sun.nio.cs.SingleByteDecoder;
-import sun.nio.cs.SingleByteEncoder;
-
-
-public class KOI8_R
-    extends Charset
-    implements HistoricallyNamedCharset
-{
-
-    public KOI8_R() {
-        super("KOI8-R", StandardCharsets.aliases_KOI8_R);
-    }
-
-    public String historicalName() {
-        return "KOI8_R";
-    }
-
-    public boolean contains(Charset cs) {
-        return ((cs.name().equals("US-ASCII"))
-                || (cs instanceof KOI8_R));
-    }
-
-    public CharsetDecoder newDecoder() {
-        return new Decoder(this);
-    }
-
-    public CharsetEncoder newEncoder() {
-        return new Encoder(this);
-    }
-
-
-    /**
-     * These accessors are temporarily supplied while sun.io
-     * converters co-exist with the sun.nio.cs.{ext} charset coders
-     * These facilitate sharing of conversion tables between the
-     * two co-existing implementations. When sun.io converters
-     * are made extinct these will be unncessary and should be removed
-     */
-
-    public String getDecoderSingleByteMappings() {
-        return Decoder.byteToCharTable;
-
-    }
-
-    public short[] getEncoderIndex1() {
-        return Encoder.index1;
-
-    }
-    public String getEncoderIndex2() {
-        return Encoder.index2;
-
-    }
-
-    private static class Decoder extends SingleByteDecoder {
-
-        public Decoder(Charset cs) {
-            super(cs, byteToCharTable);
-        }
-
-        private final static String byteToCharTable =
-
-            "\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524" +     // 0x80 - 0x87
-            "\u252C\u2534\u253C\u2580\u2584\u2588\u258C\u2590" +     // 0x88 - 0x8F
-            "\u2591\u2592\u2593\u2320\u25A0\u2219\u221A\u2248" +     // 0x90 - 0x97
-            "\u2264\u2265\u00A0\u2321\u00B0\u00B2\u00B7\u00F7" +     // 0x98 - 0x9F
-            "\u2550\u2551\u2552\u0451\u2553\u2554\u2555\u2556" +     // 0xA0 - 0xA7
-            "\u2557\u2558\u2559\u255A\u255B\u255C\u255D\u255E" +     // 0xA8 - 0xAF
-            "\u255F\u2560\u2561\u0401\u2562\u2563\u2564\u2565" +     // 0xB0 - 0xB7
-            "\u2566\u2567\u2568\u2569\u256A\u256B\u256C\u00A9" +     // 0xB8 - 0xBF
-            "\u044E\u0430\u0431\u0446\u0434\u0435\u0444\u0433" +     // 0xC0 - 0xC7
-            "\u0445\u0438\u0439\u043A\u043B\u043C\u043D\u043E" +     // 0xC8 - 0xCF
-            "\u043F\u044F\u0440\u0441\u0442\u0443\u0436\u0432" +     // 0xD0 - 0xD7
-            "\u044C\u044B\u0437\u0448\u044D\u0449\u0447\u044A" +     // 0xD8 - 0xDF
-            "\u042E\u0410\u0411\u0426\u0414\u0415\u0424\u0413" +     // 0xE0 - 0xE7
-            "\u0425\u0418\u0419\u041A\u041B\u041C\u041D\u041E" +     // 0xE8 - 0xEF
-            "\u041F\u042F\u0420\u0421\u0422\u0423\u0416\u0412" +     // 0xF0 - 0xF7
-            "\u042C\u042B\u0417\u0428\u042D\u0429\u0427\u042A" +     // 0xF8 - 0xFF
-            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +     // 0x00 - 0x07
-            "\b\t\n\u000B\f\r\u000E\u000F" +     // 0x08 - 0x0F
-            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +     // 0x10 - 0x17
-            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +     // 0x18 - 0x1F
-            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +     // 0x20 - 0x27
-            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +     // 0x28 - 0x2F
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +     // 0x30 - 0x37
-            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +     // 0x38 - 0x3F
-            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +     // 0x40 - 0x47
-            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +     // 0x48 - 0x4F
-            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +     // 0x50 - 0x57
-            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +     // 0x58 - 0x5F
-            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +     // 0x60 - 0x67
-            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +     // 0x68 - 0x6F
-            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +     // 0x70 - 0x77
-            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";     // 0x78 - 0x7F
-    }
-
-    private static class Encoder extends SingleByteEncoder {
-
-        public Encoder(Charset cs) {
-            super(cs, index1, index2, 0xFF00, 0x00FF, 8);
-        }
-
-        private final static String index2 =
-
-            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
-            "\b\t\n\u000B\f\r\u000E\u000F" +
-            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
-            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
-            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
-            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
-            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
-            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
-            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
-            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
-            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
-            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
-            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
-            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
-            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u009A\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u00BF\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u009C\u0000\u009D\u0000\u0000\u0000\u0000\u009E" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u009F" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00B3\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00E1" +
-            "\u00E2\u00F7\u00E7\u00E4\u00E5\u00F6\u00FA\u00E9" +
-            "\u00EA\u00EB\u00EC\u00ED\u00EE\u00EF\u00F0\u00F2" +
-            "\u00F3\u00F4\u00F5\u00E6\u00E8\u00E3\u00FE\u00FB" +
-            "\u00FD\u00FF\u00F9\u00F8\u00FC\u00E0\u00F1\u00C1" +
-            "\u00C2\u00D7\u00C7\u00C4\u00C5\u00D6\u00DA\u00C9" +
-            "\u00CA\u00CB\u00CC\u00CD\u00CE\u00CF\u00D0\u00D2" +
-            "\u00D3\u00D4\u00D5\u00C6\u00C8\u00C3\u00DE\u00DB" +
-            "\u00DD\u00DF\u00D9\u00D8\u00DC\u00C0\u00D1\u0000" +
-            "\u00A3\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0095" +
-            "\u0096\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0097\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0098\u0099\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0093\u009B" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0080\u0000" +
-            "\u0081\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0082\u0000\u0000\u0000\u0083\u0000" +
-            "\u0000\u0000\u0084\u0000\u0000\u0000\u0085\u0000" +
-            "\u0000\u0000\u0086\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0087\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0088\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0089\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u008A\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u00A0\u00A1" +
-            "\u00A2\u00A4\u00A5\u00A6\u00A7\u00A8\u00A9\u00AA" +
-            "\u00AB\u00AC\u00AD\u00AE\u00AF\u00B0\u00B1\u00B2" +
-            "\u00B4\u00B5\u00B6\u00B7\u00B8\u00B9\u00BA\u00BB" +
-            "\u00BC\u00BD\u00BE\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u008B\u0000" +
-            "\u0000\u0000\u008C\u0000\u0000\u0000\u008D\u0000" +
-            "\u0000\u0000\u008E\u0000\u0000\u0000\u008F\u0090" +
-            "\u0091\u0092\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0094\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000";
-
-        private final static short index1[] = {
-            0, 248, 248, 248, 503, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 734, 958, 248, 1214, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-        };
-    }
-}
--- a/jdk/src/share/classes/sun/nio/cs/KOI8_U.java	Wed Jul 05 16:44:40 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,323 +0,0 @@
-/*
- * Copyright 2006 Sun Microsystems, Inc.  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.  Sun designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
- */
-
-package sun.nio.cs;
-
-import java.nio.ByteBuffer;
-import java.nio.CharBuffer;
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetDecoder;
-import java.nio.charset.CharsetEncoder;
-import java.nio.charset.CharacterCodingException;
-import java.nio.charset.MalformedInputException;
-import java.nio.charset.UnmappableCharacterException;
-import sun.nio.cs.StandardCharsets;
-import sun.nio.cs.SingleByteDecoder;
-import sun.nio.cs.SingleByteEncoder;
-
-/*
- * An implementation of charset KOI8_U as specified by
- * http://www.net.ua/KOI8-U
- */
-
-public class KOI8_U
-    extends Charset
-    implements HistoricallyNamedCharset
-{
-
-    public KOI8_U() {
-        super("KOI8-U", StandardCharsets.aliases_KOI8_U);
-    }
-
-    public String historicalName() {
-        return "KOI8_U";
-    }
-
-    public boolean contains(Charset cs) {
-        return ((cs.name().equals("US-ASCII"))
-                || (cs instanceof KOI8_U));
-    }
-
-    public CharsetDecoder newDecoder() {
-        return new Decoder(this);
-    }
-
-    public CharsetEncoder newEncoder() {
-        return new Encoder(this);
-    }
-
-    private static class Decoder extends SingleByteDecoder {
-
-        public Decoder(Charset cs) {
-            super(cs, byteToCharTable);
-        }
-
-        private final static String byteToCharTable =
-            "\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524" +     // 0x80 - 0x87
-            "\u252C\u2534\u253C\u2580\u2584\u2588\u258C\u2590" +     // 0x88 - 0x8F
-            "\u2591\u2592\u2593\u2320\u25A0\u2219\u221A\u2248" +     // 0x90 - 0x97
-            "\u2264\u2265\u00A0\u2321\u00B0\u00B2\u00B7\u00F7" +     // 0x98 - 0x9F
-            "\u2550\u2551\u2552\u0451\u0454\u2554\u0456\u0457" +     // 0xA0 - 0xA7
-            "\u2557\u2558\u2559\u255A\u255B\u0491\u255D\u255E" +     // 0xA8 - 0xAF
-            "\u255F\u2560\u2561\u0401\u0404\u2563\u0406\u0407" +     // 0xB0 - 0xB7
-            "\u2566\u2567\u2568\u2569\u256A\u0490\u256C\u00A9" +     // 0xB8 - 0xBF
-            "\u044E\u0430\u0431\u0446\u0434\u0435\u0444\u0433" +     // 0xC0 - 0xC7
-            "\u0445\u0438\u0439\u043A\u043B\u043C\u043D\u043E" +     // 0xC8 - 0xCF
-            "\u043F\u044F\u0440\u0441\u0442\u0443\u0436\u0432" +     // 0xD0 - 0xD7
-            "\u044C\u044B\u0437\u0448\u044D\u0449\u0447\u044A" +     // 0xD8 - 0xDF
-            "\u042E\u0410\u0411\u0426\u0414\u0415\u0424\u0413" +     // 0xE0 - 0xE7
-            "\u0425\u0418\u0419\u041A\u041B\u041C\u041D\u041E" +     // 0xE8 - 0xEF
-            "\u041F\u042F\u0420\u0421\u0422\u0423\u0416\u0412" +     // 0xF0 - 0xF7
-            "\u042C\u042B\u0417\u0428\u042D\u0429\u0427\u042A" +     // 0xF8 - 0xFF
-            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +     // 0x00 - 0x07
-            "\b\t\n\u000B\f\r\u000E\u000F" +                         // 0x08 - 0x0F
-            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +     // 0x10 - 0x17
-            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +     // 0x18 - 0x1F
-            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +             // 0x20 - 0x27
-            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +     // 0x28 - 0x2F
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +     // 0x30 - 0x37
-            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +     // 0x38 - 0x3F
-            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +     // 0x40 - 0x47
-            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +     // 0x48 - 0x4F
-            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +     // 0x50 - 0x57
-            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +         // 0x58 - 0x5F
-            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +     // 0x60 - 0x67
-            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +     // 0x68 - 0x6F
-            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +     // 0x70 - 0x77
-            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";      // 0x78 - 0x7F
-    }
-
-    private static class Encoder extends SingleByteEncoder {
-
-        public Encoder(Charset cs) {
-            super(cs, index1, index2, 0xFF00, 0x00FF, 8);
-        }
-
-        private final static String index2 =
-            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
-            "\b\t\n\u000B\f\r\u000E\u000F" +
-            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
-            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
-            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
-            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
-            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
-            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
-            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
-            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
-            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
-            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
-            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
-            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
-            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u009A\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u00BF\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u009C\u0000\u009D\u0000\u0000\u0000\u0000\u009E" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u009F" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00B3\u0000\u0000\u00B4\u0000\u00B6\u00B7\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00E1" +
-            "\u00E2\u00F7\u00E7\u00E4\u00E5\u00F6\u00FA\u00E9" +
-            "\u00EA\u00EB\u00EC\u00ED\u00EE\u00EF\u00F0\u00F2" +
-            "\u00F3\u00F4\u00F5\u00E6\u00E8\u00E3\u00FE\u00FB" +
-            "\u00FD\u00FF\u00F9\u00F8\u00FC\u00E0\u00F1\u00C1" +
-            "\u00C2\u00D7\u00C7\u00C4\u00C5\u00D6\u00DA\u00C9" +
-            "\u00CA\u00CB\u00CC\u00CD\u00CE\u00CF\u00D0\u00D2" +
-            "\u00D3\u00D4\u00D5\u00C6\u00C8\u00C3\u00DE\u00DB" +
-            "\u00DD\u00DF\u00D9\u00D8\u00DC\u00C0\u00D1\u0000" +
-            "\u00A3\u0000\u0000\u00A4\u0000\u00A6\u00A7\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00BD" +
-            "\u00AD\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0095" +
-            "\u0096\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0097\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0098\u0099\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0093\u009B" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0080\u0000" +
-            "\u0081\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0082\u0000\u0000\u0000\u0083\u0000" +
-            "\u0000\u0000\u0084\u0000\u0000\u0000\u0085\u0000" +
-            "\u0000\u0000\u0086\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0087\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0088\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0089\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u008A\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u00A0\u00A1" +
-            "\u00A2\u0000\u00A5\u0000\u0000\u00A8\u00A9\u00AA" +
-            "\u00AB\u00AC\u0000\u00AE\u00AF\u00B0\u00B1\u00B2" +
-            "\u0000\u00B5\u0000\u0000\u00B8\u00B9\u00BA\u00BB" +
-            "\u00BC\u0000\u00BE\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u008B\u0000" +
-            "\u0000\u0000\u008C\u0000\u0000\u0000\u008D\u0000" +
-            "\u0000\u0000\u008E\u0000\u0000\u0000\u008F\u0090" +
-            "\u0091\u0092\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0094\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000";
-
-        private final static short index1[] = {
-            0, 248, 248, 248, 503, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 734, 958, 248, 1214, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-        };
-    }
-}
--- a/jdk/src/share/classes/sun/nio/cs/MS1250.java	Wed Jul 05 16:44:40 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,304 +0,0 @@
-/*
- * Copyright 2002-2004 Sun Microsystems, Inc.  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.  Sun designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
- */
-
-package sun.nio.cs;
-
-import java.nio.ByteBuffer;
-import java.nio.CharBuffer;
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetDecoder;
-import java.nio.charset.CharsetEncoder;
-import java.nio.charset.CharacterCodingException;
-import java.nio.charset.MalformedInputException;
-import java.nio.charset.UnmappableCharacterException;
-import sun.nio.cs.StandardCharsets;
-import sun.nio.cs.SingleByteDecoder;
-import sun.nio.cs.SingleByteEncoder;
-import sun.nio.cs.HistoricallyNamedCharset;
-
-
-public class MS1250
-    extends Charset
-    implements HistoricallyNamedCharset
-{
-
-    public String historicalName() {
-        return "Cp1250";
-    }
-
-    public MS1250() {
-        super("windows-1250", StandardCharsets.aliases_MS1250);
-    }
-
-    public boolean contains(Charset cs) {
-        return ((cs.name().equals("US-ASCII"))
-                || (cs instanceof MS1250));
-    }
-
-    public CharsetDecoder newDecoder() {
-        return new Decoder(this);
-    }
-
-    public CharsetEncoder newEncoder() {
-        return new Encoder(this);
-    }
-
-
-    /**
-     * These accessors are temporarily supplied while sun.io
-     * converters co-exist with the sun.nio.cs.{ext} charset coders
-     * These facilitate sharing of conversion tables between the
-     * two co-existing implementations. When sun.io converters
-     * are made extinct these will be unncessary and should be removed
-     */
-
-    public String getDecoderSingleByteMappings() {
-        return Decoder.byteToCharTable;
-
-    }
-
-    public short[] getEncoderIndex1() {
-        return Encoder.index1;
-
-    }
-    public String getEncoderIndex2() {
-        return Encoder.index2;
-
-    }
-
-    private static class Decoder extends SingleByteDecoder {
-            public Decoder(Charset cs) {
-                super(cs, byteToCharTable);
-        }
-
-        private final static String byteToCharTable =
-
-            "\u20AC\uFFFD\u201A\uFFFD\u201E\u2026\u2020\u2021" +     // 0x80 - 0x87
-            "\uFFFD\u2030\u0160\u2039\u015A\u0164\u017D\u0179" +     // 0x88 - 0x8F
-            "\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014" +     // 0x90 - 0x97
-            "\uFFFD\u2122\u0161\u203A\u015B\u0165\u017E\u017A" +     // 0x98 - 0x9F
-            "\u00A0\u02C7\u02D8\u0141\u00A4\u0104\u00A6\u00A7" +     // 0xA0 - 0xA7
-            "\u00A8\u00A9\u015E\u00AB\u00AC\u00AD\u00AE\u017B" +     // 0xA8 - 0xAF
-            "\u00B0\u00B1\u02DB\u0142\u00B4\u00B5\u00B6\u00B7" +     // 0xB0 - 0xB7
-            "\u00B8\u0105\u015F\u00BB\u013D\u02DD\u013E\u017C" +     // 0xB8 - 0xBF
-            "\u0154\u00C1\u00C2\u0102\u00C4\u0139\u0106\u00C7" +     // 0xC0 - 0xC7
-            "\u010C\u00C9\u0118\u00CB\u011A\u00CD\u00CE\u010E" +     // 0xC8 - 0xCF
-            "\u0110\u0143\u0147\u00D3\u00D4\u0150\u00D6\u00D7" +     // 0xD0 - 0xD7
-            "\u0158\u016E\u00DA\u0170\u00DC\u00DD\u0162\u00DF" +     // 0xD8 - 0xDF
-            "\u0155\u00E1\u00E2\u0103\u00E4\u013A\u0107\u00E7" +     // 0xE0 - 0xE7
-            "\u010D\u00E9\u0119\u00EB\u011B\u00ED\u00EE\u010F" +     // 0xE8 - 0xEF
-            "\u0111\u0144\u0148\u00F3\u00F4\u0151\u00F6\u00F7" +     // 0xF0 - 0xF7
-            "\u0159\u016F\u00FA\u0171\u00FC\u00FD\u0163\u02D9" +     // 0xF8 - 0xFF
-            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +     // 0x00 - 0x07
-            "\b\t\n\u000B\f\r\u000E\u000F" +     // 0x08 - 0x0F
-            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +     // 0x10 - 0x17
-            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +     // 0x18 - 0x1F
-            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +     // 0x20 - 0x27
-            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +     // 0x28 - 0x2F
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +     // 0x30 - 0x37
-            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +     // 0x38 - 0x3F
-            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +     // 0x40 - 0x47
-            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +     // 0x48 - 0x4F
-            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +     // 0x50 - 0x57
-            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +     // 0x58 - 0x5F
-            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +     // 0x60 - 0x67
-            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +     // 0x68 - 0x6F
-            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +     // 0x70 - 0x77
-            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";     // 0x78 - 0x7F
-    }
-
-    private static class Encoder extends SingleByteEncoder {
-            public Encoder(Charset cs) {
-                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
-        }
-
-        private final static String index2 =
-
-            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
-            "\b\t\n\u000B\f\r\u000E\u000F" +
-            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
-            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
-            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
-            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
-            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
-            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
-            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
-            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
-            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
-            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
-            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
-            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
-            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00A0\u0000\u0000\u0000\u00A4\u0000\u00A6\u00A7" +
-            "\u00A8\u00A9\u0000\u00AB\u00AC\u00AD\u00AE\u0000" +
-            "\u00B0\u00B1\u0000\u0000\u00B4\u00B5\u00B6\u00B7" +
-            "\u00B8\u0000\u0000\u00BB\u0000\u0000\u0000\u0000" +
-            "\u0000\u00C1\u00C2\u0000\u00C4\u0000\u0000\u00C7" +
-            "\u0000\u00C9\u0000\u00CB\u0000\u00CD\u00CE\u0000" +
-            "\u0000\u0000\u0000\u00D3\u00D4\u0000\u00D6\u00D7" +
-            "\u0000\u0000\u00DA\u0000\u00DC\u00DD\u0000\u00DF" +
-            "\u0000\u00E1\u00E2\u0000\u00E4\u0000\u0000\u00E7" +
-            "\u0000\u00E9\u0000\u00EB\u0000\u00ED\u00EE\u0000" +
-            "\u0000\u0000\u0000\u00F3\u00F4\u0000\u00F6\u00F7" +
-            "\u0000\u0000\u00FA\u0000\u00FC\u00FD\u0000\u0000" +
-            "\u00C3\u00E3\u00A5\u00B9\u00C6\u00E6\u0000\u0000" +
-            "\u0000\u0000\u00C8\u00E8\u00CF\u00EF\u00D0\u00F0" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u00CA\u00EA" +
-            "\u00CC\u00EC\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00C5" +
-            "\u00E5\u0000\u0000\u00BC\u00BE\u0000\u0000\u00A3" +
-            "\u00B3\u00D1\u00F1\u0000\u0000\u00D2\u00F2\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u00D5\u00F5" +
-            "\u0000\u0000\u00C0\u00E0\u0000\u0000\u00D8\u00F8" +
-            "\u008C\u009C\u0000\u0000\u00AA\u00BA\u008A\u009A" +
-            "\u00DE\u00FE\u008D\u009D\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u00D9\u00F9\u00DB\u00FB" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u008F" +
-            "\u009F\u00AF\u00BF\u008E\u009E\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u00A1\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u00A2\u00FF" +
-            "\u0000\u00B2\u0000\u00BD\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0096\u0097" +
-            "\u0000\u0000\u0000\u0091\u0092\u0082\u0000\u0093" +
-            "\u0094\u0084\u0000\u0086\u0087\u0095\u0000\u0000" +
-            "\u0000\u0085\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0089\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u008B\u009B\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0080" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0099\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000";
-
-        private final static short index1[] = {
-            0, 254, 438, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
-            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
-            675, 897, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
-            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
-            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
-            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
-            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
-            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
-            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
-            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
-            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
-            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
-            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
-            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
-            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
-            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
-        };
-    }
-}
--- a/jdk/src/share/classes/sun/nio/cs/MS1251.java	Wed Jul 05 16:44:40 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,306 +0,0 @@
-/*
- * Copyright 2002-2004 Sun Microsystems, Inc.  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.  Sun designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
- */
-
-package sun.nio.cs;
-
-import java.nio.ByteBuffer;
-import java.nio.CharBuffer;
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetDecoder;
-import java.nio.charset.CharsetEncoder;
-import java.nio.charset.CharacterCodingException;
-import java.nio.charset.MalformedInputException;
-import java.nio.charset.UnmappableCharacterException;
-import sun.nio.cs.StandardCharsets;
-import sun.nio.cs.SingleByteDecoder;
-import sun.nio.cs.SingleByteEncoder;
-import sun.nio.cs.HistoricallyNamedCharset;
-
-
-public class MS1251
-    extends Charset
-    implements HistoricallyNamedCharset
-{
-
-    public String historicalName() {
-        return "Cp1251";
-    }
-
-    public MS1251() {
-        super("windows-1251", StandardCharsets.aliases_MS1251);
-    }
-
-    public boolean contains(Charset cs) {
-        return ((cs.name().equals("US-ASCII"))
-                || (cs instanceof MS1251));
-    }
-
-    public CharsetDecoder newDecoder() {
-        return new Decoder(this);
-    }
-
-    public CharsetEncoder newEncoder() {
-        return new Encoder(this);
-    }
-
-
-    /**
-     * These accessors are temporarily supplied while sun.io
-     * converters co-exist with the sun.nio.cs.{ext} charset coders
-     * These facilitate sharing of conversion tables between the
-     * two co-existing implementations. When sun.io converters
-     * are made extinct these will be unncessary and should be removed
-     */
-
-    public String getDecoderSingleByteMappings() {
-        return Decoder.byteToCharTable;
-
-    }
-
-    public short[] getEncoderIndex1() {
-        return Encoder.index1;
-
-    }
-    public String getEncoderIndex2() {
-        return Encoder.index2;
-
-    }
-
-    private static class Decoder extends SingleByteDecoder {
-        public Decoder(Charset cs) {
-            super(cs, byteToCharTable);
-        }
-
-        private final static String byteToCharTable =
-
-            "\u0402\u0403\u201A\u0453\u201E\u2026\u2020\u2021" +        // 0x80 - 0x87
-            "\u20AC\u2030\u0409\u2039\u040A\u040C\u040B\u040F" +        // 0x88 - 0x8F
-            "\u0452\u2018\u2019\u201C\u201D\u2022\u2013\u2014" +        // 0x90 - 0x97
-            "\uFFFD\u2122\u0459\u203A\u045A\u045C\u045B\u045F" +        // 0x98 - 0x9F
-            "\u00A0\u040E\u045E\u0408\u00A4\u0490\u00A6\u00A7" +        // 0xA0 - 0xA7
-            "\u0401\u00A9\u0404\u00AB\u00AC\u00AD\u00AE\u0407" +        // 0xA8 - 0xAF
-            "\u00B0\u00B1\u0406\u0456\u0491\u00B5\u00B6\u00B7" +        // 0xB0 - 0xB7
-            "\u0451\u2116\u0454\u00BB\u0458\u0405\u0455\u0457" +        // 0xB8 - 0xBF
-            "\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417" +        // 0xC0 - 0xC7
-            "\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F" +        // 0xC8 - 0xCF
-            "\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427" +        // 0xD0 - 0xD7
-            "\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F" +        // 0xD8 - 0xDF
-            "\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437" +        // 0xE0 - 0xE7
-            "\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F" +        // 0xE8 - 0xEF
-            "\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447" +        // 0xF0 - 0xF7
-            "\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F" +        // 0xF8 - 0xFF
-            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +        // 0x00 - 0x07
-            "\b\t\n\u000B\f\r\u000E\u000F" +    // 0x08 - 0x0F
-            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +        // 0x10 - 0x17
-            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +        // 0x18 - 0x1F
-            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +        // 0x20 - 0x27
-            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +        // 0x28 - 0x2F
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +        // 0x30 - 0x37
-            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +        // 0x38 - 0x3F
-            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +        // 0x40 - 0x47
-            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +        // 0x48 - 0x4F
-            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +        // 0x50 - 0x57
-            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +    // 0x58 - 0x5F
-            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +        // 0x60 - 0x67
-            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +        // 0x68 - 0x6F
-            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +        // 0x70 - 0x77
-            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";         // 0x78 - 0x7F
-    }
-
-    private static class Encoder extends SingleByteEncoder {
-        public Encoder(Charset cs) {
-            super(cs, index1, index2, 0xFF00, 0x00FF, 8);
-        }
-
-        private final static String index2 =
-
-            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
-            "\b\t\n\u000B\f\r\u000E\u000F" +
-            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
-            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
-            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
-            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
-            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
-            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
-            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
-            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
-            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
-            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
-            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
-            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
-            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00A0\u0000\u0000\u0000\u00A4\u0000\u00A6\u00A7" +
-            "\u0000\u00A9\u0000\u00AB\u00AC\u00AD\u00AE\u0000" +
-            "\u00B0\u00B1\u0000\u0000\u0000\u00B5\u00B6\u00B7" +
-            "\u0000\u0000\u0000\u00BB\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u00A8\u0080\u0081\u00AA" +
-            "\u00BD\u00B2\u00AF\u00A3\u008A\u008C\u008E\u008D" +
-            "\u0000\u00A1\u008F\u00C0\u00C1\u00C2\u00C3\u00C4" +
-            "\u00C5\u00C6\u00C7\u00C8\u00C9\u00CA\u00CB\u00CC" +
-            "\u00CD\u00CE\u00CF\u00D0\u00D1\u00D2\u00D3\u00D4" +
-            "\u00D5\u00D6\u00D7\u00D8\u00D9\u00DA\u00DB\u00DC" +
-            "\u00DD\u00DE\u00DF\u00E0\u00E1\u00E2\u00E3\u00E4" +
-            "\u00E5\u00E6\u00E7\u00E8\u00E9\u00EA\u00EB\u00EC" +
-            "\u00ED\u00EE\u00EF\u00F0\u00F1\u00F2\u00F3\u00F4" +
-            "\u00F5\u00F6\u00F7\u00F8\u00F9\u00FA\u00FB\u00FC" +
-            "\u00FD\u00FE\u00FF\u0000\u00B8\u0090\u0083\u00BA" +
-            "\u00BE\u00B3\u00BF\u00BC\u009A\u009C\u009E\u009D" +
-            "\u0000\u00A2\u009F\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u00A5\u00B4\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0096\u0097\u0000\u0000\u0000" +
-            "\u0091\u0092\u0082\u0000\u0093\u0094\u0084\u0000" +
-            "\u0086\u0087\u0095\u0000\u0000\u0000\u0085\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0089\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u008B\u009B\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0088\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00B9\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0099\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000";
-
-        private final static short index1[] = {
-            0, 188, 188, 188, 443, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
-            188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
-            680, 914, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
-            188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
-            188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
-            188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
-            188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
-            188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
-            188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
-            188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
-            188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
-            188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
-            188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
-            188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
-            188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
-            188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
-        };
-    }
-}
--- a/jdk/src/share/classes/sun/nio/cs/MS1252.java	Wed Jul 05 16:44:40 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,304 +0,0 @@
-/*
- * Copyright 2000-2004 Sun Microsystems, Inc.  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.  Sun designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
- */
-
-package sun.nio.cs;
-
-import java.nio.ByteBuffer;
-import java.nio.CharBuffer;
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetDecoder;
-import java.nio.charset.CharsetEncoder;
-import java.nio.charset.CharacterCodingException;
-import java.nio.charset.MalformedInputException;
-import java.nio.charset.UnmappableCharacterException;
-
-
-public class MS1252
-    extends Charset
-    implements HistoricallyNamedCharset
-{
-
-    public MS1252() {
-        super("windows-1252", StandardCharsets.aliases_MS1252);
-    }
-
-    public String historicalName() {
-        return "Cp1252";
-    }
-
-    public boolean contains(Charset cs) {
-        return ((cs instanceof MS1252)
-                || (cs instanceof US_ASCII));
-    }
-
-    public CharsetDecoder newDecoder() {
-        return new Decoder(this);
-    }
-
-    public CharsetEncoder newEncoder() {
-        return new Encoder(this);
-    }
-
-
-    /**
-     * These accessors are temporarily supplied while sun.io
-     * converters co-exist with the sun.nio.cs.{ext} charset coders
-     * These facilitate sharing of conversion tables between the
-     * two co-existing implementations. When sun.io converters
-     * are made extinct these will be unncessary and should be removed
-     */
-
-    public String getDecoderSingleByteMappings() {
-        return Decoder.byteToCharTable;
-
-    }
-
-    public short[] getEncoderIndex1() {
-        return Encoder.index1;
-
-    }
-    public String getEncoderIndex2() {
-        return Encoder.index2;
-
-    }
-
-    private static class Decoder extends SingleByteDecoder {
-
-        public Decoder(Charset cs) {
-            super(cs, byteToCharTable);
-        }
-
-        private final static String byteToCharTable =
-
-            "\u20AC\uFFFD\u201A\u0192\u201E\u2026\u2020\u2021" +     // 0x80 - 0x87
-            "\u02C6\u2030\u0160\u2039\u0152\uFFFD\u017D\uFFFD" +     // 0x88 - 0x8F
-            "\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014" +     // 0x90 - 0x97
-            "\u02DC\u2122\u0161\u203A\u0153\uFFFD\u017E\u0178" +     // 0x98 - 0x9F
-            "\u00A0\u00A1\u00A2\u00A3\u00A4\u00A5\u00A6\u00A7" +     // 0xA0 - 0xA7
-            "\u00A8\u00A9\u00AA\u00AB\u00AC\u00AD\u00AE\u00AF" +     // 0xA8 - 0xAF
-            "\u00B0\u00B1\u00B2\u00B3\u00B4\u00B5\u00B6\u00B7" +     // 0xB0 - 0xB7
-            "\u00B8\u00B9\u00BA\u00BB\u00BC\u00BD\u00BE\u00BF" +     // 0xB8 - 0xBF
-            "\u00C0\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" +     // 0xC0 - 0xC7
-            "\u00C8\u00C9\u00CA\u00CB\u00CC\u00CD\u00CE\u00CF" +     // 0xC8 - 0xCF
-            "\u00D0\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6\u00D7" +     // 0xD0 - 0xD7
-            "\u00D8\u00D9\u00DA\u00DB\u00DC\u00DD\u00DE\u00DF" +     // 0xD8 - 0xDF
-            "\u00E0\u00E1\u00E2\u00E3\u00E4\u00E5\u00E6\u00E7" +     // 0xE0 - 0xE7
-            "\u00E8\u00E9\u00EA\u00EB\u00EC\u00ED\u00EE\u00EF" +     // 0xE8 - 0xEF
-            "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" +     // 0xF0 - 0xF7
-            "\u00F8\u00F9\u00FA\u00FB\u00FC\u00FD\u00FE\u00FF" +     // 0xF8 - 0xFF
-            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +     // 0x00 - 0x07
-            "\b\t\n\u000B\f\r\u000E\u000F" +     // 0x08 - 0x0F
-            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +     // 0x10 - 0x17
-            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +     // 0x18 - 0x1F
-            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +     // 0x20 - 0x27
-            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +     // 0x28 - 0x2F
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +     // 0x30 - 0x37
-            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +     // 0x38 - 0x3F
-            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +     // 0x40 - 0x47
-            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +     // 0x48 - 0x4F
-            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +     // 0x50 - 0x57
-            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +     // 0x58 - 0x5F
-            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +     // 0x60 - 0x67
-            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +     // 0x68 - 0x6F
-            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +     // 0x70 - 0x77
-            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";     // 0x78 - 0x7F
-
-    }
-
-    private static class Encoder extends SingleByteEncoder {
-
-        public Encoder(Charset cs) {
-            super(cs, index1, index2, 0xFF00, 0x00FF, 8);
-        }
-
-        private final static String index2 =
-            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
-            "\b\t\n\u000B\f\r\u000E\u000F" +
-            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
-            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
-            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
-            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
-            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
-            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
-            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
-            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
-            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
-            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
-            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
-            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
-            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00A0\u00A1\u00A2\u00A3\u00A4\u00A5\u00A6\u00A7" +
-            "\u00A8\u00A9\u00AA\u00AB\u00AC\u00AD\u00AE\u00AF" +
-            "\u00B0\u00B1\u00B2\u00B3\u00B4\u00B5\u00B6\u00B7" +
-            "\u00B8\u00B9\u00BA\u00BB\u00BC\u00BD\u00BE\u00BF" +
-            "\u00C0\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" +
-            "\u00C8\u00C9\u00CA\u00CB\u00CC\u00CD\u00CE\u00CF" +
-            "\u00D0\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6\u00D7" +
-            "\u00D8\u00D9\u00DA\u00DB\u00DC\u00DD\u00DE\u00DF" +
-            "\u00E0\u00E1\u00E2\u00E3\u00E4\u00E5\u00E6\u00E7" +
-            "\u00E8\u00E9\u00EA\u00EB\u00EC\u00ED\u00EE\u00EF" +
-            "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" +
-            "\u00F8\u00F9\u00FA\u00FB\u00FC\u00FD\u00FE\u00FF" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u008C\u009C\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u008A\u009A\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u009F\u0000\u0000\u0000\u0000\u008E\u009E\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0083\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0088\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0098\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0096\u0097\u0000" +
-            "\u0000\u0000\u0091\u0092\u0082\u0000\u0093\u0094" +
-            "\u0084\u0000\u0086\u0087\u0095\u0000\u0000\u0000" +
-            "\u0085\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0089\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u008B\u009B\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0080\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0099\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000";
-
-        private final static short index1[] = {
-            0, 256, 461, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            698, 920, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-        };
-    }
-}
--- a/jdk/src/share/classes/sun/nio/cs/MS1253.java	Wed Jul 05 16:44:40 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,303 +0,0 @@
-/*
- * Copyright 2002-2004 Sun Microsystems, Inc.  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.  Sun designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
- */
-
-package sun.nio.cs;
-
-import java.nio.ByteBuffer;
-import java.nio.CharBuffer;
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetDecoder;
-import java.nio.charset.CharsetEncoder;
-import java.nio.charset.CharacterCodingException;
-import java.nio.charset.MalformedInputException;
-import java.nio.charset.UnmappableCharacterException;
-import sun.nio.cs.StandardCharsets;
-import sun.nio.cs.SingleByteDecoder;
-import sun.nio.cs.SingleByteEncoder;
-import sun.nio.cs.HistoricallyNamedCharset;
-
-
-public class MS1253
-    extends Charset
-    implements HistoricallyNamedCharset
-{
-
-    public String historicalName() {
-        return "Cp1253";
-    }
-
-    public MS1253() {
-        super("windows-1253", StandardCharsets.aliases_MS1253);
-    }
-
-    public boolean contains(Charset cs) {
-        return ((cs.name().equals("US-ASCII"))
-                || (cs instanceof MS1253));
-    }
-
-    public CharsetDecoder newDecoder() {
-        return new Decoder(this);
-    }
-
-    public CharsetEncoder newEncoder() {
-        return new Encoder(this);
-    }
-
-
-    /**
-     * These accessors are temporarily supplied while sun.io
-     * converters co-exist with the sun.nio.cs.{ext} charset coders
-     * These facilitate sharing of conversion tables between the
-     * two co-existing implementations. When sun.io converters
-     * are made extinct these will be unncessary and should be removed
-     */
-
-    public String getDecoderSingleByteMappings() {
-        return Decoder.byteToCharTable;
-
-    }
-
-    public short[] getEncoderIndex1() {
-        return Encoder.index1;
-
-    }
-    public String getEncoderIndex2() {
-        return Encoder.index2;
-
-    }
-    private static class Decoder extends SingleByteDecoder {
-            public Decoder(Charset cs) {
-                super(cs, byteToCharTable);
-        }
-
-        private final static String byteToCharTable =
-
-            "\u20AC\uFFFD\u201A\u0192\u201E\u2026\u2020\u2021" +        // 0x80 - 0x87
-            "\uFFFD\u2030\uFFFD\u2039\uFFFD\uFFFD\uFFFD\uFFFD" +        // 0x88 - 0x8F
-            "\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014" +        // 0x90 - 0x97
-            "\uFFFD\u2122\uFFFD\u203A\uFFFD\uFFFD\uFFFD\uFFFD" +        // 0x98 - 0x9F
-            "\u00A0\u0385\u0386\u00A3\u00A4\u00A5\u00A6\u00A7" +        // 0xA0 - 0xA7
-            "\u00A8\u00A9\uFFFD\u00AB\u00AC\u00AD\u00AE\u2015" +        // 0xA8 - 0xAF
-            "\u00B0\u00B1\u00B2\u00B3\u0384\u00B5\u00B6\u00B7" +        // 0xB0 - 0xB7
-            "\u0388\u0389\u038A\u00BB\u038C\u00BD\u038E\u038F" +        // 0xB8 - 0xBF
-            "\u0390\u0391\u0392\u0393\u0394\u0395\u0396\u0397" +        // 0xC0 - 0xC7
-            "\u0398\u0399\u039A\u039B\u039C\u039D\u039E\u039F" +        // 0xC8 - 0xCF
-            "\u03A0\u03A1\uFFFD\u03A3\u03A4\u03A5\u03A6\u03A7" +        // 0xD0 - 0xD7
-            "\u03A8\u03A9\u03AA\u03AB\u03AC\u03AD\u03AE\u03AF" +        // 0xD8 - 0xDF
-            "\u03B0\u03B1\u03B2\u03B3\u03B4\u03B5\u03B6\u03B7" +        // 0xE0 - 0xE7
-            "\u03B8\u03B9\u03BA\u03BB\u03BC\u03BD\u03BE\u03BF" +        // 0xE8 - 0xEF
-            "\u03C0\u03C1\u03C2\u03C3\u03C4\u03C5\u03C6\u03C7" +        // 0xF0 - 0xF7
-            "\u03C8\u03C9\u03CA\u03CB\u03CC\u03CD\u03CE\uFFFD" +        // 0xF8 - 0xFF
-            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +        // 0x00 - 0x07
-            "\b\t\n\u000B\f\r\u000E\u000F" +    // 0x08 - 0x0F
-            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +        // 0x10 - 0x17
-            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +        // 0x18 - 0x1F
-            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +        // 0x20 - 0x27
-            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +        // 0x28 - 0x2F
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +        // 0x30 - 0x37
-            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +        // 0x38 - 0x3F
-            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +        // 0x40 - 0x47
-            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +        // 0x48 - 0x4F
-            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +        // 0x50 - 0x57
-            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +    // 0x58 - 0x5F
-            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +        // 0x60 - 0x67
-            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +        // 0x68 - 0x6F
-            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +        // 0x70 - 0x77
-            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";         // 0x78 - 0x7F
-    }
-
-    private static class Encoder extends SingleByteEncoder {
-        public Encoder(Charset cs) {
-            super(cs, index1, index2, 0xFF00, 0x00FF, 8);
-        }
-        private final static String index2 =
-            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
-            "\b\t\n\u000B\f\r\u000E\u000F" +
-            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
-            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
-            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
-            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
-            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
-            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
-            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
-            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
-            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
-            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
-            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
-            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
-            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00A0\u0000\u0000\u00A3\u00A4\u00A5\u00A6\u00A7" +
-            "\u00A8\u00A9\u0000\u00AB\u00AC\u00AD\u00AE\u0000" +
-            "\u00B0\u00B1\u00B2\u00B3\u0000\u00B5\u00B6\u00B7" +
-            "\u0000\u0000\u0000\u00BB\u0000\u00BD\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0083\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u00B4\u00A1\u00A2\u0000\u00B8\u00B9\u00BA" +
-            "\u0000\u00BC\u0000\u00BE\u00BF\u00C0\u00C1\u00C2" +
-            "\u00C3\u00C4\u00C5\u00C6\u00C7\u00C8\u00C9\u00CA" +
-            "\u00CB\u00CC\u00CD\u00CE\u00CF\u00D0\u00D1\u0000" +
-            "\u00D3\u00D4\u00D5\u00D6\u00D7\u00D8\u00D9\u00DA" +
-            "\u00DB\u00DC\u00DD\u00DE\u00DF\u00E0\u00E1\u00E2" +
-            "\u00E3\u00E4\u00E5\u00E6\u00E7\u00E8\u00E9\u00EA" +
-            "\u00EB\u00EC\u00ED\u00EE\u00EF\u00F0\u00F1\u00F2" +
-            "\u00F3\u00F4\u00F5\u00F6\u00F7\u00F8\u00F9\u00FA" +
-            "\u00FB\u00FC\u00FD\u00FE\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0096\u0097\u00AF" +
-            "\u0000\u0000\u0091\u0092\u0082\u0000\u0093\u0094" +
-            "\u0084\u0000\u0086\u0087\u0095\u0000\u0000\u0000" +
-            "\u0085\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0089\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u008B\u009B\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0080\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0099\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000";
-
-        private final static short index1[] = {
-            0, 190, 337, 461, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
-            337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
-            698, 920, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
-            337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
-            337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
-            337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
-            337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
-            337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
-            337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
-            337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
-            337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
-            337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
-            337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
-            337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
-            337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
-            337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
-        };
-    }
-}
--- a/jdk/src/share/classes/sun/nio/cs/MS1254.java	Wed Jul 05 16:44:40 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,305 +0,0 @@
-/*
- * Copyright 2002-2004 Sun Microsystems, Inc.  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.  Sun designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
- */
-
-package sun.nio.cs;
-
-import java.nio.ByteBuffer;
-import java.nio.CharBuffer;
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetDecoder;
-import java.nio.charset.CharsetEncoder;
-import java.nio.charset.CharacterCodingException;
-import java.nio.charset.MalformedInputException;
-import java.nio.charset.UnmappableCharacterException;
-import sun.nio.cs.StandardCharsets;
-import sun.nio.cs.SingleByteDecoder;
-import sun.nio.cs.SingleByteEncoder;
-import sun.nio.cs.HistoricallyNamedCharset;
-
-
-public class MS1254
-    extends Charset
-    implements HistoricallyNamedCharset
-{
-
-    public String historicalName() {
-        return "Cp1254";
-    }
-
-    public MS1254() {
-        super("windows-1254", StandardCharsets.aliases_MS1254);
-    }
-
-    public boolean contains(Charset cs) {
-        return ((cs.name().equals("US-ASCII"))
-                || (cs instanceof MS1254));
-    }
-
-    public CharsetDecoder newDecoder() {
-        return new Decoder(this);
-    }
-
-    public CharsetEncoder newEncoder() {
-        return new Encoder(this);
-    }
-
-
-    /**
-     * These accessors are temporarily supplied while sun.io
-     * converters co-exist with the sun.nio.cs.{ext} charset coders
-     * These facilitate sharing of conversion tables between the
-     * two co-existing implementations. When sun.io converters
-     * are made extinct these will be unncessary and should be removed
-     */
-
-    public String getDecoderSingleByteMappings() {
-        return Decoder.byteToCharTable;
-
-    }
-
-    public short[] getEncoderIndex1() {
-        return Encoder.index1;
-
-    }
-    public String getEncoderIndex2() {
-        return Encoder.index2;
-
-    }
-
-    private static class Decoder extends SingleByteDecoder {
-        public Decoder(Charset cs) {
-            super(cs, byteToCharTable);
-        }
-
-        private final static String byteToCharTable =
-
-            "\u20AC\uFFFD\u201A\u0192\u201E\u2026\u2020\u2021" +        // 0x80 - 0x87
-            "\u02C6\u2030\u0160\u2039\u0152\uFFFD\uFFFD\uFFFD" +        // 0x88 - 0x8F
-            "\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014" +        // 0x90 - 0x97
-            "\u02DC\u2122\u0161\u203A\u0153\uFFFD\uFFFD\u0178" +        // 0x98 - 0x9F
-            "\u00A0\u00A1\u00A2\u00A3\u00A4\u00A5\u00A6\u00A7" +        // 0xA0 - 0xA7
-            "\u00A8\u00A9\u00AA\u00AB\u00AC\u00AD\u00AE\u00AF" +        // 0xA8 - 0xAF
-            "\u00B0\u00B1\u00B2\u00B3\u00B4\u00B5\u00B6\u00B7" +        // 0xB0 - 0xB7
-            "\u00B8\u00B9\u00BA\u00BB\u00BC\u00BD\u00BE\u00BF" +        // 0xB8 - 0xBF
-            "\u00C0\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" +        // 0xC0 - 0xC7
-            "\u00C8\u00C9\u00CA\u00CB\u00CC\u00CD\u00CE\u00CF" +        // 0xC8 - 0xCF
-            "\u011E\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6\u00D7" +        // 0xD0 - 0xD7
-            "\u00D8\u00D9\u00DA\u00DB\u00DC\u0130\u015E\u00DF" +        // 0xD8 - 0xDF
-            "\u00E0\u00E1\u00E2\u00E3\u00E4\u00E5\u00E6\u00E7" +        // 0xE0 - 0xE7
-            "\u00E8\u00E9\u00EA\u00EB\u00EC\u00ED\u00EE\u00EF" +        // 0xE8 - 0xEF
-            "\u011F\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" +        // 0xF0 - 0xF7
-            "\u00F8\u00F9\u00FA\u00FB\u00FC\u0131\u015F\u00FF" +        // 0xF8 - 0xFF
-            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +        // 0x00 - 0x07
-            "\b\t\n\u000B\f\r\u000E\u000F" +    // 0x08 - 0x0F
-            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +        // 0x10 - 0x17
-            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +        // 0x18 - 0x1F
-            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +        // 0x20 - 0x27
-            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +        // 0x28 - 0x2F
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +        // 0x30 - 0x37
-            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +        // 0x38 - 0x3F
-            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +        // 0x40 - 0x47
-            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +        // 0x48 - 0x4F
-            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +        // 0x50 - 0x57
-            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +    // 0x58 - 0x5F
-            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +        // 0x60 - 0x67
-            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +        // 0x68 - 0x6F
-            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +        // 0x70 - 0x77
-            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";         // 0x78 - 0x7F
-    }
-
-    private static class Encoder extends SingleByteEncoder {
-        public Encoder(Charset cs) {
-            super(cs, index1, index2, 0xFF00, 0x00FF, 8);
-        }
-        private final static String index2 =
-
-            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
-            "\b\t\n\u000B\f\r\u000E\u000F" +
-            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
-            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
-            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
-            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
-            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
-            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
-            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
-            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
-            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
-            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
-            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
-            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
-            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00A0\u00A1\u00A2\u00A3\u00A4\u00A5\u00A6\u00A7" +
-            "\u00A8\u00A9\u00AA\u00AB\u00AC\u00AD\u00AE\u00AF" +
-            "\u00B0\u00B1\u00B2\u00B3\u00B4\u00B5\u00B6\u00B7" +
-            "\u00B8\u00B9\u00BA\u00BB\u00BC\u00BD\u00BE\u00BF" +
-            "\u00C0\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" +
-            "\u00C8\u00C9\u00CA\u00CB\u00CC\u00CD\u00CE\u00CF" +
-            "\u0000\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6\u00D7" +
-            "\u00D8\u00D9\u00DA\u00DB\u00DC\u0000\u0000\u00DF" +
-            "\u00E0\u00E1\u00E2\u00E3\u00E4\u00E5\u00E6\u00E7" +
-            "\u00E8\u00E9\u00EA\u00EB\u00EC\u00ED\u00EE\u00EF" +
-            "\u0000\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" +
-            "\u00F8\u00F9\u00FA\u00FB\u00FC\u0000\u0000\u00FF" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u00D0\u00F0" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00DD\u00FD\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u008C\u009C\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u00DE\u00FE" +
-            "\u008A\u009A\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u009F\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0083\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0088\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0098\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0096\u0097\u0000" +
-            "\u0000\u0000\u0091\u0092\u0082\u0000\u0093\u0094" +
-            "\u0084\u0000\u0086\u0087\u0095\u0000\u0000\u0000" +
-            "\u0085\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0089\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u008B\u009B\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0080\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0099\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000";
-
-        private final static short index1[] = {
-            0, 256, 461, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            698, 920, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-        };
-    }
-}
--- a/jdk/src/share/classes/sun/nio/cs/MS1257.java	Wed Jul 05 16:44:40 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,304 +0,0 @@
-/*
- * Copyright 2002-2004 Sun Microsystems, Inc.  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.  Sun designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
- */
-
-package sun.nio.cs;
-
-import java.nio.ByteBuffer;
-import java.nio.CharBuffer;
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetDecoder;
-import java.nio.charset.CharsetEncoder;
-import java.nio.charset.CharacterCodingException;
-import java.nio.charset.MalformedInputException;
-import java.nio.charset.UnmappableCharacterException;
-import sun.nio.cs.StandardCharsets;
-import sun.nio.cs.SingleByteDecoder;
-import sun.nio.cs.SingleByteEncoder;
-import sun.nio.cs.HistoricallyNamedCharset;
-
-
-public class MS1257
-    extends Charset
-    implements HistoricallyNamedCharset
-{
-
-    public String historicalName() {
-        return "Cp1257";
-    }
-
-    public MS1257() {
-        super("windows-1257", StandardCharsets.aliases_MS1257);
-    }
-
-    public boolean contains(Charset cs) {
-        return ((cs.name().equals("US-ASCII"))
-                || (cs instanceof MS1257));
-    }
-
-    public CharsetDecoder newDecoder() {
-        return new Decoder(this);
-    }
-
-    public CharsetEncoder newEncoder() {
-        return new Encoder(this);
-    }
-
-
-    /**
-     * These accessors are temporarily supplied while sun.io
-     * converters co-exist with the sun.nio.cs.{ext} charset coders
-     * These facilitate sharing of conversion tables between the
-     * two co-existing implementations. When sun.io converters
-     * are made extinct these will be unncessary and should be removed
-     */
-
-    public String getDecoderSingleByteMappings() {
-        return Decoder.byteToCharTable;
-
-    }
-
-    public short[] getEncoderIndex1() {
-        return Encoder.index1;
-
-    }
-    public String getEncoderIndex2() {
-        return Encoder.index2;
-
-    }
-
-    private static class Decoder extends SingleByteDecoder {
-        public Decoder(Charset cs) {
-            super(cs, byteToCharTable);
-        }
-
-        private final static String byteToCharTable =
-
-            "\u20AC\uFFFD\u201A\uFFFD\u201E\u2026\u2020\u2021" +        // 0x80 - 0x87
-            "\uFFFD\u2030\uFFFD\u2039\uFFFD\u00A8\u02C7\u00B8" +        // 0x88 - 0x8F
-            "\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014" +        // 0x90 - 0x97
-            "\uFFFD\u2122\uFFFD\u203A\uFFFD\u00AF\u02DB\uFFFD" +        // 0x98 - 0x9F
-            "\u00A0\uFFFD\u00A2\u00A3\u00A4\uFFFD\u00A6\u00A7" +        // 0xA0 - 0xA7
-            "\u00D8\u00A9\u0156\u00AB\u00AC\u00AD\u00AE\u00C6" +        // 0xA8 - 0xAF
-            "\u00B0\u00B1\u00B2\u00B3\u00B4\u00B5\u00B6\u00B7" +        // 0xB0 - 0xB7
-            "\u00F8\u00B9\u0157\u00BB\u00BC\u00BD\u00BE\u00E6" +        // 0xB8 - 0xBF
-            "\u0104\u012E\u0100\u0106\u00C4\u00C5\u0118\u0112" +        // 0xC0 - 0xC7
-            "\u010C\u00C9\u0179\u0116\u0122\u0136\u012A\u013B" +        // 0xC8 - 0xCF
-            "\u0160\u0143\u0145\u00D3\u014C\u00D5\u00D6\u00D7" +        // 0xD0 - 0xD7
-            "\u0172\u0141\u015A\u016A\u00DC\u017B\u017D\u00DF" +        // 0xD8 - 0xDF
-            "\u0105\u012F\u0101\u0107\u00E4\u00E5\u0119\u0113" +        // 0xE0 - 0xE7
-            "\u010D\u00E9\u017A\u0117\u0123\u0137\u012B\u013C" +        // 0xE8 - 0xEF
-            "\u0161\u0144\u0146\u00F3\u014D\u00F5\u00F6\u00F7" +        // 0xF0 - 0xF7
-            "\u0173\u0142\u015B\u016B\u00FC\u017C\u017E\u02D9" +        // 0xF8 - 0xFF
-            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +        // 0x00 - 0x07
-            "\b\t\n\u000B\f\r\u000E\u000F" +    // 0x08 - 0x0F
-            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +        // 0x10 - 0x17
-            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +        // 0x18 - 0x1F
-            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +        // 0x20 - 0x27
-            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +        // 0x28 - 0x2F
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +        // 0x30 - 0x37
-            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +        // 0x38 - 0x3F
-            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +        // 0x40 - 0x47
-            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +        // 0x48 - 0x4F
-            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +        // 0x50 - 0x57
-            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +    // 0x58 - 0x5F
-            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +        // 0x60 - 0x67
-            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +        // 0x68 - 0x6F
-            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +        // 0x70 - 0x77
-            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";         // 0x78 - 0x7F
-    }
-
-    private static class Encoder extends SingleByteEncoder {
-        public Encoder(Charset cs) {
-            super(cs, index1, index2, 0xFF00, 0x00FF, 8);
-        }
-
-        private final static String index2 =
-
-            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
-            "\b\t\n\u000B\f\r\u000E\u000F" +
-            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
-            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
-            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
-            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
-            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
-            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
-            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
-            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
-            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
-            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
-            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
-            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
-            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00A0\u0000\u00A2\u00A3\u00A4\u0000\u00A6\u00A7" +
-            "\u008D\u00A9\u0000\u00AB\u00AC\u00AD\u00AE\u009D" +
-            "\u00B0\u00B1\u00B2\u00B3\u00B4\u00B5\u00B6\u00B7" +
-            "\u008F\u00B9\u0000\u00BB\u00BC\u00BD\u00BE\u0000" +
-            "\u0000\u0000\u0000\u0000\u00C4\u00C5\u00AF\u0000" +
-            "\u0000\u00C9\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u00D3\u0000\u00D5\u00D6\u00D7" +
-            "\u00A8\u0000\u0000\u0000\u00DC\u0000\u0000\u00DF" +
-            "\u0000\u0000\u0000\u0000\u00E4\u00E5\u00BF\u0000" +
-            "\u0000\u00E9\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u00F3\u0000\u00F5\u00F6\u00F7" +
-            "\u00B8\u0000\u0000\u0000\u00FC\u0000\u0000\u0000" +
-            "\u00C2\u00E2\u0000\u0000\u00C0\u00E0\u00C3\u00E3" +
-            "\u0000\u0000\u0000\u0000\u00C8\u00E8\u0000\u0000" +
-            "\u0000\u0000\u00C7\u00E7\u0000\u0000\u00CB\u00EB" +
-            "\u00C6\u00E6\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u00CC\u00EC\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u00CE\u00EE\u0000\u0000\u00C1\u00E1" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u00CD\u00ED" +
-            "\u0000\u0000\u0000\u00CF\u00EF\u0000\u0000\u0000" +
-            "\u0000\u00D9\u00F9\u00D1\u00F1\u00D2\u00F2\u0000" +
-            "\u0000\u0000\u0000\u0000\u00D4\u00F4\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u00AA\u00BA" +
-            "\u0000\u0000\u00DA\u00FA\u0000\u0000\u0000\u0000" +
-            "\u00D0\u00F0\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u00DB\u00FB\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u00D8\u00F8\u0000\u0000\u0000\u0000" +
-            "\u0000\u00CA\u00EA\u00DD\u00FD\u00DE\u00FE\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u008E" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u00FF\u0000\u009E\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0096\u0097\u0000\u0000\u0000\u0091\u0092\u0082" +
-            "\u0000\u0093\u0094\u0084\u0000\u0086\u0087\u0095" +
-            "\u0000\u0000\u0000\u0085\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0089\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u008B\u009B" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0080\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0099\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000";
-
-        private final static short index1[] = {
-            0, 256, 440, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            677, 899, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-        };
-    }
-}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/src/share/classes/sun/nio/cs/SingleByte.java	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,241 @@
+/*
+ * Copyright 2008 Sun Microsystems, Inc.  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.  Sun designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+package sun.nio.cs;
+
+import java.nio.Buffer;
+import java.nio.ByteBuffer;
+import java.nio.CharBuffer;
+import java.nio.charset.Charset;
+import java.nio.charset.CharsetDecoder;
+import java.nio.charset.CharsetEncoder;
+import java.nio.charset.CoderResult;
+import static sun.nio.cs.CharsetMapping.*;
+
+public class SingleByte
+{
+    private static final CoderResult withResult(CoderResult cr,
+                                                Buffer src, int sp,
+                                                Buffer dst, int dp)
+    {
+        src.position(sp - src.arrayOffset());
+        dst.position(dp - dst.arrayOffset());
+        return cr;
+    }
+
+    public static class Decoder extends CharsetDecoder {
+        private final char[] b2c;
+
+        public Decoder(Charset cs, char[] b2c) {
+            super(cs, 1.0f, 1.0f);
+            this.b2c = b2c;
+        }
+
+        private CoderResult decodeArrayLoop(ByteBuffer src, CharBuffer dst) {
+            byte[] sa = src.array();
+            int sp = src.arrayOffset() + src.position();
+            int sl = src.arrayOffset() + src.limit();
+
+            char[] da = dst.array();
+            int dp = dst.arrayOffset() + dst.position();
+            int dl = dst.arrayOffset() + dst.limit();
+
+            CoderResult cr = CoderResult.UNDERFLOW;
+            if ((dl - dp) < (sl - sp)) {
+                sl = sp + (dl - dp);
+                cr = CoderResult.OVERFLOW;
+            }
+
+            while (sp < sl) {
+                char c = decode(sa[sp]);
+                if (c == UNMAPPABLE_DECODING) {
+                    return withResult(CoderResult.unmappableForLength(1),
+                               src, sp, dst, dp);
+                }
+                da[dp++] = c;
+                sp++;
+            }
+            return withResult(cr, src, sp, dst, dp);
+        }
+
+        private CoderResult decodeBufferLoop(ByteBuffer src, CharBuffer dst) {
+            int mark = src.position();
+            try {
+                while (src.hasRemaining()) {
+                    char c = decode(src.get());
+                    if (c == UNMAPPABLE_DECODING)
+                        return CoderResult.unmappableForLength(1);
+                    if (!dst.hasRemaining())
+                        return CoderResult.OVERFLOW;
+                    dst.put(c);
+                    mark++;
+                }
+                return CoderResult.UNDERFLOW;
+            } finally {
+                src.position(mark);
+            }
+        }
+
+        protected CoderResult decodeLoop(ByteBuffer src, CharBuffer dst) {
+            if (src.hasArray() && dst.hasArray())
+                return decodeArrayLoop(src, dst);
+            else
+                return decodeBufferLoop(src, dst);
+        }
+
+        private final char decode(int b) {
+            return b2c[b + 128];
+        }
+    }
+
+    public static class Encoder extends CharsetEncoder {
+        private Surrogate.Parser sgp;
+        private final char[] c2b;
+        private final char[] c2bIndex;
+
+        public Encoder(Charset cs, char[] c2b, char[] c2bIndex) {
+            super(cs, 1.0f, 1.0f);
+            this.c2b = c2b;
+            this.c2bIndex = c2bIndex;
+        }
+
+        public boolean canEncode(char c) {
+            return encode(c) != UNMAPPABLE_ENCODING;
+        }
+
+        private CoderResult encodeArrayLoop(CharBuffer src, ByteBuffer dst) {
+            char[] sa = src.array();
+            int sp = src.arrayOffset() + src.position();
+            int sl = src.arrayOffset() + src.limit();
+
+            byte[] da = dst.array();
+            int dp = dst.arrayOffset() + dst.position();
+            int dl = dst.arrayOffset() + dst.limit();
+
+            CoderResult cr = CoderResult.UNDERFLOW;
+            if ((dl - dp) < (sl - sp)) {
+                sl = sp + (dl - dp);
+                cr = CoderResult.OVERFLOW;
+            }
+
+            while (sp < sl) {
+                char c = sa[sp];
+                int b = encode(c);
+                if (b == UNMAPPABLE_ENCODING) {
+                    if (Surrogate.is(c)) {
+                        if (sgp == null)
+                            sgp = new Surrogate.Parser();
+                        if (sgp.parse(c, sa, sp, sl) < 0)
+                            return withResult(sgp.error(), src, sp, dst, dp);
+                        return withResult(sgp.unmappableResult(), src, sp, dst, dp);
+                    }
+                    return withResult(CoderResult.unmappableForLength(1),
+                               src, sp, dst, dp);
+                }
+                da[dp++] = (byte)b;
+                sp++;
+            }
+            return withResult(cr, src, sp, dst, dp);
+        }
+
+        private CoderResult encodeBufferLoop(CharBuffer src, ByteBuffer dst) {
+            int mark = src.position();
+            try {
+                while (src.hasRemaining()) {
+                    char c = src.get();
+                    int b = encode(c);
+                    if (b == UNMAPPABLE_ENCODING) {
+                        if (Surrogate.is(c)) {
+                            if (sgp == null)
+                                sgp = new Surrogate.Parser();
+                            if (sgp.parse(c, src) < 0)
+                                return sgp.error();
+                            return sgp.unmappableResult();
+                        }
+                        return CoderResult.unmappableForLength(1);
+                    }
+                    if (!dst.hasRemaining())
+                        return CoderResult.OVERFLOW;
+                    dst.put((byte)b);
+                    mark++;
+                }
+                return CoderResult.UNDERFLOW;
+            } finally {
+                src.position(mark);
+            }
+        }
+
+        protected CoderResult encodeLoop(CharBuffer src, ByteBuffer dst) {
+            if (src.hasArray() && dst.hasArray())
+                return encodeArrayLoop(src, dst);
+            else
+                return encodeBufferLoop(src, dst);
+        }
+
+        private final int encode(char ch) {
+            char index = c2bIndex[ch >> 8];
+            if (index == UNMAPPABLE_ENCODING)
+                return UNMAPPABLE_ENCODING;
+            return c2b[index + (ch & 0xff)];
+        }
+    }
+
+    // init the c2b and c2bIndex tables from b2c.
+    public static void initC2B(char[] b2c, char[] c2bNR,
+                               char[] c2b, char[] c2bIndex) {
+        for (int i = 0; i < c2bIndex.length; i++)
+            c2bIndex[i] = UNMAPPABLE_ENCODING;
+        for (int i = 0; i < c2b.length; i++)
+            c2b[i] = UNMAPPABLE_ENCODING;
+        int off = 0;
+        for (int i = 0; i < b2c.length; i++) {
+            char c = b2c[i];
+            if (c == UNMAPPABLE_DECODING)
+                continue;
+            int index = (c >> 8);
+            if (c2bIndex[index] == UNMAPPABLE_ENCODING) {
+                c2bIndex[index] = (char)off;
+                off += 0x100;
+            }
+            index = c2bIndex[index] + (c & 0xff);
+            c2b[index] = (char)((i>=0x80)?(i-0x80):(i+0x80));
+        }
+        if (c2bNR != null) {
+            // c-->b nr entries
+            int i = 0;
+            while (i < c2bNR.length) {
+                char b = c2bNR[i++];
+                char c = c2bNR[i++];
+                int index = (c >> 8);
+                if (c2bIndex[index] == UNMAPPABLE_ENCODING) {
+                    c2bIndex[index] = (char)off;
+                    off += 0x100;
+                }
+                index = c2bIndex[index] + (c & 0xff);
+                c2b[index] = b;
+            }
+        }
+    }
+}
--- a/jdk/src/share/classes/sun/nio/cs/ext/IBM037.java	Wed Jul 05 16:44:40 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,221 +0,0 @@
-
-/*
- * Copyright 2003-2004 Sun Microsystems, Inc.  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.  Sun designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
- */
-
-package sun.nio.cs.ext;
-
-
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetDecoder;
-import java.nio.charset.CharsetEncoder;
-import sun.nio.cs.StandardCharsets;
-import sun.nio.cs.SingleByteDecoder;
-import sun.nio.cs.SingleByteEncoder;
-import sun.nio.cs.HistoricallyNamedCharset;
-
-public class IBM037
-    extends Charset
-    implements HistoricallyNamedCharset
-{
-
-    public IBM037() {
-        super("IBM037", ExtendedCharsets.aliasesFor("IBM037"));
-    }
-
-    public String historicalName() {
-        return "Cp037";
-    }
-
-    public boolean contains(Charset cs) {
-        return (cs instanceof IBM037);
-    }
-
-    public CharsetDecoder newDecoder() {
-        return new Decoder(this);
-    }
-
-    public CharsetEncoder newEncoder() {
-        return new Encoder(this);
-    }
-
-
-    /**
-     * These accessors are temporarily supplied while sun.io
-     * converters co-exist with the sun.nio.cs.{ext} charset coders
-     * These facilitate sharing of conversion tables between the
-     * two co-existing implementations. When sun.io converters
-     * are made extinct these will be unncessary and should be removed
-     */
-
-    public String getDecoderSingleByteMappings() {
-        return Decoder.byteToCharTable;
-
-    }
-
-    public short[] getEncoderIndex1() {
-        return Encoder.index1;
-
-    }
-    public String getEncoderIndex2() {
-        return Encoder.index2;
-
-    }
-
-    protected static class Decoder extends SingleByteDecoder {
-            public Decoder(Charset cs) {
-                super(cs, byteToCharTable);
-            }
-
-        private final static String byteToCharTable =
-
-            "\u00D8\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +        // 0x80 - 0x87
-            "\u0068\u0069\u00AB\u00BB\u00F0\u00FD\u00FE\u00B1" +        // 0x88 - 0x8F
-            "\u00B0\u006A\u006B\u006C\u006D\u006E\u006F\u0070" +        // 0x90 - 0x97
-            "\u0071\u0072\u00AA\u00BA\u00E6\u00B8\u00C6\u00A4" +        // 0x98 - 0x9F
-            "\u00B5\u007E\u0073\u0074\u0075\u0076\u0077\u0078" +        // 0xA0 - 0xA7
-            "\u0079\u007A\u00A1\u00BF\u00D0\u00DD\u00DE\u00AE" +        // 0xA8 - 0xAF
-            "\u005E\u00A3\u00A5\u00B7\u00A9\u00A7\u00B6\u00BC" +        // 0xB0 - 0xB7
-            "\u00BD\u00BE\u005B\u005D\u00AF\u00A8\u00B4\u00D7" +        // 0xB8 - 0xBF
-            "\u007B\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +        // 0xC0 - 0xC7
-            "\u0048\u0049\u00AD\u00F4\u00F6\u00F2\u00F3\u00F5" +        // 0xC8 - 0xCF
-            "\u007D\u004A\u004B\u004C\u004D\u004E\u004F\u0050" +        // 0xD0 - 0xD7
-            "\u0051\u0052\u00B9\u00FB\u00FC\u00F9\u00FA\u00FF" +        // 0xD8 - 0xDF
-            "\\\u00F7\u0053\u0054\u0055\u0056\u0057\u0058" +    // 0xE0 - 0xE7
-            "\u0059\u005A\u00B2\u00D4\u00D6\u00D2\u00D3\u00D5" +        // 0xE8 - 0xEF
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +        // 0xF0 - 0xF7
-            "\u0038\u0039\u00B3\u00DB\u00DC\u00D9\u00DA\u009F" +        // 0xF8 - 0xFF
-            "\u0000\u0001\u0002\u0003\u009C\t\u0086\u007F" +    // 0x00 - 0x07
-            "\u0097\u008D\u008E\u000B\f\r\u000E\u000F" +        // 0x08 - 0x0F
-            "\u0010\u0011\u0012\u0013\u009D\n\b\u0087" +        // 0x10 - 0x17
-            "\u0018\u0019\u0092\u008F\u001C\u001D\u001E\u001F" +        // 0x18 - 0x1F
-            "\u0080\u0081\u0082\u0083\u0084\n\u0017\u001B" +    // 0x20 - 0x27
-            "\u0088\u0089\u008A\u008B\u008C\u0005\u0006\u0007" +        // 0x28 - 0x2F
-            "\u0090\u0091\u0016\u0093\u0094\u0095\u0096\u0004" +        // 0x30 - 0x37
-            "\u0098\u0099\u009A\u009B\u0014\u0015\u009E\u001A" +        // 0x38 - 0x3F
-            "\u0020\u00A0\u00E2\u00E4\u00E0\u00E1\u00E3\u00E5" +        // 0x40 - 0x47
-            "\u00E7\u00F1\u00A2\u002E\u003C\u0028\u002B\u007C" +        // 0x48 - 0x4F
-            "\u0026\u00E9\u00EA\u00EB\u00E8\u00ED\u00EE\u00EF" +        // 0x50 - 0x57
-            "\u00EC\u00DF\u0021\u0024\u002A\u0029\u003B\u00AC" +        // 0x58 - 0x5F
-            "\u002D\u002F\u00C2\u00C4\u00C0\u00C1\u00C3\u00C5" +        // 0x60 - 0x67
-            "\u00C7\u00D1\u00A6\u002C\u0025\u005F\u003E\u003F" +        // 0x68 - 0x6F
-            "\u00F8\u00C9\u00CA\u00CB\u00C8\u00CD\u00CE\u00CF" +        // 0x70 - 0x77
-            "\u00CC\u0060\u003A\u0023\u0040\'\u003D\"";         // 0x78 - 0x7F
-
-    }
-
-    protected static class Encoder extends SingleByteEncoder {
-            public Encoder(Charset cs) {
-                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
-            }
-
-            private final static String index2 =
-
-
-            "\u0000\u0001\u0002\u0003\u0037\u002D\u002E\u002F" +
-            "\u0016\u0005\u0015\u000B\f\r\u000E\u000F" +
-            "\u0010\u0011\u0012\u0013\u003C\u003D\u0032\u0026" +
-            "\u0018\u0019\u003F\'\u001C\u001D\u001E\u001F" +
-            "\u0040\u005A\u007F\u007B\u005B\u006C\u0050\u007D" +
-            "\u004D\u005D\\\u004E\u006B\u0060\u004B\u0061" +
-            "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" +
-            "\u00F8\u00F9\u007A\u005E\u004C\u007E\u006E\u006F" +
-            "\u007C\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" +
-            "\u00C8\u00C9\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6" +
-            "\u00D7\u00D8\u00D9\u00E2\u00E3\u00E4\u00E5\u00E6" +
-            "\u00E7\u00E8\u00E9\u00BA\u00E0\u00BB\u00B0\u006D" +
-            "\u0079\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +
-            "\u0088\u0089\u0091\u0092\u0093\u0094\u0095\u0096" +
-            "\u0097\u0098\u0099\u00A2\u00A3\u00A4\u00A5\u00A6" +
-            "\u00A7\u00A8\u00A9\u00C0\u004F\u00D0\u00A1\u0007" +
-            "\u0020\u0021\"\u0023\u0024\u0015\u0006\u0017" +
-            "\u0028\u0029\u002A\u002B\u002C\t\n\u001B" +
-            "\u0030\u0031\u001A\u0033\u0034\u0035\u0036\b" +
-            "\u0038\u0039\u003A\u003B\u0004\u0014\u003E\u00FF" +
-            "\u0041\u00AA\u004A\u00B1\u009F\u00B2\u006A\u00B5" +
-            "\u00BD\u00B4\u009A\u008A\u005F\u00CA\u00AF\u00BC" +
-            "\u0090\u008F\u00EA\u00FA\u00BE\u00A0\u00B6\u00B3" +
-            "\u009D\u00DA\u009B\u008B\u00B7\u00B8\u00B9\u00AB" +
-            "\u0064\u0065\u0062\u0066\u0063\u0067\u009E\u0068" +
-            "\u0074\u0071\u0072\u0073\u0078\u0075\u0076\u0077" +
-            "\u00AC\u0069\u00ED\u00EE\u00EB\u00EF\u00EC\u00BF" +
-            "\u0080\u00FD\u00FE\u00FB\u00FC\u00AD\u00AE\u0059" +
-            "\u0044\u0045\u0042\u0046\u0043\u0047\u009C\u0048" +
-            "\u0054\u0051\u0052\u0053\u0058\u0055\u0056\u0057" +
-            "\u008C\u0049\u00CD\u00CE\u00CB\u00CF\u00CC\u00E1" +
-            "\u0070\u00DD\u00DE\u00DB\u00DC\u008D\u008E\u00DF" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000";
-
-    private final static short index1[] = {
-            0, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-
-        };
-    }
-}
--- a/jdk/src/share/classes/sun/nio/cs/ext/IBM1006.java	Wed Jul 05 16:44:40 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,336 +0,0 @@
-
-/*
- * Copyright 2003-2004 Sun Microsystems, Inc.  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.  Sun designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
- */
-
-package sun.nio.cs.ext;
-
-
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetDecoder;
-import java.nio.charset.CharsetEncoder;
-import sun.nio.cs.StandardCharsets;
-import sun.nio.cs.SingleByteDecoder;
-import sun.nio.cs.SingleByteEncoder;
-import sun.nio.cs.HistoricallyNamedCharset;
-
-public class IBM1006
-    extends Charset
-    implements HistoricallyNamedCharset
-{
-
-    public IBM1006() {
-        super("x-IBM1006", ExtendedCharsets.aliasesFor("x-IBM1006"));
-    }
-
-    public String historicalName() {
-        return "Cp1006";
-    }
-
-    public boolean contains(Charset cs) {
-        return (cs instanceof IBM1006);
-    }
-
-    public CharsetDecoder newDecoder() {
-        return new Decoder(this);
-    }
-
-    public CharsetEncoder newEncoder() {
-        return new Encoder(this);
-    }
-
-
-    /**
-     * These accessors are temporarily supplied while sun.io
-     * converters co-exist with the sun.nio.cs.{ext} charset coders
-     * These facilitate sharing of conversion tables between the
-     * two co-existing implementations. When sun.io converters
-     * are made extinct these will be unncessary and should be removed
-     */
-
-    public String getDecoderSingleByteMappings() {
-        return Decoder.byteToCharTable;
-
-    }
-
-    public short[] getEncoderIndex1() {
-        return Encoder.index1;
-
-    }
-    public String getEncoderIndex2() {
-        return Encoder.index2;
-
-    }
-
-    private static class Decoder extends SingleByteDecoder {
-            public Decoder(Charset cs) {
-                super(cs, byteToCharTable);
-        }
-
-        private final static String byteToCharTable =
-
-            "\u0080\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +        // 0x80 - 0x87
-            "\u0088\u0089\u008A\u008B\u008C\u008D\u008E\u008F" +        // 0x88 - 0x8F
-            "\u0090\u0091\u0092\u0093\u0094\u0095\u0096\u0097" +        // 0x90 - 0x97
-            "\u0098\u0099\u009A\u009B\u009C\u009D\u009E\u009F" +        // 0x98 - 0x9F
-            "\u00A0\u06F0\u06F1\u06F2\u06F3\u06F4\u06F5\u06F6" +        // 0xA0 - 0xA7
-            "\u06F7\u06F8\u06F9\u060C\u061B\u00AD\u061F\uFE81" +        // 0xA8 - 0xAF
-            "\uFE8D\uFE8E\uF8FB\uFE8F\uFE91\uFB56\uFB58\uFE93" +        // 0xB0 - 0xB7
-            "\uFE95\uFE97\uFB66\uFB68\uFE99\uFE9B\uFE9D\uFE9F" +        // 0xB8 - 0xBF
-            "\uFB7A\uFB7C\uFEA1\uFEA3\uFEA5\uFEA7\uFEA9\uFB88" +        // 0xC0 - 0xC7
-            "\uFEAB\uFEAD\uFB8C\uFEAF\uFB8A\uFEB1\uFEB3\uFEB5" +        // 0xC8 - 0xCF
-            "\uFEB7\uFEB9\uFEBB\uFEBD\uFEBF\uFEC3\uFEC7\uFEC9" +        // 0xD0 - 0xD7
-            "\uFECA\uFECB\uFECC\uFECD\uFECE\uFECF\uFED0\uFED1" +        // 0xD8 - 0xDF
-            "\uFED3\uFED5\uFED7\uFB8E\uFEDB\uFB92\uFB94\uFEDD" +        // 0xE0 - 0xE7
-            "\uFEDF\uFEE0\uFEE1\uFEE3\uFB9E\uFEE5\uFEE7\uFE85" +        // 0xE8 - 0xEF
-            "\uFEED\uFBA6\uFBA8\uFBA9\uFBAA\uFE80\uFE89\uFE8A" +        // 0xF0 - 0xF7
-            "\uFE8B\uFBFC\uFBFD\uFBFE\uFBB0\uFBAE\uFE7C\uFE7D" +        // 0xF8 - 0xFF
-            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +        // 0x00 - 0x07
-            "\b\t\n\u000B\f\r\u000E\u000F" +    // 0x08 - 0x0F
-            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +        // 0x10 - 0x17
-            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +        // 0x18 - 0x1F
-            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +        // 0x20 - 0x27
-            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +        // 0x28 - 0x2F
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +        // 0x30 - 0x37
-            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +        // 0x38 - 0x3F
-            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +        // 0x40 - 0x47
-            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +        // 0x48 - 0x4F
-            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +        // 0x50 - 0x57
-            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +    // 0x58 - 0x5F
-            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +        // 0x60 - 0x67
-            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +        // 0x68 - 0x6F
-            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +        // 0x70 - 0x77
-            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";         // 0x78 - 0x7F
-
-    }
-
-    private static class Encoder extends SingleByteEncoder {
-            public Encoder(Charset cs) {
-                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
-            }
-
-            private final static String index2 =
-
-
-            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
-            "\b\t\n\u000B\f\r\u000E\u000F" +
-            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
-            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
-            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
-            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
-            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
-            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
-            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
-            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
-            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
-            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
-            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
-            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
-            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
-            "\u0080\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +
-            "\u0088\u0089\u008A\u008B\u008C\u008D\u008E\u008F" +
-            "\u0090\u0091\u0092\u0093\u0094\u0095\u0096\u0097" +
-            "\u0098\u0099\u009A\u009B\u009C\u009D\u009E\u009F" +
-            "\u00A0\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u00AD\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u00AB\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u00AC\u0000\u0000" +
-            "\u0000\u00AE\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u00A1\u00A2\u00A3\u00A4\u00A5\u00A6" +
-            "\u00A7\u00A8\u00A9\u00AA\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00B2" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u00B5\u0000" +
-            "\u00B6\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u00BA\u0000" +
-            "\u00BB\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u00C0\u0000\u00C1\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00C7\u0000\u00CC\u0000\u00CA\u0000\u00E3\u0000" +
-            "\u0000\u0000\u00E5\u0000\u00E6\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u00EC\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u00F1\u0000" +
-            "\u00F2\u00F3\u00F4\u0000\u0000\u0000\u00FD\u0000" +
-            "\u00FC\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u00F9\u00FA\u00FB\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u00FE\u00FF\u0000\u0000\u00F5" +
-            "\u00AF\u0000\u0000\u0000\u00EF\u0000\u0000\u0000" +
-            "\u00F6\u00F7\u00F8\u0000\u00B0\u00B1\u00B3\u0000" +
-            "\u00B4\u0000\u00B7\u0000\u00B8\u0000\u00B9\u0000" +
-            "\u00BC\u0000\u00BD\u0000\u00BE\u0000\u00BF\u0000" +
-            "\u00C2\u0000\u00C3\u0000\u00C4\u0000\u00C5\u0000" +
-            "\u00C6\u0000\u00C8\u0000\u00C9\u0000\u00CB\u0000" +
-            "\u00CD\u0000\u00CE\u0000\u00CF\u0000\u00D0\u0000" +
-            "\u00D1\u0000\u00D2\u0000\u00D3\u0000\u00D4\u0000" +
-            "\u0000\u0000\u00D5\u0000\u0000\u0000\u00D6\u0000" +
-            "\u00D7\u00D8\u00D9\u00DA\u00DB\u00DC\u00DD\u00DE" +
-            "\u00DF\u0000\u00E0\u0000\u00E1\u0000\u00E2\u0000" +
-            "\u0000\u0000\u00E4\u0000\u00E7\u0000\u00E8\u00E9" +
-            "\u00EA\u0000\u00EB\u0000\u00ED\u0000\u00EE\u0000" +
-            "\u0000\u0000\u0000\u0000\u00F0\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000";
-
-    private final static short index1[] = {
-            0, 174, 174, 174, 174, 174, 418, 174, 174, 174, 174, 174, 174, 174, 174, 174,
-            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
-            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
-            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
-            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
-            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
-            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
-            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
-            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
-            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
-            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
-            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
-            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
-            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
-            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
-            174, 174, 174, 174, 174, 174, 174, 174, 668, 174, 174, 920, 174, 174, 1175, 174,
-
-        };
-    }
-}
--- a/jdk/src/share/classes/sun/nio/cs/ext/IBM1025.java	Wed Jul 05 16:44:40 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,272 +0,0 @@
-
-/*
- * Copyright 2003-2004 Sun Microsystems, Inc.  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.  Sun designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
- */
-
-package sun.nio.cs.ext;
-
-
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetDecoder;
-import java.nio.charset.CharsetEncoder;
-import sun.nio.cs.StandardCharsets;
-import sun.nio.cs.SingleByteDecoder;
-import sun.nio.cs.SingleByteEncoder;
-import sun.nio.cs.HistoricallyNamedCharset;
-
-public class IBM1025
-    extends Charset
-    implements HistoricallyNamedCharset
-{
-
-    public IBM1025() {
-        super("x-IBM1025", ExtendedCharsets.aliasesFor("x-IBM1025"));
-    }
-
-    public String historicalName() {
-        return "Cp1025";
-    }
-
-    public boolean contains(Charset cs) {
-        return (cs instanceof IBM1025);
-    }
-
-    public CharsetDecoder newDecoder() {
-        return new Decoder(this);
-    }
-
-    public CharsetEncoder newEncoder() {
-        return new Encoder(this);
-    }
-
-
-    /**
-     * These accessors are temporarily supplied while sun.io
-     * converters co-exist with the sun.nio.cs.{ext} charset coders
-     * These facilitate sharing of conversion tables between the
-     * two co-existing implementations. When sun.io converters
-     * are made extinct these will be unncessary and should be removed
-     */
-
-    public String getDecoderSingleByteMappings() {
-        return Decoder.byteToCharTable;
-
-    }
-
-    public short[] getEncoderIndex1() {
-        return Encoder.index1;
-
-    }
-    public String getEncoderIndex2() {
-        return Encoder.index2;
-
-    }
-
-    private static class Decoder extends SingleByteDecoder {
-            public Decoder(Charset cs) {
-                super(cs, byteToCharTable);
-        }
-
-        private final static String byteToCharTable =
-
-            "\u0446\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +        // 0x80 - 0x87
-            "\u0068\u0069\u0434\u0435\u0444\u0433\u0445\u0438" +        // 0x88 - 0x8F
-            "\u0439\u006A\u006B\u006C\u006D\u006E\u006F\u0070" +        // 0x90 - 0x97
-            "\u0071\u0072\u043A\u043B\u043C\u043D\u043E\u043F" +        // 0x98 - 0x9F
-            "\u044F\u007E\u0073\u0074\u0075\u0076\u0077\u0078" +        // 0xA0 - 0xA7
-            "\u0079\u007A\u0440\u0441\u0442\u0443\u0436\u0432" +        // 0xA8 - 0xAF
-            "\u044C\u044B\u0437\u0448\u044D\u0449\u0447\u044A" +        // 0xB0 - 0xB7
-            "\u042E\u0410\u0411\u0426\u0414\u0415\u0424\u0413" +        // 0xB8 - 0xBF
-            "\u007B\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +        // 0xC0 - 0xC7
-            "\u0048\u0049\u0425\u0418\u0419\u041A\u041B\u041C" +        // 0xC8 - 0xCF
-            "\u007D\u004A\u004B\u004C\u004D\u004E\u004F\u0050" +        // 0xD0 - 0xD7
-            "\u0051\u0052\u041D\u041E\u041F\u042F\u0420\u0421" +        // 0xD8 - 0xDF
-            "\\\u00A7\u0053\u0054\u0055\u0056\u0057\u0058" +    // 0xE0 - 0xE7
-            "\u0059\u005A\u0422\u0423\u0416\u0412\u042C\u042B" +        // 0xE8 - 0xEF
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +        // 0xF0 - 0xF7
-            "\u0038\u0039\u0417\u0428\u042D\u0429\u0427\u009F" +        // 0xF8 - 0xFF
-            "\u0000\u0001\u0002\u0003\u009C\t\u0086\u007F" +    // 0x00 - 0x07
-            "\u0097\u008D\u008E\u000B\f\r\u000E\u000F" +        // 0x08 - 0x0F
-            "\u0010\u0011\u0012\u0013\u009D\n\b\u0087" +        // 0x10 - 0x17
-            "\u0018\u0019\u0092\u008F\u001C\u001D\u001E\u001F" +        // 0x18 - 0x1F
-            "\u0080\u0081\u0082\u0083\u0084\n\u0017\u001B" +    // 0x20 - 0x27
-            "\u0088\u0089\u008A\u008B\u008C\u0005\u0006\u0007" +        // 0x28 - 0x2F
-            "\u0090\u0091\u0016\u0093\u0094\u0095\u0096\u0004" +        // 0x30 - 0x37
-            "\u0098\u0099\u009A\u009B\u0014\u0015\u009E\u001A" +        // 0x38 - 0x3F
-            "\u0020\u00A0\u0452\u0453\u0451\u0454\u0455\u0456" +        // 0x40 - 0x47
-            "\u0457\u0458\u005B\u002E\u003C\u0028\u002B\u0021" +        // 0x48 - 0x4F
-            "\u0026\u0459\u045A\u045B\u045C\u045E\u045F\u042A" +        // 0x50 - 0x57
-            "\u2116\u0402\u005D\u0024\u002A\u0029\u003B\u005E" +        // 0x58 - 0x5F
-            "\u002D\u002F\u0403\u0401\u0404\u0405\u0406\u0407" +        // 0x60 - 0x67
-            "\u0408\u0409\u007C\u002C\u0025\u005F\u003E\u003F" +        // 0x68 - 0x6F
-            "\u040A\u040B\u040C\u00AD\u040E\u040F\u044E\u0430" +        // 0x70 - 0x77
-            "\u0431\u0060\u003A\u0023\u0040\'\u003D\"";         // 0x78 - 0x7F
-
-    }
-
-    private static class Encoder extends SingleByteEncoder {
-            public Encoder(Charset cs) {
-                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
-            }
-
-            private final static String index2 =
-
-
-            "\u0000\u0001\u0002\u0003\u0037\u002D\u002E\u002F" +
-            "\u0016\u0005\u0015\u000B\f\r\u000E\u000F" +
-            "\u0010\u0011\u0012\u0013\u003C\u003D\u0032\u0026" +
-            "\u0018\u0019\u003F\'\u001C\u001D\u001E\u001F" +
-            "\u0040\u004F\u007F\u007B\u005B\u006C\u0050\u007D" +
-            "\u004D\u005D\\\u004E\u006B\u0060\u004B\u0061" +
-            "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" +
-            "\u00F8\u00F9\u007A\u005E\u004C\u007E\u006E\u006F" +
-            "\u007C\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" +
-            "\u00C8\u00C9\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6" +
-            "\u00D7\u00D8\u00D9\u00E2\u00E3\u00E4\u00E5\u00E6" +
-            "\u00E7\u00E8\u00E9\u004A\u00E0\u005A\u005F\u006D" +
-            "\u0079\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +
-            "\u0088\u0089\u0091\u0092\u0093\u0094\u0095\u0096" +
-            "\u0097\u0098\u0099\u00A2\u00A3\u00A4\u00A5\u00A6" +
-            "\u00A7\u00A8\u00A9\u00C0\u006A\u00D0\u00A1\u0007" +
-            "\u0020\u0021\"\u0023\u0024\u0015\u0006\u0017" +
-            "\u0028\u0029\u002A\u002B\u002C\t\n\u001B" +
-            "\u0030\u0031\u001A\u0033\u0034\u0035\u0036\b" +
-            "\u0038\u0039\u003A\u003B\u0004\u0014\u003E\u00FF" +
-            "\u0041\u0000\u0000\u0000\u0000\u0000\u0000\u00E1" +
-            "\u0000\u0000\u0000\u0000\u0000\u0073\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0063\u0059" +
-            "\u0062\u0064\u0065\u0066\u0067\u0068\u0069\u0070" +
-            "\u0071\u0072\u0000\u0074\u0075\u00B9\u00BA\u00ED" +
-            "\u00BF\u00BC\u00BD\u00EC\u00FA\u00CB\u00CC\u00CD" +
-            "\u00CE\u00CF\u00DA\u00DB\u00DC\u00DE\u00DF\u00EA" +
-            "\u00EB\u00BE\u00CA\u00BB\u00FE\u00FB\u00FD\u0057" +
-            "\u00EF\u00EE\u00FC\u00B8\u00DD\u0077\u0078\u00AF" +
-            "\u008D\u008A\u008B\u00AE\u00B2\u008F\u0090\u009A" +
-            "\u009B\u009C\u009D\u009E\u009F\u00AA\u00AB\u00AC" +
-            "\u00AD\u008C\u008E\u0080\u00B6\u00B3\u00B5\u00B7" +
-            "\u00B1\u00B0\u00B4\u0076\u00A0\u0000\u0044\u0042" +
-            "\u0043\u0045\u0046\u0047\u0048\u0049\u0051\u0052" +
-            "\u0053\u0054\u0000\u0055\u0056\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0058\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000";
-
-    private final static short index1[] = {
-            0, 174, 174, 174, 429, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
-            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
-            174, 663, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
-            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
-            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
-            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
-            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
-            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
-            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
-            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
-            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
-            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
-            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
-            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
-            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
-            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
-
-        };
-    }
-}
--- a/jdk/src/share/classes/sun/nio/cs/ext/IBM1026.java	Wed Jul 05 16:44:40 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,233 +0,0 @@
-
-/*
- * Copyright 2003-2004 Sun Microsystems, Inc.  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.  Sun designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
- */
-
-package sun.nio.cs.ext;
-
-
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetDecoder;
-import java.nio.charset.CharsetEncoder;
-import sun.nio.cs.StandardCharsets;
-import sun.nio.cs.SingleByteDecoder;
-import sun.nio.cs.SingleByteEncoder;
-import sun.nio.cs.HistoricallyNamedCharset;
-
-public class IBM1026
-    extends Charset
-    implements HistoricallyNamedCharset
-{
-
-    public IBM1026() {
-        super("IBM1026", ExtendedCharsets.aliasesFor("IBM1026"));
-    }
-
-    public String historicalName() {
-        return "Cp1026";
-    }
-
-    public boolean contains(Charset cs) {
-        return (cs instanceof IBM1026);
-    }
-
-    public CharsetDecoder newDecoder() {
-        return new Decoder(this);
-    }
-
-    public CharsetEncoder newEncoder() {
-        return new Encoder(this);
-    }
-
-
-    /**
-     * These accessors are temporarily supplied while sun.io
-     * converters co-exist with the sun.nio.cs.{ext} charset coders
-     * These facilitate sharing of conversion tables between the
-     * two co-existing implementations. When sun.io converters
-     * are made extinct these will be unncessary and should be removed
-     */
-
-    public String getDecoderSingleByteMappings() {
-        return Decoder.byteToCharTable;
-
-    }
-
-    public short[] getEncoderIndex1() {
-        return Encoder.index1;
-
-    }
-    public String getEncoderIndex2() {
-        return Encoder.index2;
-
-    }
-
-    private static class Decoder extends SingleByteDecoder {
-            public Decoder(Charset cs) {
-                super(cs, byteToCharTable);
-        }
-
-        private final static String byteToCharTable =
-
-            "\u00D8\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +        // 0x80 - 0x87
-            "\u0068\u0069\u00AB\u00BB\u007D\u0060\u00A6\u00B1" +        // 0x88 - 0x8F
-            "\u00B0\u006A\u006B\u006C\u006D\u006E\u006F\u0070" +        // 0x90 - 0x97
-            "\u0071\u0072\u00AA\u00BA\u00E6\u00B8\u00C6\u00A4" +        // 0x98 - 0x9F
-            "\u00B5\u00F6\u0073\u0074\u0075\u0076\u0077\u0078" +        // 0xA0 - 0xA7
-            "\u0079\u007A\u00A1\u00BF\u005D\u0024\u0040\u00AE" +        // 0xA8 - 0xAF
-            "\u00A2\u00A3\u00A5\u00B7\u00A9\u00A7\u00B6\u00BC" +        // 0xB0 - 0xB7
-            "\u00BD\u00BE\u00AC\u007C\u00AF\u00A8\u00B4\u00D7" +        // 0xB8 - 0xBF
-            "\u00E7\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +        // 0xC0 - 0xC7
-            "\u0048\u0049\u00AD\u00F4\u007E\u00F2\u00F3\u00F5" +        // 0xC8 - 0xCF
-            "\u011F\u004A\u004B\u004C\u004D\u004E\u004F\u0050" +        // 0xD0 - 0xD7
-            "\u0051\u0052\u00B9\u00FB\\\u00F9\u00FA\u00FF" +    // 0xD8 - 0xDF
-            "\u00FC\u00F7\u0053\u0054\u0055\u0056\u0057\u0058" +        // 0xE0 - 0xE7
-            "\u0059\u005A\u00B2\u00D4\u0023\u00D2\u00D3\u00D5" +        // 0xE8 - 0xEF
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +        // 0xF0 - 0xF7
-            "\u0038\u0039\u00B3\u00DB\"\u00D9\u00DA\u009F" +    // 0xF8 - 0xFF
-            "\u0000\u0001\u0002\u0003\u009C\t\u0086\u007F" +    // 0x00 - 0x07
-            "\u0097\u008D\u008E\u000B\f\r\u000E\u000F" +        // 0x08 - 0x0F
-            "\u0010\u0011\u0012\u0013\u009D\n\b\u0087" +        // 0x10 - 0x17
-            "\u0018\u0019\u0092\u008F\u001C\u001D\u001E\u001F" +        // 0x18 - 0x1F
-            "\u0080\u0081\u0082\u0083\u0084\n\u0017\u001B" +    // 0x20 - 0x27
-            "\u0088\u0089\u008A\u008B\u008C\u0005\u0006\u0007" +        // 0x28 - 0x2F
-            "\u0090\u0091\u0016\u0093\u0094\u0095\u0096\u0004" +        // 0x30 - 0x37
-            "\u0098\u0099\u009A\u009B\u0014\u0015\u009E\u001A" +        // 0x38 - 0x3F
-            "\u0020\u00A0\u00E2\u00E4\u00E0\u00E1\u00E3\u00E5" +        // 0x40 - 0x47
-            "\u007B\u00F1\u00C7\u002E\u003C\u0028\u002B\u0021" +        // 0x48 - 0x4F
-            "\u0026\u00E9\u00EA\u00EB\u00E8\u00ED\u00EE\u00EF" +        // 0x50 - 0x57
-            "\u00EC\u00DF\u011E\u0130\u002A\u0029\u003B\u005E" +        // 0x58 - 0x5F
-            "\u002D\u002F\u00C2\u00C4\u00C0\u00C1\u00C3\u00C5" +        // 0x60 - 0x67
-            "\u005B\u00D1\u015F\u002C\u0025\u005F\u003E\u003F" +        // 0x68 - 0x6F
-            "\u00F8\u00C9\u00CA\u00CB\u00C8\u00CD\u00CE\u00CF" +        // 0x70 - 0x77
-            "\u00CC\u0131\u003A\u00D6\u015E\'\u003D\u00DC";     // 0x78 - 0x7F
-
-    }
-
-    private static class Encoder extends SingleByteEncoder {
-            public Encoder(Charset cs) {
-                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
-            }
-
-            private final static String index2 =
-
-
-            "\u0000\u0001\u0002\u0003\u0037\u002D\u002E\u002F" +
-            "\u0016\u0005\u0015\u000B\f\r\u000E\u000F" +
-            "\u0010\u0011\u0012\u0013\u003C\u003D\u0032\u0026" +
-            "\u0018\u0019\u003F\'\u001C\u001D\u001E\u001F" +
-            "\u0040\u004F\u00FC\u00EC\u00AD\u006C\u0050\u007D" +
-            "\u004D\u005D\\\u004E\u006B\u0060\u004B\u0061" +
-            "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" +
-            "\u00F8\u00F9\u007A\u005E\u004C\u007E\u006E\u006F" +
-            "\u00AE\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" +
-            "\u00C8\u00C9\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6" +
-            "\u00D7\u00D8\u00D9\u00E2\u00E3\u00E4\u00E5\u00E6" +
-            "\u00E7\u00E8\u00E9\u0068\u00DC\u00AC\u005F\u006D" +
-            "\u008D\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +
-            "\u0088\u0089\u0091\u0092\u0093\u0094\u0095\u0096" +
-            "\u0097\u0098\u0099\u00A2\u00A3\u00A4\u00A5\u00A6" +
-            "\u00A7\u00A8\u00A9\u0048\u00BB\u008C\u00CC\u0007" +
-            "\u0020\u0021\"\u0023\u0024\u0015\u0006\u0017" +
-            "\u0028\u0029\u002A\u002B\u002C\t\n\u001B" +
-            "\u0030\u0031\u001A\u0033\u0034\u0035\u0036\b" +
-            "\u0038\u0039\u003A\u003B\u0004\u0014\u003E\u00FF" +
-            "\u0041\u00AA\u00B0\u00B1\u009F\u00B2\u008E\u00B5" +
-            "\u00BD\u00B4\u009A\u008A\u00BA\u00CA\u00AF\u00BC" +
-            "\u0090\u008F\u00EA\u00FA\u00BE\u00A0\u00B6\u00B3" +
-            "\u009D\u00DA\u009B\u008B\u00B7\u00B8\u00B9\u00AB" +
-            "\u0064\u0065\u0062\u0066\u0063\u0067\u009E\u004A" +
-            "\u0074\u0071\u0072\u0073\u0078\u0075\u0076\u0077" +
-            "\u0000\u0069\u00ED\u00EE\u00EB\u00EF\u007B\u00BF" +
-            "\u0080\u00FD\u00FE\u00FB\u007F\u0000\u0000\u0059" +
-            "\u0044\u0045\u0042\u0046\u0043\u0047\u009C\u00C0" +
-            "\u0054\u0051\u0052\u0053\u0058\u0055\u0056\u0057" +
-            "\u0000\u0049\u00CD\u00CE\u00CB\u00CF\u00A1\u00E1" +
-            "\u0070\u00DD\u00DE\u00DB\u00E0\u0000\u0000\u00DF" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u005A\u00D0" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u005B\u0079\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u007C\u006A" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000";
-
-    private final static short index1[] = {
-            0, 256, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352,
-            352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352,
-            352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352,
-            352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352,
-            352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352,
-            352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352,
-            352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352,
-            352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352,
-            352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352,
-            352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352,
-            352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352,
-            352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352,
-            352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352,
-            352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352,
-            352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352,
-            352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352, 352,
-
-        };
-    }
-}
--- a/jdk/src/share/classes/sun/nio/cs/ext/IBM1046.java	Wed Jul 05 16:44:40 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,335 +0,0 @@
-
-/*
- * Copyright 2003-2004 Sun Microsystems, Inc.  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.  Sun designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
- */
-
-package sun.nio.cs.ext;
-
-
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetDecoder;
-import java.nio.charset.CharsetEncoder;
-import sun.nio.cs.StandardCharsets;
-import sun.nio.cs.SingleByteDecoder;
-import sun.nio.cs.SingleByteEncoder;
-import sun.nio.cs.HistoricallyNamedCharset;
-
-public class IBM1046
-    extends Charset
-    implements HistoricallyNamedCharset
-{
-
-    public IBM1046() {
-        super("x-IBM1046", ExtendedCharsets.aliasesFor("x-IBM1046"));
-    }
-
-    public String historicalName() {
-        return "Cp1046";
-    }
-
-    public boolean contains(Charset cs) {
-        return (cs instanceof IBM1046);
-    }
-
-    public CharsetDecoder newDecoder() {
-        return new Decoder(this);
-    }
-
-    public CharsetEncoder newEncoder() {
-        return new Encoder(this);
-    }
-
-
-    /**
-     * These accessors are temporarily supplied while sun.io
-     * converters co-exist with the sun.nio.cs.{ext} charset coders
-     * These facilitate sharing of conversion tables between the
-     * two co-existing implementations. When sun.io converters
-     * are made extinct these will be unncessary and should be removed
-     */
-
-    public String getDecoderSingleByteMappings() {
-        return Decoder.byteToCharTable;
-
-    }
-
-    public short[] getEncoderIndex1() {
-        return Encoder.index1;
-
-    }
-    public String getEncoderIndex2() {
-        return Encoder.index2;
-
-    }
-
-    private static class Decoder extends SingleByteDecoder {
-            public Decoder(Charset cs) {
-                super(cs, byteToCharTable);
-        }
-
-        private final static String byteToCharTable =
-
-            "\uFE88\u00D7\u00F7\uF8F6\uF8F5\uF8F4\uF8F7\uFE71" +        // 0x80 - 0x87
-            "\u0088\u25A0\u2502\u2500\u2510\u250C\u2514\u2518" +        // 0x88 - 0x8F
-            "\uFE79\uFE7B\uFE7D\uFE7F\uFE77\uFE8A\uFEF0\uFEF3" +        // 0x90 - 0x97
-            "\uFEF2\uFECE\uFECF\uFED0\uFEF6\uFEF8\uFEFA\uFEFC" +        // 0x98 - 0x9F
-            "\u00A0\uF8FA\uF8F9\uF8F8\u00A4\uF8FB\uFE8B\uFE91" +        // 0xA0 - 0xA7
-            "\uFE97\uFE9B\uFE9F\uFEA3\u060C\u00AD\uFEA7\uFEB3" +        // 0xA8 - 0xAF
-            "\u0660\u0661\u0662\u0663\u0664\u0665\u0666\u0667" +        // 0xB0 - 0xB7
-            "\u0668\u0669\uFEB7\u061B\uFEBB\uFEBF\uFECA\u061F" +        // 0xB8 - 0xBF
-            "\uFECB\uFE80\uFE81\uFE83\uFE85\uFE87\uFE89\uFE8D" +        // 0xC0 - 0xC7
-            "\uFE8F\uFE93\uFE95\uFE99\uFE9D\uFEA1\uFEA5\uFEA9" +        // 0xC8 - 0xCF
-            "\uFEAB\uFEAD\uFEAF\uFEB1\uFEB5\uFEB9\uFEBD\uFEC3" +        // 0xD0 - 0xD7
-            "\uFEC7\uFEC9\uFECD\uFECC\uFE82\uFE84\uFE8E\uFED3" +        // 0xD8 - 0xDF
-            "\u0640\uFED1\uFED5\uFED9\uFEDD\uFEE1\uFEE5\uFEEB" +        // 0xE0 - 0xE7
-            "\uFEED\uFEEF\uFEF1\uFE70\uFE72\uFE74\uFE76\uFE78" +        // 0xE8 - 0xEF
-            "\uFE7A\uFE7C\uFE7E\uFED7\uFEDB\uFEDF\uF8FC\uFEF5" +        // 0xF0 - 0xF7
-            "\uFEF7\uFEF9\uFEFB\uFEE3\uFEE7\uFEEC\uFEE9\uFFFD" +        // 0xF8 - 0xFF
-            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +        // 0x00 - 0x07
-            "\b\t\n\u000B\f\r\u000E\u000F" +    // 0x08 - 0x0F
-            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +        // 0x10 - 0x17
-            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +        // 0x18 - 0x1F
-            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +        // 0x20 - 0x27
-            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +        // 0x28 - 0x2F
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +        // 0x30 - 0x37
-            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +        // 0x38 - 0x3F
-            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +        // 0x40 - 0x47
-            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +        // 0x48 - 0x4F
-            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +        // 0x50 - 0x57
-            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +    // 0x58 - 0x5F
-            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +        // 0x60 - 0x67
-            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +        // 0x68 - 0x6F
-            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +        // 0x70 - 0x77
-            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";         // 0x78 - 0x7F
-
-    }
-
-    private static class Encoder extends SingleByteEncoder {
-            public Encoder(Charset cs) {
-                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
-            }
-
-            private final static String index2 =
-
-
-            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
-            "\b\t\n\u000B\f\r\u000E\u000F" +
-            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
-            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
-            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
-            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
-            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
-            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
-            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
-            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
-            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
-            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
-            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
-            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
-            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0088\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00A0\u0000\u0000\u0000\u00A4\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u00AD\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0081" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0082" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00AC\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00BB" +
-            "\u0000\u0000\u0000\u00BF\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u00E0\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u00B0\u00B1\u00B2\u00B3" +
-            "\u00B4\u00B5\u00B6\u00B7\u00B8\u00B9\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u008B\u0000\u008A\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u008D\u0000\u0000\u0000\u008C\u0000\u0000\u0000" +
-            "\u008E\u0000\u0000\u0000\u008F\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0089\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0085\u0084\u0083\u0086\u00A3\u00A2\u00A1" +
-            "\u00A5\u00F6\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u00EB\u0087\u00EC\u0000\u00ED\u0000" +
-            "\u00EE\u0094\u00EF\u0090\u00F0\u0091\u00F1\u0092" +
-            "\u00F2\u0093\u00C1\u00C2\u00DC\u00C3\u00DD\u00C4" +
-            "\u0000\u00C5\u0080\u00C6\u0095\u00A6\u0000\u00C7" +
-            "\u00DE\u00C8\u0000\u00A7\u0000\u00C9\u0000\u00CA" +
-            "\u0000\u00A8\u0000\u00CB\u0000\u00A9\u0000\u00CC" +
-            "\u0000\u00AA\u0000\u00CD\u0000\u00AB\u0000\u00CE" +
-            "\u0000\u00AE\u0000\u00CF\u0000\u00D0\u0000\u00D1" +
-            "\u0000\u00D2\u0000\u00D3\u0000\u00AF\u0000\u00D4" +
-            "\u0000\u00BA\u0000\u00D5\u0000\u00BC\u0000\u00D6" +
-            "\u0000\u00BD\u0000\u0000\u0000\u00D7\u0000\u0000" +
-            "\u0000\u00D8\u0000\u00D9\u00BE\u00C0\u00DB\u00DA" +
-            "\u0099\u009A\u009B\u00E1\u0000\u00DF\u0000\u00E2" +
-            "\u0000\u00F3\u0000\u00E3\u0000\u00F4\u0000\u00E4" +
-            "\u0000\u00F5\u0000\u00E5\u0000\u00FB\u0000\u00E6" +
-            "\u0000\u00FC\u0000\u00FE\u0000\u00E7\u00FD\u00E8" +
-            "\u0000\u00E9\u0096\u00EA\u0098\u0097\u0000\u00F7" +
-            "\u009C\u00F8\u009D\u00F9\u009E\u00FA\u009F\u0000" +
-            "\u0000\u0000";
-
-    private final static short index1[] = {
-            0, 248, 248, 248, 248, 248, 492, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 748, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 909, 248, 248, 248, 248, 248, 1162, 248,
-
-        };
-    }
-}
--- a/jdk/src/share/classes/sun/nio/cs/ext/IBM1047.java	Wed Jul 05 16:44:40 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,221 +0,0 @@
-
-/*
- * Copyright 2003-2004 Sun Microsystems, Inc.  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.  Sun designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
- */
-
-package sun.nio.cs.ext;
-
-
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetDecoder;
-import java.nio.charset.CharsetEncoder;
-import sun.nio.cs.StandardCharsets;
-import sun.nio.cs.SingleByteDecoder;
-import sun.nio.cs.SingleByteEncoder;
-import sun.nio.cs.HistoricallyNamedCharset;
-
-public class IBM1047
-    extends Charset
-    implements HistoricallyNamedCharset
-{
-
-    public IBM1047() {
-        super("IBM1047", ExtendedCharsets.aliasesFor("IBM1047"));
-    }
-
-    public String historicalName() {
-        return "Cp1047";
-    }
-
-    public boolean contains(Charset cs) {
-        return (cs instanceof IBM1047);
-    }
-
-    public CharsetDecoder newDecoder() {
-        return new Decoder(this);
-    }
-
-    public CharsetEncoder newEncoder() {
-        return new Encoder(this);
-    }
-
-
-    /**
-     * These accessors are temporarily supplied while sun.io
-     * converters co-exist with the sun.nio.cs.{ext} charset coders
-     * These facilitate sharing of conversion tables between the
-     * two co-existing implementations. When sun.io converters
-     * are made extinct these will be unncessary and should be removed
-     */
-
-    public String getDecoderSingleByteMappings() {
-        return Decoder.byteToCharTable;
-
-    }
-
-    public short[] getEncoderIndex1() {
-        return Encoder.index1;
-
-    }
-    public String getEncoderIndex2() {
-        return Encoder.index2;
-
-    }
-
-    private static class Decoder extends SingleByteDecoder {
-            public Decoder(Charset cs) {
-                super(cs, byteToCharTable);
-        }
-
-        private final static String byteToCharTable =
-
-            "\u00D8\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +     // 0x80 - 0x87
-            "\u0068\u0069\u00AB\u00BB\u00F0\u00FD\u00FE\u00B1" +     // 0x88 - 0x8F
-            "\u00B0\u006A\u006B\u006C\u006D\u006E\u006F\u0070" +     // 0x90 - 0x97
-            "\u0071\u0072\u00AA\u00BA\u00E6\u00B8\u00C6\u00A4" +     // 0x98 - 0x9F
-            "\u00B5\u007E\u0073\u0074\u0075\u0076\u0077\u0078" +     // 0xA0 - 0xA7
-            "\u0079\u007A\u00A1\u00BF\u00D0\u005B\u00DE\u00AE" +     // 0xA8 - 0xAF
-            "\u00AC\u00A3\u00A5\u00B7\u00A9\u00A7\u00B6\u00BC" +     // 0xB0 - 0xB7
-            "\u00BD\u00BE\u00DD\u00A8\u00AF\u005D\u00B4\u00D7" +     // 0xB8 - 0xBF
-            "\u007B\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +     // 0xC0 - 0xC7
-            "\u0048\u0049\u00AD\u00F4\u00F6\u00F2\u00F3\u00F5" +     // 0xC8 - 0xCF
-            "\u007D\u004A\u004B\u004C\u004D\u004E\u004F\u0050" +     // 0xD0 - 0xD7
-            "\u0051\u0052\u00B9\u00FB\u00FC\u00F9\u00FA\u00FF" +     // 0xD8 - 0xDF
-            "\\\u00F7\u0053\u0054\u0055\u0056\u0057\u0058" +     // 0xE0 - 0xE7
-            "\u0059\u005A\u00B2\u00D4\u00D6\u00D2\u00D3\u00D5" +     // 0xE8 - 0xEF
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +     // 0xF0 - 0xF7
-            "\u0038\u0039\u00B3\u00DB\u00DC\u00D9\u00DA\u009F" +     // 0xF8 - 0xFF
-            "\u0000\u0001\u0002\u0003\u009C\t\u0086\u007F" +     // 0x00 - 0x07
-            "\u0097\u008D\u008E\u000B\f\r\u000E\u000F" +     // 0x08 - 0x0F
-            "\u0010\u0011\u0012\u0013\u009D\n\b\u0087" +     // 0x10 - 0x17
-            "\u0018\u0019\u0092\u008F\u001C\u001D\u001E\u001F" +     // 0x18 - 0x1F
-            "\u0080\u0081\u0082\u0083\u0084\u0085\u0017\u001B" +     // 0x20 - 0x27
-            "\u0088\u0089\u008A\u008B\u008C\u0005\u0006\u0007" +     // 0x28 - 0x2F
-            "\u0090\u0091\u0016\u0093\u0094\u0095\u0096\u0004" +     // 0x30 - 0x37
-            "\u0098\u0099\u009A\u009B\u0014\u0015\u009E\u001A" +     // 0x38 - 0x3F
-            "\u0020\u00A0\u00E2\u00E4\u00E0\u00E1\u00E3\u00E5" +     // 0x40 - 0x47
-            "\u00E7\u00F1\u00A2\u002E\u003C\u0028\u002B\u007C" +     // 0x48 - 0x4F
-            "\u0026\u00E9\u00EA\u00EB\u00E8\u00ED\u00EE\u00EF" +     // 0x50 - 0x57
-            "\u00EC\u00DF\u0021\u0024\u002A\u0029\u003B\u005E" +     // 0x58 - 0x5F
-            "\u002D\u002F\u00C2\u00C4\u00C0\u00C1\u00C3\u00C5" +     // 0x60 - 0x67
-            "\u00C7\u00D1\u00A6\u002C\u0025\u005F\u003E\u003F" +     // 0x68 - 0x6F
-            "\u00F8\u00C9\u00CA\u00CB\u00C8\u00CD\u00CE\u00CF" +     // 0x70 - 0x77
-            "\u00CC\u0060\u003A\u0023\u0040\'\u003D\"";     // 0x78 - 0x7F
-
-    }
-
-    private static class Encoder extends SingleByteEncoder {
-            public Encoder(Charset cs) {
-                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
-            }
-
-            private final static String index2 =
-
-
-            "\u0000\u0001\u0002\u0003\u0037\u002D\u002E\u002F" +
-            "\u0016\u0005\u0015\u000B\f\r\u000E\u000F" +
-            "\u0010\u0011\u0012\u0013\u003C\u003D\u0032\u0026" +
-            "\u0018\u0019\u003F\'\u001C\u001D\u001E\u001F" +
-            "\u0040\u005A\u007F\u007B\u005B\u006C\u0050\u007D" +
-            "\u004D\u005D\\\u004E\u006B\u0060\u004B\u0061" +
-            "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" +
-            "\u00F8\u00F9\u007A\u005E\u004C\u007E\u006E\u006F" +
-            "\u007C\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" +
-            "\u00C8\u00C9\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6" +
-            "\u00D7\u00D8\u00D9\u00E2\u00E3\u00E4\u00E5\u00E6" +
-            "\u00E7\u00E8\u00E9\u00AD\u00E0\u00BD\u005F\u006D" +
-            "\u0079\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +
-            "\u0088\u0089\u0091\u0092\u0093\u0094\u0095\u0096" +
-            "\u0097\u0098\u0099\u00A2\u00A3\u00A4\u00A5\u00A6" +
-            "\u00A7\u00A8\u00A9\u00C0\u004F\u00D0\u00A1\u0007" +
-            "\u0020\u0021\"\u0023\u0024\u0025\u0006\u0017" +
-            "\u0028\u0029\u002A\u002B\u002C\t\n\u001B" +
-            "\u0030\u0031\u001A\u0033\u0034\u0035\u0036\b" +
-            "\u0038\u0039\u003A\u003B\u0004\u0014\u003E\u00FF" +
-            "\u0041\u00AA\u004A\u00B1\u009F\u00B2\u006A\u00B5" +
-            "\u00BB\u00B4\u009A\u008A\u00B0\u00CA\u00AF\u00BC" +
-            "\u0090\u008F\u00EA\u00FA\u00BE\u00A0\u00B6\u00B3" +
-            "\u009D\u00DA\u009B\u008B\u00B7\u00B8\u00B9\u00AB" +
-            "\u0064\u0065\u0062\u0066\u0063\u0067\u009E\u0068" +
-            "\u0074\u0071\u0072\u0073\u0078\u0075\u0076\u0077" +
-            "\u00AC\u0069\u00ED\u00EE\u00EB\u00EF\u00EC\u00BF" +
-            "\u0080\u00FD\u00FE\u00FB\u00FC\u00BA\u00AE\u0059" +
-            "\u0044\u0045\u0042\u0046\u0043\u0047\u009C\u0048" +
-            "\u0054\u0051\u0052\u0053\u0058\u0055\u0056\u0057" +
-            "\u008C\u0049\u00CD\u00CE\u00CB\u00CF\u00CC\u00E1" +
-            "\u0070\u00DD\u00DE\u00DB\u00DC\u008D\u008E\u00DF" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000";
-
-    private final static short index1[] = {
-            0, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-
-        };
-    }
-}
--- a/jdk/src/share/classes/sun/nio/cs/ext/IBM1097.java	Wed Jul 05 16:44:40 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,342 +0,0 @@
-
-/*
- * Copyright 2003-2004 Sun Microsystems, Inc.  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.  Sun designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
- */
-
-package sun.nio.cs.ext;
-
-
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetDecoder;
-import java.nio.charset.CharsetEncoder;
-import sun.nio.cs.StandardCharsets;
-import sun.nio.cs.SingleByteDecoder;
-import sun.nio.cs.SingleByteEncoder;
-import sun.nio.cs.HistoricallyNamedCharset;
-
-public class IBM1097
-    extends Charset
-    implements HistoricallyNamedCharset
-{
-
-    public IBM1097() {
-        super("x-IBM1097", ExtendedCharsets.aliasesFor("x-IBM1097"));
-    }
-
-    public String historicalName() {
-        return "Cp1097";
-    }
-
-    public boolean contains(Charset cs) {
-        return (cs instanceof IBM1097);
-    }
-
-    public CharsetDecoder newDecoder() {
-        return new Decoder(this);
-    }
-
-    public CharsetEncoder newEncoder() {
-        return new Encoder(this);
-    }
-
-
-    /**
-     * These accessors are temporarily supplied while sun.io
-     * converters co-exist with the sun.nio.cs.{ext} charset coders
-     * These facilitate sharing of conversion tables between the
-     * two co-existing implementations. When sun.io converters
-     * are made extinct these will be unncessary and should be removed
-     */
-
-    public String getDecoderSingleByteMappings() {
-        return Decoder.byteToCharTable;
-
-    }
-
-    public short[] getEncoderIndex1() {
-        return Encoder.index1;
-
-    }
-    public String getEncoderIndex2() {
-        return Encoder.index2;
-
-    }
-
-    private static class Decoder extends SingleByteDecoder {
-            public Decoder(Charset cs) {
-                super(cs, byteToCharTable);
-        }
-
-        private final static String byteToCharTable =
-
-            "\uFB8A\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +        // 0x80 - 0x87
-            "\u0068\u0069\u00AB\u00BB\uFEB1\uFEB3\uFEB5\uFEB7" +        // 0x88 - 0x8F
-            "\uFEB9\u006A\u006B\u006C\u006D\u006E\u006F\u0070" +        // 0x90 - 0x97
-            "\u0071\u0072\uFEBB\uFEBD\uFEBF\uFEC1\uFEC3\uFEC5" +        // 0x98 - 0x9F
-            "\uFEC7\u007E\u0073\u0074\u0075\u0076\u0077\u0078" +        // 0xA0 - 0xA7
-            "\u0079\u007A\uFEC9\uFECA\uFECB\uFECC\uFECD\uFECE" +        // 0xA8 - 0xAF
-            "\uFECF\uFED0\uFED1\uFED3\uFED5\uFED7\uFB8E\uFEDB" +        // 0xB0 - 0xB7
-            "\uFB92\uFB94\u005B\u005D\uFEDD\uFEDF\uFEE1\u00D7" +        // 0xB8 - 0xBF
-            "\u007B\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +        // 0xC0 - 0xC7
-            "\u0048\u0049\u00AD\uFEE3\uFEE5\uFEE7\uFEED\uFEE9" +        // 0xC8 - 0xCF
-            "\u007D\u004A\u004B\u004C\u004D\u004E\u004F\u0050" +        // 0xD0 - 0xD7
-            "\u0051\u0052\uFEEB\uFEEC\uFBA4\uFBFC\uFBFD\uFBFE" +        // 0xD8 - 0xDF
-            "\\\u061F\u0053\u0054\u0055\u0056\u0057\u0058" +    // 0xE0 - 0xE7
-            "\u0059\u005A\u0640\u06F0\u06F1\u06F2\u06F3\u06F4" +        // 0xE8 - 0xEF
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +        // 0xF0 - 0xF7
-            "\u0038\u0039\u06F5\u06F6\u06F7\u06F8\u06F9\u009F" +        // 0xF8 - 0xFF
-            "\u0000\u0001\u0002\u0003\u009C\t\u0086\u007F" +    // 0x00 - 0x07
-            "\u0097\u008D\u008E\u000B\f\r\u000E\u000F" +        // 0x08 - 0x0F
-            "\u0010\u0011\u0012\u0013\u009D\u0085\b\u0087" +    // 0x10 - 0x17
-            "\u0018\u0019\u0092\u008F\u001C\u001D\u001E\u001F" +        // 0x18 - 0x1F
-            "\u0080\u0081\u0082\u0083\u0084\n\u0017\u001B" +    // 0x20 - 0x27
-            "\u0088\u0089\u008A\u008B\u008C\u0005\u0006\u0007" +        // 0x28 - 0x2F
-            "\u0090\u0091\u0016\u0093\u0094\u0095\u0096\u0004" +        // 0x30 - 0x37
-            "\u0098\u0099\u009A\u009B\u0014\u0015\u009E\u001A" +        // 0x38 - 0x3F
-            "\u0020\u00A0\u060C\u064B\uFE81\uFE82\uF8FA\uFE8D" +        // 0x40 - 0x47
-            "\uFE8E\uF8FB\u00A4\u002E\u003C\u0028\u002B\u007C" +        // 0x48 - 0x4F
-            "\u0026\uFE80\uFE83\uFE84\uF8F9\uFE85\uFE8B\uFE8F" +        // 0x50 - 0x57
-            "\uFE91\uFB56\u0021\u0024\u002A\u0029\u003B\u00AC" +        // 0x58 - 0x5F
-            "\u002D\u002F\uFB58\uFE95\uFE97\uFE99\uFE9B\uFE9D" +        // 0x60 - 0x67
-            "\uFE9F\uFB7A\u061B\u002C\u0025\u005F\u003E\u003F" +        // 0x68 - 0x6F
-            "\uFB7C\uFEA1\uFEA3\uFEA5\uFEA7\uFEA9\uFEAB\uFEAD" +        // 0x70 - 0x77
-            "\uFEAF\u0060\u003A\u0023\u0040\'\u003D\"";         // 0x78 - 0x7F
-
-    }
-
-    private static class Encoder extends SingleByteEncoder {
-            public Encoder(Charset cs) {
-                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
-            }
-
-            private final static String index2 =
-
-
-            "\u0000\u0001\u0002\u0003\u0037\u002D\u002E\u002F" +
-            "\u0016\u0005\u0025\u000B\f\r\u000E\u000F" +
-            "\u0010\u0011\u0012\u0013\u003C\u003D\u0032\u0026" +
-            "\u0018\u0019\u003F\'\u001C\u001D\u001E\u001F" +
-            "\u0040\u005A\u007F\u007B\u005B\u006C\u0050\u007D" +
-            "\u004D\u005D\\\u004E\u006B\u0060\u004B\u0061" +
-            "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" +
-            "\u00F8\u00F9\u007A\u005E\u004C\u007E\u006E\u006F" +
-            "\u007C\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" +
-            "\u00C8\u00C9\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6" +
-            "\u00D7\u00D8\u00D9\u00E2\u00E3\u00E4\u00E5\u00E6" +
-            "\u00E7\u00E8\u00E9\u00BA\u00E0\u00BB\u0000\u006D" +
-            "\u0079\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +
-            "\u0088\u0089\u0091\u0092\u0093\u0094\u0095\u0096" +
-            "\u0097\u0098\u0099\u00A2\u00A3\u00A4\u00A5\u00A6" +
-            "\u00A7\u00A8\u00A9\u00C0\u004F\u00D0\u00A1\u0007" +
-            "\u0020\u0021\"\u0023\u0024\u0015\u0006\u0017" +
-            "\u0028\u0029\u002A\u002B\u002C\t\n\u001B" +
-            "\u0030\u0031\u001A\u0033\u0034\u0035\u0036\b" +
-            "\u0038\u0039\u003A\u003B\u0004\u0014\u003E\u00FF" +
-            "\u0041\u0000\u0000\u0000\u004A\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u008A\u005F\u00CA\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u008B\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00BF" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0042\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u006A" +
-            "\u0000\u0000\u0000\u00E1\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u00EA\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0043" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u00EB\u00EC\u00ED\u00EE" +
-            "\u00EF\u00FA\u00FB\u00FC\u00FD\u00FE\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0054" +
-            "\u0046\u0049\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0059\u0000\u0062\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0069\u0000\u0070\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0080\u0000\u0000\u0000" +
-            "\u00B6\u0000\u0000\u0000\u00B8\u0000\u00B9\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u00DC\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u00DD\u00DE" +
-            "\u00DF\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0051\u0044\u0045\u0052\u0053\u0055\u0000" +
-            "\u0000\u0000\u0000\u0000\u0056\u0000\u0047\u0048" +
-            "\u0057\u0000\u0058\u0000\u0000\u0000\u0063\u0000" +
-            "\u0064\u0000\u0065\u0000\u0066\u0000\u0067\u0000" +
-            "\u0068\u0000\u0071\u0000\u0072\u0000\u0073\u0000" +
-            "\u0074\u0000\u0075\u0000\u0076\u0000\u0077\u0000" +
-            "\u0078\u0000\u008C\u0000\u008D\u0000\u008E\u0000" +
-            "\u008F\u0000\u0090\u0000\u009A\u0000\u009B\u0000" +
-            "\u009C\u0000\u009D\u0000\u009E\u0000\u009F\u0000" +
-            "\u00A0\u0000\u00AA\u00AB\u00AC\u00AD\u00AE\u00AF" +
-            "\u00B0\u00B1\u00B2\u0000\u00B3\u0000\u00B4\u0000" +
-            "\u00B5\u0000\u0000\u0000\u00B7\u0000\u00BC\u0000" +
-            "\u00BD\u0000\u00BE\u0000\u00CB\u0000\u00CC\u0000" +
-            "\u00CD\u0000\u00CF\u0000\u00DA\u00DB\u00CE\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000";
-
-    private final static short index1[] = {
-            0, 216, 216, 216, 216, 216, 460, 216, 216, 216, 216, 216, 216, 216, 216, 216,
-            216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216,
-            216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216,
-            216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216,
-            216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216,
-            216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216,
-            216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216,
-            216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216,
-            216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216,
-            216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216,
-            216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216,
-            216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216,
-            216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216,
-            216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216,
-            216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216,
-            216, 216, 216, 216, 216, 216, 216, 216, 710, 216, 216, 962, 216, 216, 1217, 216,
-
-        };
-    }
-}
--- a/jdk/src/share/classes/sun/nio/cs/ext/IBM1098.java	Wed Jul 05 16:44:40 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,362 +0,0 @@
-
-/*
- * Copyright 2003-2004 Sun Microsystems, Inc.  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.  Sun designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
- */
-
-package sun.nio.cs.ext;
-
-
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetDecoder;
-import java.nio.charset.CharsetEncoder;
-import sun.nio.cs.StandardCharsets;
-import sun.nio.cs.SingleByteDecoder;
-import sun.nio.cs.SingleByteEncoder;
-import sun.nio.cs.HistoricallyNamedCharset;
-
-public class IBM1098
-    extends Charset
-    implements HistoricallyNamedCharset
-{
-
-    public IBM1098() {
-        super("x-IBM1098", ExtendedCharsets.aliasesFor("x-IBM1098"));
-    }
-
-    public String historicalName() {
-        return "Cp1098";
-    }
-
-    public boolean contains(Charset cs) {
-        return (cs instanceof IBM1098);
-    }
-
-    public CharsetDecoder newDecoder() {
-        return new Decoder(this);
-    }
-
-    public CharsetEncoder newEncoder() {
-        return new Encoder(this);
-    }
-
-
-    /**
-     * These accessors are temporarily supplied while sun.io
-     * converters co-exist with the sun.nio.cs.{ext} charset coders
-     * These facilitate sharing of conversion tables between the
-     * two co-existing implementations. When sun.io converters
-     * are made extinct these will be unncessary and should be removed
-     */
-
-    public String getDecoderSingleByteMappings() {
-        return Decoder.byteToCharTable;
-
-    }
-
-    public short[] getEncoderIndex1() {
-        return Encoder.index1;
-
-    }
-    public String getEncoderIndex2() {
-        return Encoder.index2;
-
-    }
-
-    private static class Decoder extends SingleByteDecoder {
-            public Decoder(Charset cs) {
-                super(cs, byteToCharTable);
-        }
-
-        private final static String byteToCharTable =
-
-            "\uFFFD\uFFFD\u060C\u061B\u061F\u064B\uFE81\uFE82" +        // 0x80 - 0x87
-            "\uF8FA\uFE8D\uFE8E\uF8FB\uFE80\uFE83\uFE84\uF8F9" +        // 0x88 - 0x8F
-            "\uFE85\uFE8B\uFE8F\uFE91\uFB56\uFB58\uFE95\uFE97" +        // 0x90 - 0x97
-            "\uFE99\uFE9B\uFE9D\uFE9F\uFB7A\uFB7C\u00D7\uFEA1" +        // 0x98 - 0x9F
-            "\uFEA3\uFEA5\uFEA7\uFEA9\uFEAB\uFEAD\uFEAF\uFB8A" +        // 0xA0 - 0xA7
-            "\uFEB1\uFEB3\uFEB5\uFEB7\uFEB9\uFEBB\u00AB\u00BB" +        // 0xA8 - 0xAF
-            "\u2591\u2592\u2593\u2502\u2524\uFEBD\uFEBF\uFEC1" +        // 0xB0 - 0xB7
-            "\uFEC3\u2563\u2551\u2557\u255D\u00A4\uFEC5\u2510" +        // 0xB8 - 0xBF
-            "\u2514\u2534\u252C\u251C\u2500\u253C\uFEC7\uFEC9" +        // 0xC0 - 0xC7
-            "\u255A\u2554\u2569\u2566\u2560\u2550\u256C\uFFFD" +        // 0xC8 - 0xCF
-            "\uFECA\uFECB\uFECC\uFECD\uFECE\uFECF\uFED0\uFED1" +        // 0xD0 - 0xD7
-            "\uFED3\u2518\u250C\u2588\u2584\uFED5\uFED7\u2580" +        // 0xD8 - 0xDF
-            "\uFB8E\uFEDB\uFB92\uFB94\uFEDD\uFEDF\uFEE1\uFEE3" +        // 0xE0 - 0xE7
-            "\uFEE5\uFEE7\uFEED\uFEE9\uFEEB\uFEEC\uFBA4\uFBFC" +        // 0xE8 - 0xEF
-            "\u00AD\uFBFD\uFBFE\u0640\u06F0\u06F1\u06F2\u06F3" +        // 0xF0 - 0xF7
-            "\u06F4\u06F5\u06F6\u06F7\u06F8\u06F9\u25A0\u00A0" +        // 0xF8 - 0xFF
-            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +        // 0x00 - 0x07
-            "\b\t\n\u000B\f\r\u000E\u000F" +    // 0x08 - 0x0F
-            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +        // 0x10 - 0x17
-            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +        // 0x18 - 0x1F
-            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +        // 0x20 - 0x27
-            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +        // 0x28 - 0x2F
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +        // 0x30 - 0x37
-            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +        // 0x38 - 0x3F
-            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +        // 0x40 - 0x47
-            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +        // 0x48 - 0x4F
-            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +        // 0x50 - 0x57
-            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +    // 0x58 - 0x5F
-            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +        // 0x60 - 0x67
-            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +        // 0x68 - 0x6F
-            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +        // 0x70 - 0x77
-            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";         // 0x78 - 0x7F
-
-    }
-
-    private static class Encoder extends SingleByteEncoder {
-            public Encoder(Charset cs) {
-                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
-            }
-
-            private final static String index2 =
-
-
-            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
-            "\b\t\n\u000B\f\r\u000E\u000F" +
-            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
-            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
-            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
-            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
-            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
-            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
-            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
-            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
-            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
-            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
-            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
-            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
-            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00FF\u0000\u0000\u0000\u00BD\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u00AE\u0000\u00F0\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u00AF\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u009E" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0082\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0083" +
-            "\u0000\u0000\u0000\u0084\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u00F3\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0085" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u00F4\u00F5\u00F6\u00F7" +
-            "\u00F8\u00F9\u00FA\u00FB\u00FC\u00FD\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u00C4\u0000\u00B3\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00DA\u0000\u0000\u0000\u00BF\u0000\u0000\u0000" +
-            "\u00C0\u0000\u0000\u0000\u00D9\u0000\u0000\u0000" +
-            "\u00C3\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00B4\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00C2\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00C1\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00C5\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u00CD\u00BA\u0000\u0000" +
-            "\u00C9\u0000\u0000\u00BB\u0000\u0000\u00C8\u0000" +
-            "\u0000\u00BC\u0000\u0000\u00CC\u0000\u0000\u00B9" +
-            "\u0000\u0000\u00CB\u0000\u0000\u00CA\u0000\u0000" +
-            "\u00CE\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u00DF\u0000\u0000\u0000" +
-            "\u00DC\u0000\u0000\u0000\u00DB\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u00B0\u00B1\u00B2" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u00FE\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u008F\u0088" +
-            "\u008B\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0094" +
-            "\u0000\u0095\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u009C\u0000\u009D\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u00A7\u0000\u0000\u0000\u00E0" +
-            "\u0000\u0000\u0000\u00E2\u0000\u00E3\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u00EE\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u00EF\u00F1\u00F2" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u008C\u0086\u0087\u008D\u008E\u0090\u0000\u0000" +
-            "\u0000\u0000\u0000\u0091\u0000\u0089\u008A\u0092" +
-            "\u0000\u0093\u0000\u0000\u0000\u0096\u0000\u0097" +
-            "\u0000\u0098\u0000\u0099\u0000\u009A\u0000\u009B" +
-            "\u0000\u009F\u0000\u00A0\u0000\u00A1\u0000\u00A2" +
-            "\u0000\u00A3\u0000\u00A4\u0000\u00A5\u0000\u00A6" +
-            "\u0000\u00A8\u0000\u00A9\u0000\u00AA\u0000\u00AB" +
-            "\u0000\u00AC\u0000\u00AD\u0000\u00B5\u0000\u00B6" +
-            "\u0000\u00B7\u0000\u00B8\u0000\u00BE\u0000\u00C6" +
-            "\u0000\u00C7\u00D0\u00D1\u00D2\u00D3\u00D4\u00D5" +
-            "\u00D6\u00D7\u0000\u00D8\u0000\u00DD\u0000\u00DE" +
-            "\u0000\u0000\u0000\u00E1\u0000\u00E4\u0000\u00E5" +
-            "\u0000\u00E6\u0000\u00E7\u0000\u00E8\u0000\u00E9" +
-            "\u0000\u00EB\u0000\u00EC\u00ED\u00EA\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000";
-
-    private final static short index1[] = {
-            0, 216, 216, 216, 216, 216, 460, 216, 216, 216, 216, 216, 216, 216, 216, 216,
-            216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216,
-            216, 216, 216, 216, 216, 716, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216,
-            216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216,
-            216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216,
-            216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216,
-            216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216,
-            216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216,
-            216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216,
-            216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216,
-            216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216,
-            216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216,
-            216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216,
-            216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216,
-            216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216,
-            216, 216, 216, 216, 216, 216, 216, 216, 877, 216, 216, 1129, 216, 216, 1384, 216,
-
-        };
-    }
-}
--- a/jdk/src/share/classes/sun/nio/cs/ext/IBM1112.java	Wed Jul 05 16:44:40 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,266 +0,0 @@
-
-/*
- * Copyright 2003-2004 Sun Microsystems, Inc.  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.  Sun designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
- */
-
-package sun.nio.cs.ext;
-
-
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetDecoder;
-import java.nio.charset.CharsetEncoder;
-import sun.nio.cs.StandardCharsets;
-import sun.nio.cs.SingleByteDecoder;
-import sun.nio.cs.SingleByteEncoder;
-import sun.nio.cs.HistoricallyNamedCharset;
-
-public class IBM1112
-    extends Charset
-    implements HistoricallyNamedCharset
-{
-
-    public IBM1112() {
-        super("x-IBM1112", ExtendedCharsets.aliasesFor("x-IBM1112"));
-    }
-
-    public String historicalName() {
-        return "Cp1112";
-    }
-
-    public boolean contains(Charset cs) {
-        return (cs instanceof IBM1112);
-    }
-
-    public CharsetDecoder newDecoder() {
-        return new Decoder(this);
-    }
-
-    public CharsetEncoder newEncoder() {
-        return new Encoder(this);
-    }
-
-
-    /**
-     * These accessors are temporarily supplied while sun.io
-     * converters co-exist with the sun.nio.cs.{ext} charset coders
-     * These facilitate sharing of conversion tables between the
-     * two co-existing implementations. When sun.io converters
-     * are made extinct these will be unncessary and should be removed
-     */
-
-    public String getDecoderSingleByteMappings() {
-        return Decoder.byteToCharTable;
-
-    }
-
-    public short[] getEncoderIndex1() {
-        return Encoder.index1;
-
-    }
-    public String getEncoderIndex2() {
-        return Encoder.index2;
-
-    }
-
-    private static class Decoder extends SingleByteDecoder {
-            public Decoder(Charset cs) {
-                super(cs, byteToCharTable);
-        }
-
-        private final static String byteToCharTable =
-
-            "\u00D8\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +        // 0x80 - 0x87
-            "\u0068\u0069\u00AB\u00BB\u0101\u017C\u0144\u00B1" +        // 0x88 - 0x8F
-            "\u00B0\u006A\u006B\u006C\u006D\u006E\u006F\u0070" +        // 0x90 - 0x97
-            "\u0071\u0072\u0156\u0157\u00E6\u0137\u00C6\u00A4" +        // 0x98 - 0x9F
-            "\u00B5\u007E\u0073\u0074\u0075\u0076\u0077\u0078" +        // 0xA0 - 0xA7
-            "\u0079\u007A\u201D\u017A\u0100\u017B\u0143\u00AE" +        // 0xA8 - 0xAF
-            "\u005E\u00A3\u012B\u00B7\u00A9\u00A7\u00B6\u00BC" +        // 0xB0 - 0xB7
-            "\u00BD\u00BE\u005B\u005D\u0179\u0136\u013C\u00D7" +        // 0xB8 - 0xBF
-            "\u007B\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +        // 0xC0 - 0xC7
-            "\u0048\u0049\u00AD\u014D\u00F6\u0146\u00F3\u00F5" +        // 0xC8 - 0xCF
-            "\u007D\u004A\u004B\u004C\u004D\u004E\u004F\u0050" +        // 0xD0 - 0xD7
-            "\u0051\u0052\u00B9\u0107\u00FC\u0142\u015B\u2019" +        // 0xD8 - 0xDF
-            "\\\u00F7\u0053\u0054\u0055\u0056\u0057\u0058" +    // 0xE0 - 0xE7
-            "\u0059\u005A\u00B2\u014C\u00D6\u0145\u00D3\u00D5" +        // 0xE8 - 0xEF
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +        // 0xF0 - 0xF7
-            "\u0038\u0039\u00B3\u0106\u00DC\u0141\u015A\u009F" +        // 0xF8 - 0xFF
-            "\u0000\u0001\u0002\u0003\u009C\t\u0086\u007F" +    // 0x00 - 0x07
-            "\u0097\u008D\u008E\u000B\f\r\u000E\u000F" +        // 0x08 - 0x0F
-            "\u0010\u0011\u0012\u0013\u009D\n\b\u0087" +        // 0x10 - 0x17
-            "\u0018\u0019\u0092\u008F\u001C\u001D\u001E\u001F" +        // 0x18 - 0x1F
-            "\u0080\u0081\u0082\u0083\u0084\n\u0017\u001B" +    // 0x20 - 0x27
-            "\u0088\u0089\u008A\u008B\u008C\u0005\u0006\u0007" +        // 0x28 - 0x2F
-            "\u0090\u0091\u0016\u0093\u0094\u0095\u0096\u0004" +        // 0x30 - 0x37
-            "\u0098\u0099\u009A\u009B\u0014\u0015\u009E\u001A" +        // 0x38 - 0x3F
-            "\u0020\u00A0\u0161\u00E4\u0105\u012F\u016B\u00E5" +        // 0x40 - 0x47
-            "\u0113\u017E\u00A2\u002E\u003C\u0028\u002B\u007C" +        // 0x48 - 0x4F
-            "\u0026\u00E9\u0119\u0117\u010D\u0173\u201E\u201C" +        // 0x50 - 0x57
-            "\u0123\u00DF\u0021\u0024\u002A\u0029\u003B\u00AC" +        // 0x58 - 0x5F
-            "\u002D\u002F\u0160\u00C4\u0104\u012E\u016A\u00C5" +        // 0x60 - 0x67
-            "\u0112\u017D\u00A6\u002C\u0025\u005F\u003E\u003F" +        // 0x68 - 0x6F
-            "\u00F8\u00C9\u0118\u0116\u010C\u0172\u012A\u013B" +        // 0x70 - 0x77
-            "\u0122\u0060\u003A\u0023\u0040\'\u003D\"";         // 0x78 - 0x7F
-
-    }
-
-    private static class Encoder extends SingleByteEncoder {
-            public Encoder(Charset cs) {
-                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
-            }
-
-            private final static String index2 =
-
-
-            "\u0000\u0001\u0002\u0003\u0037\u002D\u002E\u002F" +
-            "\u0016\u0005\u0015\u000B\f\r\u000E\u000F" +
-            "\u0010\u0011\u0012\u0013\u003C\u003D\u0032\u0026" +
-            "\u0018\u0019\u003F\'\u001C\u001D\u001E\u001F" +
-            "\u0040\u005A\u007F\u007B\u005B\u006C\u0050\u007D" +
-            "\u004D\u005D\\\u004E\u006B\u0060\u004B\u0061" +
-            "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" +
-            "\u00F8\u00F9\u007A\u005E\u004C\u007E\u006E\u006F" +
-            "\u007C\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" +
-            "\u00C8\u00C9\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6" +
-            "\u00D7\u00D8\u00D9\u00E2\u00E3\u00E4\u00E5\u00E6" +
-            "\u00E7\u00E8\u00E9\u00BA\u00E0\u00BB\u00B0\u006D" +
-            "\u0079\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +
-            "\u0088\u0089\u0091\u0092\u0093\u0094\u0095\u0096" +
-            "\u0097\u0098\u0099\u00A2\u00A3\u00A4\u00A5\u00A6" +
-            "\u00A7\u00A8\u00A9\u00C0\u004F\u00D0\u00A1\u0007" +
-            "\u0020\u0021\"\u0023\u0024\u0015\u0006\u0017" +
-            "\u0028\u0029\u002A\u002B\u002C\t\n\u001B" +
-            "\u0030\u0031\u001A\u0033\u0034\u0035\u0036\b" +
-            "\u0038\u0039\u003A\u003B\u0004\u0014\u003E\u00FF" +
-            "\u0041\u0000\u004A\u00B1\u009F\u0000\u006A\u00B5" +
-            "\u0000\u00B4\u0000\u008A\u005F\u00CA\u00AF\u0000" +
-            "\u0090\u008F\u00EA\u00FA\u0000\u00A0\u00B6\u00B3" +
-            "\u0000\u00DA\u0000\u008B\u00B7\u00B8\u00B9\u0000" +
-            "\u0000\u0000\u0000\u0000\u0063\u0067\u009E\u0000" +
-            "\u0000\u0071\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u00EE\u0000\u00EF\u00EC\u00BF" +
-            "\u0080\u0000\u0000\u0000\u00FC\u0000\u0000\u0059" +
-            "\u0000\u0000\u0000\u0000\u0043\u0047\u009C\u0000" +
-            "\u0000\u0051\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u00CE\u0000\u00CF\u00CC\u00E1" +
-            "\u0070\u0000\u0000\u0000\u00DC\u0000\u0000\u0000" +
-            "\u00AC\u008C\u0000\u0000\u0064\u0044\u00FB\u00DB" +
-            "\u0000\u0000\u0000\u0000\u0074\u0054\u0000\u0000" +
-            "\u0000\u0000\u0068\u0048\u0000\u0000\u0073\u0053" +
-            "\u0072\u0052\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0078\u0058\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0076\u00B2\u0000\u0000\u0065\u0045" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u00BD\u009D" +
-            "\u0000\u0000\u0000\u0077\u00BE\u0000\u0000\u0000" +
-            "\u0000\u00FD\u00DD\u00AE\u008E\u00ED\u00CD\u0000" +
-            "\u0000\u0000\u0000\u0000\u00EB\u00CB\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u009A\u009B" +
-            "\u0000\u0000\u00FE\u00DE\u0000\u0000\u0000\u0000" +
-            "\u0062\u0042\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0066\u0046\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0075\u0055\u0000\u0000\u0000\u0000" +
-            "\u0000\u00BC\u00AB\u00AD\u008D\u0069\u0049\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00DF" +
-            "\u0000\u0000\u0057\u00AA\u0056\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000";
-
-    private final static short index1[] = {
-            0, 256, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            614, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-
-        };
-    }
-}
--- a/jdk/src/share/classes/sun/nio/cs/ext/IBM1122.java	Wed Jul 05 16:44:40 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,262 +0,0 @@
-
-/*
- * Copyright 2003-2004 Sun Microsystems, Inc.  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.  Sun designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
- */
-
-package sun.nio.cs.ext;
-
-
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetDecoder;
-import java.nio.charset.CharsetEncoder;
-import sun.nio.cs.StandardCharsets;
-import sun.nio.cs.SingleByteDecoder;
-import sun.nio.cs.SingleByteEncoder;
-import sun.nio.cs.HistoricallyNamedCharset;
-
-public class IBM1122
-    extends Charset
-    implements HistoricallyNamedCharset
-{
-
-    public IBM1122() {
-        super("x-IBM1122", ExtendedCharsets.aliasesFor("x-IBM1122"));
-    }
-
-    public String historicalName() {
-        return "Cp1122";
-    }
-
-    public boolean contains(Charset cs) {
-        return (cs instanceof IBM1122);
-    }
-
-    public CharsetDecoder newDecoder() {
-        return new Decoder(this);
-    }
-
-    public CharsetEncoder newEncoder() {
-        return new Encoder(this);
-    }
-
-
-    /**
-     * These accessors are temporarily supplied while sun.io
-     * converters co-exist with the sun.nio.cs.{ext} charset coders
-     * These facilitate sharing of conversion tables between the
-     * two co-existing implementations. When sun.io converters
-     * are made extinct these will be unncessary and should be removed
-     */
-
-    public String getDecoderSingleByteMappings() {
-        return Decoder.byteToCharTable;
-
-    }
-
-    public short[] getEncoderIndex1() {
-        return Encoder.index1;
-
-    }
-    public String getEncoderIndex2() {
-        return Encoder.index2;
-
-    }
-
-    private static class Decoder extends SingleByteDecoder {
-            public Decoder(Charset cs) {
-                super(cs, byteToCharTable);
-        }
-
-        private final static String byteToCharTable =
-
-            "\u00D8\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +        // 0x80 - 0x87
-            "\u0068\u0069\u00AB\u00BB\u0161\u00FD\u017E\u00B1" +        // 0x88 - 0x8F
-            "\u00B0\u006A\u006B\u006C\u006D\u006E\u006F\u0070" +        // 0x90 - 0x97
-            "\u0071\u0072\u00AA\u00BA\u00E6\u00B8\u00C6\u005D" +        // 0x98 - 0x9F
-            "\u00B5\u00FC\u0073\u0074\u0075\u0076\u0077\u0078" +        // 0xA0 - 0xA7
-            "\u0079\u007A\u00A1\u00BF\u0160\u00DD\u017D\u00AE" +        // 0xA8 - 0xAF
-            "\u00A2\u00A3\u00A5\u00B7\u00A9\u005B\u00B6\u00BC" +        // 0xB0 - 0xB7
-            "\u00BD\u00BE\u00AC\u007C\u203E\u00A8\u00B4\u00D7" +        // 0xB8 - 0xBF
-            "\u00E4\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +        // 0xC0 - 0xC7
-            "\u0048\u0049\u00AD\u00F4\u00A6\u00F2\u00F3\u00F5" +        // 0xC8 - 0xCF
-            "\u00E5\u004A\u004B\u004C\u004D\u004E\u004F\u0050" +        // 0xD0 - 0xD7
-            "\u0051\u0052\u00B9\u00FB\u007E\u00F9\u00FA\u00FF" +        // 0xD8 - 0xDF
-            "\u00C9\u00F7\u0053\u0054\u0055\u0056\u0057\u0058" +        // 0xE0 - 0xE7
-            "\u0059\u005A\u00B2\u00D4\u0040\u00D2\u00D3\u00D5" +        // 0xE8 - 0xEF
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +        // 0xF0 - 0xF7
-            "\u0038\u0039\u00B3\u00DB\u00DC\u00D9\u00DA\u009F" +        // 0xF8 - 0xFF
-            "\u0000\u0001\u0002\u0003\u009C\t\u0086\u007F" +    // 0x00 - 0x07
-            "\u0097\u008D\u008E\u000B\f\r\u000E\u000F" +        // 0x08 - 0x0F
-            "\u0010\u0011\u0012\u0013\u009D\n\b\u0087" +        // 0x10 - 0x17
-            "\u0018\u0019\u0092\u008F\u001C\u001D\u001E\u001F" +        // 0x18 - 0x1F
-            "\u0080\u0081\u0082\u0083\u0084\n\u0017\u001B" +    // 0x20 - 0x27
-            "\u0088\u0089\u008A\u008B\u008C\u0005\u0006\u0007" +        // 0x28 - 0x2F
-            "\u0090\u0091\u0016\u0093\u0094\u0095\u0096\u0004" +        // 0x30 - 0x37
-            "\u0098\u0099\u009A\u009B\u0014\u0015\u009E\u001A" +        // 0x38 - 0x3F
-            "\u0020\u00A0\u00E2\u007B\u00E0\u00E1\u00E3\u007D" +        // 0x40 - 0x47
-            "\u00E7\u00F1\u00A7\u002E\u003C\u0028\u002B\u0021" +        // 0x48 - 0x4F
-            "\u0026\u0060\u00EA\u00EB\u00E8\u00ED\u00EE\u00EF" +        // 0x50 - 0x57
-            "\u00EC\u00DF\u00A4\u00C5\u002A\u0029\u003B\u005E" +        // 0x58 - 0x5F
-            "\u002D\u002F\u00C2\u0023\u00C0\u00C1\u00C3\u0024" +        // 0x60 - 0x67
-            "\u00C7\u00D1\u00F6\u002C\u0025\u005F\u003E\u003F" +        // 0x68 - 0x6F
-            "\u00F8\\\u00CA\u00CB\u00C8\u00CD\u00CE\u00CF" +    // 0x70 - 0x77
-            "\u00CC\u00E9\u003A\u00C4\u00D6\'\u003D\"";         // 0x78 - 0x7F
-
-    }
-
-    private static class Encoder extends SingleByteEncoder {
-            public Encoder(Charset cs) {
-                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
-            }
-
-            private final static String index2 =
-
-
-            "\u0000\u0001\u0002\u0003\u0037\u002D\u002E\u002F" +
-            "\u0016\u0005\u0015\u000B\f\r\u000E\u000F" +
-            "\u0010\u0011\u0012\u0013\u003C\u003D\u0032\u0026" +
-            "\u0018\u0019\u003F\'\u001C\u001D\u001E\u001F" +
-            "\u0040\u004F\u007F\u0063\u0067\u006C\u0050\u007D" +
-            "\u004D\u005D\\\u004E\u006B\u0060\u004B\u0061" +
-            "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" +
-            "\u00F8\u00F9\u007A\u005E\u004C\u007E\u006E\u006F" +
-            "\u00EC\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" +
-            "\u00C8\u00C9\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6" +
-            "\u00D7\u00D8\u00D9\u00E2\u00E3\u00E4\u00E5\u00E6" +
-            "\u00E7\u00E8\u00E9\u00B5\u0071\u009F\u005F\u006D" +
-            "\u0051\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +
-            "\u0088\u0089\u0091\u0092\u0093\u0094\u0095\u0096" +
-            "\u0097\u0098\u0099\u00A2\u00A3\u00A4\u00A5\u00A6" +
-            "\u00A7\u00A8\u00A9\u0043\u00BB\u0047\u00DC\u0007" +
-            "\u0020\u0021\"\u0023\u0024\u0015\u0006\u0017" +
-            "\u0028\u0029\u002A\u002B\u002C\t\n\u001B" +
-            "\u0030\u0031\u001A\u0033\u0034\u0035\u0036\b" +
-            "\u0038\u0039\u003A\u003B\u0004\u0014\u003E\u00FF" +
-            "\u0041\u00AA\u00B0\u00B1\u005A\u00B2\u00CC\u004A" +
-            "\u00BD\u00B4\u009A\u008A\u00BA\u00CA\u00AF\u0000" +
-            "\u0090\u008F\u00EA\u00FA\u00BE\u00A0\u00B6\u00B3" +
-            "\u009D\u00DA\u009B\u008B\u00B7\u00B8\u00B9\u00AB" +
-            "\u0064\u0065\u0062\u0066\u007B\u005B\u009E\u0068" +
-            "\u0074\u00E0\u0072\u0073\u0078\u0075\u0076\u0077" +
-            "\u0000\u0069\u00ED\u00EE\u00EB\u00EF\u007C\u00BF" +
-            "\u0080\u00FD\u00FE\u00FB\u00FC\u00AD\u0000\u0059" +
-            "\u0044\u0045\u0042\u0046\u00C0\u00D0\u009C\u0048" +
-            "\u0054\u0079\u0052\u0053\u0058\u0055\u0056\u0057" +
-            "\u0000\u0049\u00CD\u00CE\u00CB\u00CF\u006A\u00E1" +
-            "\u0070\u00DD\u00DE\u00DB\u00A1\u008D\u0000\u00DF" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00AC\u008C\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u00AE\u008E\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00BC" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000";
-
-    private final static short index1[] = {
-            0, 256, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            577, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-
-        };
-    }
-}
--- a/jdk/src/share/classes/sun/nio/cs/ext/IBM1123.java	Wed Jul 05 16:44:40 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,272 +0,0 @@
-
-/*
- * Copyright 2003-2004 Sun Microsystems, Inc.  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.  Sun designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
- */
-
-package sun.nio.cs.ext;
-
-
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetDecoder;
-import java.nio.charset.CharsetEncoder;
-import sun.nio.cs.StandardCharsets;
-import sun.nio.cs.SingleByteDecoder;
-import sun.nio.cs.SingleByteEncoder;
-import sun.nio.cs.HistoricallyNamedCharset;
-
-public class IBM1123
-    extends Charset
-    implements HistoricallyNamedCharset
-{
-
-    public IBM1123() {
-        super("x-IBM1123", ExtendedCharsets.aliasesFor("x-IBM1123"));
-    }
-
-    public String historicalName() {
-        return "Cp1123";
-    }
-
-    public boolean contains(Charset cs) {
-        return (cs instanceof IBM1123);
-    }
-
-    public CharsetDecoder newDecoder() {
-        return new Decoder(this);
-    }
-
-    public CharsetEncoder newEncoder() {
-        return new Encoder(this);
-    }
-
-
-    /**
-     * These accessors are temporarily supplied while sun.io
-     * converters co-exist with the sun.nio.cs.{ext} charset coders
-     * These facilitate sharing of conversion tables between the
-     * two co-existing implementations. When sun.io converters
-     * are made extinct these will be unncessary and should be removed
-     */
-
-    public String getDecoderSingleByteMappings() {
-        return Decoder.byteToCharTable;
-
-    }
-
-    public short[] getEncoderIndex1() {
-        return Encoder.index1;
-
-    }
-    public String getEncoderIndex2() {
-        return Encoder.index2;
-
-    }
-
-    private static class Decoder extends SingleByteDecoder {
-            public Decoder(Charset cs) {
-                super(cs, byteToCharTable);
-        }
-
-        private final static String byteToCharTable =
-
-            "\u0446\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +        // 0x80 - 0x87
-            "\u0068\u0069\u0434\u0435\u0444\u0433\u0445\u0438" +        // 0x88 - 0x8F
-            "\u0439\u006A\u006B\u006C\u006D\u006E\u006F\u0070" +        // 0x90 - 0x97
-            "\u0071\u0072\u043A\u043B\u043C\u043D\u043E\u043F" +        // 0x98 - 0x9F
-            "\u044F\u007E\u0073\u0074\u0075\u0076\u0077\u0078" +        // 0xA0 - 0xA7
-            "\u0079\u007A\u0440\u0441\u0442\u0443\u0436\u0432" +        // 0xA8 - 0xAF
-            "\u044C\u044B\u0437\u0448\u044D\u0449\u0447\u044A" +        // 0xB0 - 0xB7
-            "\u042E\u0410\u0411\u0426\u0414\u0415\u0424\u0413" +        // 0xB8 - 0xBF
-            "\u007B\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +        // 0xC0 - 0xC7
-            "\u0048\u0049\u0425\u0418\u0419\u041A\u041B\u041C" +        // 0xC8 - 0xCF
-            "\u007D\u004A\u004B\u004C\u004D\u004E\u004F\u0050" +        // 0xD0 - 0xD7
-            "\u0051\u0052\u041D\u041E\u041F\u042F\u0420\u0421" +        // 0xD8 - 0xDF
-            "\\\u00A7\u0053\u0054\u0055\u0056\u0057\u0058" +    // 0xE0 - 0xE7
-            "\u0059\u005A\u0422\u0423\u0416\u0412\u042C\u042B" +        // 0xE8 - 0xEF
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +        // 0xF0 - 0xF7
-            "\u0038\u0039\u0417\u0428\u042D\u0429\u0427\u009F" +        // 0xF8 - 0xFF
-            "\u0000\u0001\u0002\u0003\u009C\t\u0086\u007F" +    // 0x00 - 0x07
-            "\u0097\u008D\u008E\u000B\f\r\u000E\u000F" +        // 0x08 - 0x0F
-            "\u0010\u0011\u0012\u0013\u009D\n\b\u0087" +        // 0x10 - 0x17
-            "\u0018\u0019\u0092\u008F\u001C\u001D\u001E\u001F" +        // 0x18 - 0x1F
-            "\u0080\u0081\u0082\u0083\u0084\n\u0017\u001B" +    // 0x20 - 0x27
-            "\u0088\u0089\u008A\u008B\u008C\u0005\u0006\u0007" +        // 0x28 - 0x2F
-            "\u0090\u0091\u0016\u0093\u0094\u0095\u0096\u0004" +        // 0x30 - 0x37
-            "\u0098\u0099\u009A\u009B\u0014\u0015\u009E\u001A" +        // 0x38 - 0x3F
-            "\u0020\u00A0\u0452\u0491\u0451\u0454\u0455\u0456" +        // 0x40 - 0x47
-            "\u0457\u0458\u005B\u002E\u003C\u0028\u002B\u0021" +        // 0x48 - 0x4F
-            "\u0026\u0459\u045A\u045B\u045C\u045E\u045F\u042A" +        // 0x50 - 0x57
-            "\u2116\u0402\u005D\u0024\u002A\u0029\u003B\u005E" +        // 0x58 - 0x5F
-            "\u002D\u002F\u0490\u0401\u0404\u0405\u0406\u0407" +        // 0x60 - 0x67
-            "\u0408\u0409\u007C\u002C\u0025\u005F\u003E\u003F" +        // 0x68 - 0x6F
-            "\u040A\u040B\u040C\u00AD\u040E\u040F\u044E\u0430" +        // 0x70 - 0x77
-            "\u0431\u0060\u003A\u0023\u0040\'\u003D\"";         // 0x78 - 0x7F
-
-    }
-
-    private static class Encoder extends SingleByteEncoder {
-            public Encoder(Charset cs) {
-                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
-            }
-
-            private final static String index2 =
-
-
-            "\u0000\u0001\u0002\u0003\u0037\u002D\u002E\u002F" +
-            "\u0016\u0005\u0015\u000B\f\r\u000E\u000F" +
-            "\u0010\u0011\u0012\u0013\u003C\u003D\u0032\u0026" +
-            "\u0018\u0019\u003F\'\u001C\u001D\u001E\u001F" +
-            "\u0040\u004F\u007F\u007B\u005B\u006C\u0050\u007D" +
-            "\u004D\u005D\\\u004E\u006B\u0060\u004B\u0061" +
-            "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" +
-            "\u00F8\u00F9\u007A\u005E\u004C\u007E\u006E\u006F" +
-            "\u007C\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" +
-            "\u00C8\u00C9\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6" +
-            "\u00D7\u00D8\u00D9\u00E2\u00E3\u00E4\u00E5\u00E6" +
-            "\u00E7\u00E8\u00E9\u004A\u00E0\u005A\u005F\u006D" +
-            "\u0079\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +
-            "\u0088\u0089\u0091\u0092\u0093\u0094\u0095\u0096" +
-            "\u0097\u0098\u0099\u00A2\u00A3\u00A4\u00A5\u00A6" +
-            "\u00A7\u00A8\u00A9\u00C0\u006A\u00D0\u00A1\u0007" +
-            "\u0020\u0021\"\u0023\u0024\u0015\u0006\u0017" +
-            "\u0028\u0029\u002A\u002B\u002C\t\n\u001B" +
-            "\u0030\u0031\u001A\u0033\u0034\u0035\u0036\b" +
-            "\u0038\u0039\u003A\u003B\u0004\u0014\u003E\u00FF" +
-            "\u0041\u0000\u0000\u0000\u0000\u0000\u0000\u00E1" +
-            "\u0000\u0000\u0000\u0000\u0000\u0073\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0063\u0059" +
-            "\u0000\u0064\u0065\u0066\u0067\u0068\u0069\u0070" +
-            "\u0071\u0072\u0000\u0074\u0075\u00B9\u00BA\u00ED" +
-            "\u00BF\u00BC\u00BD\u00EC\u00FA\u00CB\u00CC\u00CD" +
-            "\u00CE\u00CF\u00DA\u00DB\u00DC\u00DE\u00DF\u00EA" +
-            "\u00EB\u00BE\u00CA\u00BB\u00FE\u00FB\u00FD\u0057" +
-            "\u00EF\u00EE\u00FC\u00B8\u00DD\u0077\u0078\u00AF" +
-            "\u008D\u008A\u008B\u00AE\u00B2\u008F\u0090\u009A" +
-            "\u009B\u009C\u009D\u009E\u009F\u00AA\u00AB\u00AC" +
-            "\u00AD\u008C\u008E\u0080\u00B6\u00B3\u00B5\u00B7" +
-            "\u00B1\u00B0\u00B4\u0076\u00A0\u0000\u0044\u0042" +
-            "\u0000\u0045\u0046\u0047\u0048\u0049\u0051\u0052" +
-            "\u0053\u0054\u0000\u0055\u0056\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0062\u0043\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0058\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000";
-
-    private final static short index1[] = {
-            0, 174, 174, 174, 429, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
-            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
-            174, 663, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
-            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
-            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
-            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
-            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
-            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
-            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
-            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
-            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
-            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
-            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
-            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
-            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
-            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
-
-        };
-    }
-}
--- a/jdk/src/share/classes/sun/nio/cs/ext/IBM1124.java	Wed Jul 05 16:44:40 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,272 +0,0 @@
-
-/*
- * Copyright 2003-2004 Sun Microsystems, Inc.  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.  Sun designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
- */
-
-package sun.nio.cs.ext;
-
-
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetDecoder;
-import java.nio.charset.CharsetEncoder;
-import sun.nio.cs.StandardCharsets;
-import sun.nio.cs.SingleByteDecoder;
-import sun.nio.cs.SingleByteEncoder;
-import sun.nio.cs.HistoricallyNamedCharset;
-
-public class IBM1124
-    extends Charset
-    implements HistoricallyNamedCharset
-{
-
-    public IBM1124() {
-        super("x-IBM1124", ExtendedCharsets.aliasesFor("x-IBM1124"));
-    }
-
-    public String historicalName() {
-        return "Cp1124";
-    }
-
-    public boolean contains(Charset cs) {
-        return (cs instanceof IBM1124);
-    }
-
-    public CharsetDecoder newDecoder() {
-        return new Decoder(this);
-    }
-
-    public CharsetEncoder newEncoder() {
-        return new Encoder(this);
-    }
-
-
-    /**
-     * These accessors are temporarily supplied while sun.io
-     * converters co-exist with the sun.nio.cs.{ext} charset coders
-     * These facilitate sharing of conversion tables between the
-     * two co-existing implementations. When sun.io converters
-     * are made extinct these will be unncessary and should be removed
-     */
-
-    public String getDecoderSingleByteMappings() {
-        return Decoder.byteToCharTable;
-
-    }
-
-    public short[] getEncoderIndex1() {
-        return Encoder.index1;
-
-    }
-    public String getEncoderIndex2() {
-        return Encoder.index2;
-
-    }
-
-    private static class Decoder extends SingleByteDecoder {
-            public Decoder(Charset cs) {
-                super(cs, byteToCharTable);
-        }
-
-        private final static String byteToCharTable =
-
-            "\u0080\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +        // 0x80 - 0x87
-            "\u0088\u0089\u008A\u008B\u008C\u008D\u008E\u008F" +        // 0x88 - 0x8F
-            "\u0090\u0091\u0092\u0093\u0094\u0095\u0096\u0097" +        // 0x90 - 0x97
-            "\u0098\u0099\u009A\u009B\u009C\u009D\u009E\u009F" +        // 0x98 - 0x9F
-            "\u00A0\u0401\u0402\u0490\u0404\u0405\u0406\u0407" +        // 0xA0 - 0xA7
-            "\u0408\u0409\u040A\u040B\u040C\u00AD\u040E\u040F" +        // 0xA8 - 0xAF
-            "\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417" +        // 0xB0 - 0xB7
-            "\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F" +        // 0xB8 - 0xBF
-            "\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427" +        // 0xC0 - 0xC7
-            "\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F" +        // 0xC8 - 0xCF
-            "\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437" +        // 0xD0 - 0xD7
-            "\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F" +        // 0xD8 - 0xDF
-            "\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447" +        // 0xE0 - 0xE7
-            "\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F" +        // 0xE8 - 0xEF
-            "\u2116\u0451\u0452\u0491\u0454\u0455\u0456\u0457" +        // 0xF0 - 0xF7
-            "\u0458\u0459\u045A\u045B\u045C\u00A7\u045E\u045F" +        // 0xF8 - 0xFF
-            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +        // 0x00 - 0x07
-            "\b\t\n\u000B\f\r\u000E\u000F" +    // 0x08 - 0x0F
-            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +        // 0x10 - 0x17
-            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +        // 0x18 - 0x1F
-            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +        // 0x20 - 0x27
-            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +        // 0x28 - 0x2F
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +        // 0x30 - 0x37
-            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +        // 0x38 - 0x3F
-            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +        // 0x40 - 0x47
-            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +        // 0x48 - 0x4F
-            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +        // 0x50 - 0x57
-            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +    // 0x58 - 0x5F
-            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +        // 0x60 - 0x67
-            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +        // 0x68 - 0x6F
-            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +        // 0x70 - 0x77
-            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";         // 0x78 - 0x7F
-
-    }
-
-    private static class Encoder extends SingleByteEncoder {
-            public Encoder(Charset cs) {
-                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
-            }
-
-            private final static String index2 =
-
-
-            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
-            "\b\t\n\u000B\f\r\u000E\u000F" +
-            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
-            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
-            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
-            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
-            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
-            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
-            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
-            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
-            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
-            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
-            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
-            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
-            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
-            "\u0080\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +
-            "\u0088\u0089\u008A\u008B\u008C\u008D\u008E\u008F" +
-            "\u0090\u0091\u0092\u0093\u0094\u0095\u0096\u0097" +
-            "\u0098\u0099\u009A\u009B\u009C\u009D\u009E\u009F" +
-            "\u00A0\u0000\u0000\u0000\u0000\u0000\u0000\u00FD" +
-            "\u0000\u0000\u0000\u0000\u0000\u00AD\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u00A1\u00A2" +
-            "\u0000\u00A4\u00A5\u00A6\u00A7\u00A8\u00A9\u00AA" +
-            "\u00AB\u00AC\u0000\u00AE\u00AF\u00B0\u00B1\u00B2" +
-            "\u00B3\u00B4\u00B5\u00B6\u00B7\u00B8\u00B9\u00BA" +
-            "\u00BB\u00BC\u00BD\u00BE\u00BF\u00C0\u00C1\u00C2" +
-            "\u00C3\u00C4\u00C5\u00C6\u00C7\u00C8\u00C9\u00CA" +
-            "\u00CB\u00CC\u00CD\u00CE\u00CF\u00D0\u00D1\u00D2" +
-            "\u00D3\u00D4\u00D5\u00D6\u00D7\u00D8\u00D9\u00DA" +
-            "\u00DB\u00DC\u00DD\u00DE\u00DF\u00E0\u00E1\u00E2" +
-            "\u00E3\u00E4\u00E5\u00E6\u00E7\u00E8\u00E9\u00EA" +
-            "\u00EB\u00EC\u00ED\u00EE\u00EF\u0000\u00F1\u00F2" +
-            "\u0000\u00F4\u00F5\u00F6\u00F7\u00F8\u00F9\u00FA" +
-            "\u00FB\u00FC\u0000\u00FE\u00FF\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u00A3\u00F3\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u00F0\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000";
-
-    private final static short index1[] = {
-            0, 174, 174, 174, 429, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
-            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
-            174, 663, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
-            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
-            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
-            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
-            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
-            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
-            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
-            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
-            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
-            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
-            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
-            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
-            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
-            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
-
-        };
-    }
-}
--- a/jdk/src/share/classes/sun/nio/cs/ext/IBM1140.java	Wed Jul 05 16:44:40 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,191 +0,0 @@
-/*
- * Copyright 2003-2004 Sun Microsystems, Inc.  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.  Sun designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
- */
-
-package sun.nio.cs.ext;
-
-
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetDecoder;
-import java.nio.charset.CharsetEncoder;
-import sun.nio.cs.StandardCharsets;
-import sun.nio.cs.SingleByteDecoder;
-import sun.nio.cs.SingleByteEncoder;
-import sun.nio.cs.HistoricallyNamedCharset;
-
-public class IBM1140
-    extends Charset
-    implements HistoricallyNamedCharset
-{
-
-    public IBM1140() {
-        super("IBM01140", ExtendedCharsets.aliasesFor("IBM01140"));
-    }
-
-    public String historicalName() {
-        return "Cp1140";
-    }
-
-    public boolean contains(Charset cs) {
-        return (cs instanceof IBM1140);
-    }
-
-    public CharsetDecoder newDecoder() {
-        return new Decoder(this);
-    }
-
-    public CharsetEncoder newEncoder() {
-        return new Encoder(this);
-    }
-
-    /**
-     * These accessors are temporarily supplied while sun.io
-     * converters co-exist with the sun.nio.cs.{ext} charset coders
-     * These facilitate sharing of conversion tables between the
-     * two co-existing implementations. When sun.io converters
-     * are made extinct these will be unncessary and should be removed
-     */
-
-    public short[] getEncoderIndex1() {
-        return Encoder.index1;
-    }
-
-    public String getEncoderIndex2() {
-        return Encoder.index2;
-    }
-
-    private static class Decoder extends IBM037.Decoder {
-            public Decoder(Charset cs) {
-                super(cs);
-            }
-
-            public char decode(int byteIndex) {
-                return (byteIndex == (byte)0x9F) ? '\u20AC' : super.decode(byteIndex);
-            }
-    }
-
-    private static class Encoder extends SingleByteEncoder {
-            public Encoder(Charset cs) {
-                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
-            }
-
-    private final static String index2 =
-
-        "\u0000\u0001\u0002\u0003\u0037\u002D\u002E\u002F" +
-        "\u0016\u0005\u0025\u000B\f\r\u000E\u000F" +
-        "\u0010\u0011\u0012\u0013\u003C\u003D\u0032\u0026" +
-        "\u0018\u0019\u003F\'\u001C\u001D\u001E\u001F" +
-        "\u0040\u005A\u007F\u007B\u005B\u006C\u0050\u007D" +
-        "\u004D\u005D\\\u004E\u006B\u0060\u004B\u0061" +
-        "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" +
-        "\u00F8\u00F9\u007A\u005E\u004C\u007E\u006E\u006F" +
-        "\u007C\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" +
-        "\u00C8\u00C9\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6" +
-        "\u00D7\u00D8\u00D9\u00E2\u00E3\u00E4\u00E5\u00E6" +
-        "\u00E7\u00E8\u00E9\u00BA\u00E0\u00BB\u00B0\u006D" +
-        "\u0079\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +
-        "\u0088\u0089\u0091\u0092\u0093\u0094\u0095\u0096" +
-        "\u0097\u0098\u0099\u00A2\u00A3\u00A4\u00A5\u00A6" +
-        "\u00A7\u00A8\u00A9\u00C0\u004F\u00D0\u00A1\u0007" +
-        "\u0020\u0021\"\u0023\u0024\u0015\u0006\u0017" +
-        "\u0028\u0029\u002A\u002B\u002C\t\n\u001B" +
-        "\u0030\u0031\u001A\u0033\u0034\u0035\u0036\b" +
-        "\u0038\u0039\u003A\u003B\u0004\u0014\u003E\u00FF" +
-        "\u0041\u00AA\u004A\u00B1\u0000\u00B2\u006A\u00B5" +
-        "\u00BD\u00B4\u009A\u008A\u005F\u00CA\u00AF\u00BC" +
-        "\u0090\u008F\u00EA\u00FA\u00BE\u00A0\u00B6\u00B3" +
-        "\u009D\u00DA\u009B\u008B\u00B7\u00B8\u00B9\u00AB" +
-        "\u0064\u0065\u0062\u0066\u0063\u0067\u009E\u0068" +
-        "\u0074\u0071\u0072\u0073\u0078\u0075\u0076\u0077" +
-        "\u00AC\u0069\u00ED\u00EE\u00EB\u00EF\u00EC\u00BF" +
-        "\u0080\u00FD\u00FE\u00FB\u00FC\u00AD\u00AE\u0059" +
-        "\u0044\u0045\u0042\u0046\u0043\u0047\u009C\u0048" +
-        "\u0054\u0051\u0052\u0053\u0058\u0055\u0056\u0057" +
-        "\u008C\u0049\u00CD\u00CE\u00CB\u00CF\u00CC\u00E1" +
-        "\u0070\u00DD\u00DE\u00DB\u00DC\u008D\u008E\u00DF" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u009F\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-        "\u0000\u0000\u0000\u0000";
-
-    private final static short index1[] = {
-        0, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-        256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-        340, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-        256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-        256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-        256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-        256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-        256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-        256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-        256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-        256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-        256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-        256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-        256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-        256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-        256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-    };
-
-    }
-}
--- a/jdk/src/share/classes/sun/nio/cs/ext/IBM1141.java	Wed Jul 05 16:44:40 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,189 +0,0 @@
-/*
- * Copyright 2003-2004 Sun Microsystems, Inc.  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.  Sun designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
- */
-
-package sun.nio.cs.ext;
-
-
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetDecoder;
-import java.nio.charset.CharsetEncoder;
-import sun.nio.cs.StandardCharsets;
-import sun.nio.cs.SingleByteDecoder;
-import sun.nio.cs.SingleByteEncoder;
-import sun.nio.cs.HistoricallyNamedCharset;
-
-public class IBM1141
-    extends Charset
-    implements HistoricallyNamedCharset
-{
-
-    public IBM1141() {
-        super("IBM01141", ExtendedCharsets.aliasesFor("IBM01141"));
-    }
-
-    public String historicalName() {
-        return "Cp1141";
-    }
-
-    public boolean contains(Charset cs) {
-        return (cs instanceof IBM1141);
-    }
-
-    public CharsetDecoder newDecoder() {
-        return new Decoder(this);
-    }
-
-    public CharsetEncoder newEncoder() {
-        return new Encoder(this);
-    }
-
-    /**
-     * These accessors are temporarily supplied while sun.io
-     * converters co-exist with the sun.nio.cs.{ext} charset coders
-     * These facilitate sharing of conversion tables between the
-     * two co-existing implementations. When sun.io converters
-     * are made extinct these will be unncessary and should be removed
-     */
-
-    public short[] getEncoderIndex1() {
-        return Encoder.index1;
-    }
-
-    public String getEncoderIndex2() {
-        return Encoder.index2;
-    }
-    private static class Decoder extends IBM273.Decoder {
-            public Decoder(Charset cs) {
-                super(cs);
-            }
-
-            public char decode(int byteIndex) {
-                return (byteIndex == (byte)0x9F) ? '\u20AC' : super.decode(byteIndex);
-            }
-    }
-
-    private static class Encoder extends SingleByteEncoder {
-        public Encoder(Charset cs) {
-            super(cs, index1, index2, 0xFF00, 0x00FF, 8);
-        }
-
-        private final static String index2 =
-
-            "\u0000\u0001\u0002\u0003\u0037\u002D\u002E\u002F" +
-            "\u0016\u0005\u0025\u000B\f\r\u000E\u000F" +
-            "\u0010\u0011\u0012\u0013\u003C\u003D\u0032\u0026" +
-            "\u0018\u0019\u003F\'\u001C\u001D\u001E\u001F" +
-            "\u0040\u004F\u007F\u007B\u005B\u006C\u0050\u007D" +
-            "\u004D\u005D\\\u004E\u006B\u0060\u004B\u0061" +
-            "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" +
-            "\u00F8\u00F9\u007A\u005E\u004C\u007E\u006E\u006F" +
-            "\u00B5\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" +
-            "\u00C8\u00C9\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6" +
-            "\u00D7\u00D8\u00D9\u00E2\u00E3\u00E4\u00E5\u00E6" +
-            "\u00E7\u00E8\u00E9\u0063\u00EC\u00FC\u005F\u006D" +
-            "\u0079\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +
-            "\u0088\u0089\u0091\u0092\u0093\u0094\u0095\u0096" +
-            "\u0097\u0098\u0099\u00A2\u00A3\u00A4\u00A5\u00A6" +
-            "\u00A7\u00A8\u00A9\u0043\u00BB\u00DC\u0059\u0007" +
-            "\u0020\u0021\"\u0023\u0024\u0015\u0006\u0017" +
-            "\u0028\u0029\u002A\u002B\u002C\t\n\u001B" +
-            "\u0030\u0031\u001A\u0033\u0034\u0035\u0036\b" +
-            "\u0038\u0039\u003A\u003B\u0004\u0014\u003E\u00FF" +
-            "\u0041\u00AA\u00B0\u00B1\u0000\u00B2\u00CC\u007C" +
-            "\u00BD\u00B4\u009A\u008A\u00BA\u00CA\u00AF\u00BC" +
-            "\u0090\u008F\u00EA\u00FA\u00BE\u00A0\u00B6\u00B3" +
-            "\u009D\u00DA\u009B\u008B\u00B7\u00B8\u00B9\u00AB" +
-            "\u0064\u0065\u0062\u0066\u004A\u0067\u009E\u0068" +
-            "\u0074\u0071\u0072\u0073\u0078\u0075\u0076\u0077" +
-            "\u00AC\u0069\u00ED\u00EE\u00EB\u00EF\u00E0\u00BF" +
-            "\u0080\u00FD\u00FE\u00FB\u005A\u00AD\u00AE\u00A1" +
-            "\u0044\u0045\u0042\u0046\u00C0\u0047\u009C\u0048" +
-            "\u0054\u0051\u0052\u0053\u0058\u0055\u0056\u0057" +
-            "\u008C\u0049\u00CD\u00CE\u00CB\u00CF\u006A\u00E1" +
-            "\u0070\u00DD\u00DE\u00DB\u00D0\u008D\u008E\u00DF" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u009F\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000";
-
-        private final static short index1[] = {
-            0, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            340, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-        };
-    }
-}
--- a/jdk/src/share/classes/sun/nio/cs/ext/IBM1142.java	Wed Jul 05 16:44:40 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,190 +0,0 @@
-/*
- * Copyright 2003-2004 Sun Microsystems, Inc.  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.  Sun designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
- */
-
-package sun.nio.cs.ext;
-
-
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetDecoder;
-import java.nio.charset.CharsetEncoder;
-import sun.nio.cs.StandardCharsets;
-import sun.nio.cs.SingleByteDecoder;
-import sun.nio.cs.SingleByteEncoder;
-import sun.nio.cs.HistoricallyNamedCharset;
-
-public class IBM1142
-    extends Charset
-    implements HistoricallyNamedCharset
-{
-
-    public IBM1142() {
-        super("IBM01142", ExtendedCharsets.aliasesFor("IBM01142"));
-    }
-
-    public String historicalName() {
-        return "Cp1142";
-    }
-
-    public boolean contains(Charset cs) {
-        return (cs instanceof IBM1142);
-    }
-
-    public CharsetDecoder newDecoder() {
-        return new Decoder(this);
-    }
-
-    public CharsetEncoder newEncoder() {
-        return new Encoder(this);
-    }
-
-    /**
-     * These accessors are temporarily supplied while sun.io
-     * converters co-exist with the sun.nio.cs.{ext} charset coders
-     * These facilitate sharing of conversion tables between the
-     * two co-existing implementations. When sun.io converters
-     * are made extinct these will be unncessary and should be removed
-     */
-
-    public short[] getEncoderIndex1() {
-        return Encoder.index1;
-    }
-
-    public String getEncoderIndex2() {
-        return Encoder.index2;
-    }
-
-    private static class Decoder extends IBM277.Decoder {
-            public Decoder(Charset cs) {
-                super(cs);
-            }
-
-            public char decode(int byteIndex) {
-                return (byteIndex == (byte)0x5A) ? '\u20AC' : super.decode(byteIndex);
-            }
-    }
-
-    private static class Encoder extends SingleByteEncoder {
-        public Encoder(Charset cs) {
-            super(cs, index1, index2, 0xFF00, 0x00FF, 8);
-        }
-
-        private final static String index2 =
-
-            "\u0000\u0001\u0002\u0003\u0037\u002D\u002E\u002F" +
-            "\u0016\u0005\u0025\u000B\f\r\u000E\u000F" +
-            "\u0010\u0011\u0012\u0013\u003C\u003D\u0032\u0026" +
-            "\u0018\u0019\u003F\'\u001C\u001D\u001E\u001F" +
-            "\u0040\u004F\u007F\u004A\u0067\u006C\u0050\u007D" +
-            "\u004D\u005D\\\u004E\u006B\u0060\u004B\u0061" +
-            "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" +
-            "\u00F8\u00F9\u007A\u005E\u004C\u007E\u006E\u006F" +
-            "\u0080\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" +
-            "\u00C8\u00C9\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6" +
-            "\u00D7\u00D8\u00D9\u00E2\u00E3\u00E4\u00E5\u00E6" +
-            "\u00E7\u00E8\u00E9\u009E\u00E0\u009F\u005F\u006D" +
-            "\u0079\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +
-            "\u0088\u0089\u0091\u0092\u0093\u0094\u0095\u0096" +
-            "\u0097\u0098\u0099\u00A2\u00A3\u00A4\u00A5\u00A6" +
-            "\u00A7\u00A8\u00A9\u009C\u00BB\u0047\u00DC\u0007" +
-            "\u0020\u0021\"\u0023\u0024\u0015\u0006\u0017" +
-            "\u0028\u0029\u002A\u002B\u002C\t\n\u001B" +
-            "\u0030\u0031\u001A\u0033\u0034\u0035\u0036\b" +
-            "\u0038\u0039\u003A\u003B\u0004\u0014\u003E\u00FF" +
-            "\u0041\u00AA\u00B0\u00B1\u0000\u00B2\u0070\u00B5" +
-            "\u00BD\u00B4\u009A\u008A\u00BA\u00CA\u00AF\u00BC" +
-            "\u0090\u008F\u00EA\u00FA\u00BE\u00A0\u00B6\u00B3" +
-            "\u009D\u00DA\u009B\u008B\u00B7\u00B8\u00B9\u00AB" +
-            "\u0064\u0065\u0062\u0066\u0063\u005B\u007B\u0068" +
-            "\u0074\u0071\u0072\u0073\u0078\u0075\u0076\u0077" +
-            "\u00AC\u0069\u00ED\u00EE\u00EB\u00EF\u00EC\u00BF" +
-            "\u007C\u00FD\u00FE\u00FB\u00FC\u00AD\u00AE\u0059" +
-            "\u0044\u0045\u0042\u0046\u0043\u00D0\u00C0\u0048" +
-            "\u0054\u0051\u0052\u0053\u0058\u0055\u0056\u0057" +
-            "\u008C\u0049\u00CD\u00CE\u00CB\u00CF\u00CC\u00E1" +
-            "\u006A\u00DD\u00DE\u00DB\u00A1\u008D\u008E\u00DF" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u005A\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000";
-
-        private final static short index1[] = {
-            0, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            340, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-        };
-    }
-}
--- a/jdk/src/share/classes/sun/nio/cs/ext/IBM1143.java	Wed Jul 05 16:44:40 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,190 +0,0 @@
-/*
- * Copyright 2003-2004 Sun Microsystems, Inc.  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.  Sun designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
- */
-
-package sun.nio.cs.ext;
-
-
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetDecoder;
-import java.nio.charset.CharsetEncoder;
-import sun.nio.cs.StandardCharsets;
-import sun.nio.cs.SingleByteDecoder;
-import sun.nio.cs.SingleByteEncoder;
-import sun.nio.cs.HistoricallyNamedCharset;
-
-public class IBM1143
-    extends Charset
-    implements HistoricallyNamedCharset
-{
-
-    public IBM1143() {
-        super("IBM01143", ExtendedCharsets.aliasesFor("IBM01143"));
-    }
-
-    public String historicalName() {
-        return "Cp1143";
-    }
-
-    public boolean contains(Charset cs) {
-        return (cs instanceof IBM1143);
-    }
-
-    public CharsetDecoder newDecoder() {
-        return new Decoder(this);
-    }
-
-    public CharsetEncoder newEncoder() {
-        return new Encoder(this);
-    }
-
-    /**
-     * These accessors are temporarily supplied while sun.io
-     * converters co-exist with the sun.nio.cs.{ext} charset coders
-     * These facilitate sharing of conversion tables between the
-     * two co-existing implementations. When sun.io converters
-     * are made extinct these will be unncessary and should be removed
-     */
-
-    public short[] getEncoderIndex1() {
-        return Encoder.index1;
-    }
-
-    public String getEncoderIndex2() {
-        return Encoder.index2;
-    }
-
-    private static class Decoder extends IBM278.Decoder {
-            public Decoder(Charset cs) {
-                super(cs);
-            }
-
-            public char decode(int byteIndex) {
-                return (byteIndex == (byte)0x5A) ? '\u20AC' : super.decode(byteIndex);
-            }
-    }
-
-    private static class Encoder extends SingleByteEncoder {
-        public Encoder(Charset cs) {
-            super(cs, index1, index2, 0xFF00, 0x00FF, 8);
-        }
-
-        private final static String index2 =
-
-            "\u0000\u0001\u0002\u0003\u0037\u002D\u002E\u002F" +
-            "\u0016\u0005\u0025\u000B\f\r\u000E\u000F" +
-            "\u0010\u0011\u0012\u0013\u003C\u003D\u0032\u0026" +
-            "\u0018\u0019\u003F\'\u001C\u001D\u001E\u001F" +
-            "\u0040\u004F\u007F\u0063\u0067\u006C\u0050\u007D" +
-            "\u004D\u005D\\\u004E\u006B\u0060\u004B\u0061" +
-            "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" +
-            "\u00F8\u00F9\u007A\u005E\u004C\u007E\u006E\u006F" +
-            "\u00EC\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" +
-            "\u00C8\u00C9\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6" +
-            "\u00D7\u00D8\u00D9\u00E2\u00E3\u00E4\u00E5\u00E6" +
-            "\u00E7\u00E8\u00E9\u00B5\u0071\u009F\u005F\u006D" +
-            "\u0051\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +
-            "\u0088\u0089\u0091\u0092\u0093\u0094\u0095\u0096" +
-            "\u0097\u0098\u0099\u00A2\u00A3\u00A4\u00A5\u00A6" +
-            "\u00A7\u00A8\u00A9\u0043\u00BB\u0047\u00DC\u0007" +
-            "\u0020\u0021\"\u0023\u0024\u0015\u0006\u0017" +
-            "\u0028\u0029\u002A\u002B\u002C\t\n\u001B" +
-            "\u0030\u0031\u001A\u0033\u0034\u0035\u0036\b" +
-            "\u0038\u0039\u003A\u003B\u0004\u0014\u003E\u00FF" +
-            "\u0041\u00AA\u00B0\u00B1\u0000\u00B2\u00CC\u004A" +
-            "\u00BD\u00B4\u009A\u008A\u00BA\u00CA\u00AF\u00BC" +
-            "\u0090\u008F\u00EA\u00FA\u00BE\u00A0\u00B6\u00B3" +
-            "\u009D\u00DA\u009B\u008B\u00B7\u00B8\u00B9\u00AB" +
-            "\u0064\u0065\u0062\u0066\u007B\u005B\u009E\u0068" +
-            "\u0074\u00E0\u0072\u0073\u0078\u0075\u0076\u0077" +
-            "\u00AC\u0069\u00ED\u00EE\u00EB\u00EF\u007C\u00BF" +
-            "\u0080\u00FD\u00FE\u00FB\u00FC\u00AD\u00AE\u0059" +
-            "\u0044\u0045\u0042\u0046\u00C0\u00D0\u009C\u0048" +
-            "\u0054\u0079\u0052\u0053\u0058\u0055\u0056\u0057" +
-            "\u008C\u0049\u00CD\u00CE\u00CB\u00CF\u006A\u00E1" +
-            "\u0070\u00DD\u00DE\u00DB\u00A1\u008D\u008E\u00DF" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u005A\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000";
-
-        private final static short index1[] = {
-            0, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            340, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-        };
-    }
-}
--- a/jdk/src/share/classes/sun/nio/cs/ext/IBM1144.java	Wed Jul 05 16:44:40 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,190 +0,0 @@
-/*
- * Copyright 2003-2004 Sun Microsystems, Inc.  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.  Sun designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
- */
-
-package sun.nio.cs.ext;
-
-
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetDecoder;
-import java.nio.charset.CharsetEncoder;
-import sun.nio.cs.StandardCharsets;
-import sun.nio.cs.SingleByteDecoder;
-import sun.nio.cs.SingleByteEncoder;
-import sun.nio.cs.HistoricallyNamedCharset;
-
-public class IBM1144
-    extends Charset
-    implements HistoricallyNamedCharset
-{
-
-    public IBM1144() {
-        super("IBM01144", ExtendedCharsets.aliasesFor("IBM01144"));
-    }
-
-    public String historicalName() {
-        return "Cp1144";
-    }
-
-    public boolean contains(Charset cs) {
-        return (cs instanceof IBM1144);
-    }
-
-    public CharsetDecoder newDecoder() {
-        return new Decoder(this);
-    }
-
-    public CharsetEncoder newEncoder() {
-        return new Encoder(this);
-    }
-
-    /**
-     * These accessors are temporarily supplied while sun.io
-     * converters co-exist with the sun.nio.cs.{ext} charset coders
-     * These facilitate sharing of conversion tables between the
-     * two co-existing implementations. When sun.io converters
-     * are made extinct these will be unncessary and should be removed
-     */
-
-    public short[] getEncoderIndex1() {
-        return Encoder.index1;
-    }
-
-    public String getEncoderIndex2() {
-        return Encoder.index2;
-    }
-
-    private static class Decoder extends IBM280.Decoder {
-            public Decoder(Charset cs) {
-                super(cs);
-            }
-
-            public char decode(int byteIndex) {
-                return (byteIndex == (byte)0x9F) ? '\u20AC' : super.decode(byteIndex);
-            }
-    }
-
-    private static class Encoder extends SingleByteEncoder {
-        public Encoder(Charset cs) {
-            super(cs, index1, index2, 0xFF00, 0x00FF, 8);
-        }
-
-        private final static String index2 =
-
-            "\u0000\u0001\u0002\u0003\u0037\u002D\u002E\u002F" +
-            "\u0016\u0005\u0025\u000B\f\r\u000E\u000F" +
-            "\u0010\u0011\u0012\u0013\u003C\u003D\u0032\u0026" +
-            "\u0018\u0019\u003F\'\u001C\u001D\u001E\u001F" +
-            "\u0040\u004F\u007F\u00B1\u005B\u006C\u0050\u007D" +
-            "\u004D\u005D\\\u004E\u006B\u0060\u004B\u0061" +
-            "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" +
-            "\u00F8\u00F9\u007A\u005E\u004C\u007E\u006E\u006F" +
-            "\u00B5\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" +
-            "\u00C8\u00C9\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6" +
-            "\u00D7\u00D8\u00D9\u00E2\u00E3\u00E4\u00E5\u00E6" +
-            "\u00E7\u00E8\u00E9\u0090\u0048\u0051\u005F\u006D" +
-            "\u00DD\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +
-            "\u0088\u0089\u0091\u0092\u0093\u0094\u0095\u0096" +
-            "\u0097\u0098\u0099\u00A2\u00A3\u00A4\u00A5\u00A6" +
-            "\u00A7\u00A8\u00A9\u0044\u00BB\u0054\u0058\u0007" +
-            "\u0020\u0021\"\u0023\u0024\u0015\u0006\u0017" +
-            "\u0028\u0029\u002A\u002B\u002C\t\n\u001B" +
-            "\u0030\u0031\u001A\u0033\u0034\u0035\u0036\b" +
-            "\u0038\u0039\u003A\u003B\u0004\u0014\u003E\u00FF" +
-            "\u0041\u00AA\u00B0\u007B\u0000\u00B2\u00CD\u007C" +
-            "\u00BD\u00B4\u009A\u008A\u00BA\u00CA\u00AF\u00BC" +
-            "\u004A\u008F\u00EA\u00FA\u00BE\u00A0\u00B6\u00B3" +
-            "\u009D\u00DA\u009B\u008B\u00B7\u00B8\u00B9\u00AB" +
-            "\u0064\u0065\u0062\u0066\u0063\u0067\u009E\u0068" +
-            "\u0074\u0071\u0072\u0073\u0078\u0075\u0076\u0077" +
-            "\u00AC\u0069\u00ED\u00EE\u00EB\u00EF\u00EC\u00BF" +
-            "\u0080\u00FD\u00FE\u00FB\u00FC\u00AD\u00AE\u0059" +
-            "\u00C0\u0045\u0042\u0046\u0043\u0047\u009C\u00E0" +
-            "\u00D0\u005A\u0052\u0053\u00A1\u0055\u0056\u0057" +
-            "\u008C\u0049\u006A\u00CE\u00CB\u00CF\u00CC\u00E1" +
-            "\u0070\u0079\u00DE\u00DB\u00DC\u008D\u008E\u00DF" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u009F\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000";
-
-        private final static short index1[] = {
-            0, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            340, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-        };
-    }
-}
--- a/jdk/src/share/classes/sun/nio/cs/ext/IBM1145.java	Wed Jul 05 16:44:40 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,190 +0,0 @@
-/*
- * Copyright 2003-2004 Sun Microsystems, Inc.  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.  Sun designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
- */
-
-package sun.nio.cs.ext;
-
-
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetDecoder;
-import java.nio.charset.CharsetEncoder;
-import sun.nio.cs.StandardCharsets;
-import sun.nio.cs.SingleByteDecoder;
-import sun.nio.cs.SingleByteEncoder;
-import sun.nio.cs.HistoricallyNamedCharset;
-
-public class IBM1145
-    extends Charset
-    implements HistoricallyNamedCharset
-{
-
-    public IBM1145() {
-        super("IBM01145", ExtendedCharsets.aliasesFor("IBM01145"));
-    }
-
-    public String historicalName() {
-        return "Cp1145";
-    }
-
-    public boolean contains(Charset cs) {
-        return (cs instanceof IBM1145);
-    }
-
-    public CharsetDecoder newDecoder() {
-        return new Decoder(this);
-    }
-
-    public CharsetEncoder newEncoder() {
-        return new Encoder(this);
-    }
-
-    /**
-     * These accessors are temporarily supplied while sun.io
-     * converters co-exist with the sun.nio.cs.{ext} charset coders
-     * These facilitate sharing of conversion tables between the
-     * two co-existing implementations. When sun.io converters
-     * are made extinct these will be unncessary and should be removed
-     */
-
-    public short[] getEncoderIndex1() {
-        return Encoder.index1;
-    }
-
-    public String getEncoderIndex2() {
-        return Encoder.index2;
-    }
-
-    private static class Decoder extends IBM284.Decoder {
-            public Decoder(Charset cs) {
-                super(cs);
-            }
-
-            public char decode(int byteIndex) {
-                return (byteIndex == (byte)0x9F) ? '\u20AC' : super.decode(byteIndex);
-            }
-    }
-
-    private static class Encoder extends SingleByteEncoder {
-        public Encoder(Charset cs) {
-            super(cs, index1, index2, 0xFF00, 0x00FF, 8);
-        }
-
-        private final static String index2 =
-
-            "\u0000\u0001\u0002\u0003\u0037\u002D\u002E\u002F" +
-            "\u0016\u0005\u0025\u000B\f\r\u000E\u000F" +
-            "\u0010\u0011\u0012\u0013\u003C\u003D\u0032\u0026" +
-            "\u0018\u0019\u003F\'\u001C\u001D\u001E\u001F" +
-            "\u0040\u00BB\u007F\u0069\u005B\u006C\u0050\u007D" +
-            "\u004D\u005D\\\u004E\u006B\u0060\u004B\u0061" +
-            "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" +
-            "\u00F8\u00F9\u007A\u005E\u004C\u007E\u006E\u006F" +
-            "\u007C\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" +
-            "\u00C8\u00C9\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6" +
-            "\u00D7\u00D8\u00D9\u00E2\u00E3\u00E4\u00E5\u00E6" +
-            "\u00E7\u00E8\u00E9\u004A\u00E0\u005A\u00BA\u006D" +
-            "\u0079\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +
-            "\u0088\u0089\u0091\u0092\u0093\u0094\u0095\u0096" +
-            "\u0097\u0098\u0099\u00A2\u00A3\u00A4\u00A5\u00A6" +
-            "\u00A7\u00A8\u00A9\u00C0\u004F\u00D0\u00BD\u0007" +
-            "\u0020\u0021\"\u0023\u0024\u0015\u0006\u0017" +
-            "\u0028\u0029\u002A\u002B\u002C\t\n\u001B" +
-            "\u0030\u0031\u001A\u0033\u0034\u0035\u0036\b" +
-            "\u0038\u0039\u003A\u003B\u0004\u0014\u003E\u00FF" +
-            "\u0041\u00AA\u00B0\u00B1\u0000\u00B2\u0049\u00B5" +
-            "\u00A1\u00B4\u009A\u008A\u005F\u00CA\u00AF\u00BC" +
-            "\u0090\u008F\u00EA\u00FA\u00BE\u00A0\u00B6\u00B3" +
-            "\u009D\u00DA\u009B\u008B\u00B7\u00B8\u00B9\u00AB" +
-            "\u0064\u0065\u0062\u0066\u0063\u0067\u009E\u0068" +
-            "\u0074\u0071\u0072\u0073\u0078\u0075\u0076\u0077" +
-            "\u00AC\u007B\u00ED\u00EE\u00EB\u00EF\u00EC\u00BF" +
-            "\u0080\u00FD\u00FE\u00FB\u00FC\u00AD\u00AE\u0059" +
-            "\u0044\u0045\u0042\u0046\u0043\u0047\u009C\u0048" +
-            "\u0054\u0051\u0052\u0053\u0058\u0055\u0056\u0057" +
-            "\u008C\u006A\u00CD\u00CE\u00CB\u00CF\u00CC\u00E1" +
-            "\u0070\u00DD\u00DE\u00DB\u00DC\u008D\u008E\u00DF" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u009F\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000";
-
-        private final static short index1[] = {
-            0, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            340, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-        };
-    }
-}
--- a/jdk/src/share/classes/sun/nio/cs/ext/IBM1146.java	Wed Jul 05 16:44:40 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,190 +0,0 @@
-/*
- * Copyright 2003-2004 Sun Microsystems, Inc.  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.  Sun designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
- */
-
-package sun.nio.cs.ext;
-
-
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetDecoder;
-import java.nio.charset.CharsetEncoder;
-import sun.nio.cs.StandardCharsets;
-import sun.nio.cs.SingleByteDecoder;
-import sun.nio.cs.SingleByteEncoder;
-import sun.nio.cs.HistoricallyNamedCharset;
-
-public class IBM1146
-    extends Charset
-    implements HistoricallyNamedCharset
-{
-
-    public IBM1146() {
-        super("IBM01146", ExtendedCharsets.aliasesFor("IBM01146"));
-    }
-
-    public String historicalName() {
-        return "Cp1146";
-    }
-
-    public boolean contains(Charset cs) {
-        return (cs instanceof IBM1146);
-    }
-
-    public CharsetDecoder newDecoder() {
-        return new Decoder(this);
-    }
-
-    public CharsetEncoder newEncoder() {
-        return new Encoder(this);
-    }
-
-    /**
-     * These accessors are temporarily supplied while sun.io
-     * converters co-exist with the sun.nio.cs.{ext} charset coders
-     * These facilitate sharing of conversion tables between the
-     * two co-existing implementations. When sun.io converters
-     * are made extinct these will be unncessary and should be removed
-     */
-
-    public short[] getEncoderIndex1() {
-        return Encoder.index1;
-    }
-
-    public String getEncoderIndex2() {
-        return Encoder.index2;
-    }
-
-    private static class Decoder extends IBM285.Decoder {
-            public Decoder(Charset cs) {
-                super(cs);
-            }
-
-            public char decode(int byteIndex) {
-                return (byteIndex == (byte)0x9F) ? '\u20AC' : super.decode(byteIndex);
-            }
-    }
-
-    private static class Encoder extends SingleByteEncoder {
-        public Encoder(Charset cs) {
-            super(cs, index1, index2, 0xFF00, 0x00FF, 8);
-        }
-
-        private final static String index2 =
-
-            "\u0000\u0001\u0002\u0003\u0037\u002D\u002E\u002F" +
-            "\u0016\u0005\u0025\u000B\f\r\u000E\u000F" +
-            "\u0010\u0011\u0012\u0013\u003C\u003D\u0032\u0026" +
-            "\u0018\u0019\u003F\'\u001C\u001D\u001E\u001F" +
-            "\u0040\u005A\u007F\u007B\u004A\u006C\u0050\u007D" +
-            "\u004D\u005D\\\u004E\u006B\u0060\u004B\u0061" +
-            "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" +
-            "\u00F8\u00F9\u007A\u005E\u004C\u007E\u006E\u006F" +
-            "\u007C\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" +
-            "\u00C8\u00C9\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6" +
-            "\u00D7\u00D8\u00D9\u00E2\u00E3\u00E4\u00E5\u00E6" +
-            "\u00E7\u00E8\u00E9\u00B1\u00E0\u00BB\u00BA\u006D" +
-            "\u0079\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +
-            "\u0088\u0089\u0091\u0092\u0093\u0094\u0095\u0096" +
-            "\u0097\u0098\u0099\u00A2\u00A3\u00A4\u00A5\u00A6" +
-            "\u00A7\u00A8\u00A9\u00C0\u004F\u00D0\u00BC\u0007" +
-            "\u0020\u0021\"\u0023\u0024\u0015\u0006\u0017" +
-            "\u0028\u0029\u002A\u002B\u002C\t\n\u001B" +
-            "\u0030\u0031\u001A\u0033\u0034\u0035\u0036\b" +
-            "\u0038\u0039\u003A\u003B\u0004\u0014\u003E\u00FF" +
-            "\u0041\u00AA\u00B0\u005B\u0000\u00B2\u006A\u00B5" +
-            "\u00BD\u00B4\u009A\u008A\u005F\u00CA\u00AF\u00A1" +
-            "\u0090\u008F\u00EA\u00FA\u00BE\u00A0\u00B6\u00B3" +
-            "\u009D\u00DA\u009B\u008B\u00B7\u00B8\u00B9\u00AB" +
-            "\u0064\u0065\u0062\u0066\u0063\u0067\u009E\u0068" +
-            "\u0074\u0071\u0072\u0073\u0078\u0075\u0076\u0077" +
-            "\u00AC\u0069\u00ED\u00EE\u00EB\u00EF\u00EC\u00BF" +
-            "\u0080\u00FD\u00FE\u00FB\u00FC\u00AD\u00AE\u0059" +
-            "\u0044\u0045\u0042\u0046\u0043\u0047\u009C\u0048" +
-            "\u0054\u0051\u0052\u0053\u0058\u0055\u0056\u0057" +
-            "\u008C\u0049\u00CD\u00CE\u00CB\u00CF\u00CC\u00E1" +
-            "\u0070\u00DD\u00DE\u00DB\u00DC\u008D\u008E\u00DF" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u009F\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000";
-
-        private final static short index1[] = {
-            0, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            340, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-        };
-    }
-}
--- a/jdk/src/share/classes/sun/nio/cs/ext/IBM1147.java	Wed Jul 05 16:44:40 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,190 +0,0 @@
-/*
- * Copyright 2003-2004 Sun Microsystems, Inc.  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.  Sun designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
- */
-
-package sun.nio.cs.ext;
-
-
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetDecoder;
-import java.nio.charset.CharsetEncoder;
-import sun.nio.cs.StandardCharsets;
-import sun.nio.cs.SingleByteDecoder;
-import sun.nio.cs.SingleByteEncoder;
-import sun.nio.cs.HistoricallyNamedCharset;
-
-public class IBM1147
-    extends Charset
-    implements HistoricallyNamedCharset
-{
-
-    public IBM1147() {
-        super("IBM01147", ExtendedCharsets.aliasesFor("IBM01147"));
-    }
-
-    public String historicalName() {
-        return "Cp1147";
-    }
-
-    public boolean contains(Charset cs) {
-        return (cs instanceof IBM1147);
-    }
-
-    public CharsetDecoder newDecoder() {
-        return new Decoder(this);
-    }
-
-    public CharsetEncoder newEncoder() {
-        return new Encoder(this);
-    }
-
-    /**
-     * These accessors are temporarily supplied while sun.io
-     * converters co-exist with the sun.nio.cs.{ext} charset coders
-     * These facilitate sharing of conversion tables between the
-     * two co-existing implementations. When sun.io converters
-     * are made extinct these will be unncessary and should be removed
-     */
-
-    public short[] getEncoderIndex1() {
-        return Encoder.index1;
-    }
-
-    public String getEncoderIndex2() {
-        return Encoder.index2;
-    }
-
-    private static class Decoder extends IBM297.Decoder {
-            public Decoder(Charset cs) {
-                super(cs);
-            }
-
-            public char decode(int byteIndex) {
-                return (byteIndex == (byte)0x9F) ? '\u20AC' : super.decode(byteIndex);
-            }
-    }
-
-    private static class Encoder extends SingleByteEncoder {
-        public Encoder(Charset cs) {
-            super(cs, index1, index2, 0xFF00, 0x00FF, 8);
-        }
-
-        private final static String index2 =
-
-            "\u0000\u0001\u0002\u0003\u0037\u002D\u002E\u002F" +
-            "\u0016\u0005\u0025\u000B\f\r\u000E\u000F" +
-            "\u0010\u0011\u0012\u0013\u003C\u003D\u0032\u0026" +
-            "\u0018\u0019\u003F\'\u001C\u001D\u001E\u001F" +
-            "\u0040\u004F\u007F\u00B1\u005B\u006C\u0050\u007D" +
-            "\u004D\u005D\\\u004E\u006B\u0060\u004B\u0061" +
-            "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" +
-            "\u00F8\u00F9\u007A\u005E\u004C\u007E\u006E\u006F" +
-            "\u0044\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" +
-            "\u00C8\u00C9\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6" +
-            "\u00D7\u00D8\u00D9\u00E2\u00E3\u00E4\u00E5\u00E6" +
-            "\u00E7\u00E8\u00E9\u0090\u0048\u00B5\u005F\u006D" +
-            "\u00A0\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +
-            "\u0088\u0089\u0091\u0092\u0093\u0094\u0095\u0096" +
-            "\u0097\u0098\u0099\u00A2\u00A3\u00A4\u00A5\u00A6" +
-            "\u00A7\u00A8\u00A9\u0051\u00BB\u0054\u00BD\u0007" +
-            "\u0020\u0021\"\u0023\u0024\u0015\u0006\u0017" +
-            "\u0028\u0029\u002A\u002B\u002C\t\n\u001B" +
-            "\u0030\u0031\u001A\u0033\u0034\u0035\u0036\b" +
-            "\u0038\u0039\u003A\u003B\u0004\u0014\u003E\u00FF" +
-            "\u0041\u00AA\u00B0\u007B\u0000\u00B2\u00DD\u005A" +
-            "\u00A1\u00B4\u009A\u008A\u00BA\u00CA\u00AF\u00BC" +
-            "\u004A\u008F\u00EA\u00FA\u00BE\u0079\u00B6\u00B3" +
-            "\u009D\u00DA\u009B\u008B\u00B7\u00B8\u00B9\u00AB" +
-            "\u0064\u0065\u0062\u0066\u0063\u0067\u009E\u0068" +
-            "\u0074\u0071\u0072\u0073\u0078\u0075\u0076\u0077" +
-            "\u00AC\u0069\u00ED\u00EE\u00EB\u00EF\u00EC\u00BF" +
-            "\u0080\u00FD\u00FE\u00FB\u00FC\u00AD\u00AE\u0059" +
-            "\u007C\u0045\u0042\u0046\u0043\u0047\u009C\u00E0" +
-            "\u00D0\u00C0\u0052\u0053\u0058\u0055\u0056\u0057" +
-            "\u008C\u0049\u00CD\u00CE\u00CB\u00CF\u00CC\u00E1" +
-            "\u0070\u006A\u00DE\u00DB\u00DC\u008D\u008E\u00DF" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u009F\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000";
-
-        private final static short index1[] = {
-            0, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            340, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-        };
-    }
-}
--- a/jdk/src/share/classes/sun/nio/cs/ext/IBM1148.java	Wed Jul 05 16:44:40 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,190 +0,0 @@
-/*
- * Copyright 2003-2004 Sun Microsystems, Inc.  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.  Sun designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
- */
-
-package sun.nio.cs.ext;
-
-
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetDecoder;
-import java.nio.charset.CharsetEncoder;
-import sun.nio.cs.StandardCharsets;
-import sun.nio.cs.SingleByteDecoder;
-import sun.nio.cs.SingleByteEncoder;
-import sun.nio.cs.HistoricallyNamedCharset;
-
-public class IBM1148
-    extends Charset
-    implements HistoricallyNamedCharset
-{
-
-    public IBM1148() {
-        super("IBM01148", ExtendedCharsets.aliasesFor("IBM01148"));
-    }
-
-    public String historicalName() {
-        return "Cp1148";
-    }
-
-    public boolean contains(Charset cs) {
-        return (cs instanceof IBM1148);
-    }
-
-    public CharsetDecoder newDecoder() {
-        return new Decoder(this);
-    }
-
-    public CharsetEncoder newEncoder() {
-        return new Encoder(this);
-    }
-
-    /**
-     * These accessors are temporarily supplied while sun.io
-     * converters co-exist with the sun.nio.cs.{ext} charset coders
-     * These facilitate sharing of conversion tables between the
-     * two co-existing implementations. When sun.io converters
-     * are made extinct these will be unncessary and should be removed
-     */
-
-    public short[] getEncoderIndex1() {
-        return Encoder.index1;
-    }
-
-    public String getEncoderIndex2() {
-        return Encoder.index2;
-    }
-
-    private static class Decoder extends IBM500.Decoder {
-            public Decoder(Charset cs) {
-                super(cs);
-            }
-
-            public char decode(int byteIndex) {
-                return (byteIndex == (byte)0x9F) ? '\u20AC' : super.decode(byteIndex);
-            }
-    }
-
-    private static class Encoder extends SingleByteEncoder {
-        public Encoder(Charset cs) {
-            super(cs, index1, index2, 0xFF00, 0x00FF, 8);
-        }
-
-        private final static String index2 =
-
-            "\u0000\u0001\u0002\u0003\u0037\u002D\u002E\u002F" +
-            "\u0016\u0005\u0025\u000B\f\r\u000E\u000F" +
-            "\u0010\u0011\u0012\u0013\u003C\u003D\u0032\u0026" +
-            "\u0018\u0019\u003F\'\u001C\u001D\u001E\u001F" +
-            "\u0040\u004F\u007F\u007B\u005B\u006C\u0050\u007D" +
-            "\u004D\u005D\\\u004E\u006B\u0060\u004B\u0061" +
-            "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" +
-            "\u00F8\u00F9\u007A\u005E\u004C\u007E\u006E\u006F" +
-            "\u007C\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" +
-            "\u00C8\u00C9\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6" +
-            "\u00D7\u00D8\u00D9\u00E2\u00E3\u00E4\u00E5\u00E6" +
-            "\u00E7\u00E8\u00E9\u004A\u00E0\u005A\u005F\u006D" +
-            "\u0079\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +
-            "\u0088\u0089\u0091\u0092\u0093\u0094\u0095\u0096" +
-            "\u0097\u0098\u0099\u00A2\u00A3\u00A4\u00A5\u00A6" +
-            "\u00A7\u00A8\u00A9\u00C0\u00BB\u00D0\u00A1\u0007" +
-            "\u0020\u0021\"\u0023\u0024\u0015\u0006\u0017" +
-            "\u0028\u0029\u002A\u002B\u002C\t\n\u001B" +
-            "\u0030\u0031\u001A\u0033\u0034\u0035\u0036\b" +
-            "\u0038\u0039\u003A\u003B\u0004\u0014\u003E\u00FF" +
-            "\u0041\u00AA\u00B0\u00B1\u0000\u00B2\u006A\u00B5" +
-            "\u00BD\u00B4\u009A\u008A\u00BA\u00CA\u00AF\u00BC" +
-            "\u0090\u008F\u00EA\u00FA\u00BE\u00A0\u00B6\u00B3" +
-            "\u009D\u00DA\u009B\u008B\u00B7\u00B8\u00B9\u00AB" +
-            "\u0064\u0065\u0062\u0066\u0063\u0067\u009E\u0068" +
-            "\u0074\u0071\u0072\u0073\u0078\u0075\u0076\u0077" +
-            "\u00AC\u0069\u00ED\u00EE\u00EB\u00EF\u00EC\u00BF" +
-            "\u0080\u00FD\u00FE\u00FB\u00FC\u00AD\u00AE\u0059" +
-            "\u0044\u0045\u0042\u0046\u0043\u0047\u009C\u0048" +
-            "\u0054\u0051\u0052\u0053\u0058\u0055\u0056\u0057" +
-            "\u008C\u0049\u00CD\u00CE\u00CB\u00CF\u00CC\u00E1" +
-            "\u0070\u00DD\u00DE\u00DB\u00DC\u008D\u008E\u00DF" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u009F\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000";
-
-        private final static short index1[] = {
-            0, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            340, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-        };
-    }
-}
--- a/jdk/src/share/classes/sun/nio/cs/ext/IBM1149.java	Wed Jul 05 16:44:40 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,190 +0,0 @@
-/*
- * Copyright 2003-2004 Sun Microsystems, Inc.  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.  Sun designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
- */
-
-package sun.nio.cs.ext;
-
-
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetDecoder;
-import java.nio.charset.CharsetEncoder;
-import sun.nio.cs.StandardCharsets;
-import sun.nio.cs.SingleByteDecoder;
-import sun.nio.cs.SingleByteEncoder;
-import sun.nio.cs.HistoricallyNamedCharset;
-
-public class IBM1149
-    extends Charset
-    implements HistoricallyNamedCharset
-{
-
-    public IBM1149() {
-        super("IBM01149", ExtendedCharsets.aliasesFor("IBM01149"));
-    }
-
-    public String historicalName() {
-        return "Cp1149";
-    }
-
-    public boolean contains(Charset cs) {
-        return (cs instanceof IBM1149);
-    }
-
-    public CharsetDecoder newDecoder() {
-        return new Decoder(this);
-    }
-
-    public CharsetEncoder newEncoder() {
-        return new Encoder(this);
-    }
-
-    /**
-     * These accessors are temporarily supplied while sun.io
-     * converters co-exist with the sun.nio.cs.{ext} charset coders
-     * These facilitate sharing of conversion tables between the
-     * two co-existing implementations. When sun.io converters
-     * are made extinct these will be unncessary and should be removed
-     */
-
-    public short[] getEncoderIndex1() {
-        return Encoder.index1;
-    }
-
-    public String getEncoderIndex2() {
-        return Encoder.index2;
-    }
-
-    private static class Decoder extends IBM871.Decoder {
-            public Decoder(Charset cs) {
-                super(cs);
-            }
-
-            public char decode(int byteIndex) {
-                return (byteIndex == (byte)0x9F) ? '\u20AC' : super.decode(byteIndex);
-            }
-    }
-
-    private static class Encoder extends SingleByteEncoder {
-        public Encoder(Charset cs) {
-            super(cs, index1, index2, 0xFF00, 0x00FF, 8);
-        }
-
-        private final static String index2 =
-
-            "\u0000\u0001\u0002\u0003\u0037\u002D\u002E\u002F" +
-            "\u0016\u0005\u0025\u000B\f\r\u000E\u000F" +
-            "\u0010\u0011\u0012\u0013\u003C\u003D\u0032\u0026" +
-            "\u0018\u0019\u003F\'\u001C\u001D\u001E\u001F" +
-            "\u0040\u004F\u007F\u007B\u005B\u006C\u0050\u007D" +
-            "\u004D\u005D\\\u004E\u006B\u0060\u004B\u0061" +
-            "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" +
-            "\u00F8\u00F9\u007A\u005E\u004C\u007E\u006E\u006F" +
-            "\u00AC\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" +
-            "\u00C8\u00C9\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6" +
-            "\u00D7\u00D8\u00D9\u00E2\u00E3\u00E4\u00E5\u00E6" +
-            "\u00E7\u00E8\u00E9\u00AE\u00BE\u009E\u00EC\u006D" +
-            "\u008C\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +
-            "\u0088\u0089\u0091\u0092\u0093\u0094\u0095\u0096" +
-            "\u0097\u0098\u0099\u00A2\u00A3\u00A4\u00A5\u00A6" +
-            "\u00A7\u00A8\u00A9\u008E\u00BB\u009C\u00CC\u0007" +
-            "\u0020\u0021\"\u0023\u0024\u0015\u0006\u0017" +
-            "\u0028\u0029\u002A\u002B\u002C\t\n\u001B" +
-            "\u0030\u0031\u001A\u0033\u0034\u0035\u0036\b" +
-            "\u0038\u0039\u003A\u003B\u0004\u0014\u003E\u00FF" +
-            "\u0041\u00AA\u00B0\u00B1\u0000\u00B2\u006A\u00B5" +
-            "\u00BD\u00B4\u009A\u008A\u00BA\u00CA\u00AF\u00BC" +
-            "\u0090\u008F\u00EA\u00FA\u00E0\u00A0\u00B6\u00B3" +
-            "\u009D\u00DA\u009B\u008B\u00B7\u00B8\u00B9\u00AB" +
-            "\u0064\u0065\u0062\u0066\u0063\u0067\u005A\u0068" +
-            "\u0074\u0071\u0072\u0073\u0078\u0075\u0076\u0077" +
-            "\u007C\u0069\u00ED\u00EE\u00EB\u00EF\u005F\u00BF" +
-            "\u0080\u00FD\u00FE\u00FB\u00FC\u00AD\u004A\u0059" +
-            "\u0044\u0045\u0042\u0046\u0043\u0047\u00D0\u0048" +
-            "\u0054\u0051\u0052\u0053\u0058\u0055\u0056\u0057" +
-            "\u0079\u0049\u00CD\u00CE\u00CB\u00CF\u00A1\u00E1" +
-            "\u0070\u00DD\u00DE\u00DB\u00DC\u008D\u00C0\u00DF" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u009F\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000";
-
-        private final static short index1[] = {
-            0, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            340, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-        };
-    }
-}
--- a/jdk/src/share/classes/sun/nio/cs/ext/IBM273.java	Wed Jul 05 16:44:40 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,221 +0,0 @@
-
-/*
- * Copyright 2003-2004 Sun Microsystems, Inc.  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.  Sun designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
- */
-
-package sun.nio.cs.ext;
-
-
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetDecoder;
-import java.nio.charset.CharsetEncoder;
-import sun.nio.cs.StandardCharsets;
-import sun.nio.cs.SingleByteDecoder;
-import sun.nio.cs.SingleByteEncoder;
-import sun.nio.cs.HistoricallyNamedCharset;
-
-public class IBM273
-    extends Charset
-    implements HistoricallyNamedCharset
-{
-
-    public IBM273() {
-        super("IBM273", ExtendedCharsets.aliasesFor("IBM273"));
-    }
-
-    public String historicalName() {
-        return "Cp273";
-    }
-
-    public boolean contains(Charset cs) {
-        return (cs instanceof IBM273);
-    }
-
-    public CharsetDecoder newDecoder() {
-        return new Decoder(this);
-    }
-
-    public CharsetEncoder newEncoder() {
-        return new Encoder(this);
-    }
-
-
-    /**
-     * These accessors are temporarily supplied while sun.io
-     * converters co-exist with the sun.nio.cs.{ext} charset coders
-     * These facilitate sharing of conversion tables between the
-     * two co-existing implementations. When sun.io converters
-     * are made extinct these will be unncessary and should be removed
-     */
-
-    public String getDecoderSingleByteMappings() {
-        return Decoder.byteToCharTable;
-
-    }
-
-    public short[] getEncoderIndex1() {
-        return Encoder.index1;
-
-    }
-    public String getEncoderIndex2() {
-        return Encoder.index2;
-
-    }
-
-    protected static class Decoder extends SingleByteDecoder {
-            public Decoder(Charset cs) {
-                super(cs, byteToCharTable);
-        }
-
-        private final static String byteToCharTable =
-
-            "\u00D8\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +        // 0x80 - 0x87
-            "\u0068\u0069\u00AB\u00BB\u00F0\u00FD\u00FE\u00B1" +        // 0x88 - 0x8F
-            "\u00B0\u006A\u006B\u006C\u006D\u006E\u006F\u0070" +        // 0x90 - 0x97
-            "\u0071\u0072\u00AA\u00BA\u00E6\u00B8\u00C6\u00A4" +        // 0x98 - 0x9F
-            "\u00B5\u00DF\u0073\u0074\u0075\u0076\u0077\u0078" +        // 0xA0 - 0xA7
-            "\u0079\u007A\u00A1\u00BF\u00D0\u00DD\u00DE\u00AE" +        // 0xA8 - 0xAF
-            "\u00A2\u00A3\u00A5\u00B7\u00A9\u0040\u00B6\u00BC" +        // 0xB0 - 0xB7
-            "\u00BD\u00BE\u00AC\u007C\u00AF\u00A8\u00B4\u00D7" +        // 0xB8 - 0xBF
-            "\u00E4\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +        // 0xC0 - 0xC7
-            "\u0048\u0049\u00AD\u00F4\u00A6\u00F2\u00F3\u00F5" +        // 0xC8 - 0xCF
-            "\u00FC\u004A\u004B\u004C\u004D\u004E\u004F\u0050" +        // 0xD0 - 0xD7
-            "\u0051\u0052\u00B9\u00FB\u007D\u00F9\u00FA\u00FF" +        // 0xD8 - 0xDF
-            "\u00D6\u00F7\u0053\u0054\u0055\u0056\u0057\u0058" +        // 0xE0 - 0xE7
-            "\u0059\u005A\u00B2\u00D4\\\u00D2\u00D3\u00D5" +    // 0xE8 - 0xEF
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +        // 0xF0 - 0xF7
-            "\u0038\u0039\u00B3\u00DB\u005D\u00D9\u00DA\u009F" +        // 0xF8 - 0xFF
-            "\u0000\u0001\u0002\u0003\u009C\t\u0086\u007F" +    // 0x00 - 0x07
-            "\u0097\u008D\u008E\u000B\f\r\u000E\u000F" +        // 0x08 - 0x0F
-            "\u0010\u0011\u0012\u0013\u009D\n\b\u0087" +        // 0x10 - 0x17
-            "\u0018\u0019\u0092\u008F\u001C\u001D\u001E\u001F" +        // 0x18 - 0x1F
-            "\u0080\u0081\u0082\u0083\u0084\n\u0017\u001B" +    // 0x20 - 0x27
-            "\u0088\u0089\u008A\u008B\u008C\u0005\u0006\u0007" +        // 0x28 - 0x2F
-            "\u0090\u0091\u0016\u0093\u0094\u0095\u0096\u0004" +        // 0x30 - 0x37
-            "\u0098\u0099\u009A\u009B\u0014\u0015\u009E\u001A" +        // 0x38 - 0x3F
-            "\u0020\u00A0\u00E2\u007B\u00E0\u00E1\u00E3\u00E5" +        // 0x40 - 0x47
-            "\u00E7\u00F1\u00C4\u002E\u003C\u0028\u002B\u0021" +        // 0x48 - 0x4F
-            "\u0026\u00E9\u00EA\u00EB\u00E8\u00ED\u00EE\u00EF" +        // 0x50 - 0x57
-            "\u00EC\u007E\u00DC\u0024\u002A\u0029\u003B\u005E" +        // 0x58 - 0x5F
-            "\u002D\u002F\u00C2\u005B\u00C0\u00C1\u00C3\u00C5" +        // 0x60 - 0x67
-            "\u00C7\u00D1\u00F6\u002C\u0025\u005F\u003E\u003F" +        // 0x68 - 0x6F
-            "\u00F8\u00C9\u00CA\u00CB\u00C8\u00CD\u00CE\u00CF" +        // 0x70 - 0x77
-            "\u00CC\u0060\u003A\u0023\u00A7\'\u003D\"";         // 0x78 - 0x7F
-
-    }
-
-    private static class Encoder extends SingleByteEncoder {
-            public Encoder(Charset cs) {
-                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
-            }
-
-            private final static String index2 =
-
-
-            "\u0000\u0001\u0002\u0003\u0037\u002D\u002E\u002F" +
-            "\u0016\u0005\u0015\u000B\f\r\u000E\u000F" +
-            "\u0010\u0011\u0012\u0013\u003C\u003D\u0032\u0026" +
-            "\u0018\u0019\u003F\'\u001C\u001D\u001E\u001F" +
-            "\u0040\u004F\u007F\u007B\u005B\u006C\u0050\u007D" +
-            "\u004D\u005D\\\u004E\u006B\u0060\u004B\u0061" +
-            "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" +
-            "\u00F8\u00F9\u007A\u005E\u004C\u007E\u006E\u006F" +
-            "\u00B5\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" +
-            "\u00C8\u00C9\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6" +
-            "\u00D7\u00D8\u00D9\u00E2\u00E3\u00E4\u00E5\u00E6" +
-            "\u00E7\u00E8\u00E9\u0063\u00EC\u00FC\u005F\u006D" +
-            "\u0079\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +
-            "\u0088\u0089\u0091\u0092\u0093\u0094\u0095\u0096" +
-            "\u0097\u0098\u0099\u00A2\u00A3\u00A4\u00A5\u00A6" +
-            "\u00A7\u00A8\u00A9\u0043\u00BB\u00DC\u0059\u0007" +
-            "\u0020\u0021\"\u0023\u0024\u0015\u0006\u0017" +
-            "\u0028\u0029\u002A\u002B\u002C\t\n\u001B" +
-            "\u0030\u0031\u001A\u0033\u0034\u0035\u0036\b" +
-            "\u0038\u0039\u003A\u003B\u0004\u0014\u003E\u00FF" +
-            "\u0041\u00AA\u00B0\u00B1\u009F\u00B2\u00CC\u007C" +
-            "\u00BD\u00B4\u009A\u008A\u00BA\u00CA\u00AF\u00BC" +
-            "\u0090\u008F\u00EA\u00FA\u00BE\u00A0\u00B6\u00B3" +
-            "\u009D\u00DA\u009B\u008B\u00B7\u00B8\u00B9\u00AB" +
-            "\u0064\u0065\u0062\u0066\u004A\u0067\u009E\u0068" +
-            "\u0074\u0071\u0072\u0073\u0078\u0075\u0076\u0077" +
-            "\u00AC\u0069\u00ED\u00EE\u00EB\u00EF\u00E0\u00BF" +
-            "\u0080\u00FD\u00FE\u00FB\u005A\u00AD\u00AE\u00A1" +
-            "\u0044\u0045\u0042\u0046\u00C0\u0047\u009C\u0048" +
-            "\u0054\u0051\u0052\u0053\u0058\u0055\u0056\u0057" +
-            "\u008C\u0049\u00CD\u00CE\u00CB\u00CF\u006A\u00E1" +
-            "\u0070\u00DD\u00DE\u00DB\u00D0\u008D\u008E\u00DF" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000";
-
-    private final static short index1[] = {
-            0, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-
-        };
-    }
-}
--- a/jdk/src/share/classes/sun/nio/cs/ext/IBM277.java	Wed Jul 05 16:44:40 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,221 +0,0 @@
-
-/*
- * Copyright 2003-2004 Sun Microsystems, Inc.  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.  Sun designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
- */
-
-package sun.nio.cs.ext;
-
-
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetDecoder;
-import java.nio.charset.CharsetEncoder;
-import sun.nio.cs.StandardCharsets;
-import sun.nio.cs.SingleByteDecoder;
-import sun.nio.cs.SingleByteEncoder;
-import sun.nio.cs.HistoricallyNamedCharset;
-
-public class IBM277
-    extends Charset
-    implements HistoricallyNamedCharset
-{
-
-    public IBM277() {
-        super("IBM277", ExtendedCharsets.aliasesFor("IBM277"));
-    }
-
-    public String historicalName() {
-        return "Cp277";
-    }
-
-    public boolean contains(Charset cs) {
-        return (cs instanceof IBM277);
-    }
-
-    public CharsetDecoder newDecoder() {
-        return new Decoder(this);
-    }
-
-    public CharsetEncoder newEncoder() {
-        return new Encoder(this);
-    }
-
-
-    /**
-     * These accessors are temporarily supplied while sun.io
-     * converters co-exist with the sun.nio.cs.{ext} charset coders
-     * These facilitate sharing of conversion tables between the
-     * two co-existing implementations. When sun.io converters
-     * are made extinct these will be unncessary and should be removed
-     */
-
-    public String getDecoderSingleByteMappings() {
-        return Decoder.byteToCharTable;
-
-    }
-
-    public short[] getEncoderIndex1() {
-        return Encoder.index1;
-
-    }
-    public String getEncoderIndex2() {
-        return Encoder.index2;
-
-    }
-
-    protected static class Decoder extends SingleByteDecoder {
-            public Decoder(Charset cs) {
-                super(cs, byteToCharTable);
-        }
-
-        private final static String byteToCharTable =
-
-            "\u0040\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +        // 0x80 - 0x87
-            "\u0068\u0069\u00AB\u00BB\u00F0\u00FD\u00FE\u00B1" +        // 0x88 - 0x8F
-            "\u00B0\u006A\u006B\u006C\u006D\u006E\u006F\u0070" +        // 0x90 - 0x97
-            "\u0071\u0072\u00AA\u00BA\u007B\u00B8\u005B\u005D" +        // 0x98 - 0x9F
-            "\u00B5\u00FC\u0073\u0074\u0075\u0076\u0077\u0078" +        // 0xA0 - 0xA7
-            "\u0079\u007A\u00A1\u00BF\u00D0\u00DD\u00DE\u00AE" +        // 0xA8 - 0xAF
-            "\u00A2\u00A3\u00A5\u00B7\u00A9\u00A7\u00B6\u00BC" +        // 0xB0 - 0xB7
-            "\u00BD\u00BE\u00AC\u007C\u00AF\u00A8\u00B4\u00D7" +        // 0xB8 - 0xBF
-            "\u00E6\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +        // 0xC0 - 0xC7
-            "\u0048\u0049\u00AD\u00F4\u00F6\u00F2\u00F3\u00F5" +        // 0xC8 - 0xCF
-            "\u00E5\u004A\u004B\u004C\u004D\u004E\u004F\u0050" +        // 0xD0 - 0xD7
-            "\u0051\u0052\u00B9\u00FB\u007E\u00F9\u00FA\u00FF" +        // 0xD8 - 0xDF
-            "\\\u00F7\u0053\u0054\u0055\u0056\u0057\u0058" +    // 0xE0 - 0xE7
-            "\u0059\u005A\u00B2\u00D4\u00D6\u00D2\u00D3\u00D5" +        // 0xE8 - 0xEF
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +        // 0xF0 - 0xF7
-            "\u0038\u0039\u00B3\u00DB\u00DC\u00D9\u00DA\u009F" +        // 0xF8 - 0xFF
-            "\u0000\u0001\u0002\u0003\u009C\t\u0086\u007F" +    // 0x00 - 0x07
-            "\u0097\u008D\u008E\u000B\f\r\u000E\u000F" +        // 0x08 - 0x0F
-            "\u0010\u0011\u0012\u0013\u009D\n\b\u0087" +        // 0x10 - 0x17
-            "\u0018\u0019\u0092\u008F\u001C\u001D\u001E\u001F" +        // 0x18 - 0x1F
-            "\u0080\u0081\u0082\u0083\u0084\n\u0017\u001B" +    // 0x20 - 0x27
-            "\u0088\u0089\u008A\u008B\u008C\u0005\u0006\u0007" +        // 0x28 - 0x2F
-            "\u0090\u0091\u0016\u0093\u0094\u0095\u0096\u0004" +        // 0x30 - 0x37
-            "\u0098\u0099\u009A\u009B\u0014\u0015\u009E\u001A" +        // 0x38 - 0x3F
-            "\u0020\u00A0\u00E2\u00E4\u00E0\u00E1\u00E3\u007D" +        // 0x40 - 0x47
-            "\u00E7\u00F1\u0023\u002E\u003C\u0028\u002B\u0021" +        // 0x48 - 0x4F
-            "\u0026\u00E9\u00EA\u00EB\u00E8\u00ED\u00EE\u00EF" +        // 0x50 - 0x57
-            "\u00EC\u00DF\u00A4\u00C5\u002A\u0029\u003B\u005E" +        // 0x58 - 0x5F
-            "\u002D\u002F\u00C2\u00C4\u00C0\u00C1\u00C3\u0024" +        // 0x60 - 0x67
-            "\u00C7\u00D1\u00F8\u002C\u0025\u005F\u003E\u003F" +        // 0x68 - 0x6F
-            "\u00A6\u00C9\u00CA\u00CB\u00C8\u00CD\u00CE\u00CF" +        // 0x70 - 0x77
-            "\u00CC\u0060\u003A\u00C6\u00D8\'\u003D\"";         // 0x78 - 0x7F
-
-    }
-
-    private static class Encoder extends SingleByteEncoder {
-            public Encoder(Charset cs) {
-                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
-            }
-
-            private final static String index2 =
-
-
-            "\u0000\u0001\u0002\u0003\u0037\u002D\u002E\u002F" +
-            "\u0016\u0005\u0015\u000B\f\r\u000E\u000F" +
-            "\u0010\u0011\u0012\u0013\u003C\u003D\u0032\u0026" +
-            "\u0018\u0019\u003F\'\u001C\u001D\u001E\u001F" +
-            "\u0040\u004F\u007F\u004A\u0067\u006C\u0050\u007D" +
-            "\u004D\u005D\\\u004E\u006B\u0060\u004B\u0061" +
-            "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" +
-            "\u00F8\u00F9\u007A\u005E\u004C\u007E\u006E\u006F" +
-            "\u0080\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" +
-            "\u00C8\u00C9\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6" +
-            "\u00D7\u00D8\u00D9\u00E2\u00E3\u00E4\u00E5\u00E6" +
-            "\u00E7\u00E8\u00E9\u009E\u00E0\u009F\u005F\u006D" +
-            "\u0079\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +
-            "\u0088\u0089\u0091\u0092\u0093\u0094\u0095\u0096" +
-            "\u0097\u0098\u0099\u00A2\u00A3\u00A4\u00A5\u00A6" +
-            "\u00A7\u00A8\u00A9\u009C\u00BB\u0047\u00DC\u0007" +
-            "\u0020\u0021\"\u0023\u0024\u0015\u0006\u0017" +
-            "\u0028\u0029\u002A\u002B\u002C\t\n\u001B" +
-            "\u0030\u0031\u001A\u0033\u0034\u0035\u0036\b" +
-            "\u0038\u0039\u003A\u003B\u0004\u0014\u003E\u00FF" +
-            "\u0041\u00AA\u00B0\u00B1\u005A\u00B2\u0070\u00B5" +
-            "\u00BD\u00B4\u009A\u008A\u00BA\u00CA\u00AF\u00BC" +
-            "\u0090\u008F\u00EA\u00FA\u00BE\u00A0\u00B6\u00B3" +
-            "\u009D\u00DA\u009B\u008B\u00B7\u00B8\u00B9\u00AB" +
-            "\u0064\u0065\u0062\u0066\u0063\u005B\u007B\u0068" +
-            "\u0074\u0071\u0072\u0073\u0078\u0075\u0076\u0077" +
-            "\u00AC\u0069\u00ED\u00EE\u00EB\u00EF\u00EC\u00BF" +
-            "\u007C\u00FD\u00FE\u00FB\u00FC\u00AD\u00AE\u0059" +
-            "\u0044\u0045\u0042\u0046\u0043\u00D0\u00C0\u0048" +
-            "\u0054\u0051\u0052\u0053\u0058\u0055\u0056\u0057" +
-            "\u008C\u0049\u00CD\u00CE\u00CB\u00CF\u00CC\u00E1" +
-            "\u006A\u00DD\u00DE\u00DB\u00A1\u008D\u008E\u00DF" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000";
-
-    private final static short index1[] = {
-            0, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-
-        };
-    }
-}
--- a/jdk/src/share/classes/sun/nio/cs/ext/IBM278.java	Wed Jul 05 16:44:40 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,221 +0,0 @@
-
-/*
- * Copyright 2003-2004 Sun Microsystems, Inc.  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.  Sun designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
- */
-
-package sun.nio.cs.ext;
-
-
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetDecoder;
-import java.nio.charset.CharsetEncoder;
-import sun.nio.cs.StandardCharsets;
-import sun.nio.cs.SingleByteDecoder;
-import sun.nio.cs.SingleByteEncoder;
-import sun.nio.cs.HistoricallyNamedCharset;
-
-public class IBM278
-    extends Charset
-    implements HistoricallyNamedCharset
-{
-
-    public IBM278() {
-        super("IBM278", ExtendedCharsets.aliasesFor("IBM278"));
-    }
-
-    public String historicalName() {
-        return "Cp278";
-    }
-
-    public boolean contains(Charset cs) {
-        return (cs instanceof IBM278);
-    }
-
-    public CharsetDecoder newDecoder() {
-        return new Decoder(this);
-    }
-
-    public CharsetEncoder newEncoder() {
-        return new Encoder(this);
-    }
-
-
-    /**
-     * These accessors are temporarily supplied while sun.io
-     * converters co-exist with the sun.nio.cs.{ext} charset coders
-     * These facilitate sharing of conversion tables between the
-     * two co-existing implementations. When sun.io converters
-     * are made extinct these will be unncessary and should be removed
-     */
-
-    public String getDecoderSingleByteMappings() {
-        return Decoder.byteToCharTable;
-
-    }
-
-    public short[] getEncoderIndex1() {
-        return Encoder.index1;
-
-    }
-    public String getEncoderIndex2() {
-        return Encoder.index2;
-
-    }
-
-    protected static class Decoder extends SingleByteDecoder {
-            public Decoder(Charset cs) {
-                super(cs, byteToCharTable);
-        }
-
-        private final static String byteToCharTable =
-
-            "\u00D8\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +        // 0x80 - 0x87
-            "\u0068\u0069\u00AB\u00BB\u00F0\u00FD\u00FE\u00B1" +        // 0x88 - 0x8F
-            "\u00B0\u006A\u006B\u006C\u006D\u006E\u006F\u0070" +        // 0x90 - 0x97
-            "\u0071\u0072\u00AA\u00BA\u00E6\u00B8\u00C6\u005D" +        // 0x98 - 0x9F
-            "\u00B5\u00FC\u0073\u0074\u0075\u0076\u0077\u0078" +        // 0xA0 - 0xA7
-            "\u0079\u007A\u00A1\u00BF\u00D0\u00DD\u00DE\u00AE" +        // 0xA8 - 0xAF
-            "\u00A2\u00A3\u00A5\u00B7\u00A9\u005B\u00B6\u00BC" +        // 0xB0 - 0xB7
-            "\u00BD\u00BE\u00AC\u007C\u00AF\u00A8\u00B4\u00D7" +        // 0xB8 - 0xBF
-            "\u00E4\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +        // 0xC0 - 0xC7
-            "\u0048\u0049\u00AD\u00F4\u00A6\u00F2\u00F3\u00F5" +        // 0xC8 - 0xCF
-            "\u00E5\u004A\u004B\u004C\u004D\u004E\u004F\u0050" +        // 0xD0 - 0xD7
-            "\u0051\u0052\u00B9\u00FB\u007E\u00F9\u00FA\u00FF" +        // 0xD8 - 0xDF
-            "\u00C9\u00F7\u0053\u0054\u0055\u0056\u0057\u0058" +        // 0xE0 - 0xE7
-            "\u0059\u005A\u00B2\u00D4\u0040\u00D2\u00D3\u00D5" +        // 0xE8 - 0xEF
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +        // 0xF0 - 0xF7
-            "\u0038\u0039\u00B3\u00DB\u00DC\u00D9\u00DA\u009F" +        // 0xF8 - 0xFF
-            "\u0000\u0001\u0002\u0003\u009C\t\u0086\u007F" +    // 0x00 - 0x07
-            "\u0097\u008D\u008E\u000B\f\r\u000E\u000F" +        // 0x08 - 0x0F
-            "\u0010\u0011\u0012\u0013\u009D\n\b\u0087" +        // 0x10 - 0x17
-            "\u0018\u0019\u0092\u008F\u001C\u001D\u001E\u001F" +        // 0x18 - 0x1F
-            "\u0080\u0081\u0082\u0083\u0084\n\u0017\u001B" +    // 0x20 - 0x27
-            "\u0088\u0089\u008A\u008B\u008C\u0005\u0006\u0007" +        // 0x28 - 0x2F
-            "\u0090\u0091\u0016\u0093\u0094\u0095\u0096\u0004" +        // 0x30 - 0x37
-            "\u0098\u0099\u009A\u009B\u0014\u0015\u009E\u001A" +        // 0x38 - 0x3F
-            "\u0020\u00A0\u00E2\u007B\u00E0\u00E1\u00E3\u007D" +        // 0x40 - 0x47
-            "\u00E7\u00F1\u00A7\u002E\u003C\u0028\u002B\u0021" +        // 0x48 - 0x4F
-            "\u0026\u0060\u00EA\u00EB\u00E8\u00ED\u00EE\u00EF" +        // 0x50 - 0x57
-            "\u00EC\u00DF\u00A4\u00C5\u002A\u0029\u003B\u005E" +        // 0x58 - 0x5F
-            "\u002D\u002F\u00C2\u0023\u00C0\u00C1\u00C3\u0024" +        // 0x60 - 0x67
-            "\u00C7\u00D1\u00F6\u002C\u0025\u005F\u003E\u003F" +        // 0x68 - 0x6F
-            "\u00F8\\\u00CA\u00CB\u00C8\u00CD\u00CE\u00CF" +    // 0x70 - 0x77
-            "\u00CC\u00E9\u003A\u00C4\u00D6\'\u003D\"";         // 0x78 - 0x7F
-
-    }
-
-    private static class Encoder extends SingleByteEncoder {
-            public Encoder(Charset cs) {
-                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
-            }
-
-            private final static String index2 =
-
-
-            "\u0000\u0001\u0002\u0003\u0037\u002D\u002E\u002F" +
-            "\u0016\u0005\u0015\u000B\f\r\u000E\u000F" +
-            "\u0010\u0011\u0012\u0013\u003C\u003D\u0032\u0026" +
-            "\u0018\u0019\u003F\'\u001C\u001D\u001E\u001F" +
-            "\u0040\u004F\u007F\u0063\u0067\u006C\u0050\u007D" +
-            "\u004D\u005D\\\u004E\u006B\u0060\u004B\u0061" +
-            "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" +
-            "\u00F8\u00F9\u007A\u005E\u004C\u007E\u006E\u006F" +
-            "\u00EC\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" +
-            "\u00C8\u00C9\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6" +
-            "\u00D7\u00D8\u00D9\u00E2\u00E3\u00E4\u00E5\u00E6" +
-            "\u00E7\u00E8\u00E9\u00B5\u0071\u009F\u005F\u006D" +
-            "\u0051\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +
-            "\u0088\u0089\u0091\u0092\u0093\u0094\u0095\u0096" +
-            "\u0097\u0098\u0099\u00A2\u00A3\u00A4\u00A5\u00A6" +
-            "\u00A7\u00A8\u00A9\u0043\u00BB\u0047\u00DC\u0007" +
-            "\u0020\u0021\"\u0023\u0024\u0015\u0006\u0017" +
-            "\u0028\u0029\u002A\u002B\u002C\t\n\u001B" +
-            "\u0030\u0031\u001A\u0033\u0034\u0035\u0036\b" +
-            "\u0038\u0039\u003A\u003B\u0004\u0014\u003E\u00FF" +
-            "\u0041\u00AA\u00B0\u00B1\u005A\u00B2\u00CC\u004A" +
-            "\u00BD\u00B4\u009A\u008A\u00BA\u00CA\u00AF\u00BC" +
-            "\u0090\u008F\u00EA\u00FA\u00BE\u00A0\u00B6\u00B3" +
-            "\u009D\u00DA\u009B\u008B\u00B7\u00B8\u00B9\u00AB" +
-            "\u0064\u0065\u0062\u0066\u007B\u005B\u009E\u0068" +
-            "\u0074\u00E0\u0072\u0073\u0078\u0075\u0076\u0077" +
-            "\u00AC\u0069\u00ED\u00EE\u00EB\u00EF\u007C\u00BF" +
-            "\u0080\u00FD\u00FE\u00FB\u00FC\u00AD\u00AE\u0059" +
-            "\u0044\u0045\u0042\u0046\u00C0\u00D0\u009C\u0048" +
-            "\u0054\u0079\u0052\u0053\u0058\u0055\u0056\u0057" +
-            "\u008C\u0049\u00CD\u00CE\u00CB\u00CF\u006A\u00E1" +
-            "\u0070\u00DD\u00DE\u00DB\u00A1\u008D\u008E\u00DF" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000";
-
-    private final static short index1[] = {
-            0, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-
-        };
-    }
-}
--- a/jdk/src/share/classes/sun/nio/cs/ext/IBM280.java	Wed Jul 05 16:44:40 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,221 +0,0 @@
-
-/*
- * Copyright 2003-2004 Sun Microsystems, Inc.  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.  Sun designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
- */
-
-package sun.nio.cs.ext;
-
-
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetDecoder;
-import java.nio.charset.CharsetEncoder;
-import sun.nio.cs.StandardCharsets;
-import sun.nio.cs.SingleByteDecoder;
-import sun.nio.cs.SingleByteEncoder;
-import sun.nio.cs.HistoricallyNamedCharset;
-
-public class IBM280
-    extends Charset
-    implements HistoricallyNamedCharset
-{
-
-    public IBM280() {
-        super("IBM280", ExtendedCharsets.aliasesFor("IBM280"));
-    }
-
-    public String historicalName() {
-        return "Cp280";
-    }
-
-    public boolean contains(Charset cs) {
-        return (cs instanceof IBM280);
-    }
-
-    public CharsetDecoder newDecoder() {
-        return new Decoder(this);
-    }
-
-    public CharsetEncoder newEncoder() {
-        return new Encoder(this);
-    }
-
-
-    /**
-     * These accessors are temporarily supplied while sun.io
-     * converters co-exist with the sun.nio.cs.{ext} charset coders
-     * These facilitate sharing of conversion tables between the
-     * two co-existing implementations. When sun.io converters
-     * are made extinct these will be unncessary and should be removed
-     */
-
-    public String getDecoderSingleByteMappings() {
-        return Decoder.byteToCharTable;
-
-    }
-
-    public short[] getEncoderIndex1() {
-        return Encoder.index1;
-
-    }
-    public String getEncoderIndex2() {
-        return Encoder.index2;
-
-    }
-
-    protected static class Decoder extends SingleByteDecoder {
-            public Decoder(Charset cs) {
-                super(cs, byteToCharTable);
-        }
-
-        private final static String byteToCharTable =
-
-            "\u00D8\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +        // 0x80 - 0x87
-            "\u0068\u0069\u00AB\u00BB\u00F0\u00FD\u00FE\u00B1" +        // 0x88 - 0x8F
-            "\u005B\u006A\u006B\u006C\u006D\u006E\u006F\u0070" +        // 0x90 - 0x97
-            "\u0071\u0072\u00AA\u00BA\u00E6\u00B8\u00C6\u00A4" +        // 0x98 - 0x9F
-            "\u00B5\u00EC\u0073\u0074\u0075\u0076\u0077\u0078" +        // 0xA0 - 0xA7
-            "\u0079\u007A\u00A1\u00BF\u00D0\u00DD\u00DE\u00AE" +        // 0xA8 - 0xAF
-            "\u00A2\u0023\u00A5\u00B7\u00A9\u0040\u00B6\u00BC" +        // 0xB0 - 0xB7
-            "\u00BD\u00BE\u00AC\u007C\u00AF\u00A8\u00B4\u00D7" +        // 0xB8 - 0xBF
-            "\u00E0\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +        // 0xC0 - 0xC7
-            "\u0048\u0049\u00AD\u00F4\u00F6\u00A6\u00F3\u00F5" +        // 0xC8 - 0xCF
-            "\u00E8\u004A\u004B\u004C\u004D\u004E\u004F\u0050" +        // 0xD0 - 0xD7
-            "\u0051\u0052\u00B9\u00FB\u00FC\u0060\u00FA\u00FF" +        // 0xD8 - 0xDF
-            "\u00E7\u00F7\u0053\u0054\u0055\u0056\u0057\u0058" +        // 0xE0 - 0xE7
-            "\u0059\u005A\u00B2\u00D4\u00D6\u00D2\u00D3\u00D5" +        // 0xE8 - 0xEF
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +        // 0xF0 - 0xF7
-            "\u0038\u0039\u00B3\u00DB\u00DC\u00D9\u00DA\u009F" +        // 0xF8 - 0xFF
-            "\u0000\u0001\u0002\u0003\u009C\t\u0086\u007F" +    // 0x00 - 0x07
-            "\u0097\u008D\u008E\u000B\f\r\u000E\u000F" +        // 0x08 - 0x0F
-            "\u0010\u0011\u0012\u0013\u009D\n\b\u0087" +        // 0x10 - 0x17
-            "\u0018\u0019\u0092\u008F\u001C\u001D\u001E\u001F" +        // 0x18 - 0x1F
-            "\u0080\u0081\u0082\u0083\u0084\n\u0017\u001B" +    // 0x20 - 0x27
-            "\u0088\u0089\u008A\u008B\u008C\u0005\u0006\u0007" +        // 0x28 - 0x2F
-            "\u0090\u0091\u0016\u0093\u0094\u0095\u0096\u0004" +        // 0x30 - 0x37
-            "\u0098\u0099\u009A\u009B\u0014\u0015\u009E\u001A" +        // 0x38 - 0x3F
-            "\u0020\u00A0\u00E2\u00E4\u007B\u00E1\u00E3\u00E5" +        // 0x40 - 0x47
-            "\\\u00F1\u00B0\u002E\u003C\u0028\u002B\u0021" +    // 0x48 - 0x4F
-            "\u0026\u005D\u00EA\u00EB\u007D\u00ED\u00EE\u00EF" +        // 0x50 - 0x57
-            "\u007E\u00DF\u00E9\u0024\u002A\u0029\u003B\u005E" +        // 0x58 - 0x5F
-            "\u002D\u002F\u00C2\u00C4\u00C0\u00C1\u00C3\u00C5" +        // 0x60 - 0x67
-            "\u00C7\u00D1\u00F2\u002C\u0025\u005F\u003E\u003F" +        // 0x68 - 0x6F
-            "\u00F8\u00C9\u00CA\u00CB\u00C8\u00CD\u00CE\u00CF" +        // 0x70 - 0x77
-            "\u00CC\u00F9\u003A\u00A3\u00A7\'\u003D\"";         // 0x78 - 0x7F
-
-    }
-
-    private static class Encoder extends SingleByteEncoder {
-            public Encoder(Charset cs) {
-                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
-            }
-
-            private final static String index2 =
-
-
-            "\u0000\u0001\u0002\u0003\u0037\u002D\u002E\u002F" +
-            "\u0016\u0005\u0015\u000B\f\r\u000E\u000F" +
-            "\u0010\u0011\u0012\u0013\u003C\u003D\u0032\u0026" +
-            "\u0018\u0019\u003F\'\u001C\u001D\u001E\u001F" +
-            "\u0040\u004F\u007F\u00B1\u005B\u006C\u0050\u007D" +
-            "\u004D\u005D\\\u004E\u006B\u0060\u004B\u0061" +
-            "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" +
-            "\u00F8\u00F9\u007A\u005E\u004C\u007E\u006E\u006F" +
-            "\u00B5\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" +
-            "\u00C8\u00C9\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6" +
-            "\u00D7\u00D8\u00D9\u00E2\u00E3\u00E4\u00E5\u00E6" +
-            "\u00E7\u00E8\u00E9\u0090\u0048\u0051\u005F\u006D" +
-            "\u00DD\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +
-            "\u0088\u0089\u0091\u0092\u0093\u0094\u0095\u0096" +
-            "\u0097\u0098\u0099\u00A2\u00A3\u00A4\u00A5\u00A6" +
-            "\u00A7\u00A8\u00A9\u0044\u00BB\u0054\u0058\u0007" +
-            "\u0020\u0021\"\u0023\u0024\u0015\u0006\u0017" +
-            "\u0028\u0029\u002A\u002B\u002C\t\n\u001B" +
-            "\u0030\u0031\u001A\u0033\u0034\u0035\u0036\b" +
-            "\u0038\u0039\u003A\u003B\u0004\u0014\u003E\u00FF" +
-            "\u0041\u00AA\u00B0\u007B\u009F\u00B2\u00CD\u007C" +
-            "\u00BD\u00B4\u009A\u008A\u00BA\u00CA\u00AF\u00BC" +
-            "\u004A\u008F\u00EA\u00FA\u00BE\u00A0\u00B6\u00B3" +
-            "\u009D\u00DA\u009B\u008B\u00B7\u00B8\u00B9\u00AB" +
-            "\u0064\u0065\u0062\u0066\u0063\u0067\u009E\u0068" +
-            "\u0074\u0071\u0072\u0073\u0078\u0075\u0076\u0077" +
-            "\u00AC\u0069\u00ED\u00EE\u00EB\u00EF\u00EC\u00BF" +
-            "\u0080\u00FD\u00FE\u00FB\u00FC\u00AD\u00AE\u0059" +
-            "\u00C0\u0045\u0042\u0046\u0043\u0047\u009C\u00E0" +
-            "\u00D0\u005A\u0052\u0053\u00A1\u0055\u0056\u0057" +
-            "\u008C\u0049\u006A\u00CE\u00CB\u00CF\u00CC\u00E1" +
-            "\u0070\u0079\u00DE\u00DB\u00DC\u008D\u008E\u00DF" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000";
-
-    private final static short index1[] = {
-            0, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-
-        };
-    }
-}
--- a/jdk/src/share/classes/sun/nio/cs/ext/IBM284.java	Wed Jul 05 16:44:40 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,221 +0,0 @@
-
-/*
- * Copyright 2003-2004 Sun Microsystems, Inc.  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.  Sun designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
- */
-
-package sun.nio.cs.ext;
-
-
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetDecoder;
-import java.nio.charset.CharsetEncoder;
-import sun.nio.cs.StandardCharsets;
-import sun.nio.cs.SingleByteDecoder;
-import sun.nio.cs.SingleByteEncoder;
-import sun.nio.cs.HistoricallyNamedCharset;
-
-public class IBM284
-    extends Charset
-    implements HistoricallyNamedCharset
-{
-
-    public IBM284() {
-        super("IBM284", ExtendedCharsets.aliasesFor("IBM284"));
-    }
-
-    public String historicalName() {
-        return "Cp284";
-    }
-
-    public boolean contains(Charset cs) {
-        return (cs instanceof IBM284);
-    }
-
-    public CharsetDecoder newDecoder() {
-        return new Decoder(this);
-    }
-
-    public CharsetEncoder newEncoder() {
-        return new Encoder(this);
-    }
-
-
-    /**
-     * These accessors are temporarily supplied while sun.io
-     * converters co-exist with the sun.nio.cs.{ext} charset coders
-     * These facilitate sharing of conversion tables between the
-     * two co-existing implementations. When sun.io converters
-     * are made extinct these will be unncessary and should be removed
-     */
-
-    public String getDecoderSingleByteMappings() {
-        return Decoder.byteToCharTable;
-
-    }
-
-    public short[] getEncoderIndex1() {
-        return Encoder.index1;
-
-    }
-    public String getEncoderIndex2() {
-        return Encoder.index2;
-
-    }
-
-    protected static class Decoder extends SingleByteDecoder {
-            public Decoder(Charset cs) {
-                super(cs, byteToCharTable);
-        }
-
-        private final static String byteToCharTable =
-
-            "\u00D8\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +        // 0x80 - 0x87
-            "\u0068\u0069\u00AB\u00BB\u00F0\u00FD\u00FE\u00B1" +        // 0x88 - 0x8F
-            "\u00B0\u006A\u006B\u006C\u006D\u006E\u006F\u0070" +        // 0x90 - 0x97
-            "\u0071\u0072\u00AA\u00BA\u00E6\u00B8\u00C6\u00A4" +        // 0x98 - 0x9F
-            "\u00B5\u00A8\u0073\u0074\u0075\u0076\u0077\u0078" +        // 0xA0 - 0xA7
-            "\u0079\u007A\u00A1\u00BF\u00D0\u00DD\u00DE\u00AE" +        // 0xA8 - 0xAF
-            "\u00A2\u00A3\u00A5\u00B7\u00A9\u00A7\u00B6\u00BC" +        // 0xB0 - 0xB7
-            "\u00BD\u00BE\u005E\u0021\u00AF\u007E\u00B4\u00D7" +        // 0xB8 - 0xBF
-            "\u007B\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +        // 0xC0 - 0xC7
-            "\u0048\u0049\u00AD\u00F4\u00F6\u00F2\u00F3\u00F5" +        // 0xC8 - 0xCF
-            "\u007D\u004A\u004B\u004C\u004D\u004E\u004F\u0050" +        // 0xD0 - 0xD7
-            "\u0051\u0052\u00B9\u00FB\u00FC\u00F9\u00FA\u00FF" +        // 0xD8 - 0xDF
-            "\\\u00F7\u0053\u0054\u0055\u0056\u0057\u0058" +    // 0xE0 - 0xE7
-            "\u0059\u005A\u00B2\u00D4\u00D6\u00D2\u00D3\u00D5" +        // 0xE8 - 0xEF
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +        // 0xF0 - 0xF7
-            "\u0038\u0039\u00B3\u00DB\u00DC\u00D9\u00DA\u009F" +        // 0xF8 - 0xFF
-            "\u0000\u0001\u0002\u0003\u009C\t\u0086\u007F" +    // 0x00 - 0x07
-            "\u0097\u008D\u008E\u000B\f\r\u000E\u000F" +        // 0x08 - 0x0F
-            "\u0010\u0011\u0012\u0013\u009D\n\b\u0087" +        // 0x10 - 0x17
-            "\u0018\u0019\u0092\u008F\u001C\u001D\u001E\u001F" +        // 0x18 - 0x1F
-            "\u0080\u0081\u0082\u0083\u0084\n\u0017\u001B" +    // 0x20 - 0x27
-            "\u0088\u0089\u008A\u008B\u008C\u0005\u0006\u0007" +        // 0x28 - 0x2F
-            "\u0090\u0091\u0016\u0093\u0094\u0095\u0096\u0004" +        // 0x30 - 0x37
-            "\u0098\u0099\u009A\u009B\u0014\u0015\u009E\u001A" +        // 0x38 - 0x3F
-            "\u0020\u00A0\u00E2\u00E4\u00E0\u00E1\u00E3\u00E5" +        // 0x40 - 0x47
-            "\u00E7\u00A6\u005B\u002E\u003C\u0028\u002B\u007C" +        // 0x48 - 0x4F
-            "\u0026\u00E9\u00EA\u00EB\u00E8\u00ED\u00EE\u00EF" +        // 0x50 - 0x57
-            "\u00EC\u00DF\u005D\u0024\u002A\u0029\u003B\u00AC" +        // 0x58 - 0x5F
-            "\u002D\u002F\u00C2\u00C4\u00C0\u00C1\u00C3\u00C5" +        // 0x60 - 0x67
-            "\u00C7\u0023\u00F1\u002C\u0025\u005F\u003E\u003F" +        // 0x68 - 0x6F
-            "\u00F8\u00C9\u00CA\u00CB\u00C8\u00CD\u00CE\u00CF" +        // 0x70 - 0x77
-            "\u00CC\u0060\u003A\u00D1\u0040\'\u003D\"";         // 0x78 - 0x7F
-
-    }
-
-    private static class Encoder extends SingleByteEncoder {
-            public Encoder(Charset cs) {
-                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
-            }
-
-            private final static String index2 =
-
-
-            "\u0000\u0001\u0002\u0003\u0037\u002D\u002E\u002F" +
-            "\u0016\u0005\u0015\u000B\f\r\u000E\u000F" +
-            "\u0010\u0011\u0012\u0013\u003C\u003D\u0032\u0026" +
-            "\u0018\u0019\u003F\'\u001C\u001D\u001E\u001F" +
-            "\u0040\u00BB\u007F\u0069\u005B\u006C\u0050\u007D" +
-            "\u004D\u005D\\\u004E\u006B\u0060\u004B\u0061" +
-            "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" +
-            "\u00F8\u00F9\u007A\u005E\u004C\u007E\u006E\u006F" +
-            "\u007C\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" +
-            "\u00C8\u00C9\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6" +
-            "\u00D7\u00D8\u00D9\u00E2\u00E3\u00E4\u00E5\u00E6" +
-            "\u00E7\u00E8\u00E9\u004A\u00E0\u005A\u00BA\u006D" +
-            "\u0079\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +
-            "\u0088\u0089\u0091\u0092\u0093\u0094\u0095\u0096" +
-            "\u0097\u0098\u0099\u00A2\u00A3\u00A4\u00A5\u00A6" +
-            "\u00A7\u00A8\u00A9\u00C0\u004F\u00D0\u00BD\u0007" +
-            "\u0020\u0021\"\u0023\u0024\u0015\u0006\u0017" +
-            "\u0028\u0029\u002A\u002B\u002C\t\n\u001B" +
-            "\u0030\u0031\u001A\u0033\u0034\u0035\u0036\b" +
-            "\u0038\u0039\u003A\u003B\u0004\u0014\u003E\u00FF" +
-            "\u0041\u00AA\u00B0\u00B1\u009F\u00B2\u0049\u00B5" +
-            "\u00A1\u00B4\u009A\u008A\u005F\u00CA\u00AF\u00BC" +
-            "\u0090\u008F\u00EA\u00FA\u00BE\u00A0\u00B6\u00B3" +
-            "\u009D\u00DA\u009B\u008B\u00B7\u00B8\u00B9\u00AB" +
-            "\u0064\u0065\u0062\u0066\u0063\u0067\u009E\u0068" +
-            "\u0074\u0071\u0072\u0073\u0078\u0075\u0076\u0077" +
-            "\u00AC\u007B\u00ED\u00EE\u00EB\u00EF\u00EC\u00BF" +
-            "\u0080\u00FD\u00FE\u00FB\u00FC\u00AD\u00AE\u0059" +
-            "\u0044\u0045\u0042\u0046\u0043\u0047\u009C\u0048" +
-            "\u0054\u0051\u0052\u0053\u0058\u0055\u0056\u0057" +
-            "\u008C\u006A\u00CD\u00CE\u00CB\u00CF\u00CC\u00E1" +
-            "\u0070\u00DD\u00DE\u00DB\u00DC\u008D\u008E\u00DF" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000";
-
-    private final static short index1[] = {
-            0, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-
-        };
-    }
-}
--- a/jdk/src/share/classes/sun/nio/cs/ext/IBM285.java	Wed Jul 05 16:44:40 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,221 +0,0 @@
-
-/*
- * Copyright 2003-2004 Sun Microsystems, Inc.  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.  Sun designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
- */
-
-package sun.nio.cs.ext;
-
-
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetDecoder;
-import java.nio.charset.CharsetEncoder;
-import sun.nio.cs.StandardCharsets;
-import sun.nio.cs.SingleByteDecoder;
-import sun.nio.cs.SingleByteEncoder;
-import sun.nio.cs.HistoricallyNamedCharset;
-
-public class IBM285
-    extends Charset
-    implements HistoricallyNamedCharset
-{
-
-    public IBM285() {
-        super("IBM285", ExtendedCharsets.aliasesFor("IBM285"));
-    }
-
-    public String historicalName() {
-        return "Cp285";
-    }
-
-    public boolean contains(Charset cs) {
-        return (cs instanceof IBM285);
-    }
-
-    public CharsetDecoder newDecoder() {
-        return new Decoder(this);
-    }
-
-    public CharsetEncoder newEncoder() {
-        return new Encoder(this);
-    }
-
-
-    /**
-     * These accessors are temporarily supplied while sun.io
-     * converters co-exist with the sun.nio.cs.{ext} charset coders
-     * These facilitate sharing of conversion tables between the
-     * two co-existing implementations. When sun.io converters
-     * are made extinct these will be unncessary and should be removed
-     */
-
-    public String getDecoderSingleByteMappings() {
-        return Decoder.byteToCharTable;
-
-    }
-
-    public short[] getEncoderIndex1() {
-        return Encoder.index1;
-
-    }
-    public String getEncoderIndex2() {
-        return Encoder.index2;
-
-    }
-
-    protected static class Decoder extends SingleByteDecoder {
-            public Decoder(Charset cs) {
-                super(cs, byteToCharTable);
-        }
-
-        private final static String byteToCharTable =
-
-            "\u00D8\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +        // 0x80 - 0x87
-            "\u0068\u0069\u00AB\u00BB\u00F0\u00FD\u00FE\u00B1" +        // 0x88 - 0x8F
-            "\u00B0\u006A\u006B\u006C\u006D\u006E\u006F\u0070" +        // 0x90 - 0x97
-            "\u0071\u0072\u00AA\u00BA\u00E6\u00B8\u00C6\u00A4" +        // 0x98 - 0x9F
-            "\u00B5\u00AF\u0073\u0074\u0075\u0076\u0077\u0078" +        // 0xA0 - 0xA7
-            "\u0079\u007A\u00A1\u00BF\u00D0\u00DD\u00DE\u00AE" +        // 0xA8 - 0xAF
-            "\u00A2\u005B\u00A5\u00B7\u00A9\u00A7\u00B6\u00BC" +        // 0xB0 - 0xB7
-            "\u00BD\u00BE\u005E\u005D\u007E\u00A8\u00B4\u00D7" +        // 0xB8 - 0xBF
-            "\u007B\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +        // 0xC0 - 0xC7
-            "\u0048\u0049\u00AD\u00F4\u00F6\u00F2\u00F3\u00F5" +        // 0xC8 - 0xCF
-            "\u007D\u004A\u004B\u004C\u004D\u004E\u004F\u0050" +        // 0xD0 - 0xD7
-            "\u0051\u0052\u00B9\u00FB\u00FC\u00F9\u00FA\u00FF" +        // 0xD8 - 0xDF
-            "\\\u00F7\u0053\u0054\u0055\u0056\u0057\u0058" +    // 0xE0 - 0xE7
-            "\u0059\u005A\u00B2\u00D4\u00D6\u00D2\u00D3\u00D5" +        // 0xE8 - 0xEF
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +        // 0xF0 - 0xF7
-            "\u0038\u0039\u00B3\u00DB\u00DC\u00D9\u00DA\u009F" +        // 0xF8 - 0xFF
-            "\u0000\u0001\u0002\u0003\u009C\t\u0086\u007F" +    // 0x00 - 0x07
-            "\u0097\u008D\u008E\u000B\f\r\u000E\u000F" +        // 0x08 - 0x0F
-            "\u0010\u0011\u0012\u0013\u009D\n\b\u0087" +        // 0x10 - 0x17
-            "\u0018\u0019\u0092\u008F\u001C\u001D\u001E\u001F" +        // 0x18 - 0x1F
-            "\u0080\u0081\u0082\u0083\u0084\n\u0017\u001B" +    // 0x20 - 0x27
-            "\u0088\u0089\u008A\u008B\u008C\u0005\u0006\u0007" +        // 0x28 - 0x2F
-            "\u0090\u0091\u0016\u0093\u0094\u0095\u0096\u0004" +        // 0x30 - 0x37
-            "\u0098\u0099\u009A\u009B\u0014\u0015\u009E\u001A" +        // 0x38 - 0x3F
-            "\u0020\u00A0\u00E2\u00E4\u00E0\u00E1\u00E3\u00E5" +        // 0x40 - 0x47
-            "\u00E7\u00F1\u0024\u002E\u003C\u0028\u002B\u007C" +        // 0x48 - 0x4F
-            "\u0026\u00E9\u00EA\u00EB\u00E8\u00ED\u00EE\u00EF" +        // 0x50 - 0x57
-            "\u00EC\u00DF\u0021\u00A3\u002A\u0029\u003B\u00AC" +        // 0x58 - 0x5F
-            "\u002D\u002F\u00C2\u00C4\u00C0\u00C1\u00C3\u00C5" +        // 0x60 - 0x67
-            "\u00C7\u00D1\u00A6\u002C\u0025\u005F\u003E\u003F" +        // 0x68 - 0x6F
-            "\u00F8\u00C9\u00CA\u00CB\u00C8\u00CD\u00CE\u00CF" +        // 0x70 - 0x77
-            "\u00CC\u0060\u003A\u0023\u0040\'\u003D\"";         // 0x78 - 0x7F
-
-    }
-
-    private static class Encoder extends SingleByteEncoder {
-            public Encoder(Charset cs) {
-                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
-            }
-
-            private final static String index2 =
-
-
-            "\u0000\u0001\u0002\u0003\u0037\u002D\u002E\u002F" +
-            "\u0016\u0005\u0015\u000B\f\r\u000E\u000F" +
-            "\u0010\u0011\u0012\u0013\u003C\u003D\u0032\u0026" +
-            "\u0018\u0019\u003F\'\u001C\u001D\u001E\u001F" +
-            "\u0040\u005A\u007F\u007B\u004A\u006C\u0050\u007D" +
-            "\u004D\u005D\\\u004E\u006B\u0060\u004B\u0061" +
-            "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" +
-            "\u00F8\u00F9\u007A\u005E\u004C\u007E\u006E\u006F" +
-            "\u007C\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" +
-            "\u00C8\u00C9\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6" +
-            "\u00D7\u00D8\u00D9\u00E2\u00E3\u00E4\u00E5\u00E6" +
-            "\u00E7\u00E8\u00E9\u00B1\u00E0\u00BB\u00BA\u006D" +
-            "\u0079\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +
-            "\u0088\u0089\u0091\u0092\u0093\u0094\u0095\u0096" +
-            "\u0097\u0098\u0099\u00A2\u00A3\u00A4\u00A5\u00A6" +
-            "\u00A7\u00A8\u00A9\u00C0\u004F\u00D0\u00BC\u0007" +
-            "\u0020\u0021\"\u0023\u0024\u0015\u0006\u0017" +
-            "\u0028\u0029\u002A\u002B\u002C\t\n\u001B" +
-            "\u0030\u0031\u001A\u0033\u0034\u0035\u0036\b" +
-            "\u0038\u0039\u003A\u003B\u0004\u0014\u003E\u00FF" +
-            "\u0041\u00AA\u00B0\u005B\u009F\u00B2\u006A\u00B5" +
-            "\u00BD\u00B4\u009A\u008A\u005F\u00CA\u00AF\u00A1" +
-            "\u0090\u008F\u00EA\u00FA\u00BE\u00A0\u00B6\u00B3" +
-            "\u009D\u00DA\u009B\u008B\u00B7\u00B8\u00B9\u00AB" +
-            "\u0064\u0065\u0062\u0066\u0063\u0067\u009E\u0068" +
-            "\u0074\u0071\u0072\u0073\u0078\u0075\u0076\u0077" +
-            "\u00AC\u0069\u00ED\u00EE\u00EB\u00EF\u00EC\u00BF" +
-            "\u0080\u00FD\u00FE\u00FB\u00FC\u00AD\u00AE\u0059" +
-            "\u0044\u0045\u0042\u0046\u0043\u0047\u009C\u0048" +
-            "\u0054\u0051\u0052\u0053\u0058\u0055\u0056\u0057" +
-            "\u008C\u0049\u00CD\u00CE\u00CB\u00CF\u00CC\u00E1" +
-            "\u0070\u00DD\u00DE\u00DB\u00DC\u008D\u008E\u00DF" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000";
-
-    private final static short index1[] = {
-            0, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-
-        };
-    }
-}
--- a/jdk/src/share/classes/sun/nio/cs/ext/IBM297.java	Wed Jul 05 16:44:40 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,221 +0,0 @@
-
-/*
- * Copyright 2003-2004 Sun Microsystems, Inc.  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.  Sun designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
- */
-
-package sun.nio.cs.ext;
-
-
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetDecoder;
-import java.nio.charset.CharsetEncoder;
-import sun.nio.cs.StandardCharsets;
-import sun.nio.cs.SingleByteDecoder;
-import sun.nio.cs.SingleByteEncoder;
-import sun.nio.cs.HistoricallyNamedCharset;
-
-public class IBM297
-    extends Charset
-    implements HistoricallyNamedCharset
-{
-
-    public IBM297() {
-        super("IBM297", ExtendedCharsets.aliasesFor("IBM297"));
-    }
-
-    public String historicalName() {
-        return "Cp297";
-    }
-
-    public boolean contains(Charset cs) {
-        return (cs instanceof IBM297);
-    }
-
-    public CharsetDecoder newDecoder() {
-        return new Decoder(this);
-    }
-
-    public CharsetEncoder newEncoder() {
-        return new Encoder(this);
-    }
-
-
-    /**
-     * These accessors are temporarily supplied while sun.io
-     * converters co-exist with the sun.nio.cs.{ext} charset coders
-     * These facilitate sharing of conversion tables between the
-     * two co-existing implementations. When sun.io converters
-     * are made extinct these will be unncessary and should be removed
-     */
-
-    public String getDecoderSingleByteMappings() {
-        return Decoder.byteToCharTable;
-
-    }
-
-    public short[] getEncoderIndex1() {
-        return Encoder.index1;
-
-    }
-    public String getEncoderIndex2() {
-        return Encoder.index2;
-
-    }
-
-    protected static class Decoder extends SingleByteDecoder {
-            public Decoder(Charset cs) {
-                super(cs, byteToCharTable);
-        }
-
-        private final static String byteToCharTable =
-
-            "\u00D8\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +        // 0x80 - 0x87
-            "\u0068\u0069\u00AB\u00BB\u00F0\u00FD\u00FE\u00B1" +        // 0x88 - 0x8F
-            "\u005B\u006A\u006B\u006C\u006D\u006E\u006F\u0070" +        // 0x90 - 0x97
-            "\u0071\u0072\u00AA\u00BA\u00E6\u00B8\u00C6\u00A4" +        // 0x98 - 0x9F
-            "\u0060\u00A8\u0073\u0074\u0075\u0076\u0077\u0078" +        // 0xA0 - 0xA7
-            "\u0079\u007A\u00A1\u00BF\u00D0\u00DD\u00DE\u00AE" +        // 0xA8 - 0xAF
-            "\u00A2\u0023\u00A5\u00B7\u00A9\u005D\u00B6\u00BC" +        // 0xB0 - 0xB7
-            "\u00BD\u00BE\u00AC\u007C\u00AF\u007E\u00B4\u00D7" +        // 0xB8 - 0xBF
-            "\u00E9\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +        // 0xC0 - 0xC7
-            "\u0048\u0049\u00AD\u00F4\u00F6\u00F2\u00F3\u00F5" +        // 0xC8 - 0xCF
-            "\u00E8\u004A\u004B\u004C\u004D\u004E\u004F\u0050" +        // 0xD0 - 0xD7
-            "\u0051\u0052\u00B9\u00FB\u00FC\u00A6\u00FA\u00FF" +        // 0xD8 - 0xDF
-            "\u00E7\u00F7\u0053\u0054\u0055\u0056\u0057\u0058" +        // 0xE0 - 0xE7
-            "\u0059\u005A\u00B2\u00D4\u00D6\u00D2\u00D3\u00D5" +        // 0xE8 - 0xEF
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +        // 0xF0 - 0xF7
-            "\u0038\u0039\u00B3\u00DB\u00DC\u00D9\u00DA\u009F" +        // 0xF8 - 0xFF
-            "\u0000\u0001\u0002\u0003\u009C\t\u0086\u007F" +    // 0x00 - 0x07
-            "\u0097\u008D\u008E\u000B\f\r\u000E\u000F" +        // 0x08 - 0x0F
-            "\u0010\u0011\u0012\u0013\u009D\n\b\u0087" +        // 0x10 - 0x17
-            "\u0018\u0019\u0092\u008F\u001C\u001D\u001E\u001F" +        // 0x18 - 0x1F
-            "\u0080\u0081\u0082\u0083\u0084\n\u0017\u001B" +    // 0x20 - 0x27
-            "\u0088\u0089\u008A\u008B\u008C\u0005\u0006\u0007" +        // 0x28 - 0x2F
-            "\u0090\u0091\u0016\u0093\u0094\u0095\u0096\u0004" +        // 0x30 - 0x37
-            "\u0098\u0099\u009A\u009B\u0014\u0015\u009E\u001A" +        // 0x38 - 0x3F
-            "\u0020\u00A0\u00E2\u00E4\u0040\u00E1\u00E3\u00E5" +        // 0x40 - 0x47
-            "\\\u00F1\u00B0\u002E\u003C\u0028\u002B\u0021" +    // 0x48 - 0x4F
-            "\u0026\u007B\u00EA\u00EB\u007D\u00ED\u00EE\u00EF" +        // 0x50 - 0x57
-            "\u00EC\u00DF\u00A7\u0024\u002A\u0029\u003B\u005E" +        // 0x58 - 0x5F
-            "\u002D\u002F\u00C2\u00C4\u00C0\u00C1\u00C3\u00C5" +        // 0x60 - 0x67
-            "\u00C7\u00D1\u00F9\u002C\u0025\u005F\u003E\u003F" +        // 0x68 - 0x6F
-            "\u00F8\u00C9\u00CA\u00CB\u00C8\u00CD\u00CE\u00CF" +        // 0x70 - 0x77
-            "\u00CC\u00B5\u003A\u00A3\u00E0\'\u003D\"";         // 0x78 - 0x7F
-
-    }
-
-    private static class Encoder extends SingleByteEncoder {
-            public Encoder(Charset cs) {
-                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
-            }
-
-            private final static String index2 =
-
-
-            "\u0000\u0001\u0002\u0003\u0037\u002D\u002E\u002F" +
-            "\u0016\u0005\u0015\u000B\f\r\u000E\u000F" +
-            "\u0010\u0011\u0012\u0013\u003C\u003D\u0032\u0026" +
-            "\u0018\u0019\u003F\'\u001C\u001D\u001E\u001F" +
-            "\u0040\u004F\u007F\u00B1\u005B\u006C\u0050\u007D" +
-            "\u004D\u005D\\\u004E\u006B\u0060\u004B\u0061" +
-            "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" +
-            "\u00F8\u00F9\u007A\u005E\u004C\u007E\u006E\u006F" +
-            "\u0044\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" +
-            "\u00C8\u00C9\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6" +
-            "\u00D7\u00D8\u00D9\u00E2\u00E3\u00E4\u00E5\u00E6" +
-            "\u00E7\u00E8\u00E9\u0090\u0048\u00B5\u005F\u006D" +
-            "\u00A0\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +
-            "\u0088\u0089\u0091\u0092\u0093\u0094\u0095\u0096" +
-            "\u0097\u0098\u0099\u00A2\u00A3\u00A4\u00A5\u00A6" +
-            "\u00A7\u00A8\u00A9\u0051\u00BB\u0054\u00BD\u0007" +
-            "\u0020\u0021\"\u0023\u0024\u0015\u0006\u0017" +
-            "\u0028\u0029\u002A\u002B\u002C\t\n\u001B" +
-            "\u0030\u0031\u001A\u0033\u0034\u0035\u0036\b" +
-            "\u0038\u0039\u003A\u003B\u0004\u0014\u003E\u00FF" +
-            "\u0041\u00AA\u00B0\u007B\u009F\u00B2\u00DD\u005A" +
-            "\u00A1\u00B4\u009A\u008A\u00BA\u00CA\u00AF\u00BC" +
-            "\u004A\u008F\u00EA\u00FA\u00BE\u0079\u00B6\u00B3" +
-            "\u009D\u00DA\u009B\u008B\u00B7\u00B8\u00B9\u00AB" +
-            "\u0064\u0065\u0062\u0066\u0063\u0067\u009E\u0068" +
-            "\u0074\u0071\u0072\u0073\u0078\u0075\u0076\u0077" +
-            "\u00AC\u0069\u00ED\u00EE\u00EB\u00EF\u00EC\u00BF" +
-            "\u0080\u00FD\u00FE\u00FB\u00FC\u00AD\u00AE\u0059" +
-            "\u007C\u0045\u0042\u0046\u0043\u0047\u009C\u00E0" +
-            "\u00D0\u00C0\u0052\u0053\u0058\u0055\u0056\u0057" +
-            "\u008C\u0049\u00CD\u00CE\u00CB\u00CF\u00CC\u00E1" +
-            "\u0070\u006A\u00DE\u00DB\u00DC\u008D\u008E\u00DF" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000";
-
-    private final static short index1[] = {
-            0, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-
-        };
-    }
-}
--- a/jdk/src/share/classes/sun/nio/cs/ext/IBM420.java	Wed Jul 05 16:44:40 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,315 +0,0 @@
-
-/*
- * Copyright 2003-2004 Sun Microsystems, Inc.  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.  Sun designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
- */
-
-package sun.nio.cs.ext;
-
-
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetDecoder;
-import java.nio.charset.CharsetEncoder;
-import sun.nio.cs.StandardCharsets;
-import sun.nio.cs.SingleByteDecoder;
-import sun.nio.cs.SingleByteEncoder;
-import sun.nio.cs.HistoricallyNamedCharset;
-
-public class IBM420
-    extends Charset
-    implements HistoricallyNamedCharset
-{
-
-    public IBM420() {
-        super("IBM420", ExtendedCharsets.aliasesFor("IBM420"));
-    }
-
-    public String historicalName() {
-        return "Cp420";
-    }
-
-    public boolean contains(Charset cs) {
-        return (cs instanceof IBM420);
-    }
-
-    public CharsetDecoder newDecoder() {
-        return new Decoder(this);
-    }
-
-    public CharsetEncoder newEncoder() {
-        return new Encoder(this);
-    }
-
-
-    /**
-     * These accessors are temporarily supplied while sun.io
-     * converters co-exist with the sun.nio.cs.{ext} charset coders
-     * These facilitate sharing of conversion tables between the
-     * two co-existing implementations. When sun.io converters
-     * are made extinct these will be unncessary and should be removed
-     */
-
-    public String getDecoderSingleByteMappings() {
-        return Decoder.byteToCharTable;
-
-    }
-
-    public short[] getEncoderIndex1() {
-        return Encoder.index1;
-
-    }
-    public String getEncoderIndex2() {
-        return Encoder.index2;
-
-    }
-
-    private static class Decoder extends SingleByteDecoder {
-            public Decoder(Charset cs) {
-                super(cs, byteToCharTable);
-        }
-
-        private final static String byteToCharTable =
-
-            "\uF8F5\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +        // 0x80 - 0x87
-            "\u0068\u0069\uFEB7\uF8F4\uFEBB\uF8F7\uFEBF\uFEC3" +        // 0x88 - 0x8F
-            "\uFEC7\u006A\u006B\u006C\u006D\u006E\u006F\u0070" +        // 0x90 - 0x97
-            "\u0071\u0072\uFEC9\uFECA\uFECB\uFECC\uFECD\uFECE" +        // 0x98 - 0x9F
-            "\uFECF\u00F7\u0073\u0074\u0075\u0076\u0077\u0078" +        // 0xA0 - 0xA7
-            "\u0079\u007A\uFED0\uFED1\uFED3\uFED5\uFED7\uFED9" +        // 0xA8 - 0xAF
-            "\uFEDB\uFEDD\uFEF5\uFEF6\uFEF7\uFEF8\uFFFD\uFFFD" +        // 0xB0 - 0xB7
-            "\uFEFB\uFEFC\uFEDF\uFEE1\uFEE3\uFEE5\uFEE7\uFEE9" +        // 0xB8 - 0xBF
-            "\u061B\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +        // 0xC0 - 0xC7
-            "\u0048\u0049\u00AD\uFEEB\uFFFD\uFEEC\uFFFD\uFEED" +        // 0xC8 - 0xCF
-            "\u061F\u004A\u004B\u004C\u004D\u004E\u004F\u0050" +        // 0xD0 - 0xD7
-            "\u0051\u0052\uFEEF\uFEF0\uFEF1\uFEF2\uFEF3\u0660" +        // 0xD8 - 0xDF
-            "\u00D7\u2007\u0053\u0054\u0055\u0056\u0057\u0058" +        // 0xE0 - 0xE7
-            "\u0059\u005A\u0661\u0662\uFFFD\u0663\u0664\u0665" +        // 0xE8 - 0xEF
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +        // 0xF0 - 0xF7
-            "\u0038\u0039\uFFFD\u0666\u0667\u0668\u0669\u009F" +        // 0xF8 - 0xFF
-            "\u0000\u0001\u0002\u0003\u009C\t\u0086\u007F" +    // 0x00 - 0x07
-            "\u0097\u008D\u008E\u000B\f\r\u000E\u000F" +        // 0x08 - 0x0F
-            "\u0010\u0011\u0012\u0013\u009D\n\b\u0087" +        // 0x10 - 0x17
-            "\u0018\u0019\u0092\u008F\u001C\u001D\u001E\u001F" +        // 0x18 - 0x1F
-            "\u0080\u0081\u0082\u0083\u0084\n\u0017\u001B" +    // 0x20 - 0x27
-            "\u0088\u0089\u008A\u008B\u008C\u0005\u0006\u0007" +        // 0x28 - 0x2F
-            "\u0090\u0091\u0016\u0093\u0094\u0095\u0096\u0004" +        // 0x30 - 0x37
-            "\u0098\u0099\u009A\u009B\u0014\u0015\u009E\u001A" +        // 0x38 - 0x3F
-            "\u0020\u00A0\uFE7C\uFE7D\u0640\uF8FC\uFE80\uFE81" +        // 0x40 - 0x47
-            "\uFE82\uFE83\u00A2\u002E\u003C\u0028\u002B\u007C" +        // 0x48 - 0x4F
-            "\u0026\uFE84\uFE85\uFFFD\uFFFD\uFE8B\uFE8D\uFE8E" +        // 0x50 - 0x57
-            "\uFE8F\uFE91\u0021\u0024\u002A\u0029\u003B\u00AC" +        // 0x58 - 0x5F
-            "\u002D\u002F\uFE93\uFE95\uFE97\uFE99\uFE9B\uFE9D" +        // 0x60 - 0x67
-            "\uFE9F\uFEA1\u00A6\u002C\u0025\u005F\u003E\u003F" +        // 0x68 - 0x6F
-            "\uFEA3\uFEA5\uFEA7\uFEA9\uFEAB\uFEAD\uFEAF\uF8F6" +        // 0x70 - 0x77
-            "\uFEB3\u060C\u003A\u0023\u0040\'\u003D\"";         // 0x78 - 0x7F
-
-    }
-
-    private static class Encoder extends SingleByteEncoder {
-            public Encoder(Charset cs) {
-                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
-            }
-
-            private final static String index2 =
-
-
-            "\u0000\u0001\u0002\u0003\u0037\u002D\u002E\u002F" +
-            "\u0016\u0005\u0015\u000B\f\r\u000E\u000F" +
-            "\u0010\u0011\u0012\u0013\u003C\u003D\u0032\u0026" +
-            "\u0018\u0019\u003F\'\u001C\u001D\u001E\u001F" +
-            "\u0040\u005A\u007F\u007B\u005B\u006C\u0050\u007D" +
-            "\u004D\u005D\\\u004E\u006B\u0060\u004B\u0061" +
-            "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" +
-            "\u00F8\u00F9\u007A\u005E\u004C\u007E\u006E\u006F" +
-            "\u007C\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" +
-            "\u00C8\u00C9\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6" +
-            "\u00D7\u00D8\u00D9\u00E2\u00E3\u00E4\u00E5\u00E6" +
-            "\u00E7\u00E8\u00E9\u0000\u0000\u0000\u0000\u006D" +
-            "\u0000\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +
-            "\u0088\u0089\u0091\u0092\u0093\u0094\u0095\u0096" +
-            "\u0097\u0098\u0099\u00A2\u00A3\u00A4\u00A5\u00A6" +
-            "\u00A7\u00A8\u00A9\u0000\u004F\u0000\u0000\u0007" +
-            "\u0020\u0021\"\u0023\u0024\u0015\u0006\u0017" +
-            "\u0028\u0029\u002A\u002B\u002C\t\n\u001B" +
-            "\u0030\u0031\u001A\u0033\u0034\u0035\u0036\b" +
-            "\u0038\u0039\u003A\u003B\u0004\u0014\u003E\u00FF" +
-            "\u0041\u0000\u004A\u0000\u0000\u0000\u006A\u0000" +
-            "\u0000\u0000\u0000\u0000\u005F\u00CA\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00E0" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00A1" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0079\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00C0" +
-            "\u0000\u0000\u0000\u00D0\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0044\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u00DF\u00EA\u00EB\u00ED" +
-            "\u00EE\u00EF\u00FB\u00FC\u00FD\u00FE\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u00E1\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u008B\u0080\u0077" +
-            "\u008D\u0000\u0000\u0000\u0000\u0045\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0042\u0043\u0000\u0000\u0046\u0047" +
-            "\u0048\u0049\u0051\u0052\u0000\u0000\u0000\u0000" +
-            "\u0000\u0055\u0000\u0056\u0057\u0058\u0000\u0059" +
-            "\u0000\u0062\u0000\u0063\u0000\u0064\u0000\u0065" +
-            "\u0000\u0066\u0000\u0067\u0000\u0068\u0000\u0069" +
-            "\u0000\u0070\u0000\u0071\u0000\u0072\u0000\u0073" +
-            "\u0000\u0074\u0000\u0075\u0000\u0076\u0000\u0000" +
-            "\u0000\u0078\u0000\u0000\u0000\u008A\u0000\u0000" +
-            "\u0000\u008C\u0000\u0000\u0000\u008E\u0000\u0000" +
-            "\u0000\u008F\u0000\u0000\u0000\u0090\u0000\u009A" +
-            "\u009B\u009C\u009D\u009E\u009F\u00A0\u00AA\u00AB" +
-            "\u0000\u00AC\u0000\u00AD\u0000\u00AE\u0000\u00AF" +
-            "\u0000\u00B0\u0000\u00B1\u0000\u00BA\u0000\u00BB" +
-            "\u0000\u00BC\u0000\u00BD\u0000\u00BE\u0000\u00BF" +
-            "\u0000\u00CB\u00CD\u00CF\u0000\u00DA\u00DB\u00DC" +
-            "\u00DD\u00DE\u0000\u00B2\u00B3\u00B4\u00B5\u0000" +
-            "\u0000\u00B8\u00B9\u0000\u0000\u0000";
-
-    private final static short index1[] = {
-            0, 248, 248, 248, 248, 248, 492, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            741, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 753, 248, 248, 248, 248, 248, 1006, 248,
-
-        };
-    }
-}
--- a/jdk/src/share/classes/sun/nio/cs/ext/IBM424.java	Wed Jul 05 16:44:40 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,256 +0,0 @@
-
-/*
- * Copyright 2003-2004 Sun Microsystems, Inc.  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.  Sun designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
- */
-
-package sun.nio.cs.ext;
-
-
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetDecoder;
-import java.nio.charset.CharsetEncoder;
-import sun.nio.cs.StandardCharsets;
-import sun.nio.cs.SingleByteDecoder;
-import sun.nio.cs.SingleByteEncoder;
-import sun.nio.cs.HistoricallyNamedCharset;
-
-public class IBM424
-    extends Charset
-    implements HistoricallyNamedCharset
-{
-
-    public IBM424() {
-        super("IBM424", ExtendedCharsets.aliasesFor("IBM424"));
-    }
-
-    public String historicalName() {
-        return "Cp424";
-    }
-
-    public boolean contains(Charset cs) {
-        return (cs instanceof IBM424);
-    }
-
-    public CharsetDecoder newDecoder() {
-        return new Decoder(this);
-    }
-
-    public CharsetEncoder newEncoder() {
-        return new Encoder(this);
-    }
-
-
-    /**
-     * These accessors are temporarily supplied while sun.io
-     * converters co-exist with the sun.nio.cs.{ext} charset coders
-     * These facilitate sharing of conversion tables between the
-     * two co-existing implementations. When sun.io converters
-     * are made extinct these will be unncessary and should be removed
-     */
-
-    public String getDecoderSingleByteMappings() {
-        return Decoder.byteToCharTable;
-
-    }
-
-    public short[] getEncoderIndex1() {
-        return Encoder.index1;
-
-    }
-    public String getEncoderIndex2() {
-        return Encoder.index2;
-
-    }
-
-    private static class Decoder extends SingleByteDecoder {
-            public Decoder(Charset cs) {
-                super(cs, byteToCharTable);
-        }
-
-        private final static String byteToCharTable =
-
-            "\uFFFD\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +        // 0x80 - 0x87
-            "\u0068\u0069\u00AB\u00BB\uFFFD\uFFFD\uFFFD\u00B1" +        // 0x88 - 0x8F
-            "\u00B0\u006A\u006B\u006C\u006D\u006E\u006F\u0070" +        // 0x90 - 0x97
-            "\u0071\u0072\uFFFD\uFFFD\uFFFD\u00B8\uFFFD\u00A4" +        // 0x98 - 0x9F
-            "\u00B5\u007E\u0073\u0074\u0075\u0076\u0077\u0078" +        // 0xA0 - 0xA7
-            "\u0079\u007A\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u00AE" +        // 0xA8 - 0xAF
-            "\u005E\u00A3\u00A5\u2022\u00A9\u00A7\u00B6\u00BC" +        // 0xB0 - 0xB7
-            "\u00BD\u00BE\u005B\u005D\u203E\u00A8\u00B4\u00D7" +        // 0xB8 - 0xBF
-            "\u007B\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +        // 0xC0 - 0xC7
-            "\u0048\u0049\u00AD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" +        // 0xC8 - 0xCF
-            "\u007D\u004A\u004B\u004C\u004D\u004E\u004F\u0050" +        // 0xD0 - 0xD7
-            "\u0051\u0052\u00B9\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" +        // 0xD8 - 0xDF
-            "\\\u00F7\u0053\u0054\u0055\u0056\u0057\u0058" +    // 0xE0 - 0xE7
-            "\u0059\u005A\u00B2\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" +        // 0xE8 - 0xEF
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +        // 0xF0 - 0xF7
-            "\u0038\u0039\u00B3\uFFFD\uFFFD\uFFFD\uFFFD\u009F" +        // 0xF8 - 0xFF
-            "\u0000\u0001\u0002\u0003\u009C\t\u0086\u007F" +    // 0x00 - 0x07
-            "\u0097\u008D\u008E\u000B\f\r\u000E\u000F" +        // 0x08 - 0x0F
-            "\u0010\u0011\u0012\u0013\u009D\n\b\u0087" +        // 0x10 - 0x17
-            "\u0018\u0019\u0092\u008F\u001C\u001D\u001E\u001F" +        // 0x18 - 0x1F
-            "\u0080\u0081\u0082\u0083\u0084\n\u0017\u001B" +    // 0x20 - 0x27
-            "\u0088\u0089\u008A\u008B\u008C\u0005\u0006\u0007" +        // 0x28 - 0x2F
-            "\u0090\u0091\u0016\u0093\u0094\u0095\u0096\u0004" +        // 0x30 - 0x37
-            "\u0098\u0099\u009A\u009B\u0014\u0015\u009E\u001A" +        // 0x38 - 0x3F
-            "\u0020\u05D0\u05D1\u05D2\u05D3\u05D4\u05D5\u05D6" +        // 0x40 - 0x47
-            "\u05D7\u05D8\u00A2\u002E\u003C\u0028\u002B\u007C" +        // 0x48 - 0x4F
-            "\u0026\u05D9\u05DA\u05DB\u05DC\u05DD\u05DE\u05DF" +        // 0x50 - 0x57
-            "\u05E0\u05E1\u0021\u0024\u002A\u0029\u003B\u00AC" +        // 0x58 - 0x5F
-            "\u002D\u002F\u05E2\u05E3\u05E4\u05E5\u05E6\u05E7" +        // 0x60 - 0x67
-            "\u05E8\u05E9\u00A6\u002C\u0025\u005F\u003E\u003F" +        // 0x68 - 0x6F
-            "\uFFFD\u05EA\uFFFD\uFFFD\u00A0\uFFFD\uFFFD\uFFFD" +        // 0x70 - 0x77
-            "\u2017\u0060\u003A\u0023\u0040\'\u003D\"";         // 0x78 - 0x7F
-
-    }
-
-    private static class Encoder extends SingleByteEncoder {
-            public Encoder(Charset cs) {
-                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
-            }
-
-            private final static String index2 =
-
-
-            "\u0000\u0001\u0002\u0003\u0037\u002D\u002E\u002F" +
-            "\u0016\u0005\u0015\u000B\f\r\u000E\u000F" +
-            "\u0010\u0011\u0012\u0013\u003C\u003D\u0032\u0026" +
-            "\u0018\u0019\u003F\'\u001C\u001D\u001E\u001F" +
-            "\u0040\u005A\u007F\u007B\u005B\u006C\u0050\u007D" +
-            "\u004D\u005D\\\u004E\u006B\u0060\u004B\u0061" +
-            "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" +
-            "\u00F8\u00F9\u007A\u005E\u004C\u007E\u006E\u006F" +
-            "\u007C\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" +
-            "\u00C8\u00C9\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6" +
-            "\u00D7\u00D8\u00D9\u00E2\u00E3\u00E4\u00E5\u00E6" +
-            "\u00E7\u00E8\u00E9\u00BA\u00E0\u00BB\u00B0\u006D" +
-            "\u0079\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +
-            "\u0088\u0089\u0091\u0092\u0093\u0094\u0095\u0096" +
-            "\u0097\u0098\u0099\u00A2\u00A3\u00A4\u00A5\u00A6" +
-            "\u00A7\u00A8\u00A9\u00C0\u004F\u00D0\u00A1\u0007" +
-            "\u0020\u0021\"\u0023\u0024\u0015\u0006\u0017" +
-            "\u0028\u0029\u002A\u002B\u002C\t\n\u001B" +
-            "\u0030\u0031\u001A\u0033\u0034\u0035\u0036\b" +
-            "\u0038\u0039\u003A\u003B\u0004\u0014\u003E\u00FF" +
-            "\u0074\u0000\u004A\u00B1\u009F\u00B2\u006A\u00B5" +
-            "\u00BD\u00B4\u0000\u008A\u005F\u00CA\u00AF\u0000" +
-            "\u0090\u008F\u00EA\u00FA\u00BE\u00A0\u00B6\u0000" +
-            "\u009D\u00DA\u0000\u008B\u00B7\u00B8\u00B9\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00BF" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00E1" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0041\u0042\u0043\u0044\u0045\u0046\u0047\u0048" +
-            "\u0049\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
-            "\u0058\u0059\u0062\u0063\u0064\u0065\u0066\u0067" +
-            "\u0068\u0069\u0071\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0078\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u00B3\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u00BC\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000";
-
-    private final static short index1[] = {
-            0, 248, 248, 248, 248, 296, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            531, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-
-        };
-    }
-}
--- a/jdk/src/share/classes/sun/nio/cs/ext/IBM500.java	Wed Jul 05 16:44:40 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,221 +0,0 @@
-
-/*
- * Copyright 2003-2004 Sun Microsystems, Inc.  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.  Sun designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
- */
-
-package sun.nio.cs.ext;
-
-
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetDecoder;
-import java.nio.charset.CharsetEncoder;
-import sun.nio.cs.StandardCharsets;
-import sun.nio.cs.SingleByteDecoder;
-import sun.nio.cs.SingleByteEncoder;
-import sun.nio.cs.HistoricallyNamedCharset;
-
-public class IBM500
-    extends Charset
-    implements HistoricallyNamedCharset
-{
-
-    public IBM500() {
-        super("IBM500", ExtendedCharsets.aliasesFor("IBM500"));
-    }
-
-    public String historicalName() {
-        return "Cp500";
-    }
-
-    public boolean contains(Charset cs) {
-        return (cs instanceof IBM500);
-    }
-
-    public CharsetDecoder newDecoder() {
-        return new Decoder(this);
-    }
-
-    public CharsetEncoder newEncoder() {
-        return new Encoder(this);
-    }
-
-
-    /**
-     * These accessors are temporarily supplied while sun.io
-     * converters co-exist with the sun.nio.cs.{ext} charset coders
-     * These facilitate sharing of conversion tables between the
-     * two co-existing implementations. When sun.io converters
-     * are made extinct these will be unncessary and should be removed
-     */
-
-    public String getDecoderSingleByteMappings() {
-        return Decoder.byteToCharTable;
-
-    }
-
-    public short[] getEncoderIndex1() {
-        return Encoder.index1;
-
-    }
-    public String getEncoderIndex2() {
-        return Encoder.index2;
-
-    }
-
-    protected static class Decoder extends SingleByteDecoder {
-            public Decoder(Charset cs) {
-                super(cs, byteToCharTable);
-        }
-
-        private final static String byteToCharTable =
-
-            "\u00D8\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +        // 0x80 - 0x87
-            "\u0068\u0069\u00AB\u00BB\u00F0\u00FD\u00FE\u00B1" +        // 0x88 - 0x8F
-            "\u00B0\u006A\u006B\u006C\u006D\u006E\u006F\u0070" +        // 0x90 - 0x97
-            "\u0071\u0072\u00AA\u00BA\u00E6\u00B8\u00C6\u00A4" +        // 0x98 - 0x9F
-            "\u00B5\u007E\u0073\u0074\u0075\u0076\u0077\u0078" +        // 0xA0 - 0xA7
-            "\u0079\u007A\u00A1\u00BF\u00D0\u00DD\u00DE\u00AE" +        // 0xA8 - 0xAF
-            "\u00A2\u00A3\u00A5\u00B7\u00A9\u00A7\u00B6\u00BC" +        // 0xB0 - 0xB7
-            "\u00BD\u00BE\u00AC\u007C\u00AF\u00A8\u00B4\u00D7" +        // 0xB8 - 0xBF
-            "\u007B\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +        // 0xC0 - 0xC7
-            "\u0048\u0049\u00AD\u00F4\u00F6\u00F2\u00F3\u00F5" +        // 0xC8 - 0xCF
-            "\u007D\u004A\u004B\u004C\u004D\u004E\u004F\u0050" +        // 0xD0 - 0xD7
-            "\u0051\u0052\u00B9\u00FB\u00FC\u00F9\u00FA\u00FF" +        // 0xD8 - 0xDF
-            "\\\u00F7\u0053\u0054\u0055\u0056\u0057\u0058" +    // 0xE0 - 0xE7
-            "\u0059\u005A\u00B2\u00D4\u00D6\u00D2\u00D3\u00D5" +        // 0xE8 - 0xEF
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +        // 0xF0 - 0xF7
-            "\u0038\u0039\u00B3\u00DB\u00DC\u00D9\u00DA\u009F" +        // 0xF8 - 0xFF
-            "\u0000\u0001\u0002\u0003\u009C\t\u0086\u007F" +    // 0x00 - 0x07
-            "\u0097\u008D\u008E\u000B\f\r\u000E\u000F" +        // 0x08 - 0x0F
-            "\u0010\u0011\u0012\u0013\u009D\n\b\u0087" +        // 0x10 - 0x17
-            "\u0018\u0019\u0092\u008F\u001C\u001D\u001E\u001F" +        // 0x18 - 0x1F
-            "\u0080\u0081\u0082\u0083\u0084\n\u0017\u001B" +    // 0x20 - 0x27
-            "\u0088\u0089\u008A\u008B\u008C\u0005\u0006\u0007" +        // 0x28 - 0x2F
-            "\u0090\u0091\u0016\u0093\u0094\u0095\u0096\u0004" +        // 0x30 - 0x37
-            "\u0098\u0099\u009A\u009B\u0014\u0015\u009E\u001A" +        // 0x38 - 0x3F
-            "\u0020\u00A0\u00E2\u00E4\u00E0\u00E1\u00E3\u00E5" +        // 0x40 - 0x47
-            "\u00E7\u00F1\u005B\u002E\u003C\u0028\u002B\u0021" +        // 0x48 - 0x4F
-            "\u0026\u00E9\u00EA\u00EB\u00E8\u00ED\u00EE\u00EF" +        // 0x50 - 0x57
-            "\u00EC\u00DF\u005D\u0024\u002A\u0029\u003B\u005E" +        // 0x58 - 0x5F
-            "\u002D\u002F\u00C2\u00C4\u00C0\u00C1\u00C3\u00C5" +        // 0x60 - 0x67
-            "\u00C7\u00D1\u00A6\u002C\u0025\u005F\u003E\u003F" +        // 0x68 - 0x6F
-            "\u00F8\u00C9\u00CA\u00CB\u00C8\u00CD\u00CE\u00CF" +        // 0x70 - 0x77
-            "\u00CC\u0060\u003A\u0023\u0040\'\u003D\"";         // 0x78 - 0x7F
-
-    }
-
-    private static class Encoder extends SingleByteEncoder {
-            public Encoder(Charset cs) {
-                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
-            }
-
-            private final static String index2 =
-
-
-            "\u0000\u0001\u0002\u0003\u0037\u002D\u002E\u002F" +
-            "\u0016\u0005\u0015\u000B\f\r\u000E\u000F" +
-            "\u0010\u0011\u0012\u0013\u003C\u003D\u0032\u0026" +
-            "\u0018\u0019\u003F\'\u001C\u001D\u001E\u001F" +
-            "\u0040\u004F\u007F\u007B\u005B\u006C\u0050\u007D" +
-            "\u004D\u005D\\\u004E\u006B\u0060\u004B\u0061" +
-            "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" +
-            "\u00F8\u00F9\u007A\u005E\u004C\u007E\u006E\u006F" +
-            "\u007C\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" +
-            "\u00C8\u00C9\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6" +
-            "\u00D7\u00D8\u00D9\u00E2\u00E3\u00E4\u00E5\u00E6" +
-            "\u00E7\u00E8\u00E9\u004A\u00E0\u005A\u005F\u006D" +
-            "\u0079\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +
-            "\u0088\u0089\u0091\u0092\u0093\u0094\u0095\u0096" +
-            "\u0097\u0098\u0099\u00A2\u00A3\u00A4\u00A5\u00A6" +
-            "\u00A7\u00A8\u00A9\u00C0\u00BB\u00D0\u00A1\u0007" +
-            "\u0020\u0021\"\u0023\u0024\u0015\u0006\u0017" +
-            "\u0028\u0029\u002A\u002B\u002C\t\n\u001B" +
-            "\u0030\u0031\u001A\u0033\u0034\u0035\u0036\b" +
-            "\u0038\u0039\u003A\u003B\u0004\u0014\u003E\u00FF" +
-            "\u0041\u00AA\u00B0\u00B1\u009F\u00B2\u006A\u00B5" +
-            "\u00BD\u00B4\u009A\u008A\u00BA\u00CA\u00AF\u00BC" +
-            "\u0090\u008F\u00EA\u00FA\u00BE\u00A0\u00B6\u00B3" +
-            "\u009D\u00DA\u009B\u008B\u00B7\u00B8\u00B9\u00AB" +
-            "\u0064\u0065\u0062\u0066\u0063\u0067\u009E\u0068" +
-            "\u0074\u0071\u0072\u0073\u0078\u0075\u0076\u0077" +
-            "\u00AC\u0069\u00ED\u00EE\u00EB\u00EF\u00EC\u00BF" +
-            "\u0080\u00FD\u00FE\u00FB\u00FC\u00AD\u00AE\u0059" +
-            "\u0044\u0045\u0042\u0046\u0043\u0047\u009C\u0048" +
-            "\u0054\u0051\u0052\u0053\u0058\u0055\u0056\u0057" +
-            "\u008C\u0049\u00CD\u00CE\u00CB\u00CF\u00CC\u00E1" +
-            "\u0070\u00DD\u00DE\u00DB\u00DC\u008D\u008E\u00DF" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000";
-
-    private final static short index1[] = {
-            0, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-
-        };
-    }
-}
--- a/jdk/src/share/classes/sun/nio/cs/ext/IBM838.java	Wed Jul 05 16:44:40 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,243 +0,0 @@
-
-/*
- * Copyright 2003-2004 Sun Microsystems, Inc.  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.  Sun designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
- */
-
-package sun.nio.cs.ext;
-
-
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetDecoder;
-import java.nio.charset.CharsetEncoder;
-import sun.nio.cs.StandardCharsets;
-import sun.nio.cs.SingleByteDecoder;
-import sun.nio.cs.SingleByteEncoder;
-import sun.nio.cs.HistoricallyNamedCharset;
-
-public class IBM838
-    extends Charset
-    implements HistoricallyNamedCharset
-{
-
-    public IBM838() {
-        super("IBM-Thai", ExtendedCharsets.aliasesFor("IBM-Thai"));
-    }
-
-    public String historicalName() {
-        return "Cp838";
-    }
-
-    public boolean contains(Charset cs) {
-        return (cs instanceof IBM838);
-    }
-
-    public CharsetDecoder newDecoder() {
-        return new Decoder(this);
-    }
-
-    public CharsetEncoder newEncoder() {
-        return new Encoder(this);
-    }
-
-
-    /**
-     * These accessors are temporarily supplied while sun.io
-     * converters co-exist with the sun.nio.cs.{ext} charset coders
-     * These facilitate sharing of conversion tables between the
-     * two co-existing implementations. When sun.io converters
-     * are made extinct these will be unncessary and should be removed
-     */
-
-    public String getDecoderSingleByteMappings() {
-        return Decoder.byteToCharTable;
-
-    }
-
-    public short[] getEncoderIndex1() {
-        return Encoder.index1;
-
-    }
-    public String getEncoderIndex2() {
-        return Encoder.index2;
-
-    }
-
-    private static class Decoder extends SingleByteDecoder {
-            public Decoder(Charset cs) {
-                super(cs, byteToCharTable);
-        }
-
-        private final static String byteToCharTable =
-
-            "\u0E4F\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +        // 0x80 - 0x87
-            "\u0068\u0069\u0E1D\u0E1E\u0E1F\u0E20\u0E21\u0E22" +        // 0x88 - 0x8F
-            "\u0E5A\u006A\u006B\u006C\u006D\u006E\u006F\u0070" +        // 0x90 - 0x97
-            "\u0071\u0072\u0E23\u0E24\u0E25\u0E26\u0E27\u0E28" +        // 0x98 - 0x9F
-            "\u0E5B\u007E\u0073\u0074\u0075\u0076\u0077\u0078" +        // 0xA0 - 0xA7
-            "\u0079\u007A\u0E29\u0E2A\u0E2B\u0E2C\u0E2D\u0E2E" +        // 0xA8 - 0xAF
-            "\u0E50\u0E51\u0E52\u0E53\u0E54\u0E55\u0E56\u0E57" +        // 0xB0 - 0xB7
-            "\u0E58\u0E59\u0E2F\u0E30\u0E31\u0E32\u0E33\u0E34" +        // 0xB8 - 0xBF
-            "\u007B\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +        // 0xC0 - 0xC7
-            "\u0048\u0049\u0E49\u0E35\u0E36\u0E37\u0E38\u0E39" +        // 0xC8 - 0xCF
-            "\u007D\u004A\u004B\u004C\u004D\u004E\u004F\u0050" +        // 0xD0 - 0xD7
-            "\u0051\u0052\u0E3A\u0E40\u0E41\u0E42\u0E43\u0E44" +        // 0xD8 - 0xDF
-            "\\\u0E4A\u0053\u0054\u0055\u0056\u0057\u0058" +    // 0xE0 - 0xE7
-            "\u0059\u005A\u0E45\u0E46\u0E47\u0E48\u0E49\u0E4A" +        // 0xE8 - 0xEF
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +        // 0xF0 - 0xF7
-            "\u0038\u0039\u0E4B\u0E4C\u0E4D\u0E4B\u0E4C\u009F" +        // 0xF8 - 0xFF
-            "\u0000\u0001\u0002\u0003\u009C\t\u0086\u007F" +    // 0x00 - 0x07
-            "\u0097\u008D\u008E\u000B\f\r\u000E\u000F" +        // 0x08 - 0x0F
-            "\u0010\u0011\u0012\u0013\u009D\n\b\u0087" +        // 0x10 - 0x17
-            "\u0018\u0019\u0092\u008F\u001C\u001D\u001E\u001F" +        // 0x18 - 0x1F
-            "\u0080\u0081\u0082\u0083\u0084\n\u0017\u001B" +    // 0x20 - 0x27
-            "\u0088\u0089\u008A\u008B\u008C\u0005\u0006\u0007" +        // 0x28 - 0x2F
-            "\u0090\u0091\u0016\u0093\u0094\u0095\u0096\u0004" +        // 0x30 - 0x37
-            "\u0098\u0099\u009A\u009B\u0014\u0015\u009E\u001A" +        // 0x38 - 0x3F
-            "\u0020\u00A0\u0E01\u0E02\u0E03\u0E04\u0E05\u0E06" +        // 0x40 - 0x47
-            "\u0E07\u005B\u00A2\u002E\u003C\u0028\u002B\u007C" +        // 0x48 - 0x4F
-            "\u0026\u0E48\u0E08\u0E09\u0E0A\u0E0B\u0E0C\u0E0D" +        // 0x50 - 0x57
-            "\u0E0E\u005D\u0021\u0024\u002A\u0029\u003B\u00AC" +        // 0x58 - 0x5F
-            "\u002D\u002F\u0E0F\u0E10\u0E11\u0E12\u0E13\u0E14" +        // 0x60 - 0x67
-            "\u0E15\u005E\u00A6\u002C\u0025\u005F\u003E\u003F" +        // 0x68 - 0x6F
-            "\u0E3F\u0E4E\u0E16\u0E17\u0E18\u0E19\u0E1A\u0E1B" +        // 0x70 - 0x77
-            "\u0E1C\u0060\u003A\u0023\u0040\'\u003D\"";         // 0x78 - 0x7F
-
-    }
-
-    private static class Encoder extends SingleByteEncoder {
-            public Encoder(Charset cs) {
-                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
-            }
-
-            private final static String index2 =
-
-
-            "\u0000\u0001\u0002\u0003\u0037\u002D\u002E\u002F" +
-            "\u0016\u0005\u0015\u000B\f\r\u000E\u000F" +
-            "\u0010\u0011\u0012\u0013\u003C\u003D\u0032\u0026" +
-            "\u0018\u0019\u003F\'\u001C\u001D\u001E\u001F" +
-            "\u0040\u005A\u007F\u007B\u005B\u006C\u0050\u007D" +
-            "\u004D\u005D\\\u004E\u006B\u0060\u004B\u0061" +
-            "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" +
-            "\u00F8\u00F9\u007A\u005E\u004C\u007E\u006E\u006F" +
-            "\u007C\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" +
-            "\u00C8\u00C9\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6" +
-            "\u00D7\u00D8\u00D9\u00E2\u00E3\u00E4\u00E5\u00E6" +
-            "\u00E7\u00E8\u00E9\u0049\u00E0\u0059\u0069\u006D" +
-            "\u0079\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +
-            "\u0088\u0089\u0091\u0092\u0093\u0094\u0095\u0096" +
-            "\u0097\u0098\u0099\u00A2\u00A3\u00A4\u00A5\u00A6" +
-            "\u00A7\u00A8\u00A9\u00C0\u004F\u00D0\u00A1\u0007" +
-            "\u0020\u0021\"\u0023\u0024\u0015\u0006\u0017" +
-            "\u0028\u0029\u002A\u002B\u002C\t\n\u001B" +
-            "\u0030\u0031\u001A\u0033\u0034\u0035\u0036\b" +
-            "\u0038\u0039\u003A\u003B\u0004\u0014\u003E\u00FF" +
-            "\u0041\u0000\u004A\u0000\u0000\u0000\u006A\u0000" +
-            "\u0000\u0000\u0000\u0000\u005F\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0042\u0043\u0044" +
-            "\u0045\u0046\u0047\u0048\u0052\u0053\u0054\u0055" +
-            "\u0056\u0057\u0058\u0062\u0063\u0064\u0065\u0066" +
-            "\u0067\u0068\u0072\u0073\u0074\u0075\u0076\u0077" +
-            "\u0078\u008A\u008B\u008C\u008D\u008E\u008F\u009A" +
-            "\u009B\u009C\u009D\u009E\u009F\u00AA\u00AB\u00AC" +
-            "\u00AD\u00AE\u00AF\u00BA\u00BB\u00BC\u00BD\u00BE" +
-            "\u00BF\u00CB\u00CC\u00CD\u00CE\u00CF\u00DA\u0000" +
-            "\u0000\u0000\u0000\u0070\u00DB\u00DC\u00DD\u00DE" +
-            "\u00DF\u00EA\u00EB\u00EC\u00ED\u00EE\u00EF\u00FA" +
-            "\u00FB\u00FC\u0071\u0080\u00B0\u00B1\u00B2\u00B3" +
-            "\u00B4\u00B5\u00B6\u00B7\u00B8\u00B9\u0090\u00A0" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000";
-
-    private final static short index1[] = {
-            0, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 428, 173,
-            173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
-            173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
-            173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
-            173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
-            173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
-            173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
-            173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
-            173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
-            173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
-            173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
-            173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
-            173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
-            173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
-            173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
-            173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173, 173,
-
-        };
-    }
-}
--- a/jdk/src/share/classes/sun/nio/cs/ext/IBM856.java	Wed Jul 05 16:44:40 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,288 +0,0 @@
-
-/*
- * Copyright 2003-2004 Sun Microsystems, Inc.  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.  Sun designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
- */
-
-package sun.nio.cs.ext;
-
-
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetDecoder;
-import java.nio.charset.CharsetEncoder;
-import sun.nio.cs.StandardCharsets;
-import sun.nio.cs.SingleByteDecoder;
-import sun.nio.cs.SingleByteEncoder;
-import sun.nio.cs.HistoricallyNamedCharset;
-
-public class IBM856
-    extends Charset
-    implements HistoricallyNamedCharset
-{
-
-    public IBM856() {
-        super("x-IBM856", ExtendedCharsets.aliasesFor("x-IBM856"));
-    }
-
-    public String historicalName() {
-        return "Cp856";
-    }
-
-    public boolean contains(Charset cs) {
-        return (cs instanceof IBM856);
-    }
-
-    public CharsetDecoder newDecoder() {
-        return new Decoder(this);
-    }
-
-    public CharsetEncoder newEncoder() {
-        return new Encoder(this);
-    }
-
-
-    /**
-     * These accessors are temporarily supplied while sun.io
-     * converters co-exist with the sun.nio.cs.{ext} charset coders
-     * These facilitate sharing of conversion tables between the
-     * two co-existing implementations. When sun.io converters
-     * are made extinct these will be unncessary and should be removed
-     */
-
-    public String getDecoderSingleByteMappings() {
-        return Decoder.byteToCharTable;
-
-    }
-
-    public short[] getEncoderIndex1() {
-        return Encoder.index1;
-
-    }
-    public String getEncoderIndex2() {
-        return Encoder.index2;
-
-    }
-
-    private static class Decoder extends SingleByteDecoder {
-            public Decoder(Charset cs) {
-                super(cs, byteToCharTable);
-        }
-
-        private final static String byteToCharTable =
-
-            "\u05D0\u05D1\u05D2\u05D3\u05D4\u05D5\u05D6\u05D7" +     // 0x80 - 0x87
-            "\u05D8\u05D9\u05DA\u05DB\u05DC\u05DD\u05DE\u05DF" +     // 0x88 - 0x8F
-            "\u05E0\u05E1\u05E2\u05E3\u05E4\u05E5\u05E6\u05E7" +     // 0x90 - 0x97
-            "\u05E8\u05E9\u05EA\uFFFD\u00A3\uFFFD\u00D7\uFFFD" +     // 0x98 - 0x9F
-            "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" +     // 0xA0 - 0xA7
-            "\uFFFD\u00AE\u00AC\u00BD\u00BC\uFFFD\u00AB\u00BB" +     // 0xA8 - 0xAF
-            "\u2591\u2592\u2593\u2502\u2524\uFFFD\uFFFD\uFFFD" +     // 0xB0 - 0xB7
-            "\u00A9\u2563\u2551\u2557\u255D\u00A2\u00A5\u2510" +     // 0xB8 - 0xBF
-            "\u2514\u2534\u252C\u251C\u2500\u253C\uFFFD\uFFFD" +     // 0xC0 - 0xC7
-            "\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u00A4" +     // 0xC8 - 0xCF
-            "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" +     // 0xD0 - 0xD7
-            "\uFFFD\u2518\u250C\u2588\u2584\u00A6\uFFFD\u2580" +     // 0xD8 - 0xDF
-            "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u00B5\uFFFD" +     // 0xE0 - 0xE7
-            "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u203E\u00B4" +     // 0xE8 - 0xEF
-            "\u00AD\u00B1\u2017\u00BE\u00B6\u00A7\u00F7\u00B8" +     // 0xF0 - 0xF7
-            "\u00B0\u00A8\u2022\u00B9\u00B3\u00B2\u25A0\u00A0" +     // 0xF8 - 0xFF
-            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +     // 0x00 - 0x07
-            "\b\t\n\u000B\f\r\u000E\u000F" +     // 0x08 - 0x0F
-            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +     // 0x10 - 0x17
-            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +     // 0x18 - 0x1F
-            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +     // 0x20 - 0x27
-            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +     // 0x28 - 0x2F
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +     // 0x30 - 0x37
-            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +     // 0x38 - 0x3F
-            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +     // 0x40 - 0x47
-            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +     // 0x48 - 0x4F
-            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +     // 0x50 - 0x57
-            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +     // 0x58 - 0x5F
-            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +     // 0x60 - 0x67
-            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +     // 0x68 - 0x6F
-            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +     // 0x70 - 0x77
-            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";     // 0x78 - 0x7F
-
-    }
-
-    private static class Encoder extends SingleByteEncoder {
-            public Encoder(Charset cs) {
-                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
-            }
-
-            private final static String index2 =
-
-
-            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
-            "\b\t\n\u000B\f\r\u000E\u000F" +
-            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
-            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
-            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
-            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
-            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
-            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
-            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
-            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
-            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
-            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
-            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
-            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
-            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00FF\u0000\u00BD\u009C\u00CF\u00BE\u00DD\u00F5" +
-            "\u00F9\u00B8\u0000\u00AE\u00AA\u00F0\u00A9\u0000" +
-            "\u00F8\u00F1\u00FD\u00FC\u00EF\u00E6\u00F4\u0000" +
-            "\u00F7\u00FB\u0000\u00AF\u00AC\u00AB\u00F3\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u009E" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00F6" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0080\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +
-            "\u0088\u0089\u008A\u008B\u008C\u008D\u008E\u008F" +
-            "\u0090\u0091\u0092\u0093\u0094\u0095\u0096\u0097" +
-            "\u0098\u0099\u009A\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u00F2\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u00FA\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u00EE\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u00C4\u0000\u00B3\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00DA" +
-            "\u0000\u0000\u0000\u00BF\u0000\u0000\u0000\u00C0" +
-            "\u0000\u0000\u0000\u00D9\u0000\u0000\u0000\u00C3" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00B4" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00C2" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00C1" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00C5" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u00CD\u00BA\u0000\u0000\u00C9" +
-            "\u0000\u0000\u00BB\u0000\u0000\u00C8\u0000\u0000" +
-            "\u00BC\u0000\u0000\u00CC\u0000\u0000\u00B9\u0000" +
-            "\u0000\u00CB\u0000\u0000\u00CA\u0000\u0000\u00CE" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u00DF\u0000\u0000\u0000\u00DC" +
-            "\u0000\u0000\u0000\u00DB\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u00B0\u00B1\u00B2\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u00FE\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000";
-
-    private final static short index1[] = {
-            0, 248, 248, 248, 248, 296, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            531, 248, 248, 248, 248, 787, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-
-        };
-    }
-}
--- a/jdk/src/share/classes/sun/nio/cs/ext/IBM860.java	Wed Jul 05 16:44:40 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,348 +0,0 @@
-
-/*
- * Copyright 2003-2004 Sun Microsystems, Inc.  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.  Sun designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
- */
-
-package sun.nio.cs.ext;
-
-
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetDecoder;
-import java.nio.charset.CharsetEncoder;
-import sun.nio.cs.StandardCharsets;
-import sun.nio.cs.SingleByteDecoder;
-import sun.nio.cs.SingleByteEncoder;
-import sun.nio.cs.HistoricallyNamedCharset;
-
-public class IBM860
-    extends Charset
-    implements HistoricallyNamedCharset
-{
-
-    public IBM860() {
-        super("IBM860", ExtendedCharsets.aliasesFor("IBM860"));
-    }
-
-    public String historicalName() {
-        return "Cp860";
-    }
-
-    public boolean contains(Charset cs) {
-        return (cs instanceof IBM860);
-    }
-
-    public CharsetDecoder newDecoder() {
-        return new Decoder(this);
-    }
-
-    public CharsetEncoder newEncoder() {
-        return new Encoder(this);
-    }
-
-
-    /**
-     * These accessors are temporarily supplied while sun.io
-     * converters co-exist with the sun.nio.cs.{ext} charset coders
-     * These facilitate sharing of conversion tables between the
-     * two co-existing implementations. When sun.io converters
-     * are made extinct these will be unncessary and should be removed
-     */
-
-    public String getDecoderSingleByteMappings() {
-        return Decoder.byteToCharTable;
-
-    }
-
-    public short[] getEncoderIndex1() {
-        return Encoder.index1;
-
-    }
-    public String getEncoderIndex2() {
-        return Encoder.index2;
-
-    }
-
-    private static class Decoder extends SingleByteDecoder {
-            public Decoder(Charset cs) {
-                super(cs, byteToCharTable);
-        }
-
-        private final static String byteToCharTable =
-
-            "\u00C7\u00FC\u00E9\u00E2\u00E3\u00E0\u00C1\u00E7" +     // 0x80 - 0x87
-            "\u00EA\u00CA\u00E8\u00CD\u00D4\u00EC\u00C3\u00C2" +     // 0x88 - 0x8F
-            "\u00C9\u00C0\u00C8\u00F4\u00F5\u00F2\u00DA\u00F9" +     // 0x90 - 0x97
-            "\u00CC\u00D5\u00DC\u00A2\u00A3\u00D9\u20A7\u00D3" +     // 0x98 - 0x9F
-            "\u00E1\u00ED\u00F3\u00FA\u00F1\u00D1\u00AA\u00BA" +     // 0xA0 - 0xA7
-            "\u00BF\u00D2\u00AC\u00BD\u00BC\u00A1\u00AB\u00BB" +     // 0xA8 - 0xAF
-            "\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556" +     // 0xB0 - 0xB7
-            "\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510" +     // 0xB8 - 0xBF
-            "\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F" +     // 0xC0 - 0xC7
-            "\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567" +     // 0xC8 - 0xCF
-            "\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B" +     // 0xD0 - 0xD7
-            "\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580" +     // 0xD8 - 0xDF
-            "\u03B1\u00DF\u0393\u03C0\u03A3\u03C3\u00B5\u03C4" +     // 0xE0 - 0xE7
-            "\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229" +     // 0xE8 - 0xEF
-            "\u2261\u00B1\u2265\u2264\u2320\u2321\u00F7\u2248" +     // 0xF0 - 0xF7
-            "\u00B0\u2219\u00B7\u221A\u207F\u00B2\u25A0\u00A0" +     // 0xF8 - 0xFF
-            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +     // 0x00 - 0x07
-            "\b\t\n\u000B\f\r\u000E\u000F" +     // 0x08 - 0x0F
-            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +     // 0x10 - 0x17
-            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +     // 0x18 - 0x1F
-            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +     // 0x20 - 0x27
-            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +     // 0x28 - 0x2F
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +     // 0x30 - 0x37
-            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +     // 0x38 - 0x3F
-            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +     // 0x40 - 0x47
-            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +     // 0x48 - 0x4F
-            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +     // 0x50 - 0x57
-            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +     // 0x58 - 0x5F
-            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +     // 0x60 - 0x67
-            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +     // 0x68 - 0x6F
-            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +     // 0x70 - 0x77
-            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";     // 0x78 - 0x7F
-
-    }
-
-    private static class Encoder extends SingleByteEncoder {
-            public Encoder(Charset cs) {
-                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
-            }
-
-            private final static String index2 =
-
-
-            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
-            "\b\t\n\u000B\f\r\u000E\u000F" +
-            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
-            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
-            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
-            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
-            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
-            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
-            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
-            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
-            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
-            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
-            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
-            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
-            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00FF\u00AD\u009B\u009C\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u00A6\u00AE\u00AA\u0000\u0000\u0000" +
-            "\u00F8\u00F1\u00FD\u0000\u0000\u00E6\u0000\u00FA" +
-            "\u0000\u0000\u00A7\u00AF\u00AC\u00AB\u0000\u00A8" +
-            "\u0091\u0086\u008F\u008E\u0000\u0000\u0000\u0080" +
-            "\u0092\u0090\u0089\u0000\u0098\u008B\u0000\u0000" +
-            "\u0000\u00A5\u00A9\u009F\u008C\u0099\u0000\u0000" +
-            "\u0000\u009D\u0096\u0000\u009A\u0000\u0000\u00E1" +
-            "\u0085\u00A0\u0083\u0084\u0000\u0000\u0000\u0087" +
-            "\u008A\u0082\u0088\u0000\u008D\u00A1\u0000\u0000" +
-            "\u0000\u00A4\u0095\u00A2\u0093\u0094\u0000\u00F6" +
-            "\u0000\u0097\u00A3\u0000\u0081\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u00E2\u0000\u0000" +
-            "\u0000\u0000\u00E9\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u00E4\u0000\u0000" +
-            "\u00E8\u0000\u0000\u00EA\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u00E0\u0000\u0000\u00EB\u00EE" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u00E3\u0000\u0000\u00E5\u00E7\u0000" +
-            "\u00ED\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00FC\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u009E\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u00F9\u00FB\u0000\u0000\u0000\u00EC\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u00EF\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00F7\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u00F0\u0000\u0000\u00F3\u00F2\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00F4\u00F5\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00C4\u0000\u00B3\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u00DA\u0000\u0000\u0000" +
-            "\u00BF\u0000\u0000\u0000\u00C0\u0000\u0000\u0000" +
-            "\u00D9\u0000\u0000\u0000\u00C3\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u00B4\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u00C2\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u00C1\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u00C5\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00CD\u00BA\u00D5\u00D6\u00C9\u00B8\u00B7\u00BB" +
-            "\u00D4\u00D3\u00C8\u00BE\u00BD\u00BC\u00C6\u00C7" +
-            "\u00CC\u00B5\u00B6\u00B9\u00D1\u00D2\u00CB\u00CF" +
-            "\u00D0\u00CA\u00D8\u00D7\u00CE\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00DF\u0000\u0000\u0000\u00DC\u0000\u0000\u0000" +
-            "\u00DB\u0000\u0000\u0000\u00DD\u0000\u0000\u0000" +
-            "\u00DE\u00B0\u00B1\u00B2\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00FE\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000";
-
-    private final static short index1[] = {
-            0, 253, 253, 362, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
-            253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
-            561, 253, 792, 1016, 253, 1272, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
-            253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
-            253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
-            253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
-            253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
-            253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
-            253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
-            253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
-            253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
-            253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
-            253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
-            253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
-            253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
-            253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
-
-        };
-    }
-}
--- a/jdk/src/share/classes/sun/nio/cs/ext/IBM861.java	Wed Jul 05 16:44:40 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,369 +0,0 @@
-
-/*
- * Copyright 2003-2004 Sun Microsystems, Inc.  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.  Sun designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
- */
-
-package sun.nio.cs.ext;
-
-
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetDecoder;
-import java.nio.charset.CharsetEncoder;
-import sun.nio.cs.StandardCharsets;
-import sun.nio.cs.SingleByteDecoder;
-import sun.nio.cs.SingleByteEncoder;
-import sun.nio.cs.HistoricallyNamedCharset;
-
-public class IBM861
-    extends Charset
-    implements HistoricallyNamedCharset
-{
-
-    public IBM861() {
-        super("IBM861", ExtendedCharsets.aliasesFor("IBM861"));
-    }
-
-    public String historicalName() {
-        return "Cp861";
-    }
-
-    public boolean contains(Charset cs) {
-        return (cs instanceof IBM861);
-    }
-
-    public CharsetDecoder newDecoder() {
-        return new Decoder(this);
-    }
-
-    public CharsetEncoder newEncoder() {
-        return new Encoder(this);
-    }
-
-
-    /**
-     * These accessors are temporarily supplied while sun.io
-     * converters co-exist with the sun.nio.cs.{ext} charset coders
-     * These facilitate sharing of conversion tables between the
-     * two co-existing implementations. When sun.io converters
-     * are made extinct these will be unncessary and should be removed
-     */
-
-    public String getDecoderSingleByteMappings() {
-        return Decoder.byteToCharTable;
-
-    }
-
-    public short[] getEncoderIndex1() {
-        return Encoder.index1;
-
-    }
-    public String getEncoderIndex2() {
-        return Encoder.index2;
-
-    }
-
-    private static class Decoder extends SingleByteDecoder {
-            public Decoder(Charset cs) {
-                super(cs, byteToCharTable);
-        }
-
-        private final static String byteToCharTable =
-
-            "\u00C7\u00FC\u00E9\u00E2\u00E4\u00E0\u00E5\u00E7" +     // 0x80 - 0x87
-            "\u00EA\u00EB\u00E8\u00D0\u00F0\u00DE\u00C4\u00C5" +     // 0x88 - 0x8F
-            "\u00C9\u00E6\u00C6\u00F4\u00F6\u00FE\u00FB\u00DD" +     // 0x90 - 0x97
-            "\u00FD\u00D6\u00DC\u00F8\u00A3\u00D8\u20A7\u0192" +     // 0x98 - 0x9F
-            "\u00E1\u00ED\u00F3\u00FA\u00C1\u00CD\u00D3\u00DA" +     // 0xA0 - 0xA7
-            "\u00BF\u2310\u00AC\u00BD\u00BC\u00A1\u00AB\u00BB" +     // 0xA8 - 0xAF
-            "\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556" +     // 0xB0 - 0xB7
-            "\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510" +     // 0xB8 - 0xBF
-            "\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F" +     // 0xC0 - 0xC7
-            "\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567" +     // 0xC8 - 0xCF
-            "\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B" +     // 0xD0 - 0xD7
-            "\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580" +     // 0xD8 - 0xDF
-            "\u03B1\u00DF\u0393\u03C0\u03A3\u03C3\u00B5\u03C4" +     // 0xE0 - 0xE7
-            "\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229" +     // 0xE8 - 0xEF
-            "\u2261\u00B1\u2265\u2264\u2320\u2321\u00F7\u2248" +     // 0xF0 - 0xF7
-            "\u00B0\u2219\u00B7\u221A\u207F\u00B2\u25A0\u00A0" +     // 0xF8 - 0xFF
-            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +     // 0x00 - 0x07
-            "\b\t\n\u000B\f\r\u000E\u000F" +     // 0x08 - 0x0F
-            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +     // 0x10 - 0x17
-            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +     // 0x18 - 0x1F
-            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +     // 0x20 - 0x27
-            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +     // 0x28 - 0x2F
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +     // 0x30 - 0x37
-            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +     // 0x38 - 0x3F
-            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +     // 0x40 - 0x47
-            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +     // 0x48 - 0x4F
-            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +     // 0x50 - 0x57
-            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +     // 0x58 - 0x5F
-            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +     // 0x60 - 0x67
-            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +     // 0x68 - 0x6F
-            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +     // 0x70 - 0x77
-            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";     // 0x78 - 0x7F
-
-    }
-
-    private static class Encoder extends SingleByteEncoder {
-            public Encoder(Charset cs) {
-                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
-            }
-
-            private final static String index2 =
-
-
-            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
-            "\b\t\n\u000B\f\r\u000E\u000F" +
-            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
-            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
-            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
-            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
-            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
-            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
-            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
-            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
-            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
-            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
-            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
-            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
-            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00FF\u00AD\u0000\u009C\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u00AE\u00AA\u0000\u0000\u0000" +
-            "\u00F8\u00F1\u00FD\u0000\u0000\u00E6\u0000\u00FA" +
-            "\u0000\u0000\u0000\u00AF\u00AC\u00AB\u0000\u00A8" +
-            "\u0000\u00A4\u0000\u0000\u008E\u008F\u0092\u0080" +
-            "\u0000\u0090\u0000\u0000\u0000\u00A5\u0000\u0000" +
-            "\u008B\u0000\u0000\u00A6\u0000\u0000\u0099\u0000" +
-            "\u009D\u0000\u00A7\u0000\u009A\u0097\u008D\u00E1" +
-            "\u0085\u00A0\u0083\u0000\u0084\u0086\u0091\u0087" +
-            "\u008A\u0082\u0088\u0089\u0000\u00A1\u0000\u0000" +
-            "\u008C\u0000\u0000\u00A2\u0093\u0000\u0094\u00F6" +
-            "\u009B\u0000\u00A3\u0096\u0081\u0098\u0095\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u009F\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u00E2\u0000\u0000\u0000\u0000\u00E9" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u00E4\u0000\u0000\u00E8\u0000\u0000" +
-            "\u00EA\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00E0\u0000\u0000\u00EB\u00EE\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00E3" +
-            "\u0000\u0000\u00E5\u00E7\u0000\u00ED\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u00FC\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u009E\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u00F9\u00FB" +
-            "\u0000\u0000\u0000\u00EC\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u00EF\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u00F7\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u00F0\u0000" +
-            "\u0000\u00F3\u00F2\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u00A9\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u00F4\u00F5\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u00C4\u0000\u00B3" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u00DA\u0000\u0000\u0000\u00BF\u0000\u0000" +
-            "\u0000\u00C0\u0000\u0000\u0000\u00D9\u0000\u0000" +
-            "\u0000\u00C3\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u00B4\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u00C2\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u00C1\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u00C5\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u00CD\u00BA\u00D5" +
-            "\u00D6\u00C9\u00B8\u00B7\u00BB\u00D4\u00D3\u00C8" +
-            "\u00BE\u00BD\u00BC\u00C6\u00C7\u00CC\u00B5\u00B6" +
-            "\u00B9\u00D1\u00D2\u00CB\u00CF\u00D0\u00CA\u00D8" +
-            "\u00D7\u00CE\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u00DF\u0000\u0000" +
-            "\u0000\u00DC\u0000\u0000\u0000\u00DB\u0000\u0000" +
-            "\u0000\u00DD\u0000\u0000\u0000\u00DE\u00B0\u00B1" +
-            "\u00B2\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u00FE\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000";
-
-    private final static short index1[] = {
-            0, 255, 402, 511, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402,
-            402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402,
-            710, 402, 941, 1181, 402, 1437, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402,
-            402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402,
-            402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402,
-            402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402,
-            402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402,
-            402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402,
-            402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402,
-            402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402,
-            402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402,
-            402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402,
-            402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402,
-            402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402,
-            402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402,
-            402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402, 402,
-
-        };
-    }
-}
--- a/jdk/src/share/classes/sun/nio/cs/ext/IBM863.java	Wed Jul 05 16:44:40 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,373 +0,0 @@
-
-/*
- * Copyright 2003-2004 Sun Microsystems, Inc.  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.  Sun designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
- */
-
-package sun.nio.cs.ext;
-
-
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetDecoder;
-import java.nio.charset.CharsetEncoder;
-import sun.nio.cs.StandardCharsets;
-import sun.nio.cs.SingleByteDecoder;
-import sun.nio.cs.SingleByteEncoder;
-import sun.nio.cs.HistoricallyNamedCharset;
-
-public class IBM863
-    extends Charset
-    implements HistoricallyNamedCharset
-{
-
-    public IBM863() {
-        super("IBM863", ExtendedCharsets.aliasesFor("IBM863"));
-    }
-
-    public String historicalName() {
-        return "Cp863";
-    }
-
-    public boolean contains(Charset cs) {
-        return (cs instanceof IBM863);
-    }
-
-    public CharsetDecoder newDecoder() {
-        return new Decoder(this);
-    }
-
-    public CharsetEncoder newEncoder() {
-        return new Encoder(this);
-    }
-
-
-    /**
-     * These accessors are temporarily supplied while sun.io
-     * converters co-exist with the sun.nio.cs.{ext} charset coders
-     * These facilitate sharing of conversion tables between the
-     * two co-existing implementations. When sun.io converters
-     * are made extinct these will be unncessary and should be removed
-     */
-
-    public String getDecoderSingleByteMappings() {
-        return Decoder.byteToCharTable;
-
-    }
-
-    public short[] getEncoderIndex1() {
-        return Encoder.index1;
-
-    }
-    public String getEncoderIndex2() {
-        return Encoder.index2;
-
-    }
-
-    private static class Decoder extends SingleByteDecoder {
-            public Decoder(Charset cs) {
-                super(cs, byteToCharTable);
-        }
-
-        private final static String byteToCharTable =
-
-            "\u00C7\u00FC\u00E9\u00E2\u00C2\u00E0\u00B6\u00E7" +     // 0x80 - 0x87
-            "\u00EA\u00EB\u00E8\u00EF\u00EE\u2017\u00C0\u00A7" +     // 0x88 - 0x8F
-            "\u00C9\u00C8\u00CA\u00F4\u00CB\u00CF\u00FB\u00F9" +     // 0x90 - 0x97
-            "\u00A4\u00D4\u00DC\u00A2\u00A3\u00D9\u00DB\u0192" +     // 0x98 - 0x9F
-            "\u00A6\u00B4\u00F3\u00FA\u00A8\u00B8\u00B3\u00AF" +     // 0xA0 - 0xA7
-            "\u00CE\u2310\u00AC\u00BD\u00BC\u00BE\u00AB\u00BB" +     // 0xA8 - 0xAF
-            "\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556" +     // 0xB0 - 0xB7
-            "\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510" +     // 0xB8 - 0xBF
-            "\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F" +     // 0xC0 - 0xC7
-            "\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567" +     // 0xC8 - 0xCF
-            "\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B" +     // 0xD0 - 0xD7
-            "\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580" +     // 0xD8 - 0xDF
-            "\u03B1\u00DF\u0393\u03C0\u03A3\u03C3\u00B5\u03C4" +     // 0xE0 - 0xE7
-            "\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229" +     // 0xE8 - 0xEF
-            "\u2261\u00B1\u2265\u2264\u2320\u2321\u00F7\u2248" +     // 0xF0 - 0xF7
-            "\u00B0\u2219\u00B7\u221A\u207F\u00B2\u25A0\u00A0" +     // 0xF8 - 0xFF
-            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +     // 0x00 - 0x07
-            "\b\t\n\u000B\f\r\u000E\u000F" +     // 0x08 - 0x0F
-            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +     // 0x10 - 0x17
-            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +     // 0x18 - 0x1F
-            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +     // 0x20 - 0x27
-            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +     // 0x28 - 0x2F
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +     // 0x30 - 0x37
-            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +     // 0x38 - 0x3F
-            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +     // 0x40 - 0x47
-            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +     // 0x48 - 0x4F
-            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +     // 0x50 - 0x57
-            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +     // 0x58 - 0x5F
-            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +     // 0x60 - 0x67
-            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +     // 0x68 - 0x6F
-            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +     // 0x70 - 0x77
-            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";     // 0x78 - 0x7F
-
-    }
-
-    private static class Encoder extends SingleByteEncoder {
-            public Encoder(Charset cs) {
-                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
-            }
-
-            private final static String index2 =
-
-
-            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
-            "\b\t\n\u000B\f\r\u000E\u000F" +
-            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
-            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
-            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
-            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
-            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
-            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
-            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
-            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
-            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
-            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
-            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
-            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
-            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00FF\u0000\u009B\u009C\u0098\u0000\u00A0\u008F" +
-            "\u00A4\u0000\u0000\u00AE\u00AA\u0000\u0000\u00A7" +
-            "\u00F8\u00F1\u00FD\u00A6\u00A1\u00E6\u0086\u00FA" +
-            "\u00A5\u0000\u0000\u00AF\u00AC\u00AB\u00AD\u0000" +
-            "\u008E\u0000\u0084\u0000\u0000\u0000\u0000\u0080" +
-            "\u0091\u0090\u0092\u0094\u0000\u0000\u00A8\u0095" +
-            "\u0000\u0000\u0000\u0000\u0099\u0000\u0000\u0000" +
-            "\u0000\u009D\u0000\u009E\u009A\u0000\u0000\u00E1" +
-            "\u0085\u0000\u0083\u0000\u0000\u0000\u0000\u0087" +
-            "\u008A\u0082\u0088\u0089\u0000\u0000\u008C\u008B" +
-            "\u0000\u0000\u0000\u00A2\u0093\u0000\u0000\u00F6" +
-            "\u0000\u0097\u00A3\u0096\u0081\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u009F" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00E2\u0000\u0000\u0000\u0000\u00E9\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00E4\u0000\u0000\u00E8\u0000\u0000\u00EA\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u00E0\u0000" +
-            "\u0000\u00EB\u00EE\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u00E3\u0000\u0000" +
-            "\u00E5\u00E7\u0000\u00ED\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u008D\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u00FC\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u00F9\u00FB" +
-            "\u0000\u0000\u0000\u00EC\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u00EF\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u00F7\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u00F0\u0000" +
-            "\u0000\u00F3\u00F2\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u00A9\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u00F4\u00F5\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u00C4\u0000\u00B3" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u00DA\u0000\u0000\u0000\u00BF\u0000\u0000" +
-            "\u0000\u00C0\u0000\u0000\u0000\u00D9\u0000\u0000" +
-            "\u0000\u00C3\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u00B4\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u00C2\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u00C1\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u00C5\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u00CD\u00BA\u00D5" +
-            "\u00D6\u00C9\u00B8\u00B7\u00BB\u00D4\u00D3\u00C8" +
-            "\u00BE\u00BD\u00BC\u00C6\u00C7\u00CC\u00B5\u00B6" +
-            "\u00B9\u00D1\u00D2\u00CB\u00CF\u00D0\u00CA\u00D8" +
-            "\u00D7\u00CE\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u00DF\u0000\u0000" +
-            "\u0000\u00DC\u0000\u0000\u0000\u00DB\u0000\u0000" +
-            "\u0000\u00DD\u0000\u0000\u0000\u00DE\u00B0\u00B1" +
-            "\u00B2\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u00FE\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000";
-
-    private final static short index1[] = {
-            0, 253, 400, 509, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
-            400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
-            742, 400, 973, 1213, 400, 1469, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
-            400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
-            400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
-            400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
-            400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
-            400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
-            400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
-            400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
-            400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
-            400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
-            400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
-            400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
-            400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
-            400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
-
-        };
-    }
-}
--- a/jdk/src/share/classes/sun/nio/cs/ext/IBM864.java	Wed Jul 05 16:44:40 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,342 +0,0 @@
-
-/*
- * Copyright 2003-2004 Sun Microsystems, Inc.  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.  Sun designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
- */
-
-package sun.nio.cs.ext;
-
-
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetDecoder;
-import java.nio.charset.CharsetEncoder;
-import sun.nio.cs.StandardCharsets;
-import sun.nio.cs.SingleByteDecoder;
-import sun.nio.cs.SingleByteEncoder;
-import sun.nio.cs.HistoricallyNamedCharset;
-
-public class IBM864
-    extends Charset
-    implements HistoricallyNamedCharset
-{
-
-    public IBM864() {
-        super("IBM864", ExtendedCharsets.aliasesFor("IBM864"));
-    }
-
-    public String historicalName() {
-        return "Cp864";
-    }
-
-    public boolean contains(Charset cs) {
-        return (cs instanceof IBM864);
-    }
-
-    public CharsetDecoder newDecoder() {
-        return new Decoder(this);
-    }
-
-    public CharsetEncoder newEncoder() {
-        return new Encoder(this);
-    }
-
-
-    /**
-     * These accessors are temporarily supplied while sun.io
-     * converters co-exist with the sun.nio.cs.{ext} charset coders
-     * These facilitate sharing of conversion tables between the
-     * two co-existing implementations. When sun.io converters
-     * are made extinct these will be unncessary and should be removed
-     */
-
-    public String getDecoderSingleByteMappings() {
-        return Decoder.byteToCharTable;
-
-    }
-
-    public short[] getEncoderIndex1() {
-        return Encoder.index1;
-
-    }
-    public String getEncoderIndex2() {
-        return Encoder.index2;
-
-    }
-
-    private static class Decoder extends SingleByteDecoder {
-            public Decoder(Charset cs) {
-                super(cs, byteToCharTable);
-        }
-
-        private final static String byteToCharTable =
-
-            "\u00B0\u00B7\u2219\u221A\u2592\u2500\u2502\u253C" +        // 0x80 - 0x87
-            "\u2524\u252C\u251C\u2534\u2510\u250C\u2514\u2518" +        // 0x88 - 0x8F
-            "\u03B2\u221E\u03C6\u00B1\u00BD\u00BC\u2248\u00AB" +        // 0x90 - 0x97
-            "\u00BB\uFEF7\uFEF8\uFFFD\uFFFD\uFEFB\uFEFC\uFFFD" +        // 0x98 - 0x9F
-            "\u00A0\u00AD\uFE82\u00A3\u00A4\uFE84\uFFFD\uFFFD" +        // 0xA0 - 0xA7
-            "\uFE8E\uFE8F\uFE95\uFE99\u060C\uFE9D\uFEA1\uFEA5" +        // 0xA8 - 0xAF
-            "\u0660\u0661\u0662\u0663\u0664\u0665\u0666\u0667" +        // 0xB0 - 0xB7
-            "\u0668\u0669\uFED1\u061B\uFEB1\uFEB5\uFEB9\u061F" +        // 0xB8 - 0xBF
-            "\u00A2\uFE80\uFE81\uFE83\uFE85\uFECA\uFE8B\uFE8D" +        // 0xC0 - 0xC7
-            "\uFE91\uFE93\uFE97\uFE9B\uFE9F\uFEA3\uFEA7\uFEA9" +        // 0xC8 - 0xCF
-            "\uFEAB\uFEAD\uFEAF\uFEB3\uFEB7\uFEBB\uFEBF\uFEC1" +        // 0xD0 - 0xD7
-            "\uFEC5\uFECB\uFECF\u00A6\u00AC\u00F7\u00D7\uFEC9" +        // 0xD8 - 0xDF
-            "\u0640\uFED3\uFED7\uFEDB\uFEDF\uFEE3\uFEE7\uFEEB" +        // 0xE0 - 0xE7
-            "\uFEED\uFEEF\uFEF3\uFEBD\uFECC\uFECE\uFECD\uFEE1" +        // 0xE8 - 0xEF
-            "\uFE7D\u0651\uFEE5\uFEE9\uFEEC\uFEF0\uFEF2\uFED0" +        // 0xF0 - 0xF7
-            "\uFED5\uFEF5\uFEF6\uFEDD\uFED9\uFEF1\u25A0\uFFFD" +        // 0xF8 - 0xFF
-            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +        // 0x00 - 0x07
-            "\b\t\n\u000B\f\r\u000E\u000F" +    // 0x08 - 0x0F
-            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +        // 0x10 - 0x17
-            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +        // 0x18 - 0x1F
-            "\u0020\u0021\"\u0023\u0024\u066A\u0026\'" +        // 0x20 - 0x27
-            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +        // 0x28 - 0x2F
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +        // 0x30 - 0x37
-            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +        // 0x38 - 0x3F
-            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +        // 0x40 - 0x47
-            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +        // 0x48 - 0x4F
-            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +        // 0x50 - 0x57
-            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +    // 0x58 - 0x5F
-            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +        // 0x60 - 0x67
-            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +        // 0x68 - 0x6F
-            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +        // 0x70 - 0x77
-            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";         // 0x78 - 0x7F
-
-    }
-
-    private static class Encoder extends SingleByteEncoder {
-            public Encoder(Charset cs) {
-                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
-            }
-
-            private final static String index2 =
-
-
-            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
-            "\b\t\n\u000B\f\r\u000E\u000F" +
-            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
-            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
-            "\u0020\u0021\"\u0023\u0024\u0000\u0026\'" +
-            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
-            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
-            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
-            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
-            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
-            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
-            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
-            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
-            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
-            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00A0\u0000\u00C0\u00A3\u00A4\u0000\u00DB\u0000" +
-            "\u0000\u0000\u0000\u0097\u00DC\u00A1\u0000\u0000" +
-            "\u0080\u0093\u0000\u0000\u0000\u0000\u0000\u0081" +
-            "\u0000\u0000\u0000\u0098\u0095\u0094\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00DE" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00DD" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0090\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0092\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u00AC\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u00BB\u0000\u0000" +
-            "\u0000\u00BF\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u00E0\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u00F1\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u00B0\u00B1\u00B2\u00B3\u00B4\u00B5" +
-            "\u00B6\u00B7\u00B8\u00B9\u0025\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0082\u0083\u0000\u0000\u0000\u0091" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0096\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0085\u0000\u0086\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u008D\u0000\u0000" +
-            "\u0000\u008C\u0000\u0000\u0000\u008E\u0000\u0000" +
-            "\u0000\u008F\u0000\u0000\u0000\u008A\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0088\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0089\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u008B\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0087\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0084\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u00FE\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00F0" +
-            "\u0000\u0000\u00C1\u00C2\u00A2\u00C3\u00A5\u00C4" +
-            "\u0000\u0000\u0000\u0000\u0000\u00C6\u0000\u00C7" +
-            "\u00A8\u00A9\u0000\u00C8\u0000\u00C9\u0000\u00AA" +
-            "\u0000\u00CA\u0000\u00AB\u0000\u00CB\u0000\u00AD" +
-            "\u0000\u00CC\u0000\u00AE\u0000\u00CD\u0000\u00AF" +
-            "\u0000\u00CE\u0000\u00CF\u0000\u00D0\u0000\u00D1" +
-            "\u0000\u00D2\u0000\u00BC\u0000\u00D3\u0000\u00BD" +
-            "\u0000\u00D4\u0000\u00BE\u0000\u00D5\u0000\u00EB" +
-            "\u0000\u00D6\u0000\u00D7\u0000\u0000\u0000\u00D8" +
-            "\u0000\u0000\u0000\u00DF\u00C5\u00D9\u00EC\u00EE" +
-            "\u00ED\u00DA\u00F7\u00BA\u0000\u00E1\u0000\u00F8" +
-            "\u0000\u00E2\u0000\u00FC\u0000\u00E3\u0000\u00FB" +
-            "\u0000\u00E4\u0000\u00EF\u0000\u00E5\u0000\u00F2" +
-            "\u0000\u00E6\u0000\u00F3\u0000\u00E7\u00F4\u00E8" +
-            "\u0000\u00E9\u00F5\u00FD\u00F6\u00EA\u0000\u00F9" +
-            "\u00FA\u0099\u009A\u0000\u0000\u009D\u009E\u0000" +
-            "\u0000\u0000";
-
-    private final static short index1[] = {
-            0, 248, 248, 326, 248, 248, 570, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 801, 248, 248, 1057, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 1218, 248,
-
-        };
-    }
-}
--- a/jdk/src/share/classes/sun/nio/cs/ext/IBM865.java	Wed Jul 05 16:44:40 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,369 +0,0 @@
-
-/*
- * Copyright 2003-2004 Sun Microsystems, Inc.  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.  Sun designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
- */
-
-package sun.nio.cs.ext;
-
-
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetDecoder;
-import java.nio.charset.CharsetEncoder;
-import sun.nio.cs.StandardCharsets;
-import sun.nio.cs.SingleByteDecoder;
-import sun.nio.cs.SingleByteEncoder;
-import sun.nio.cs.HistoricallyNamedCharset;
-
-public class IBM865
-    extends Charset
-    implements HistoricallyNamedCharset
-{
-
-    public IBM865() {
-        super("IBM865", ExtendedCharsets.aliasesFor("IBM865"));
-    }
-
-    public String historicalName() {
-        return "Cp865";
-    }
-
-    public boolean contains(Charset cs) {
-        return (cs instanceof IBM865);
-    }
-
-    public CharsetDecoder newDecoder() {
-        return new Decoder(this);
-    }
-
-    public CharsetEncoder newEncoder() {
-        return new Encoder(this);
-    }
-
-
-    /**
-     * These accessors are temporarily supplied while sun.io
-     * converters co-exist with the sun.nio.cs.{ext} charset coders
-     * These facilitate sharing of conversion tables between the
-     * two co-existing implementations. When sun.io converters
-     * are made extinct these will be unncessary and should be removed
-     */
-
-    public String getDecoderSingleByteMappings() {
-        return Decoder.byteToCharTable;
-
-    }
-
-    public short[] getEncoderIndex1() {
-        return Encoder.index1;
-
-    }
-    public String getEncoderIndex2() {
-        return Encoder.index2;
-
-    }
-
-    private static class Decoder extends SingleByteDecoder {
-            public Decoder(Charset cs) {
-                super(cs, byteToCharTable);
-        }
-
-        private final static String byteToCharTable =
-
-            "\u00C7\u00FC\u00E9\u00E2\u00E4\u00E0\u00E5\u00E7" +     // 0x80 - 0x87
-            "\u00EA\u00EB\u00E8\u00EF\u00EE\u00EC\u00C4\u00C5" +     // 0x88 - 0x8F
-            "\u00C9\u00E6\u00C6\u00F4\u00F6\u00F2\u00FB\u00F9" +     // 0x90 - 0x97
-            "\u00FF\u00D6\u00DC\u00F8\u00A3\u00D8\u20A7\u0192" +     // 0x98 - 0x9F
-            "\u00E1\u00ED\u00F3\u00FA\u00F1\u00D1\u00AA\u00BA" +     // 0xA0 - 0xA7
-            "\u00BF\u2310\u00AC\u00BD\u00BC\u00A1\u00AB\u00A4" +     // 0xA8 - 0xAF
-            "\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556" +     // 0xB0 - 0xB7
-            "\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510" +     // 0xB8 - 0xBF
-            "\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F" +     // 0xC0 - 0xC7
-            "\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567" +     // 0xC8 - 0xCF
-            "\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B" +     // 0xD0 - 0xD7
-            "\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580" +     // 0xD8 - 0xDF
-            "\u03B1\u00DF\u0393\u03C0\u03A3\u03C3\u00B5\u03C4" +     // 0xE0 - 0xE7
-            "\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229" +     // 0xE8 - 0xEF
-            "\u2261\u00B1\u2265\u2264\u2320\u2321\u00F7\u2248" +     // 0xF0 - 0xF7
-            "\u00B0\u2219\u00B7\u221A\u207F\u00B2\u25A0\u00A0" +     // 0xF8 - 0xFF
-            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +     // 0x00 - 0x07
-            "\b\t\n\u000B\f\r\u000E\u000F" +     // 0x08 - 0x0F
-            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +     // 0x10 - 0x17
-            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +     // 0x18 - 0x1F
-            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +     // 0x20 - 0x27
-            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +     // 0x28 - 0x2F
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +     // 0x30 - 0x37
-            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +     // 0x38 - 0x3F
-            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +     // 0x40 - 0x47
-            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +     // 0x48 - 0x4F
-            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +     // 0x50 - 0x57
-            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +     // 0x58 - 0x5F
-            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +     // 0x60 - 0x67
-            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +     // 0x68 - 0x6F
-            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +     // 0x70 - 0x77
-            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";     // 0x78 - 0x7F
-
-    }
-
-    private static class Encoder extends SingleByteEncoder {
-            public Encoder(Charset cs) {
-                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
-            }
-
-            private final static String index2 =
-
-
-            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
-            "\b\t\n\u000B\f\r\u000E\u000F" +
-            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
-            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
-            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
-            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
-            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
-            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
-            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
-            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
-            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
-            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
-            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
-            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
-            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00FF\u00AD\u0000\u009C\u00AF\u0000\u0000\u0000" +
-            "\u0000\u0000\u00A6\u00AE\u00AA\u0000\u0000\u0000" +
-            "\u00F8\u00F1\u00FD\u0000\u0000\u00E6\u0000\u00FA" +
-            "\u0000\u0000\u00A7\u0000\u00AC\u00AB\u0000\u00A8" +
-            "\u0000\u0000\u0000\u0000\u008E\u008F\u0092\u0080" +
-            "\u0000\u0090\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u00A5\u0000\u0000\u0000\u0000\u0099\u0000" +
-            "\u009D\u0000\u0000\u0000\u009A\u0000\u0000\u00E1" +
-            "\u0085\u00A0\u0083\u0000\u0084\u0086\u0091\u0087" +
-            "\u008A\u0082\u0088\u0089\u008D\u00A1\u008C\u008B" +
-            "\u0000\u00A4\u0095\u00A2\u0093\u0000\u0094\u00F6" +
-            "\u009B\u0097\u00A3\u0096\u0081\u0000\u0000\u0098" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u009F\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u00E2\u0000\u0000\u0000\u0000" +
-            "\u00E9\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u00E4\u0000\u0000\u00E8\u0000" +
-            "\u0000\u00EA\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u00E0\u0000\u0000\u00EB\u00EE\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00E3\u0000\u0000\u00E5\u00E7\u0000\u00ED\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u00FC\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u009E\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00F9" +
-            "\u00FB\u0000\u0000\u0000\u00EC\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00EF" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u00F7\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00F0" +
-            "\u0000\u0000\u00F3\u00F2\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u00A9\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u00F4\u00F5" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u00C4\u0000" +
-            "\u00B3\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u00DA\u0000\u0000\u0000\u00BF\u0000" +
-            "\u0000\u0000\u00C0\u0000\u0000\u0000\u00D9\u0000" +
-            "\u0000\u0000\u00C3\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u00B4\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u00C2\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u00C1\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u00C5\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u00CD\u00BA" +
-            "\u00D5\u00D6\u00C9\u00B8\u00B7\u00BB\u00D4\u00D3" +
-            "\u00C8\u00BE\u00BD\u00BC\u00C6\u00C7\u00CC\u00B5" +
-            "\u00B6\u00B9\u00D1\u00D2\u00CB\u00CF\u00D0\u00CA" +
-            "\u00D8\u00D7\u00CE\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u00DF\u0000" +
-            "\u0000\u0000\u00DC\u0000\u0000\u0000\u00DB\u0000" +
-            "\u0000\u0000\u00DD\u0000\u0000\u0000\u00DE\u00B0" +
-            "\u00B1\u00B2\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u00FE\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000";
-
-    private final static short index1[] = {
-            0, 256, 403, 512, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            711, 403, 942, 1182, 403, 1438, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-
-        };
-    }
-}
--- a/jdk/src/share/classes/sun/nio/cs/ext/IBM868.java	Wed Jul 05 16:44:40 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,359 +0,0 @@
-
-/*
- * Copyright 2003-2004 Sun Microsystems, Inc.  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.  Sun designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
- */
-
-package sun.nio.cs.ext;
-
-
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetDecoder;
-import java.nio.charset.CharsetEncoder;
-import sun.nio.cs.StandardCharsets;
-import sun.nio.cs.SingleByteDecoder;
-import sun.nio.cs.SingleByteEncoder;
-import sun.nio.cs.HistoricallyNamedCharset;
-
-public class IBM868
-    extends Charset
-    implements HistoricallyNamedCharset
-{
-
-    public IBM868() {
-        super("IBM868", ExtendedCharsets.aliasesFor("IBM868"));
-    }
-
-    public String historicalName() {
-        return "Cp868";
-    }
-
-    public boolean contains(Charset cs) {
-        return (cs instanceof IBM868);
-    }
-
-    public CharsetDecoder newDecoder() {
-        return new Decoder(this);
-    }
-
-    public CharsetEncoder newEncoder() {
-        return new Encoder(this);
-    }
-
-
-    /**
-     * These accessors are temporarily supplied while sun.io
-     * converters co-exist with the sun.nio.cs.{ext} charset coders
-     * These facilitate sharing of conversion tables between the
-     * two co-existing implementations. When sun.io converters
-     * are made extinct these will be unncessary and should be removed
-     */
-
-    public String getDecoderSingleByteMappings() {
-        return Decoder.byteToCharTable;
-
-    }
-
-    public short[] getEncoderIndex1() {
-        return Encoder.index1;
-
-    }
-    public String getEncoderIndex2() {
-        return Encoder.index2;
-
-    }
-
-    private static class Decoder extends SingleByteDecoder {
-            public Decoder(Charset cs) {
-                super(cs, byteToCharTable);
-        }
-
-        private final static String byteToCharTable =
-
-            "\u06F0\u06F1\u06F2\u06F3\u06F4\u06F5\u06F6\u06F7" +        // 0x80 - 0x87
-            "\u06F8\u06F9\u060C\u061B\u061F\uFE81\uFE8D\uFE8E" +        // 0x88 - 0x8F
-            "\uF8FB\uFE8F\uFE91\uFB56\uFB58\uFE93\uFE95\uFE97" +        // 0x90 - 0x97
-            "\uFB66\uFB68\uFE99\uFE9B\uFE9D\uFE9F\uFB7A\uFB7C" +        // 0x98 - 0x9F
-            "\uFEA1\uFEA3\uFEA5\uFEA7\uFEA9\uFB88\uFEAB\uFEAD" +        // 0xA0 - 0xA7
-            "\uFB8C\uFEAF\uFB8A\uFEB1\uFEB3\uFEB5\u00AB\u00BB" +        // 0xA8 - 0xAF
-            "\u2591\u2592\u2593\u2502\u2524\uFEB7\uFEB9\uFEBB" +        // 0xB0 - 0xB7
-            "\uFEBD\u2563\u2551\u2557\u255D\uFEBF\uFEC3\u2510" +        // 0xB8 - 0xBF
-            "\u2514\u2534\u252C\u251C\u2500\u253C\uFEC7\uFEC9" +        // 0xC0 - 0xC7
-            "\u255A\u2554\u2569\u2566\u2560\u2550\u256C\uFECA" +        // 0xC8 - 0xCF
-            "\uFECB\uFECC\uFECD\uFECE\uFECF\uFED0\uFED1\uFED3" +        // 0xD0 - 0xD7
-            "\uFED5\u2518\u250C\u2588\u2584\uFED7\uFB8E\u2580" +        // 0xD8 - 0xDF
-            "\uFEDB\uFB92\uFB94\uFEDD\uFEDF\uFEE0\uFEE1\uFEE3" +        // 0xE0 - 0xE7
-            "\uFB9E\uFEE5\uFEE7\uFE85\uFEED\uFBA6\uFBA8\uFBA9" +        // 0xE8 - 0xEF
-            "\u00AD\uFBAA\uFE80\uFE89\uFE8A\uFE8B\uFBFC\uFBFD" +        // 0xF0 - 0xF7
-            "\uFBFE\uFBB0\uFBAE\uFE7C\uFE7D\uFFFD\u25A0\u00A0" +        // 0xF8 - 0xFF
-            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +        // 0x00 - 0x07
-            "\b\t\n\u000B\f\r\u000E\u000F" +    // 0x08 - 0x0F
-            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +        // 0x10 - 0x17
-            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +        // 0x18 - 0x1F
-            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +        // 0x20 - 0x27
-            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +        // 0x28 - 0x2F
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +        // 0x30 - 0x37
-            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +        // 0x38 - 0x3F
-            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +        // 0x40 - 0x47
-            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +        // 0x48 - 0x4F
-            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +        // 0x50 - 0x57
-            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +    // 0x58 - 0x5F
-            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +        // 0x60 - 0x67
-            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +        // 0x68 - 0x6F
-            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +        // 0x70 - 0x77
-            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";         // 0x78 - 0x7F
-
-    }
-
-    private static class Encoder extends SingleByteEncoder {
-            public Encoder(Charset cs) {
-                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
-            }
-
-            private final static String index2 =
-
-
-            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
-            "\b\t\n\u000B\f\r\u000E\u000F" +
-            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
-            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
-            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
-            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
-            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
-            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
-            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
-            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
-            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
-            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
-            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
-            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
-            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00FF\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u00AE\u0000\u00F0\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u00AF\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u008A\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u008B\u0000\u0000\u0000\u008C" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0080\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +
-            "\u0088\u0089\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00C4\u0000\u00B3\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u00DA\u0000\u0000\u0000" +
-            "\u00BF\u0000\u0000\u0000\u00C0\u0000\u0000\u0000" +
-            "\u00D9\u0000\u0000\u0000\u00C3\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u00B4\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u00C2\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u00C1\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u00C5\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00CD\u00BA\u0000\u0000\u00C9\u0000\u0000\u00BB" +
-            "\u0000\u0000\u00C8\u0000\u0000\u00BC\u0000\u0000" +
-            "\u00CC\u0000\u0000\u00B9\u0000\u0000\u00CB\u0000" +
-            "\u0000\u00CA\u0000\u0000\u00CE\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00DF\u0000\u0000\u0000\u00DC\u0000\u0000\u0000" +
-            "\u00DB\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u00B0\u00B1\u00B2\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00FE\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0090\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0093\u0000\u0094\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0098\u0000\u0099\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u009E" +
-            "\u0000\u009F\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u00A5\u0000\u00AA" +
-            "\u0000\u00A8\u0000\u00DE\u0000\u0000\u0000\u00E1" +
-            "\u0000\u00E2\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u00E8\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u00ED\u0000\u00EE\u00EF\u00F1" +
-            "\u0000\u0000\u0000\u00FA\u0000\u00F9\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u00F6\u00F7\u00F8\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00FB\u00FC\u0000\u0000\u00F2\u008D\u0000\u0000" +
-            "\u0000\u00EB\u0000\u0000\u0000\u00F3\u00F4\u00F5" +
-            "\u0000\u008E\u008F\u0091\u0000\u0092\u0000\u0095" +
-            "\u0000\u0096\u0000\u0097\u0000\u009A\u0000\u009B" +
-            "\u0000\u009C\u0000\u009D\u0000\u00A0\u0000\u00A1" +
-            "\u0000\u00A2\u0000\u00A3\u0000\u00A4\u0000\u00A6" +
-            "\u0000\u00A7\u0000\u00A9\u0000\u00AB\u0000\u00AC" +
-            "\u0000\u00AD\u0000\u00B5\u0000\u00B6\u0000\u00B7" +
-            "\u0000\u00B8\u0000\u00BD\u0000\u0000\u0000\u00BE" +
-            "\u0000\u0000\u0000\u00C6\u0000\u00C7\u00CF\u00D0" +
-            "\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6\u0000\u00D7" +
-            "\u0000\u00D8\u0000\u00DD\u0000\u0000\u0000\u00E0" +
-            "\u0000\u00E3\u0000\u00E4\u00E5\u00E6\u0000\u00E7" +
-            "\u0000\u00E9\u0000\u00EA\u0000\u0000\u0000\u0000" +
-            "\u0000\u00EC\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000";
-
-    private final static short index1[] = {
-            0, 188, 188, 188, 188, 188, 432, 188, 188, 188, 188, 188, 188, 188, 188, 188,
-            188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
-            188, 188, 188, 188, 188, 688, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
-            188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
-            188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
-            188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
-            188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
-            188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
-            188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
-            188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
-            188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
-            188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
-            188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
-            188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
-            188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
-            188, 188, 188, 188, 188, 188, 188, 188, 849, 188, 188, 1101, 188, 188, 1356, 188,
-
-        };
-    }
-}
--- a/jdk/src/share/classes/sun/nio/cs/ext/IBM869.java	Wed Jul 05 16:44:40 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,290 +0,0 @@
-
-/*
- * Copyright 2003-2004 Sun Microsystems, Inc.  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.  Sun designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
- */
-
-package sun.nio.cs.ext;
-
-
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetDecoder;
-import java.nio.charset.CharsetEncoder;
-import sun.nio.cs.StandardCharsets;
-import sun.nio.cs.SingleByteDecoder;
-import sun.nio.cs.SingleByteEncoder;
-import sun.nio.cs.HistoricallyNamedCharset;
-
-public class IBM869
-    extends Charset
-    implements HistoricallyNamedCharset
-{
-
-    public IBM869() {
-        super("IBM869", ExtendedCharsets.aliasesFor("IBM869"));
-    }
-
-    public String historicalName() {
-        return "Cp869";
-    }
-
-    public boolean contains(Charset cs) {
-        return (cs instanceof IBM869);
-    }
-
-    public CharsetDecoder newDecoder() {
-        return new Decoder(this);
-    }
-
-    public CharsetEncoder newEncoder() {
-        return new Encoder(this);
-    }
-
-
-    /**
-     * These accessors are temporarily supplied while sun.io
-     * converters co-exist with the sun.nio.cs.{ext} charset coders
-     * These facilitate sharing of conversion tables between the
-     * two co-existing implementations. When sun.io converters
-     * are made extinct these will be unncessary and should be removed
-     */
-
-    public String getDecoderSingleByteMappings() {
-        return Decoder.byteToCharTable;
-
-    }
-
-    public short[] getEncoderIndex1() {
-        return Encoder.index1;
-
-    }
-    public String getEncoderIndex2() {
-        return Encoder.index2;
-
-    }
-
-    private static class Decoder extends SingleByteDecoder {
-            public Decoder(Charset cs) {
-                super(cs, byteToCharTable);
-        }
-
-        private final static String byteToCharTable =
-
-            "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u0386\uFFFD" +     // 0x80 - 0x87
-            "\u00B7\u00AC\u00A6\u2018\u2019\u0388\u2015\u0389" +     // 0x88 - 0x8F
-            "\u038A\u03AA\u038C\uFFFD\uFFFD\u038E\u03AB\u00A9" +     // 0x90 - 0x97
-            "\u038F\u00B2\u00B3\u03AC\u00A3\u03AD\u03AE\u03AF" +     // 0x98 - 0x9F
-            "\u03CA\u0390\u03CC\u03CD\u0391\u0392\u0393\u0394" +     // 0xA0 - 0xA7
-            "\u0395\u0396\u0397\u00BD\u0398\u0399\u00AB\u00BB" +     // 0xA8 - 0xAF
-            "\u2591\u2592\u2593\u2502\u2524\u039A\u039B\u039C" +     // 0xB0 - 0xB7
-            "\u039D\u2563\u2551\u2557\u255D\u039E\u039F\u2510" +     // 0xB8 - 0xBF
-            "\u2514\u2534\u252C\u251C\u2500\u253C\u03A0\u03A1" +     // 0xC0 - 0xC7
-            "\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u03A3" +     // 0xC8 - 0xCF
-            "\u03A4\u03A5\u03A6\u03A7\u03A8\u03A9\u03B1\u03B2" +     // 0xD0 - 0xD7
-            "\u03B3\u2518\u250C\u2588\u2584\u03B4\u03B5\u2580" +     // 0xD8 - 0xDF
-            "\u03B6\u03B7\u03B8\u03B9\u03BA\u03BB\u03BC\u03BD" +     // 0xE0 - 0xE7
-            "\u03BE\u03BF\u03C0\u03C1\u03C3\u03C2\u03C4\u0384" +     // 0xE8 - 0xEF
-            "\u00AD\u00B1\u03C5\u03C6\u03C7\u00A7\u03C8\u0385" +     // 0xF0 - 0xF7
-            "\u00B0\u00A8\u03C9\u03CB\u03B0\u03CE\u25A0\u00A0" +     // 0xF8 - 0xFF
-            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +     // 0x00 - 0x07
-            "\b\t\n\u000B\f\r\u000E\u000F" +     // 0x08 - 0x0F
-            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +     // 0x10 - 0x17
-            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +     // 0x18 - 0x1F
-            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +     // 0x20 - 0x27
-            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +     // 0x28 - 0x2F
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +     // 0x30 - 0x37
-            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +     // 0x38 - 0x3F
-            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +     // 0x40 - 0x47
-            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +     // 0x48 - 0x4F
-            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +     // 0x50 - 0x57
-            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +     // 0x58 - 0x5F
-            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +     // 0x60 - 0x67
-            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +     // 0x68 - 0x6F
-            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +     // 0x70 - 0x77
-            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";     // 0x78 - 0x7F
-
-    }
-
-    private static class Encoder extends SingleByteEncoder {
-            public Encoder(Charset cs) {
-                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
-            }
-
-            private final static String index2 =
-
-
-            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
-            "\b\t\n\u000B\f\r\u000E\u000F" +
-            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
-            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
-            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
-            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
-            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
-            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
-            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
-            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
-            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
-            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
-            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
-            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
-            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00FF\u0000\u0000\u009C\u0000\u0000\u008A\u00F5" +
-            "\u00F9\u0097\u0000\u00AE\u0089\u00F0\u0000\u0000" +
-            "\u00F8\u00F1\u0099\u009A\u0000\u0000\u0000\u0088" +
-            "\u0000\u0000\u0000\u00AF\u0000\u00AB\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u00EF\u00F7" +
-            "\u0086\u0000\u008D\u008F\u0090\u0000\u0092\u0000" +
-            "\u0095\u0098\u00A1\u00A4\u00A5\u00A6\u00A7\u00A8" +
-            "\u00A9\u00AA\u00AC\u00AD\u00B5\u00B6\u00B7\u00B8" +
-            "\u00BD\u00BE\u00C6\u00C7\u0000\u00CF\u00D0\u00D1" +
-            "\u00D2\u00D3\u00D4\u00D5\u0091\u0096\u009B\u009D" +
-            "\u009E\u009F\u00FC\u00D6\u00D7\u00D8\u00DD\u00DE" +
-            "\u00E0\u00E1\u00E2\u00E3\u00E4\u00E5\u00E6\u00E7" +
-            "\u00E8\u00E9\u00EA\u00EB\u00ED\u00EC\u00EE\u00F2" +
-            "\u00F3\u00F4\u00F6\u00FA\u00A0\u00FB\u00A2\u00A3" +
-            "\u00FD\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u008E\u0000\u0000\u008B\u008C\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u00C4\u0000\u00B3" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u00DA\u0000\u0000\u0000\u00BF\u0000\u0000" +
-            "\u0000\u00C0\u0000\u0000\u0000\u00D9\u0000\u0000" +
-            "\u0000\u00C3\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u00B4\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u00C2\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u00C1\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u00C5\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u00CD\u00BA\u0000" +
-            "\u0000\u00C9\u0000\u0000\u00BB\u0000\u0000\u00C8" +
-            "\u0000\u0000\u00BC\u0000\u0000\u00CC\u0000\u0000" +
-            "\u00B9\u0000\u0000\u00CB\u0000\u0000\u00CA\u0000" +
-            "\u0000\u00CE\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u00DF\u0000\u0000" +
-            "\u0000\u00DC\u0000\u0000\u0000\u00DB\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u00B0\u00B1" +
-            "\u00B2\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u00FE\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000";
-
-    private final static short index1[] = {
-            0, 190, 190, 314, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
-            190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
-            549, 190, 190, 190, 190, 805, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
-            190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
-            190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
-            190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
-            190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
-            190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
-            190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
-            190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
-            190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
-            190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
-            190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
-            190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
-            190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
-            190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
-
-        };
-    }
-}
--- a/jdk/src/share/classes/sun/nio/cs/ext/IBM870.java	Wed Jul 05 16:44:40 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,244 +0,0 @@
-
-/*
- * Copyright 2003-2004 Sun Microsystems, Inc.  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.  Sun designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
- */
-
-package sun.nio.cs.ext;
-
-
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetDecoder;
-import java.nio.charset.CharsetEncoder;
-import sun.nio.cs.StandardCharsets;
-import sun.nio.cs.SingleByteDecoder;
-import sun.nio.cs.SingleByteEncoder;
-import sun.nio.cs.HistoricallyNamedCharset;
-
-public class IBM870
-    extends Charset
-    implements HistoricallyNamedCharset
-{
-
-    public IBM870() {
-        super("IBM870", ExtendedCharsets.aliasesFor("IBM870"));
-    }
-
-    public String historicalName() {
-        return "Cp870";
-    }
-
-    public boolean contains(Charset cs) {
-        return (cs instanceof IBM870);
-    }
-
-    public CharsetDecoder newDecoder() {
-        return new Decoder(this);
-    }
-
-    public CharsetEncoder newEncoder() {
-        return new Encoder(this);
-    }
-
-
-    /**
-     * These accessors are temporarily supplied while sun.io
-     * converters co-exist with the sun.nio.cs.{ext} charset coders
-     * These facilitate sharing of conversion tables between the
-     * two co-existing implementations. When sun.io converters
-     * are made extinct these will be unncessary and should be removed
-     */
-
-    public String getDecoderSingleByteMappings() {
-        return Decoder.byteToCharTable;
-
-    }
-
-    public short[] getEncoderIndex1() {
-        return Encoder.index1;
-
-    }
-    public String getEncoderIndex2() {
-        return Encoder.index2;
-
-    }
-
-    private static class Decoder extends SingleByteDecoder {
-            public Decoder(Charset cs) {
-                super(cs, byteToCharTable);
-        }
-
-        private final static String byteToCharTable =
-
-            "\u02D8\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +        // 0x80 - 0x87
-            "\u0068\u0069\u015B\u0148\u0111\u00FD\u0159\u015F" +        // 0x88 - 0x8F
-            "\u00B0\u006A\u006B\u006C\u006D\u006E\u006F\u0070" +        // 0x90 - 0x97
-            "\u0071\u0072\u0142\u0144\u0161\u00B8\u02DB\u00A4" +        // 0x98 - 0x9F
-            "\u0105\u007E\u0073\u0074\u0075\u0076\u0077\u0078" +        // 0xA0 - 0xA7
-            "\u0079\u007A\u015A\u0147\u0110\u00DD\u0158\u015E" +        // 0xA8 - 0xAF
-            "\u02D9\u0104\u017C\u0162\u017B\u00A7\u017E\u017A" +        // 0xB0 - 0xB7
-            "\u017D\u0179\u0141\u0143\u0160\u00A8\u00B4\u00D7" +        // 0xB8 - 0xBF
-            "\u007B\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +        // 0xC0 - 0xC7
-            "\u0048\u0049\u00AD\u00F4\u00F6\u0155\u00F3\u0151" +        // 0xC8 - 0xCF
-            "\u007D\u004A\u004B\u004C\u004D\u004E\u004F\u0050" +        // 0xD0 - 0xD7
-            "\u0051\u0052\u011A\u0171\u00FC\u0165\u00FA\u011B" +        // 0xD8 - 0xDF
-            "\\\u00F7\u0053\u0054\u0055\u0056\u0057\u0058" +    // 0xE0 - 0xE7
-            "\u0059\u005A\u010F\u00D4\u00D6\u0154\u00D3\u0150" +        // 0xE8 - 0xEF
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +        // 0xF0 - 0xF7
-            "\u0038\u0039\u010E\u0170\u00DC\u0164\u00DA\u009F" +        // 0xF8 - 0xFF
-            "\u0000\u0001\u0002\u0003\u009C\t\u0086\u007F" +    // 0x00 - 0x07
-            "\u0097\u008D\u008E\u000B\f\r\u000E\u000F" +        // 0x08 - 0x0F
-            "\u0010\u0011\u0012\u0013\u009D\n\b\u0087" +        // 0x10 - 0x17
-            "\u0018\u0019\u0092\u008F\u001C\u001D\u001E\u001F" +        // 0x18 - 0x1F
-            "\u0080\u0081\u0082\u0083\u0084\n\u0017\u001B" +    // 0x20 - 0x27
-            "\u0088\u0089\u008A\u008B\u008C\u0005\u0006\u0007" +        // 0x28 - 0x2F
-            "\u0090\u0091\u0016\u0093\u0094\u0095\u0096\u0004" +        // 0x30 - 0x37
-            "\u0098\u0099\u009A\u009B\u0014\u0015\u009E\u001A" +        // 0x38 - 0x3F
-            "\u0020\u00A0\u00E2\u00E4\u0163\u00E1\u0103\u010D" +        // 0x40 - 0x47
-            "\u00E7\u0107\u005B\u002E\u003C\u0028\u002B\u0021" +        // 0x48 - 0x4F
-            "\u0026\u00E9\u0119\u00EB\u016F\u00ED\u00EE\u013E" +        // 0x50 - 0x57
-            "\u013A\u00DF\u005D\u0024\u002A\u0029\u003B\u005E" +        // 0x58 - 0x5F
-            "\u002D\u002F\u00C2\u00C4\u02DD\u00C1\u0102\u010C" +        // 0x60 - 0x67
-            "\u00C7\u0106\u007C\u002C\u0025\u005F\u003E\u003F" +        // 0x68 - 0x6F
-            "\u02C7\u00C9\u0118\u00CB\u016E\u00CD\u00CE\u013D" +        // 0x70 - 0x77
-            "\u0139\u0060\u003A\u0023\u0040\'\u003D\"";         // 0x78 - 0x7F
-
-    }
-
-    private static class Encoder extends SingleByteEncoder {
-            public Encoder(Charset cs) {
-                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
-            }
-
-            private final static String index2 =
-
-
-            "\u0000\u0001\u0002\u0003\u0037\u002D\u002E\u002F" +
-            "\u0016\u0005\u0015\u000B\f\r\u000E\u000F" +
-            "\u0010\u0011\u0012\u0013\u003C\u003D\u0032\u0026" +
-            "\u0018\u0019\u003F\'\u001C\u001D\u001E\u001F" +
-            "\u0040\u004F\u007F\u007B\u005B\u006C\u0050\u007D" +
-            "\u004D\u005D\\\u004E\u006B\u0060\u004B\u0061" +
-            "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" +
-            "\u00F8\u00F9\u007A\u005E\u004C\u007E\u006E\u006F" +
-            "\u007C\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" +
-            "\u00C8\u00C9\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6" +
-            "\u00D7\u00D8\u00D9\u00E2\u00E3\u00E4\u00E5\u00E6" +
-            "\u00E7\u00E8\u00E9\u004A\u00E0\u005A\u005F\u006D" +
-            "\u0079\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +
-            "\u0088\u0089\u0091\u0092\u0093\u0094\u0095\u0096" +
-            "\u0097\u0098\u0099\u00A2\u00A3\u00A4\u00A5\u00A6" +
-            "\u00A7\u00A8\u00A9\u00C0\u006A\u00D0\u00A1\u0007" +
-            "\u0020\u0021\"\u0023\u0024\u0015\u0006\u0017" +
-            "\u0028\u0029\u002A\u002B\u002C\t\n\u001B" +
-            "\u0030\u0031\u001A\u0033\u0034\u0035\u0036\b" +
-            "\u0038\u0039\u003A\u003B\u0004\u0014\u003E\u00FF" +
-            "\u0041\u0000\u0000\u0000\u009F\u0000\u0000\u00B5" +
-            "\u00BD\u0000\u0000\u0000\u0000\u00CA\u0000\u0000" +
-            "\u0090\u0000\u0000\u0000\u00BE\u0000\u0000\u0000" +
-            "\u009D\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0065\u0062\u0000\u0063\u0000\u0000\u0068" +
-            "\u0000\u0071\u0000\u0073\u0000\u0075\u0076\u0000" +
-            "\u0000\u0000\u0000\u00EE\u00EB\u0000\u00EC\u00BF" +
-            "\u0000\u0000\u00FE\u0000\u00FC\u00AD\u0000\u0059" +
-            "\u0000\u0045\u0042\u0000\u0043\u0000\u0000\u0048" +
-            "\u0000\u0051\u0000\u0053\u0000\u0055\u0056\u0000" +
-            "\u0000\u0000\u0000\u00CE\u00CB\u0000\u00CC\u00E1" +
-            "\u0000\u0000\u00DE\u0000\u00DC\u008D\u0000\u0000" +
-            "\u0066\u0046\u00B1\u00A0\u0069\u0049\u0000\u0000" +
-            "\u0000\u0000\u0067\u0047\u00FA\u00EA\u00AC\u008C" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0072\u0052" +
-            "\u00DA\u00DF\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0078" +
-            "\u0058\u0000\u0000\u0077\u0057\u0000\u0000\u00BA" +
-            "\u009A\u00BB\u009B\u0000\u0000\u00AB\u008B\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u00EF\u00CF" +
-            "\u0000\u0000\u00ED\u00CD\u0000\u0000\u00AE\u008E" +
-            "\u00AA\u008A\u0000\u0000\u00AF\u008F\u00BC\u009C" +
-            "\u00B3\u0044\u00FD\u00DD\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0074\u0054\u00FB\u00DB" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00B9" +
-            "\u00B7\u00B4\u00B2\u00B8\u00B6\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0070\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0080\u00B0" +
-            "\u0000\u009E\u0000\u0064\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000";
-
-    private final static short index1[] = {
-            0, 254, 438, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
-            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
-            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
-            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
-            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
-            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
-            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
-            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
-            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
-            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
-            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
-            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
-            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
-            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
-            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
-            381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381, 381,
-
-        };
-    }
-}
--- a/jdk/src/share/classes/sun/nio/cs/ext/IBM871.java	Wed Jul 05 16:44:40 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,221 +0,0 @@
-
-/*
- * Copyright 2003-2004 Sun Microsystems, Inc.  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.  Sun designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
- */
-
-package sun.nio.cs.ext;
-
-
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetDecoder;
-import java.nio.charset.CharsetEncoder;
-import sun.nio.cs.StandardCharsets;
-import sun.nio.cs.SingleByteDecoder;
-import sun.nio.cs.SingleByteEncoder;
-import sun.nio.cs.HistoricallyNamedCharset;
-
-public class IBM871
-    extends Charset
-    implements HistoricallyNamedCharset
-{
-
-    public IBM871() {
-        super("IBM871", ExtendedCharsets.aliasesFor("IBM871"));
-    }
-
-    public String historicalName() {
-        return "Cp871";
-    }
-
-    public boolean contains(Charset cs) {
-        return (cs instanceof IBM871);
-    }
-
-    public CharsetDecoder newDecoder() {
-        return new Decoder(this);
-    }
-
-    public CharsetEncoder newEncoder() {
-        return new Encoder(this);
-    }
-
-
-    /**
-     * These accessors are temporarily supplied while sun.io
-     * converters co-exist with the sun.nio.cs.{ext} charset coders
-     * These facilitate sharing of conversion tables between the
-     * two co-existing implementations. When sun.io converters
-     * are made extinct these will be unncessary and should be removed
-     */
-
-    public String getDecoderSingleByteMappings() {
-        return Decoder.byteToCharTable;
-
-    }
-
-    public short[] getEncoderIndex1() {
-        return Encoder.index1;
-
-    }
-    public String getEncoderIndex2() {
-        return Encoder.index2;
-
-    }
-
-    protected static class Decoder extends SingleByteDecoder {
-            public Decoder(Charset cs) {
-                super(cs, byteToCharTable);
-        }
-
-        private final static String byteToCharTable =
-
-            "\u00D8\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +        // 0x80 - 0x87
-            "\u0068\u0069\u00AB\u00BB\u0060\u00FD\u007B\u00B1" +        // 0x88 - 0x8F
-            "\u00B0\u006A\u006B\u006C\u006D\u006E\u006F\u0070" +        // 0x90 - 0x97
-            "\u0071\u0072\u00AA\u00BA\u007D\u00B8\u005D\u00A4" +        // 0x98 - 0x9F
-            "\u00B5\u00F6\u0073\u0074\u0075\u0076\u0077\u0078" +        // 0xA0 - 0xA7
-            "\u0079\u007A\u00A1\u00BF\u0040\u00DD\u005B\u00AE" +        // 0xA8 - 0xAF
-            "\u00A2\u00A3\u00A5\u00B7\u00A9\u00A7\u00B6\u00BC" +        // 0xB0 - 0xB7
-            "\u00BD\u00BE\u00AC\u007C\u00AF\u00A8\\\u00D7" +    // 0xB8 - 0xBF
-            "\u00FE\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +        // 0xC0 - 0xC7
-            "\u0048\u0049\u00AD\u00F4\u007E\u00F2\u00F3\u00F5" +        // 0xC8 - 0xCF
-            "\u00E6\u004A\u004B\u004C\u004D\u004E\u004F\u0050" +        // 0xD0 - 0xD7
-            "\u0051\u0052\u00B9\u00FB\u00FC\u00F9\u00FA\u00FF" +        // 0xD8 - 0xDF
-            "\u00B4\u00F7\u0053\u0054\u0055\u0056\u0057\u0058" +        // 0xE0 - 0xE7
-            "\u0059\u005A\u00B2\u00D4\u005E\u00D2\u00D3\u00D5" +        // 0xE8 - 0xEF
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +        // 0xF0 - 0xF7
-            "\u0038\u0039\u00B3\u00DB\u00DC\u00D9\u00DA\u009F" +        // 0xF8 - 0xFF
-            "\u0000\u0001\u0002\u0003\u009C\t\u0086\u007F" +    // 0x00 - 0x07
-            "\u0097\u008D\u008E\u000B\f\r\u000E\u000F" +        // 0x08 - 0x0F
-            "\u0010\u0011\u0012\u0013\u009D\n\b\u0087" +        // 0x10 - 0x17
-            "\u0018\u0019\u0092\u008F\u001C\u001D\u001E\u001F" +        // 0x18 - 0x1F
-            "\u0080\u0081\u0082\u0083\u0084\n\u0017\u001B" +    // 0x20 - 0x27
-            "\u0088\u0089\u008A\u008B\u008C\u0005\u0006\u0007" +        // 0x28 - 0x2F
-            "\u0090\u0091\u0016\u0093\u0094\u0095\u0096\u0004" +        // 0x30 - 0x37
-            "\u0098\u0099\u009A\u009B\u0014\u0015\u009E\u001A" +        // 0x38 - 0x3F
-            "\u0020\u00A0\u00E2\u00E4\u00E0\u00E1\u00E3\u00E5" +        // 0x40 - 0x47
-            "\u00E7\u00F1\u00DE\u002E\u003C\u0028\u002B\u0021" +        // 0x48 - 0x4F
-            "\u0026\u00E9\u00EA\u00EB\u00E8\u00ED\u00EE\u00EF" +        // 0x50 - 0x57
-            "\u00EC\u00DF\u00C6\u0024\u002A\u0029\u003B\u00D6" +        // 0x58 - 0x5F
-            "\u002D\u002F\u00C2\u00C4\u00C0\u00C1\u00C3\u00C5" +        // 0x60 - 0x67
-            "\u00C7\u00D1\u00A6\u002C\u0025\u005F\u003E\u003F" +        // 0x68 - 0x6F
-            "\u00F8\u00C9\u00CA\u00CB\u00C8\u00CD\u00CE\u00CF" +        // 0x70 - 0x77
-            "\u00CC\u00F0\u003A\u0023\u00D0\'\u003D\"";         // 0x78 - 0x7F
-
-    }
-
-    private static class Encoder extends SingleByteEncoder {
-            public Encoder(Charset cs) {
-                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
-            }
-
-            private final static String index2 =
-
-
-            "\u0000\u0001\u0002\u0003\u0037\u002D\u002E\u002F" +
-            "\u0016\u0005\u0015\u000B\f\r\u000E\u000F" +
-            "\u0010\u0011\u0012\u0013\u003C\u003D\u0032\u0026" +
-            "\u0018\u0019\u003F\'\u001C\u001D\u001E\u001F" +
-            "\u0040\u004F\u007F\u007B\u005B\u006C\u0050\u007D" +
-            "\u004D\u005D\\\u004E\u006B\u0060\u004B\u0061" +
-            "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" +
-            "\u00F8\u00F9\u007A\u005E\u004C\u007E\u006E\u006F" +
-            "\u00AC\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" +
-            "\u00C8\u00C9\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6" +
-            "\u00D7\u00D8\u00D9\u00E2\u00E3\u00E4\u00E5\u00E6" +
-            "\u00E7\u00E8\u00E9\u00AE\u00BE\u009E\u00EC\u006D" +
-            "\u008C\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +
-            "\u0088\u0089\u0091\u0092\u0093\u0094\u0095\u0096" +
-            "\u0097\u0098\u0099\u00A2\u00A3\u00A4\u00A5\u00A6" +
-            "\u00A7\u00A8\u00A9\u008E\u00BB\u009C\u00CC\u0007" +
-            "\u0020\u0021\"\u0023\u0024\u0015\u0006\u0017" +
-            "\u0028\u0029\u002A\u002B\u002C\t\n\u001B" +
-            "\u0030\u0031\u001A\u0033\u0034\u0035\u0036\b" +
-            "\u0038\u0039\u003A\u003B\u0004\u0014\u003E\u00FF" +
-            "\u0041\u00AA\u00B0\u00B1\u009F\u00B2\u006A\u00B5" +
-            "\u00BD\u00B4\u009A\u008A\u00BA\u00CA\u00AF\u00BC" +
-            "\u0090\u008F\u00EA\u00FA\u00E0\u00A0\u00B6\u00B3" +
-            "\u009D\u00DA\u009B\u008B\u00B7\u00B8\u00B9\u00AB" +
-            "\u0064\u0065\u0062\u0066\u0063\u0067\u005A\u0068" +
-            "\u0074\u0071\u0072\u0073\u0078\u0075\u0076\u0077" +
-            "\u007C\u0069\u00ED\u00EE\u00EB\u00EF\u005F\u00BF" +
-            "\u0080\u00FD\u00FE\u00FB\u00FC\u00AD\u004A\u0059" +
-            "\u0044\u0045\u0042\u0046\u0043\u0047\u00D0\u0048" +
-            "\u0054\u0051\u0052\u0053\u0058\u0055\u0056\u0057" +
-            "\u0079\u0049\u00CD\u00CE\u00CB\u00CF\u00A1\u00E1" +
-            "\u0070\u00DD\u00DE\u00DB\u00DC\u008D\u00C0\u00DF" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000";
-
-    private final static short index1[] = {
-            0, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-            256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
-
-        };
-    }
-}
--- a/jdk/src/share/classes/sun/nio/cs/ext/IBM875.java	Wed Jul 05 16:44:40 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,258 +0,0 @@
-
-/*
- * Copyright 2003-2004 Sun Microsystems, Inc.  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.  Sun designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
- */
-
-package sun.nio.cs.ext;
-
-
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetDecoder;
-import java.nio.charset.CharsetEncoder;
-import sun.nio.cs.StandardCharsets;
-import sun.nio.cs.SingleByteDecoder;
-import sun.nio.cs.SingleByteEncoder;
-import sun.nio.cs.HistoricallyNamedCharset;
-
-public class IBM875
-    extends Charset
-    implements HistoricallyNamedCharset
-{
-
-    public IBM875() {
-        super("x-IBM875", ExtendedCharsets.aliasesFor("x-IBM875"));
-    }
-
-    public String historicalName() {
-        return "Cp875";
-    }
-
-    public boolean contains(Charset cs) {
-        return (cs instanceof IBM875);
-    }
-
-    public CharsetDecoder newDecoder() {
-        return new Decoder(this);
-    }
-
-    public CharsetEncoder newEncoder() {
-        return new Encoder(this);
-    }
-
-
-    /**
-     * These accessors are temporarily supplied while sun.io
-     * converters co-exist with the sun.nio.cs.{ext} charset coders
-     * These facilitate sharing of conversion tables between the
-     * two co-existing implementations. When sun.io converters
-     * are made extinct these will be unncessary and should be removed
-     */
-
-    public String getDecoderSingleByteMappings() {
-        return Decoder.byteToCharTable;
-
-    }
-
-    public short[] getEncoderIndex1() {
-        return Encoder.index1;
-
-    }
-    public String getEncoderIndex2() {
-        return Encoder.index2;
-
-    }
-
-    private static class Decoder extends SingleByteDecoder {
-            public Decoder(Charset cs) {
-                super(cs, byteToCharTable);
-        }
-
-        private final static String byteToCharTable =
-
-            "\u0385\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +     // 0x80 - 0x87
-            "\u0068\u0069\u03B1\u03B2\u03B3\u03B4\u03B5\u03B6" +     // 0x88 - 0x8F
-            "\u00B0\u006A\u006B\u006C\u006D\u006E\u006F\u0070" +     // 0x90 - 0x97
-            "\u0071\u0072\u03B7\u03B8\u03B9\u03BA\u03BB\u03BC" +     // 0x98 - 0x9F
-            "\u00B4\u007E\u0073\u0074\u0075\u0076\u0077\u0078" +     // 0xA0 - 0xA7
-            "\u0079\u007A\u03BD\u03BE\u03BF\u03C0\u03C1\u03C3" +     // 0xA8 - 0xAF
-            "\u00A3\u03AC\u03AD\u03AE\u03CA\u03AF\u03CC\u03CD" +     // 0xB0 - 0xB7
-            "\u03CB\u03CE\u03C2\u03C4\u03C5\u03C6\u03C7\u03C8" +     // 0xB8 - 0xBF
-            "\u007B\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +     // 0xC0 - 0xC7
-            "\u0048\u0049\u00AD\u03C9\u0390\u03B0\u2018\u2015" +     // 0xC8 - 0xCF
-            "\u007D\u004A\u004B\u004C\u004D\u004E\u004F\u0050" +     // 0xD0 - 0xD7
-            "\u0051\u0052\u00B1\u00BD\uFFFD\u0387\u2019\u00A6" +     // 0xD8 - 0xDF
-            "\\\uFFFD\u0053\u0054\u0055\u0056\u0057\u0058" +     // 0xE0 - 0xE7
-            "\u0059\u005A\u00B2\u00A7\uFFFD\uFFFD\u00AB\u00AC" +     // 0xE8 - 0xEF
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +     // 0xF0 - 0xF7
-            "\u0038\u0039\u00B3\u00A9\uFFFD\uFFFD\u00BB\u009F" +     // 0xF8 - 0xFF
-            "\u0000\u0001\u0002\u0003\u009C\t\u0086\u007F" +     // 0x00 - 0x07
-            "\u0097\u008D\u008E\u000B\f\r\u000E\u000F" +     // 0x08 - 0x0F
-            "\u0010\u0011\u0012\u0013\u009D\n\b\u0087" +     // 0x10 - 0x17
-            "\u0018\u0019\u0092\u008F\u001C\u001D\u001E\u001F" +     // 0x18 - 0x1F
-            "\u0080\u0081\u0082\u0083\u0084\n\u0017\u001B" +     // 0x20 - 0x27
-            "\u0088\u0089\u008A\u008B\u008C\u0005\u0006\u0007" +     // 0x28 - 0x2F
-            "\u0090\u0091\u0016\u0093\u0094\u0095\u0096\u0004" +     // 0x30 - 0x37
-            "\u0098\u0099\u009A\u009B\u0014\u0015\u009E\u001A" +     // 0x38 - 0x3F
-            "\u0020\u0391\u0392\u0393\u0394\u0395\u0396\u0397" +     // 0x40 - 0x47
-            "\u0398\u0399\u005B\u002E\u003C\u0028\u002B\u0021" +     // 0x48 - 0x4F
-            "\u0026\u039A\u039B\u039C\u039D\u039E\u039F\u03A0" +     // 0x50 - 0x57
-            "\u03A1\u03A3\u005D\u0024\u002A\u0029\u003B\u005E" +     // 0x58 - 0x5F
-            "\u002D\u002F\u03A4\u03A5\u03A6\u03A7\u03A8\u03A9" +     // 0x60 - 0x67
-            "\u03AA\u03AB\u007C\u002C\u0025\u005F\u003E\u003F" +     // 0x68 - 0x6F
-            "\u00A8\u0386\u0388\u0389\u00A0\u038A\u038C\u038E" +     // 0x70 - 0x77
-            "\u038F\u0060\u003A\u0023\u0040\'\u003D\"";     // 0x78 - 0x7F
-
-    }
-
-    private static class Encoder extends SingleByteEncoder {
-            public Encoder(Charset cs) {
-                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
-            }
-
-            private final static String index2 =
-
-
-            "\u0000\u0001\u0002\u0003\u0037\u002D\u002E\u002F" +
-            "\u0016\u0005\u0015\u000B\f\r\u000E\u000F" +
-            "\u0010\u0011\u0012\u0013\u003C\u003D\u0032\u0026" +
-            "\u0018\u0019\u003F\'\u001C\u001D\u001E\u001F" +
-            "\u0040\u004F\u007F\u007B\u005B\u006C\u0050\u007D" +
-            "\u004D\u005D\\\u004E\u006B\u0060\u004B\u0061" +
-            "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" +
-            "\u00F8\u00F9\u007A\u005E\u004C\u007E\u006E\u006F" +
-            "\u007C\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" +
-            "\u00C8\u00C9\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6" +
-            "\u00D7\u00D8\u00D9\u00E2\u00E3\u00E4\u00E5\u00E6" +
-            "\u00E7\u00E8\u00E9\u004A\u00E0\u005A\u005F\u006D" +
-            "\u0079\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +
-            "\u0088\u0089\u0091\u0092\u0093\u0094\u0095\u0096" +
-            "\u0097\u0098\u0099\u00A2\u00A3\u00A4\u00A5\u00A6" +
-            "\u00A7\u00A8\u00A9\u00C0\u006A\u00D0\u00A1\u0007" +
-            "\u0020\u0021\"\u0023\u0024\u0015\u0006\u0017" +
-            "\u0028\u0029\u002A\u002B\u002C\t\n\u001B" +
-            "\u0030\u0031\u001A\u0033\u0034\u0035\u0036\b" +
-            "\u0038\u0039\u003A\u003B\u0004\u0014\u003E\u00FF" +
-            "\u0074\u0000\u0000\u00B0\u0000\u0000\u00DF\u00EB" +
-            "\u0070\u00FB\u0000\u00EE\u00EF\u00CA\u0000\u0000" +
-            "\u0090\u00DA\u00EA\u00FA\u00A0\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u00FE\u0000\u00DB\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0080\u0071" +
-            "\u00DD\u0072\u0073\u0075\u0000\u0076\u0000\u0077" +
-            "\u0078\u00CC\u0041\u0042\u0043\u0044\u0045\u0046" +
-            "\u0047\u0048\u0049\u0051\u0052\u0053\u0054\u0055" +
-            "\u0056\u0057\u0058\u0000\u0059\u0062\u0063\u0064" +
-            "\u0065\u0066\u0067\u0068\u0069\u00B1\u00B2\u00B3" +
-            "\u00B5\u00CD\u008A\u008B\u008C\u008D\u008E\u008F" +
-            "\u009A\u009B\u009C\u009D\u009E\u009F\u00AA\u00AB" +
-            "\u00AC\u00AD\u00AE\u00BA\u00AF\u00BB\u00BC\u00BD" +
-            "\u00BE\u00BF\u00CB\u00B4\u00B8\u00B6\u00B7\u00B9" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u00CF\u0000\u0000\u00CE\u00DE\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000";
-
-    private final static short index1[] = {
-            0, 190, 190, 313, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
-            190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
-            548, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
-            190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
-            190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
-            190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
-            190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
-            190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
-            190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
-            190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
-            190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
-            190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
-            190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
-            190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
-            190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
-            190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
-
-        };
-    }
-}
--- a/jdk/src/share/classes/sun/nio/cs/ext/IBM918.java	Wed Jul 05 16:44:40 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,336 +0,0 @@
-
-/*
- * Copyright 2003-2004 Sun Microsystems, Inc.  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.  Sun designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
- */
-
-package sun.nio.cs.ext;
-
-
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetDecoder;
-import java.nio.charset.CharsetEncoder;
-import sun.nio.cs.StandardCharsets;
-import sun.nio.cs.SingleByteDecoder;
-import sun.nio.cs.SingleByteEncoder;
-import sun.nio.cs.HistoricallyNamedCharset;
-
-public class IBM918
-    extends Charset
-    implements HistoricallyNamedCharset
-{
-
-    public IBM918() {
-        super("IBM918", ExtendedCharsets.aliasesFor("IBM918"));
-    }
-
-    public String historicalName() {
-        return "Cp918";
-    }
-
-    public boolean contains(Charset cs) {
-        return (cs instanceof IBM918);
-    }
-
-    public CharsetDecoder newDecoder() {
-        return new Decoder(this);
-    }
-
-    public CharsetEncoder newEncoder() {
-        return new Encoder(this);
-    }
-
-
-    /**
-     * These accessors are temporarily supplied while sun.io
-     * converters co-exist with the sun.nio.cs.{ext} charset coders
-     * These facilitate sharing of conversion tables between the
-     * two co-existing implementations. When sun.io converters
-     * are made extinct these will be unncessary and should be removed
-     */
-
-    public String getDecoderSingleByteMappings() {
-        return Decoder.byteToCharTable;
-
-    }
-
-    public short[] getEncoderIndex1() {
-        return Encoder.index1;
-
-    }
-    public String getEncoderIndex2() {
-        return Encoder.index2;
-
-    }
-
-    private static class Decoder extends SingleByteDecoder {
-            public Decoder(Charset cs) {
-                super(cs, byteToCharTable);
-        }
-
-        private final static String byteToCharTable =
-
-            "\uFEA7\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +        // 0x80 - 0x87
-            "\u0068\u0069\uFEA9\uFB88\uFEAB\uFEAD\uFB8C\uFEAF" +        // 0x88 - 0x8F
-            "\uFB8A\u006A\u006B\u006C\u006D\u006E\u006F\u0070" +        // 0x90 - 0x97
-            "\u0071\u0072\uFEB1\uFEB3\uFEB5\uFEB7\uFEB9\uFEBB" +        // 0x98 - 0x9F
-            "\uFEBD\u007E\u0073\u0074\u0075\u0076\u0077\u0078" +        // 0xA0 - 0xA7
-            "\u0079\u007A\uFEBF\uFEC3\uFEC7\uFEC9\uFECA\uFECB" +        // 0xA8 - 0xAF
-            "\uFECC\uFECD\uFECE\uFECF\uFED0\uFED1\uFED3\uFED5" +        // 0xB0 - 0xB7
-            "\uFED7\uFB8E\uFEDB\u007C\uFB92\uFB94\uFEDD\uFEDF" +        // 0xB8 - 0xBF
-            "\u007B\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +        // 0xC0 - 0xC7
-            "\u0048\u0049\u00AD\uFEE0\uFEE1\uFEE3\uFB9E\uFEE5" +        // 0xC8 - 0xCF
-            "\u007D\u004A\u004B\u004C\u004D\u004E\u004F\u0050" +        // 0xD0 - 0xD7
-            "\u0051\u0052\uFEE7\uFE85\uFEED\uFBA6\uFBA8\uFBA9" +        // 0xD8 - 0xDF
-            "\\\uFBAA\u0053\u0054\u0055\u0056\u0057\u0058" +    // 0xE0 - 0xE7
-            "\u0059\u005A\uFE80\uFE89\uFE8A\uFE8B\uFBFC\uFBFD" +        // 0xE8 - 0xEF
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +        // 0xF0 - 0xF7
-            "\u0038\u0039\uFBFE\uFBB0\uFBAE\uFE7C\uFE7D\u009F" +        // 0xF8 - 0xFF
-            "\u0000\u0001\u0002\u0003\u009C\t\u0086\u007F" +    // 0x00 - 0x07
-            "\u0097\u008D\u008E\u000B\f\r\u000E\u000F" +        // 0x08 - 0x0F
-            "\u0010\u0011\u0012\u0013\u009D\n\b\u0087" +        // 0x10 - 0x17
-            "\u0018\u0019\u0092\u008F\u001C\u001D\u001E\u001F" +        // 0x18 - 0x1F
-            "\u0080\u0081\u0082\u0083\u0084\n\u0017\u001B" +    // 0x20 - 0x27
-            "\u0088\u0089\u008A\u008B\u008C\u0005\u0006\u0007" +        // 0x28 - 0x2F
-            "\u0090\u0091\u0016\u0093\u0094\u0095\u0096\u0004" +        // 0x30 - 0x37
-            "\u0098\u0099\u009A\u009B\u0014\u0015\u009E\u001A" +        // 0x38 - 0x3F
-            "\u0020\u00A0\u060C\u061B\u061F\uFE81\uFE8D\uFE8E" +        // 0x40 - 0x47
-            "\uF8FB\uFE8F\u005B\u002E\u003C\u0028\u002B\u0021" +        // 0x48 - 0x4F
-            "\u0026\uFE91\uFB56\uFB58\uFE93\uFE95\uFE97\uFB66" +        // 0x50 - 0x57
-            "\uFB68\uFE99\u005D\u0024\u002A\u0029\u003B\u005E" +        // 0x58 - 0x5F
-            "\u002D\u002F\uFE9B\uFE9D\uFE9F\uFB7A\uFB7C\uFEA1" +        // 0x60 - 0x67
-            "\uFEA3\uFEA5\u0060\u002C\u0025\u005F\u003E\u003F" +        // 0x68 - 0x6F
-            "\u06F0\u06F1\u06F2\u06F3\u06F4\u06F5\u06F6\u06F7" +        // 0x70 - 0x77
-            "\u06F8\u06F9\u003A\u0023\u0040\'\u003D\"";         // 0x78 - 0x7F
-
-    }
-
-    private static class Encoder extends SingleByteEncoder {
-            public Encoder(Charset cs) {
-                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
-            }
-
-            private final static String index2 =
-
-
-            "\u0000\u0001\u0002\u0003\u0037\u002D\u002E\u002F" +
-            "\u0016\u0005\u0015\u000B\f\r\u000E\u000F" +
-            "\u0010\u0011\u0012\u0013\u003C\u003D\u0032\u0026" +
-            "\u0018\u0019\u003F\'\u001C\u001D\u001E\u001F" +
-            "\u0040\u004F\u007F\u007B\u005B\u006C\u0050\u007D" +
-            "\u004D\u005D\\\u004E\u006B\u0060\u004B\u0061" +
-            "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" +
-            "\u00F8\u00F9\u007A\u005E\u004C\u007E\u006E\u006F" +
-            "\u007C\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" +
-            "\u00C8\u00C9\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6" +
-            "\u00D7\u00D8\u00D9\u00E2\u00E3\u00E4\u00E5\u00E6" +
-            "\u00E7\u00E8\u00E9\u004A\u00E0\u005A\u005F\u006D" +
-            "\u006A\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +
-            "\u0088\u0089\u0091\u0092\u0093\u0094\u0095\u0096" +
-            "\u0097\u0098\u0099\u00A2\u00A3\u00A4\u00A5\u00A6" +
-            "\u00A7\u00A8\u00A9\u00C0\u00BB\u00D0\u00A1\u0007" +
-            "\u0020\u0021\"\u0023\u0024\u0015\u0006\u0017" +
-            "\u0028\u0029\u002A\u002B\u002C\t\n\u001B" +
-            "\u0030\u0031\u001A\u0033\u0034\u0035\u0036\b" +
-            "\u0038\u0039\u003A\u003B\u0004\u0014\u003E\u00FF" +
-            "\u0041\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u00CA\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0042\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0043\u0000\u0000" +
-            "\u0000\u0044\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0070\u0071\u0072\u0073\u0074\u0075" +
-            "\u0076\u0077\u0078\u0079\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0048" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0052\u0000" +
-            "\u0053\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0057\u0000" +
-            "\u0058\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0065\u0000\u0066\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u008B\u0000\u0090\u0000\u008E\u0000\u00B9\u0000" +
-            "\u0000\u0000\u00BC\u0000\u00BD\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u00CE\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u00DD\u0000" +
-            "\u00DE\u00DF\u00E1\u0000\u0000\u0000\u00FC\u0000" +
-            "\u00FB\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u00EE\u00EF\u00FA\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u00FD\u00FE\u0000\u0000\u00EA" +
-            "\u0045\u0000\u0000\u0000\u00DB\u0000\u0000\u0000" +
-            "\u00EB\u00EC\u00ED\u0000\u0046\u0047\u0049\u0000" +
-            "\u0051\u0000\u0054\u0000\u0055\u0000\u0056\u0000" +
-            "\u0059\u0000\u0062\u0000\u0063\u0000\u0064\u0000" +
-            "\u0067\u0000\u0068\u0000\u0069\u0000\u0080\u0000" +
-            "\u008A\u0000\u008C\u0000\u008D\u0000\u008F\u0000" +
-            "\u009A\u0000\u009B\u0000\u009C\u0000\u009D\u0000" +
-            "\u009E\u0000\u009F\u0000\u00A0\u0000\u00AA\u0000" +
-            "\u0000\u0000\u00AB\u0000\u0000\u0000\u00AC\u0000" +
-            "\u00AD\u00AE\u00AF\u00B0\u00B1\u00B2\u00B3\u00B4" +
-            "\u00B5\u0000\u00B6\u0000\u00B7\u0000\u00B8\u0000" +
-            "\u0000\u0000\u00BA\u0000\u00BE\u0000\u00BF\u00CB" +
-            "\u00CC\u0000\u00CD\u0000\u00CF\u0000\u00DA\u0000" +
-            "\u0000\u0000\u0000\u0000\u00DC\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000";
-
-    private final static short index1[] = {
-            0, 174, 174, 174, 174, 174, 418, 174, 174, 174, 174, 174, 174, 174, 174, 174,
-            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
-            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
-            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
-            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
-            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
-            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
-            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
-            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
-            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
-            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
-            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
-            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
-            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
-            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
-            174, 174, 174, 174, 174, 174, 174, 174, 668, 174, 174, 920, 174, 174, 1175, 174,
-
-        };
-    }
-}
--- a/jdk/src/share/classes/sun/nio/cs/ext/IBM921.java	Wed Jul 05 16:44:40 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,266 +0,0 @@
-
-/*
- * Copyright 2003-2004 Sun Microsystems, Inc.  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.  Sun designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
- */
-
-package sun.nio.cs.ext;
-
-
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetDecoder;
-import java.nio.charset.CharsetEncoder;
-import sun.nio.cs.StandardCharsets;
-import sun.nio.cs.SingleByteDecoder;
-import sun.nio.cs.SingleByteEncoder;
-import sun.nio.cs.HistoricallyNamedCharset;
-
-public class IBM921
-    extends Charset
-    implements HistoricallyNamedCharset
-{
-
-    public IBM921() {
-        super("x-IBM921", ExtendedCharsets.aliasesFor("x-IBM921"));
-    }
-
-    public String historicalName() {
-        return "Cp921";
-    }
-
-    public boolean contains(Charset cs) {
-        return (cs instanceof IBM921);
-    }
-
-    public CharsetDecoder newDecoder() {
-        return new Decoder(this);
-    }
-
-    public CharsetEncoder newEncoder() {
-        return new Encoder(this);
-    }
-
-
-    /**
-     * These accessors are temporarily supplied while sun.io
-     * converters co-exist with the sun.nio.cs.{ext} charset coders
-     * These facilitate sharing of conversion tables between the
-     * two co-existing implementations. When sun.io converters
-     * are made extinct these will be unncessary and should be removed
-     */
-
-    public String getDecoderSingleByteMappings() {
-        return Decoder.byteToCharTable;
-
-    }
-
-    public short[] getEncoderIndex1() {
-        return Encoder.index1;
-
-    }
-    public String getEncoderIndex2() {
-        return Encoder.index2;
-
-    }
-
-    private static class Decoder extends SingleByteDecoder {
-            public Decoder(Charset cs) {
-                super(cs, byteToCharTable);
-        }
-
-        private final static String byteToCharTable =
-
-            "\u0080\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +        // 0x80 - 0x87
-            "\u0088\u0089\u008A\u008B\u008C\u008D\u008E\u008F" +        // 0x88 - 0x8F
-            "\u0090\u0091\u0092\u0093\u0094\u0095\u0096\u0097" +        // 0x90 - 0x97
-            "\u0098\u0099\u009A\u009B\u009C\u009D\u009E\u009F" +        // 0x98 - 0x9F
-            "\u00A0\u201D\u00A2\u00A3\u00A4\u201E\u00A6\u00A7" +        // 0xA0 - 0xA7
-            "\u00D8\u00A9\u0156\u00AB\u00AC\u00AD\u00AE\u00C6" +        // 0xA8 - 0xAF
-            "\u00B0\u00B1\u00B2\u00B3\u201C\u00B5\u00B6\u00B7" +        // 0xB0 - 0xB7
-            "\u00F8\u00B9\u0157\u00BB\u00BC\u00BD\u00BE\u00E6" +        // 0xB8 - 0xBF
-            "\u0104\u012E\u0100\u0106\u00C4\u00C5\u0118\u0112" +        // 0xC0 - 0xC7
-            "\u010C\u00C9\u0179\u0116\u0122\u0136\u012A\u013B" +        // 0xC8 - 0xCF
-            "\u0160\u0143\u0145\u00D3\u014C\u00D5\u00D6\u00D7" +        // 0xD0 - 0xD7
-            "\u0172\u0141\u015A\u016A\u00DC\u017B\u017D\u00DF" +        // 0xD8 - 0xDF
-            "\u0105\u012F\u0101\u0107\u00E4\u00E5\u0119\u0113" +        // 0xE0 - 0xE7
-            "\u010D\u00E9\u017A\u0117\u0123\u0137\u012B\u013C" +        // 0xE8 - 0xEF
-            "\u0161\u0144\u0146\u00F3\u014D\u00F5\u00F6\u00F7" +        // 0xF0 - 0xF7
-            "\u0173\u0142\u015B\u016B\u00FC\u017C\u017E\u2019" +        // 0xF8 - 0xFF
-            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +        // 0x00 - 0x07
-            "\b\t\n\u000B\f\r\u000E\u000F" +    // 0x08 - 0x0F
-            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +        // 0x10 - 0x17
-            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +        // 0x18 - 0x1F
-            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +        // 0x20 - 0x27
-            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +        // 0x28 - 0x2F
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +        // 0x30 - 0x37
-            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +        // 0x38 - 0x3F
-            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +        // 0x40 - 0x47
-            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +        // 0x48 - 0x4F
-            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +        // 0x50 - 0x57
-            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +    // 0x58 - 0x5F
-            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +        // 0x60 - 0x67
-            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +        // 0x68 - 0x6F
-            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +        // 0x70 - 0x77
-            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";         // 0x78 - 0x7F
-
-    }
-
-    private static class Encoder extends SingleByteEncoder {
-            public Encoder(Charset cs) {
-                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
-            }
-
-            private final static String index2 =
-
-
-            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
-            "\b\t\n\u000B\f\r\u000E\u000F" +
-            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
-            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
-            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
-            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
-            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
-            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
-            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
-            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
-            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
-            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
-            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
-            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
-            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
-            "\u0080\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +
-            "\u0088\u0089\u008A\u008B\u008C\u008D\u008E\u008F" +
-            "\u0090\u0091\u0092\u0093\u0094\u0095\u0096\u0097" +
-            "\u0098\u0099\u009A\u009B\u009C\u009D\u009E\u009F" +
-            "\u00A0\u0000\u00A2\u00A3\u00A4\u0000\u00A6\u00A7" +
-            "\u0000\u00A9\u0000\u00AB\u00AC\u00AD\u00AE\u0000" +
-            "\u00B0\u00B1\u00B2\u00B3\u0000\u00B5\u00B6\u00B7" +
-            "\u0000\u00B9\u0000\u00BB\u00BC\u00BD\u00BE\u0000" +
-            "\u0000\u0000\u0000\u0000\u00C4\u00C5\u00AF\u0000" +
-            "\u0000\u00C9\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u00D3\u0000\u00D5\u00D6\u00D7" +
-            "\u00A8\u0000\u0000\u0000\u00DC\u0000\u0000\u00DF" +
-            "\u0000\u0000\u0000\u0000\u00E4\u00E5\u00BF\u0000" +
-            "\u0000\u00E9\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u00F3\u0000\u00F5\u00F6\u00F7" +
-            "\u00B8\u0000\u0000\u0000\u00FC\u0000\u0000\u0000" +
-            "\u00C2\u00E2\u0000\u0000\u00C0\u00E0\u00C3\u00E3" +
-            "\u0000\u0000\u0000\u0000\u00C8\u00E8\u0000\u0000" +
-            "\u0000\u0000\u00C7\u00E7\u0000\u0000\u00CB\u00EB" +
-            "\u00C6\u00E6\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u00CC\u00EC\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u00CE\u00EE\u0000\u0000\u00C1\u00E1" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u00CD\u00ED" +
-            "\u0000\u0000\u0000\u00CF\u00EF\u0000\u0000\u0000" +
-            "\u0000\u00D9\u00F9\u00D1\u00F1\u00D2\u00F2\u0000" +
-            "\u0000\u0000\u0000\u0000\u00D4\u00F4\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u00AA\u00BA" +
-            "\u0000\u0000\u00DA\u00FA\u0000\u0000\u0000\u0000" +
-            "\u00D0\u00F0\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u00DB\u00FB\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u00D8\u00F8\u0000\u0000\u0000\u0000" +
-            "\u0000\u00CA\u00EA\u00DD\u00FD\u00DE\u00FE\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00FF" +
-            "\u0000\u0000\u00B4\u00A1\u00A5\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000";
-
-    private final static short index1[] = {
-            0, 256, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            614, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-
-        };
-    }
-}
--- a/jdk/src/share/classes/sun/nio/cs/ext/IBM922.java	Wed Jul 05 16:44:40 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,262 +0,0 @@
-
-/*
- * Copyright 2003-2004 Sun Microsystems, Inc.  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.  Sun designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
- */
-
-package sun.nio.cs.ext;
-
-
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetDecoder;
-import java.nio.charset.CharsetEncoder;
-import sun.nio.cs.StandardCharsets;
-import sun.nio.cs.SingleByteDecoder;
-import sun.nio.cs.SingleByteEncoder;
-import sun.nio.cs.HistoricallyNamedCharset;
-
-public class IBM922
-    extends Charset
-    implements HistoricallyNamedCharset
-{
-
-    public IBM922() {
-        super("x-IBM922", ExtendedCharsets.aliasesFor("x-IBM922"));
-    }
-
-    public String historicalName() {
-        return "Cp922";
-    }
-
-    public boolean contains(Charset cs) {
-        return (cs instanceof IBM922);
-    }
-
-    public CharsetDecoder newDecoder() {
-        return new Decoder(this);
-    }
-
-    public CharsetEncoder newEncoder() {
-        return new Encoder(this);
-    }
-
-
-    /**
-     * These accessors are temporarily supplied while sun.io
-     * converters co-exist with the sun.nio.cs.{ext} charset coders
-     * These facilitate sharing of conversion tables between the
-     * two co-existing implementations. When sun.io converters
-     * are made extinct these will be unncessary and should be removed
-     */
-
-    public String getDecoderSingleByteMappings() {
-        return Decoder.byteToCharTable;
-
-    }
-
-    public short[] getEncoderIndex1() {
-        return Encoder.index1;
-
-    }
-    public String getEncoderIndex2() {
-        return Encoder.index2;
-
-    }
-
-    private static class Decoder extends SingleByteDecoder {
-            public Decoder(Charset cs) {
-                super(cs, byteToCharTable);
-        }
-
-        private final static String byteToCharTable =
-
-            "\u0080\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +        // 0x80 - 0x87
-            "\u0088\u0089\u008A\u008B\u008C\u008D\u008E\u008F" +        // 0x88 - 0x8F
-            "\u0090\u0091\u0092\u0093\u0094\u0095\u0096\u0097" +        // 0x90 - 0x97
-            "\u0098\u0099\u009A\u009B\u009C\u009D\u009E\u009F" +        // 0x98 - 0x9F
-            "\u00A0\u00A1\u00A2\u00A3\u00A4\u00A5\u00A6\u00A7" +        // 0xA0 - 0xA7
-            "\u00A8\u00A9\u00AA\u00AB\u00AC\u00AD\u00AE\u203E" +        // 0xA8 - 0xAF
-            "\u00B0\u00B1\u00B2\u00B3\u00B4\u00B5\u00B6\u00B7" +        // 0xB0 - 0xB7
-            "\u00B8\u00B9\u00BA\u00BB\u00BC\u00BD\u00BE\u00BF" +        // 0xB8 - 0xBF
-            "\u00C0\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" +        // 0xC0 - 0xC7
-            "\u00C8\u00C9\u00CA\u00CB\u00CC\u00CD\u00CE\u00CF" +        // 0xC8 - 0xCF
-            "\u0160\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6\u00D7" +        // 0xD0 - 0xD7
-            "\u00D8\u00D9\u00DA\u00DB\u00DC\u00DD\u017D\u00DF" +        // 0xD8 - 0xDF
-            "\u00E0\u00E1\u00E2\u00E3\u00E4\u00E5\u00E6\u00E7" +        // 0xE0 - 0xE7
-            "\u00E8\u00E9\u00EA\u00EB\u00EC\u00ED\u00EE\u00EF" +        // 0xE8 - 0xEF
-            "\u0161\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" +        // 0xF0 - 0xF7
-            "\u00F8\u00F9\u00FA\u00FB\u00FC\u00FD\u017E\u00FF" +        // 0xF8 - 0xFF
-            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +        // 0x00 - 0x07
-            "\b\t\n\u000B\f\r\u000E\u000F" +    // 0x08 - 0x0F
-            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +        // 0x10 - 0x17
-            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +        // 0x18 - 0x1F
-            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +        // 0x20 - 0x27
-            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +        // 0x28 - 0x2F
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +        // 0x30 - 0x37
-            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +        // 0x38 - 0x3F
-            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +        // 0x40 - 0x47
-            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +        // 0x48 - 0x4F
-            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +        // 0x50 - 0x57
-            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +    // 0x58 - 0x5F
-            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +        // 0x60 - 0x67
-            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +        // 0x68 - 0x6F
-            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +        // 0x70 - 0x77
-            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";         // 0x78 - 0x7F
-
-    }
-
-    private static class Encoder extends SingleByteEncoder {
-            public Encoder(Charset cs) {
-                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
-            }
-
-            private final static String index2 =
-
-
-            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
-            "\b\t\n\u000B\f\r\u000E\u000F" +
-            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
-            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
-            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
-            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
-            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
-            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
-            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
-            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
-            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
-            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
-            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
-            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
-            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
-            "\u0080\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +
-            "\u0088\u0089\u008A\u008B\u008C\u008D\u008E\u008F" +
-            "\u0090\u0091\u0092\u0093\u0094\u0095\u0096\u0097" +
-            "\u0098\u0099\u009A\u009B\u009C\u009D\u009E\u009F" +
-            "\u00A0\u00A1\u00A2\u00A3\u00A4\u00A5\u00A6\u00A7" +
-            "\u00A8\u00A9\u00AA\u00AB\u00AC\u00AD\u00AE\u0000" +
-            "\u00B0\u00B1\u00B2\u00B3\u00B4\u00B5\u00B6\u00B7" +
-            "\u00B8\u00B9\u00BA\u00BB\u00BC\u00BD\u00BE\u00BF" +
-            "\u00C0\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" +
-            "\u00C8\u00C9\u00CA\u00CB\u00CC\u00CD\u00CE\u00CF" +
-            "\u0000\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6\u00D7" +
-            "\u00D8\u00D9\u00DA\u00DB\u00DC\u00DD\u0000\u00DF" +
-            "\u00E0\u00E1\u00E2\u00E3\u00E4\u00E5\u00E6\u00E7" +
-            "\u00E8\u00E9\u00EA\u00EB\u00EC\u00ED\u00EE\u00EF" +
-            "\u0000\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" +
-            "\u00F8\u00F9\u00FA\u00FB\u00FC\u00FD\u0000\u00FF" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00D0\u00F0\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u00DE\u00FE\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00AF" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000";
-
-    private final static short index1[] = {
-            0, 256, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            577, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-
-        };
-    }
-}
--- a/jdk/src/share/classes/sun/nio/cs/ext/ISO_8859_11.java	Wed Jul 05 16:44:40 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,215 +0,0 @@
-/*
- * Copyright 2003 Sun Microsystems, Inc.  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.  Sun designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
- */
-
-/*
- *
- * NIO charset Support for Latin/Thai x-ISO-8859-11 charset
- * (Currently not IANA registered)
- */
-
-package sun.nio.cs.ext;
-
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetDecoder;
-import java.nio.charset.CharsetEncoder;
-import sun.nio.cs.SingleByteEncoder;
-import sun.nio.cs.SingleByteDecoder;
-
-public class ISO_8859_11 extends Charset
-{
-
-    public ISO_8859_11() {
-        super("x-iso-8859-11", ExtendedCharsets.aliasesFor("x-iso-8859-11"));
-    }
-
-    public boolean contains(Charset cs) {
-        return ((cs.name().equals("US-ASCII"))
-                || (cs instanceof ISO_8859_11));
-    }
-
-    public CharsetDecoder newDecoder() {
-        return new Decoder(this);
-    }
-
-    public CharsetEncoder newEncoder() {
-        return new Encoder(this);
-    }
-
-    protected static class Decoder extends SingleByteDecoder {
-
-        public Decoder(Charset cs) {
-            super(cs, byteToCharTable);
-        }
-
-        private final static String byteToCharTable =
-
-            "\u0080\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +     // 0x80 - 0x87
-            "\u0088\u0089\u008A\u008B\u008C\u008D\u008E\u008F" +     // 0x88 - 0x8F
-            "\u0090\u0091\u0092\u0093\u0094\u0095\u0096\u0097" +     // 0x90 - 0x97
-            "\u0098\u0099\u009A\u009B\u009C\u009D\u009E\u009F" +     // 0x98 - 0x9F
-            "\u00A0\u0E01\u0E02\u0E03\u0E04\u0E05\u0E06\u0E07" +     // 0xA0 - 0xA7
-            "\u0E08\u0E09\u0E0A\u0E0B\u0E0C\u0E0D\u0E0E\u0E0F" +     // 0xA8 - 0xAF
-            "\u0E10\u0E11\u0E12\u0E13\u0E14\u0E15\u0E16\u0E17" +     // 0xB0 - 0xB7
-            "\u0E18\u0E19\u0E1A\u0E1B\u0E1C\u0E1D\u0E1E\u0E1F" +     // 0xB8 - 0xBF
-            "\u0E20\u0E21\u0E22\u0E23\u0E24\u0E25\u0E26\u0E27" +     // 0xC0 - 0xC7
-            "\u0E28\u0E29\u0E2A\u0E2B\u0E2C\u0E2D\u0E2E\u0E2F" +     // 0xC8 - 0xCF
-            "\u0E30\u0E31\u0E32\u0E33\u0E34\u0E35\u0E36\u0E37" +     // 0xD0 - 0xD7
-            "\u0E38\u0E39\u0E3A\uFFFD\uFFFD\uFFFD\uFFFD\u0E3F" +     // 0xD8 - 0xDF
-            "\u0E40\u0E41\u0E42\u0E43\u0E44\u0E45\u0E46\u0E47" +     // 0xE0 - 0xE7
-            "\u0E48\u0E49\u0E4A\u0E4B\u0E4C\u0E4D\u0E4E\u0E4F" +     // 0xE8 - 0xEF
-            "\u0E50\u0E51\u0E52\u0E53\u0E54\u0E55\u0E56\u0E57" +     // 0xF0 - 0xF7
-            "\u0E58\u0E59\u0E5A\u0E5B\uFFFD\uFFFD\uFFFD\uFFFD" +     // 0xF8 - 0xFF
-            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +     // 0x00 - 0x07
-            "\b\t\n\u000B\f\r\u000E\u000F" +     // 0x08 - 0x0F
-            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +     // 0x10 - 0x17
-            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +     // 0x18 - 0x1F
-            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +     // 0x20 - 0x27
-            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +     // 0x28 - 0x2F
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +     // 0x30 - 0x37
-            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +     // 0x38 - 0x3F
-            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +     // 0x40 - 0x47
-            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +     // 0x48 - 0x4F
-            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +     // 0x50 - 0x57
-            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +     // 0x58 - 0x5F
-            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +     // 0x60 - 0x67
-            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +     // 0x68 - 0x6F
-            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +     // 0x70 - 0x77
-            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";     // 0x78 - 0x7F
-
-    }
-
-    protected static class Encoder extends SingleByteEncoder {
-
-        public Encoder(Charset cs) {
-            super(cs, index1, index2, 0xFF00, 0x00FF, 8);
-        }
-
-        private final static String index2 =
-
-            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
-            "\b\t\n\u000B\f\r\u000E\u000F" +
-            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
-            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
-            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
-            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
-            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
-            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
-            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
-            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
-            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
-            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
-            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
-            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
-            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
-            "\u0080\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +
-            "\u0088\u0089\u008A\u008B\u008C\u008D\u008E\u008F" +
-            "\u0090\u0091\u0092\u0093\u0094\u0095\u0096\u0097" +
-            "\u0098\u0099\u009A\u009B\u009C\u009D\u009E\u009F" +
-            "\u00A0\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u00A1\u00A2\u00A3\u00A4\u00A5\u00A6\u00A7" +
-            "\u00A8\u00A9\u00AA\u00AB\u00AC\u00AD\u00AE\u00AF" +
-            "\u00B0\u00B1\u00B2\u00B3\u00B4\u00B5\u00B6\u00B7" +
-            "\u00B8\u00B9\u00BA\u00BB\u00BC\u00BD\u00BE\u00BF" +
-            "\u00C0\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" +
-            "\u00C8\u00C9\u00CA\u00CB\u00CC\u00CD\u00CE\u00CF" +
-            "\u00D0\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6\u00D7" +
-            "\u00D8\u00D9\u00DA\u0000\u0000\u0000\u0000\u00DF" +
-            "\u00E0\u00E1\u00E2\u00E3\u00E4\u00E5\u00E6\u00E7" +
-            "\u00E8\u00E9\u00EA\u00EB\u00EC\u00ED\u00EE\u00EF" +
-            "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" +
-            "\u00F8\u00F9\u00FA\u00FB\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000";
-
-        private final static short index1[] = {
-            0, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 416, 161,
-            161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
-            161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
-            161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
-            161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
-            161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
-            161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
-            161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
-            161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
-            161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
-            161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
-            161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
-            161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
-            161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
-            161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
-            161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
-        };
-    }
-}
--- a/jdk/src/share/classes/sun/nio/cs/ext/ISO_8859_3.java	Wed Jul 05 16:44:40 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,243 +0,0 @@
-
-/*
- * Copyright 2002-2004 Sun Microsystems, Inc.  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.  Sun designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
- */
-
-package sun.nio.cs.ext;
-
-import java.nio.ByteBuffer;
-import java.nio.CharBuffer;
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetDecoder;
-import java.nio.charset.CharsetEncoder;
-import java.nio.charset.CharacterCodingException;
-import java.nio.charset.MalformedInputException;
-import java.nio.charset.UnmappableCharacterException;
-import sun.nio.cs.StandardCharsets;
-import sun.nio.cs.SingleByteDecoder;
-import sun.nio.cs.SingleByteEncoder;
-import sun.nio.cs.HistoricallyNamedCharset;
-
-public class ISO_8859_3
-    extends Charset
-    implements HistoricallyNamedCharset
-{
-
-    public ISO_8859_3() {
-        super("ISO-8859-3", ExtendedCharsets.aliasesFor("ISO-8859-3"));
-    }
-
-    public String historicalName() {
-        return "ISO8859_3";
-    }
-
-    public boolean contains(Charset cs) {
-        return ((cs.name().equals("US-ASCII"))
-                || (cs instanceof ISO_8859_3));
-    }
-
-    public CharsetDecoder newDecoder() {
-        return new Decoder(this);
-    }
-
-    public CharsetEncoder newEncoder() {
-        return new Encoder(this);
-    }
-
-
-    /**
-     * These accessors are temporarily supplied while sun.io
-     * converters co-exist with the sun.nio.cs.{ext} charset coders
-     * These facilitate sharing of conversion tables between the
-     * two co-existing implementations. When sun.io converters
-     * are made extinct these will be unncessary and should be removed
-     */
-
-    public String getDecoderSingleByteMappings() {
-        return Decoder.byteToCharTable;
-    }
-
-    public short[] getEncoderIndex1() {
-        return Encoder.index1;
-
-    }
-    public String getEncoderIndex2() {
-        return Encoder.index2;
-
-    }
-
-    private static class Decoder extends SingleByteDecoder {
-        public Decoder(Charset cs) {
-            super(cs, byteToCharTable);
-        }
-
-        private final static String byteToCharTable =
-
-            "\u0080\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +     // 0x80 - 0x87
-            "\u0088\u0089\u008A\u008B\u008C\u008D\u008E\u008F" +     // 0x88 - 0x8F
-            "\u0090\u0091\u0092\u0093\u0094\u0095\u0096\u0097" +     // 0x90 - 0x97
-            "\u0098\u0099\u009A\u009B\u009C\u009D\u009E\u009F" +     // 0x98 - 0x9F
-            "\u00A0\u0126\u02D8\u00A3\u00A4\uFFFD\u0124\u00A7" +     // 0xA0 - 0xA7
-            "\u00A8\u0130\u015E\u011E\u0134\u00AD\uFFFD\u017B" +     // 0xA8 - 0xAF
-            "\u00B0\u0127\u00B2\u00B3\u00B4\u00B5\u0125\u00B7" +     // 0xB0 - 0xB7
-            "\u00B8\u0131\u015F\u011F\u0135\u00BD\uFFFD\u017C" +     // 0xB8 - 0xBF
-            "\u00C0\u00C1\u00C2\uFFFD\u00C4\u010A\u0108\u00C7" +     // 0xC0 - 0xC7
-            "\u00C8\u00C9\u00CA\u00CB\u00CC\u00CD\u00CE\u00CF" +     // 0xC8 - 0xCF
-            "\uFFFD\u00D1\u00D2\u00D3\u00D4\u0120\u00D6\u00D7" +     // 0xD0 - 0xD7
-            "\u011C\u00D9\u00DA\u00DB\u00DC\u016C\u015C\u00DF" +     // 0xD8 - 0xDF
-            "\u00E0\u00E1\u00E2\uFFFD\u00E4\u010B\u0109\u00E7" +     // 0xE0 - 0xE7
-            "\u00E8\u00E9\u00EA\u00EB\u00EC\u00ED\u00EE\u00EF" +     // 0xE8 - 0xEF
-            "\uFFFD\u00F1\u00F2\u00F3\u00F4\u0121\u00F6\u00F7" +     // 0xF0 - 0xF7
-            "\u011D\u00F9\u00FA\u00FB\u00FC\u016D\u015D\u02D9" +     // 0xF8 - 0xFF
-            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +     // 0x00 - 0x07
-            "\b\t\n\u000B\f\r\u000E\u000F" +     // 0x08 - 0x0F
-            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +     // 0x10 - 0x17
-            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +     // 0x18 - 0x1F
-            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +     // 0x20 - 0x27
-            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +     // 0x28 - 0x2F
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +     // 0x30 - 0x37
-            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +     // 0x38 - 0x3F
-            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +     // 0x40 - 0x47
-            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +     // 0x48 - 0x4F
-            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +     // 0x50 - 0x57
-            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +     // 0x58 - 0x5F
-            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +     // 0x60 - 0x67
-            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +     // 0x68 - 0x6F
-            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +     // 0x70 - 0x77
-            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";     // 0x78 - 0x7F
-    }
-
-    private static class Encoder extends SingleByteEncoder {
-            public Encoder(Charset cs) {
-            super(cs, index1, index2, 0xFF00, 0x00FF, 8);
-        }
-
-        private final static String index2 =
-
-            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
-            "\b\t\n\u000B\f\r\u000E\u000F" +
-            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
-            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
-            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
-            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
-            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
-            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
-            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
-            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
-            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
-            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
-            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
-            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
-            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
-            "\u0080\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +
-            "\u0088\u0089\u008A\u008B\u008C\u008D\u008E\u008F" +
-            "\u0090\u0091\u0092\u0093\u0094\u0095\u0096\u0097" +
-            "\u0098\u0099\u009A\u009B\u009C\u009D\u009E\u009F" +
-            "\u00A0\u0000\u0000\u00A3\u00A4\u0000\u0000\u00A7" +
-            "\u00A8\u0000\u0000\u0000\u0000\u00AD\u0000\u0000" +
-            "\u00B0\u0000\u00B2\u00B3\u00B4\u00B5\u0000\u00B7" +
-            "\u00B8\u0000\u0000\u0000\u0000\u00BD\u0000\u0000" +
-            "\u00C0\u00C1\u00C2\u0000\u00C4\u0000\u0000\u00C7" +
-            "\u00C8\u00C9\u00CA\u00CB\u00CC\u00CD\u00CE\u00CF" +
-            "\u0000\u00D1\u00D2\u00D3\u00D4\u0000\u00D6\u00D7" +
-            "\u0000\u00D9\u00DA\u00DB\u00DC\u0000\u0000\u00DF" +
-            "\u00E0\u00E1\u00E2\u0000\u00E4\u0000\u0000\u00E7" +
-            "\u00E8\u00E9\u00EA\u00EB\u00EC\u00ED\u00EE\u00EF" +
-            "\u0000\u00F1\u00F2\u00F3\u00F4\u0000\u00F6\u00F7" +
-            "\u0000\u00F9\u00FA\u00FB\u00FC\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u00C6\u00E6\u00C5" +
-            "\u00E5\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u00D8\u00F8\u00AB\u00BB\u00D5\u00F5\u0000" +
-            "\u0000\u00A6\u00B6\u00A1\u00B1\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u00A9\u00B9\u0000" +
-            "\u0000\u00AC\u00BC\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u00DE\u00FE\u00AA\u00BA\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u00DD\u00FD\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00AF\u00BF\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u00A2\u00FF\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000";
-
-        private final static short index1[] = {
-            0, 253, 418, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378,
-            378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378,
-            378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378,
-            378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378,
-            378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378,
-            378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378,
-            378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378,
-            378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378,
-            378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378,
-            378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378,
-            378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378,
-            378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378,
-            378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378,
-            378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378,
-            378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378,
-            378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378, 378,
-        };
-    }
-}
--- a/jdk/src/share/classes/sun/nio/cs/ext/ISO_8859_6.java	Wed Jul 05 16:44:40 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,246 +0,0 @@
-
-/*
- * Copyright 2002-2004 Sun Microsystems, Inc.  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.  Sun designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
- */
-
-package sun.nio.cs.ext;
-
-import java.nio.ByteBuffer;
-import java.nio.CharBuffer;
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetDecoder;
-import java.nio.charset.CharsetEncoder;
-import java.nio.charset.CharacterCodingException;
-import java.nio.charset.MalformedInputException;
-import java.nio.charset.UnmappableCharacterException;
-import sun.nio.cs.StandardCharsets;
-import sun.nio.cs.SingleByteDecoder;
-import sun.nio.cs.SingleByteEncoder;
-import sun.nio.cs.HistoricallyNamedCharset;
-
-public class ISO_8859_6
-    extends Charset
-    implements HistoricallyNamedCharset
-{
-
-    public ISO_8859_6() {
-        super("ISO-8859-6", ExtendedCharsets.aliasesFor("ISO-8859-6"));
-    }
-
-    public String historicalName() {
-        return "ISO8859_6";
-    }
-
-    public boolean contains(Charset cs) {
-        return ((cs.name().equals("US-ASCII"))
-                || (cs instanceof ISO_8859_6));
-    }
-
-    public CharsetDecoder newDecoder() {
-        return new Decoder(this);
-    }
-
-    public CharsetEncoder newEncoder() {
-        return new Encoder(this);
-    }
-
-
-
-    /**
-     * These accessors are temporarily supplied while sun.io
-     * converters co-exist with the sun.nio.cs.{ext} charset coders
-     * These facilitate sharing of conversion tables between the
-     * two co-existing implementations. When sun.io converters
-     * are made extinct these will be unncessary and should be removed
-     */
-
-    public String getDecoderSingleByteMappings() {
-        return Decoder.byteToCharTable;
-
-    }
-
-    public short[] getEncoderIndex1() {
-        return Encoder.index1;
-
-    }
-    public String getEncoderIndex2() {
-        return Encoder.index2;
-
-    }
-
-    private static class Decoder extends SingleByteDecoder {
-        public Decoder(Charset cs) {
-            super(cs, byteToCharTable);
-        }
-
-        private final static String byteToCharTable =
-
-            "\u0080\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +     // 0x80 - 0x87
-            "\u0088\u0089\u008A\u008B\u008C\u008D\u008E\u008F" +     // 0x88 - 0x8F
-            "\u0090\u0091\u0092\u0093\u0094\u0095\u0096\u0097" +     // 0x90 - 0x97
-            "\u0098\u0099\u009A\u009B\u009C\u009D\u009E\u009F" +     // 0x98 - 0x9F
-            "\u00A0\uFFFD\uFFFD\uFFFD\u00A4\uFFFD\uFFFD\uFFFD" +     // 0xA0 - 0xA7
-            "\uFFFD\uFFFD\uFFFD\uFFFD\u060C\u00AD\uFFFD\uFFFD" +     // 0xA8 - 0xAF
-            "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" +     // 0xB0 - 0xB7
-            "\uFFFD\uFFFD\uFFFD\u061B\uFFFD\uFFFD\uFFFD\u061F" +     // 0xB8 - 0xBF
-            "\uFFFD\u0621\u0622\u0623\u0624\u0625\u0626\u0627" +     // 0xC0 - 0xC7
-            "\u0628\u0629\u062A\u062B\u062C\u062D\u062E\u062F" +     // 0xC8 - 0xCF
-            "\u0630\u0631\u0632\u0633\u0634\u0635\u0636\u0637" +     // 0xD0 - 0xD7
-            "\u0638\u0639\u063A\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" +     // 0xD8 - 0xDF
-            "\u0640\u0641\u0642\u0643\u0644\u0645\u0646\u0647" +     // 0xE0 - 0xE7
-            "\u0648\u0649\u064A\u064B\u064C\u064D\u064E\u064F" +     // 0xE8 - 0xEF
-            "\u0650\u0651\u0652\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" +     // 0xF0 - 0xF7
-            "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" +     // 0xF8 - 0xFF
-            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +     // 0x00 - 0x07
-            "\b\t\n\u000B\f\r\u000E\u000F" +     // 0x08 - 0x0F
-            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +     // 0x10 - 0x17
-            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +     // 0x18 - 0x1F
-            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +     // 0x20 - 0x27
-            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +     // 0x28 - 0x2F
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +     // 0x30 - 0x37
-            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +     // 0x38 - 0x3F
-            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +     // 0x40 - 0x47
-            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +     // 0x48 - 0x4F
-            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +     // 0x50 - 0x57
-            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +     // 0x58 - 0x5F
-            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +     // 0x60 - 0x67
-            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +     // 0x68 - 0x6F
-            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +     // 0x70 - 0x77
-            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";     // 0x78 - 0x7F
-
-    }
-
-    private static class Encoder extends SingleByteEncoder {
-            public Encoder(Charset cs) {
-            super(cs, index1, index2, 0xFF00, 0x00FF, 8);
-        }
-
-        private final static String index2 =
-
-            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
-            "\b\t\n\u000B\f\r\u000E\u000F" +
-            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
-            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
-            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
-            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
-            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
-            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
-            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
-            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
-            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
-            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
-            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
-            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
-            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
-            "\u0080\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +
-            "\u0088\u0089\u008A\u008B\u008C\u008D\u008E\u008F" +
-            "\u0090\u0091\u0092\u0093\u0094\u0095\u0096\u0097" +
-            "\u0098\u0099\u009A\u009B\u009C\u009D\u009E\u009F" +
-            "\u00A0\u0000\u0000\u0000\u00A4\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u00AD\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u00AC\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u00BB\u0000\u0000" +
-            "\u0000\u00BF\u0000\u00C1\u00C2\u00C3\u00C4\u00C5" +
-            "\u00C6\u00C7\u00C8\u00C9\u00CA\u00CB\u00CC\u00CD" +
-            "\u00CE\u00CF\u00D0\u00D1\u00D2\u00D3\u00D4\u00D5" +
-            "\u00D6\u00D7\u00D8\u00D9\u00DA\u0000\u0000\u0000" +
-            "\u0000\u0000\u00E0\u00E1\u00E2\u00E3\u00E4\u00E5" +
-            "\u00E6\u00E7\u00E8\u00E9\u00EA\u00EB\u00EC\u00ED" +
-            "\u00EE\u00EF\u00F0\u00F1\u00F2\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000";
-
-        private final static short index1[] = {
-            0, 174, 174, 174, 174, 174, 418, 174, 174, 174, 174, 174, 174, 174, 174, 174,
-            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
-            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
-            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
-            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
-            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
-            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
-            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
-            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
-            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
-            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
-            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
-            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
-            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
-            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
-            174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
-        };
-    }
-}
--- a/jdk/src/share/classes/sun/nio/cs/ext/ISO_8859_8.java	Wed Jul 05 16:44:40 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,259 +0,0 @@
-
-/*
- * Copyright 2002-2004 Sun Microsystems, Inc.  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.  Sun designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
- */
-
-package sun.nio.cs.ext;
-
-import java.nio.ByteBuffer;
-import java.nio.CharBuffer;
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetDecoder;
-import java.nio.charset.CharsetEncoder;
-import java.nio.charset.CharacterCodingException;
-import java.nio.charset.MalformedInputException;
-import java.nio.charset.UnmappableCharacterException;
-import sun.nio.cs.StandardCharsets;
-import sun.nio.cs.SingleByteDecoder;
-import sun.nio.cs.SingleByteEncoder;
-import sun.nio.cs.HistoricallyNamedCharset;
-
-
-public class ISO_8859_8
-    extends Charset
-    implements HistoricallyNamedCharset
-{
-
-    public ISO_8859_8() {
-        super("ISO-8859-8", ExtendedCharsets.aliasesFor("ISO-8859-8"));
-    }
-
-    public String historicalName() {
-        return "ISO8859_8";
-    }
-
-    public boolean contains(Charset cs) {
-        return ((cs.name().equals("US-ASCII"))
-                || (cs instanceof ISO_8859_8));
-    }
-
-    public CharsetDecoder newDecoder() {
-        return new Decoder(this);
-    }
-
-    public CharsetEncoder newEncoder() {
-        return new Encoder(this);
-    }
-
-
-    /**
-     * These accessors are temporarily supplied while sun.io
-     * converters co-exist with the sun.nio.cs.{ext} charset coders
-     * These facilitate sharing of conversion tables between the
-     * two co-existing implementations. When sun.io converters
-     * are made extinct these will be unncessary and should be removed
-     */
-
-    public String getDecoderSingleByteMappings() {
-        return Decoder.byteToCharTable;
-
-    }
-
-    public short[] getEncoderIndex1() {
-        return Encoder.index1;
-
-    }
-    public String getEncoderIndex2() {
-        return Encoder.index2;
-
-    }
-
-    private static class Decoder extends SingleByteDecoder {
-        public Decoder(Charset cs) {
-            super(cs, byteToCharTable);
-        }
-
-        private final static String byteToCharTable =
-
-            "\u0080\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +     // 0x80 - 0x87
-            "\u0088\u0089\u008A\u008B\u008C\u008D\u008E\u008F" +     // 0x88 - 0x8F
-            "\u0090\u0091\u0092\u0093\u0094\u0095\u0096\u0097" +     // 0x90 - 0x97
-            "\u0098\u0099\u009A\u009B\u009C\u009D\u009E\u009F" +     // 0x98 - 0x9F
-            "\u00A0\uFFFD\u00A2\u00A3\u00A4\u00A5\u00A6\u00A7" +     // 0xA0 - 0xA7
-            "\u00A8\u00A9\u00D7\u00AB\u00AC\u00AD\u00AE\u00AF" +     // 0xA8 - 0xAF
-            "\u00B0\u00B1\u00B2\u00B3\u00B4\u00B5\u00B6\u00B7" +     // 0xB0 - 0xB7
-            "\u00B8\u00B9\u00F7\u00BB\u00BC\u00BD\u00BE\uFFFD" +     // 0xB8 - 0xBF
-            "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" +     // 0xC0 - 0xC7
-            "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" +     // 0xC8 - 0xCF
-            "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" +     // 0xD0 - 0xD7
-            "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u2017" +     // 0xD8 - 0xDF
-            "\u05D0\u05D1\u05D2\u05D3\u05D4\u05D5\u05D6\u05D7" +     // 0xE0 - 0xE7
-            "\u05D8\u05D9\u05DA\u05DB\u05DC\u05DD\u05DE\u05DF" +     // 0xE8 - 0xEF
-            "\u05E0\u05E1\u05E2\u05E3\u05E4\u05E5\u05E6\u05E7" +     // 0xF0 - 0xF7
-            "\u05E8\u05E9\u05EA\uFFFD\uFFFD\u200E\u200F\uFFFD" +     // 0xF8 - 0xFF
-            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +     // 0x00 - 0x07
-            "\b\t\n\u000B\f\r\u000E\u000F" +     // 0x08 - 0x0F
-            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +     // 0x10 - 0x17
-            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +     // 0x18 - 0x1F
-            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +     // 0x20 - 0x27
-            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +     // 0x28 - 0x2F
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +     // 0x30 - 0x37
-            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +     // 0x38 - 0x3F
-            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +     // 0x40 - 0x47
-            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +     // 0x48 - 0x4F
-            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +     // 0x50 - 0x57
-            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +     // 0x58 - 0x5F
-            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +     // 0x60 - 0x67
-            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +     // 0x68 - 0x6F
-            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +     // 0x70 - 0x77
-            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";     // 0x78 - 0x7F
-    }
-
-    private static class Encoder extends SingleByteEncoder {
-            public Encoder(Charset cs) {
-            super(cs, index1, index2, 0xFF00, 0x00FF, 8);
-        }
-
-        private final static String index2 =
-
-            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
-            "\b\t\n\u000B\f\r\u000E\u000F" +
-            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
-            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
-            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
-            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
-            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
-            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
-            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
-            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
-            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
-            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
-            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
-            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
-            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
-            "\u0080\u0081\u0082\u0083\u0084\u0085\u0086\u0087" +
-            "\u0088\u0089\u008A\u008B\u008C\u008D\u008E\u008F" +
-            "\u0090\u0091\u0092\u0093\u0094\u0095\u0096\u0097" +
-            "\u0098\u0099\u009A\u009B\u009C\u009D\u009E\u009F" +
-            "\u00A0\u0000\u00A2\u00A3\u00A4\u00A5\u00A6\u00A7" +
-            "\u00A8\u00A9\u0000\u00AB\u00AC\u00AD\u00AE\u00AF" +
-            "\u00B0\u00B1\u00B2\u00B3\u00B4\u00B5\u00B6\u00B7" +
-            "\u00B8\u00B9\u0000\u00BB\u00BC\u00BD\u00BE\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00AA" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00BA" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00E0\u00E1\u00E2\u00E3\u00E4\u00E5\u00E6\u00E7" +
-            "\u00E8\u00E9\u00EA\u00EB\u00EC\u00ED\u00EE\u00EF" +
-            "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" +
-            "\u00F8\u00F9\u00FA\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00FD\u00FE\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u00DF\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000";
-        private final static short index1[] = {
-            0, 248, 248, 248, 248, 296, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            538, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-            248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
-        };
-    }
-}
--- a/jdk/src/share/classes/sun/nio/cs/ext/MS1255.java	Wed Jul 05 16:44:40 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,333 +0,0 @@
-
-/*
- * Copyright 2002-2004 Sun Microsystems, Inc.  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.  Sun designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
- */
-
-package sun.nio.cs.ext;
-
-import java.nio.ByteBuffer;
-import java.nio.CharBuffer;
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetDecoder;
-import java.nio.charset.CharsetEncoder;
-import java.nio.charset.CharacterCodingException;
-import java.nio.charset.MalformedInputException;
-import java.nio.charset.UnmappableCharacterException;
-import sun.nio.cs.StandardCharsets;
-import sun.nio.cs.SingleByteDecoder;
-import sun.nio.cs.SingleByteEncoder;
-import sun.nio.cs.HistoricallyNamedCharset;
-
-
-public class MS1255
-    extends Charset
-    implements HistoricallyNamedCharset
-{
-
-    public String historicalName() {
-        return "Cp1255";
-    }
-
-    public MS1255() {
-        super("windows-1255", ExtendedCharsets.aliasesFor("windows-1255"));
-    }
-
-    public boolean contains(Charset cs) {
-        return ((cs.name().equals("US-ASCII"))
-                || (cs instanceof MS1255));
-    }
-
-    public CharsetDecoder newDecoder() {
-        return new Decoder(this);
-    }
-
-    public CharsetEncoder newEncoder() {
-        return new Encoder(this);
-    }
-
-
-    /**
-     * These accessors are temporarily supplied while sun.io
-     * converters co-exist with the sun.nio.cs.{ext} charset coders
-     * These facilitate sharing of conversion tables between the
-     * two co-existing implementations. When sun.io converters
-     * are made extinct these will be unncessary and should be removed
-     */
-
-    public String getDecoderSingleByteMappings() {
-        return MS1255.Decoder.byteToCharTable;
-    }
-
-    public short[] getEncoderIndex1() {
-        return MS1255.Encoder.index1;
-    }
-
-    public String getEncoderIndex2() {
-        return MS1255.Encoder.index2;
-    }
-
-    private static class Decoder extends SingleByteDecoder {
-            public Decoder(Charset cs) {
-                super(cs, byteToCharTable);
-        }
-
-        private final static String byteToCharTable =
-
-            "\u20AC\uFFFD\u201A\u0192\u201E\u2026\u2020\u2021" +     // 0x80 - 0x87
-            "\u02C6\u2030\uFFFD\u2039\uFFFD\uFFFD\uFFFD\uFFFD" +     // 0x88 - 0x8F
-            "\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014" +     // 0x90 - 0x97
-            "\u02DC\u2122\uFFFD\u203A\uFFFD\uFFFD\uFFFD\uFFFD" +     // 0x98 - 0x9F
-            "\u00A0\u00A1\u00A2\u00A3\u20AA\u00A5\u00A6\u00A7" +     // 0xA0 - 0xA7
-            "\u00A8\u00A9\u00D7\u00AB\u00AC\u00AD\u00AE\u00AF" +     // 0xA8 - 0xAF
-            "\u00B0\u00B1\u00B2\u00B3\u00B4\u00B5\u00B6\u00B7" +     // 0xB0 - 0xB7
-            "\u00B8\u00B9\u00F7\u00BB\u00BC\u00BD\u00BE\u00BF" +     // 0xB8 - 0xBF
-            "\u05B0\u05B1\u05B2\u05B3\u05B4\u05B5\u05B6\u05B7" +     // 0xC0 - 0xC7
-            "\u05B8\u05B9\uFFFD\u05BB\u05BC\u05BD\u05BE\u05BF" +     // 0xC8 - 0xCF
-            "\u05C0\u05C1\u05C2\u05C3\u05F0\u05F1\u05F2\u05F3" +     // 0xD0 - 0xD7
-            "\u05F4\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" +     // 0xD8 - 0xDF
-            "\u05D0\u05D1\u05D2\u05D3\u05D4\u05D5\u05D6\u05D7" +     // 0xE0 - 0xE7
-            "\u05D8\u05D9\u05DA\u05DB\u05DC\u05DD\u05DE\u05DF" +     // 0xE8 - 0xEF
-            "\u05E0\u05E1\u05E2\u05E3\u05E4\u05E5\u05E6\u05E7" +     // 0xF0 - 0xF7
-            "\u05E8\u05E9\u05EA\uFFFD\uFFFD\u200E\u200F\uFFFD" +     // 0xF8 - 0xFF
-            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +     // 0x00 - 0x07
-            "\b\t\n\u000B\f\r\u000E\u000F" +     // 0x08 - 0x0F
-            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +     // 0x10 - 0x17
-            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +     // 0x18 - 0x1F
-            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +     // 0x20 - 0x27
-            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +     // 0x28 - 0x2F
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +     // 0x30 - 0x37
-            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +     // 0x38 - 0x3F
-            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +     // 0x40 - 0x47
-            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +     // 0x48 - 0x4F
-            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +     // 0x50 - 0x57
-            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +     // 0x58 - 0x5F
-            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +     // 0x60 - 0x67
-            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +     // 0x68 - 0x6F
-            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +     // 0x70 - 0x77
-            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";     // 0x78 - 0x7F
-    }
-
-    private static class Encoder extends SingleByteEncoder {
-            public Encoder(Charset cs) {
-                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
-        }
-
-        private final static String index2 =
-
-            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
-            "\b\t\n\u000B\f\r\u000E\u000F" +
-            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
-            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
-            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
-            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
-            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
-            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
-            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
-            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
-            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
-            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
-            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
-            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
-            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00A0\u00A1\u00A2\u00A3\u0000\u00A5\u00A6\u00A7" +
-            "\u00A8\u00A9\u0000\u00AB\u00AC\u00AD\u00AE\u00AF" +
-            "\u00B0\u00B1\u00B2\u00B3\u00B4\u00B5\u00B6\u00B7" +
-            "\u00B8\u00B9\u0000\u00BB\u00BC\u00BD\u00BE\u00BF" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00AA" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00BA" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0083\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0088\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0098\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u00C0\u00C1\u00C2\u00C3\u00C4\u00C5" +
-            "\u00C6\u00C7\u00C8\u00C9\u0000\u00CB\u00CC\u00CD" +
-            "\u00CE\u00CF\u00D0\u00D1\u00D2\u00D3\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u00E0\u00E1\u00E2\u00E3\u00E4\u00E5" +
-            "\u00E6\u00E7\u00E8\u00E9\u00EA\u00EB\u00EC\u00ED" +
-            "\u00EE\u00EF\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5" +
-            "\u00F6\u00F7\u00F8\u00F9\u00FA\u0000\u0000\u0000" +
-            "\u0000\u0000\u00D4\u00D5\u00D6\u00D7\u00D8\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u00FD\u00FE\u0000" +
-            "\u0000\u0000\u0096\u0097\u0000\u0000\u0000\u0091" +
-            "\u0092\u0082\u0000\u0093\u0094\u0084\u0000\u0086" +
-            "\u0087\u0095\u0000\u0000\u0000\u0085\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0089" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u008B\u009B\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u00A4\u0000\u0080\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0099" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000";
-
-        private final static short index1[] = {
-            0, 248, 453, 395, 395, 674, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
-            395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
-            919, 1141, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
-            395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
-            395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
-            395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
-            395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
-            395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
-            395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
-            395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
-            395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
-            395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
-            395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
-            395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
-            395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
-            395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
-        };
-    }
-}
--- a/jdk/src/share/classes/sun/nio/cs/ext/MS1256.java	Wed Jul 05 16:44:40 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,334 +0,0 @@
-
-/*
- * Copyright 2002-2004 Sun Microsystems, Inc.  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.  Sun designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
- */
-
-package sun.nio.cs.ext;
-
-import java.nio.ByteBuffer;
-import java.nio.CharBuffer;
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetDecoder;
-import java.nio.charset.CharsetEncoder;
-import java.nio.charset.CharacterCodingException;
-import java.nio.charset.MalformedInputException;
-import java.nio.charset.UnmappableCharacterException;
-import sun.nio.cs.StandardCharsets;
-import sun.nio.cs.SingleByteDecoder;
-import sun.nio.cs.SingleByteEncoder;
-import sun.nio.cs.HistoricallyNamedCharset;
-
-public class MS1256
-    extends Charset
-    implements HistoricallyNamedCharset
-{
-
-    public String historicalName() {
-        return "Cp1256";
-    }
-
-    public MS1256() {
-        super("windows-1256", ExtendedCharsets.aliasesFor("windows-1256"));
-    }
-
-    public boolean contains(Charset cs) {
-        return ((cs.name().equals("US-ASCII"))
-                || (cs instanceof MS1256));
-    }
-
-    public CharsetDecoder newDecoder() {
-        return new Decoder(this);
-    }
-
-    public CharsetEncoder newEncoder() {
-        return new Encoder(this);
-    }
-
-
-    /**
-     * These accessors are temporarily supplied while sun.io
-     * converters co-exist with the sun.nio.cs.{ext} charset coders
-     * These facilitate sharing of conversion tables between the
-     * two co-existing implementations. When sun.io converters
-     * are made extinct these will be unncessary and should be removed
-     */
-
-    public String getDecoderSingleByteMappings() {
-        return MS1256.Decoder.byteToCharTable;
-    }
-
-    public short[] getEncoderIndex1() {
-        return MS1256.Encoder.index1;
-    }
-
-    public String getEncoderIndex2() {
-        return MS1256.Encoder.index2;
-    }
-
-    private static class Decoder extends SingleByteDecoder {
-            public Decoder(Charset cs) {
-                super(cs, byteToCharTable);
-        }
-
-    private final static String byteToCharTable =
-
-        "\u20AC\u067E\u201A\u0192\u201E\u2026\u2020\u2021" +     // 0x80 - 0x87
-        "\u02C6\u2030\u0679\u2039\u0152\u0686\u0698\u0688" +     // 0x88 - 0x8F
-        "\u06AF\u2018\u2019\u201C\u201D\u2022\u2013\u2014" +     // 0x90 - 0x97
-        "\u06A9\u2122\u0691\u203A\u0153\u200C\u200D\u06BA" +     // 0x98 - 0x9F
-        "\u00A0\u060C\u00A2\u00A3\u00A4\u00A5\u00A6\u00A7" +     // 0xA0 - 0xA7
-        "\u00A8\u00A9\u06BE\u00AB\u00AC\u00AD\u00AE\u00AF" +     // 0xA8 - 0xAF
-        "\u00B0\u00B1\u00B2\u00B3\u00B4\u00B5\u00B6\u00B7" +     // 0xB0 - 0xB7
-        "\u00B8\u00B9\u061B\u00BB\u00BC\u00BD\u00BE\u061F" +     // 0xB8 - 0xBF
-        "\u06C1\u0621\u0622\u0623\u0624\u0625\u0626\u0627" +     // 0xC0 - 0xC7
-        "\u0628\u0629\u062A\u062B\u062C\u062D\u062E\u062F" +     // 0xC8 - 0xCF
-        "\u0630\u0631\u0632\u0633\u0634\u0635\u0636\u00D7" +     // 0xD0 - 0xD7
-        "\u0637\u0638\u0639\u063A\u0640\u0641\u0642\u0643" +     // 0xD8 - 0xDF
-        "\u00E0\u0644\u00E2\u0645\u0646\u0647\u0648\u00E7" +     // 0xE0 - 0xE7
-        "\u00E8\u00E9\u00EA\u00EB\u0649\u064A\u00EE\u00EF" +     // 0xE8 - 0xEF
-        "\u064B\u064C\u064D\u064E\u00F4\u064F\u0650\u00F7" +     // 0xF0 - 0xF7
-        "\u0651\u00F9\u0652\u00FB\u00FC\u200E\u200F\u06D2" +     // 0xF8 - 0xFF
-        "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +     // 0x00 - 0x07
-        "\b\t\n\u000B\f\r\u000E\u000F" +     // 0x08 - 0x0F
-        "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +     // 0x10 - 0x17
-        "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +     // 0x18 - 0x1F
-        "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +     // 0x20 - 0x27
-        "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +     // 0x28 - 0x2F
-        "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +     // 0x30 - 0x37
-        "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +     // 0x38 - 0x3F
-        "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +     // 0x40 - 0x47
-        "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +     // 0x48 - 0x4F
-        "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +     // 0x50 - 0x57
-        "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +     // 0x58 - 0x5F
-        "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +     // 0x60 - 0x67
-        "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +     // 0x68 - 0x6F
-        "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +     // 0x70 - 0x77
-        "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";     // 0x78 - 0x7F
-    }
-
-    private static class Encoder extends SingleByteEncoder {
-        public Encoder(Charset cs) {
-                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
-        }
-
-        private final static String index2 =
-            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
-            "\b\t\n\u000B\f\r\u000E\u000F" +
-            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
-            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
-            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
-            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
-            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
-            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
-            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
-            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
-            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
-            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
-            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
-            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
-            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00A0\u0000\u00A2\u00A3\u00A4\u00A5\u00A6\u00A7" +
-            "\u00A8\u00A9\u0000\u00AB\u00AC\u00AD\u00AE\u00AF" +
-            "\u00B0\u00B1\u00B2\u00B3\u00B4\u00B5\u00B6\u00B7" +
-            "\u00B8\u00B9\u0000\u00BB\u00BC\u00BD\u00BE\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00D7" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00E0\u0000\u00E2\u0000\u0000\u0000\u0000\u00E7" +
-            "\u00E8\u00E9\u00EA\u00EB\u0000\u0000\u00EE\u00EF" +
-            "\u0000\u0000\u0000\u0000\u00F4\u0000\u0000\u00F7" +
-            "\u0000\u00F9\u0000\u00FB\u00FC\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u008C" +
-            "\u009C\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0083" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0088\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u00A1\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u00BA\u0000\u0000\u0000\u00BF\u0000\u00C1" +
-            "\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7\u00C8\u00C9" +
-            "\u00CA\u00CB\u00CC\u00CD\u00CE\u00CF\u00D0\u00D1" +
-            "\u00D2\u00D3\u00D4\u00D5\u00D6\u00D8\u00D9\u00DA" +
-            "\u00DB\u0000\u0000\u0000\u0000\u0000\u00DC\u00DD" +
-            "\u00DE\u00DF\u00E1\u00E3\u00E4\u00E5\u00E6\u00EC" +
-            "\u00ED\u00F0\u00F1\u00F2\u00F3\u00F5\u00F6\u00F8" +
-            "\u00FA\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u008A" +
-            "\u0000\u0000\u0000\u0000\u0081\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u008D\u0000\u008F\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u009A" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u008E\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0098" +
-            "\u0000\u0000\u0000\u0000\u0000\u0090\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u009F\u0000\u0000\u0000\u00AA\u0000\u0000\u00C0" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00FF\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u009D\u009E" +
-            "\u00FD\u00FE\u0000\u0000\u0000\u0096\u0097\u0000" +
-            "\u0000\u0000\u0091\u0092\u0082\u0000\u0093\u0094" +
-            "\u0084\u0000\u0086\u0087\u0095\u0000\u0000\u0000" +
-            "\u0085\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0089\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u008B\u009B\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0080\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0099\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000";
-
-        private final static short index1[] = {
-            0, 253, 458, 400, 400, 400, 702, 400, 400, 400, 400, 400, 400, 400, 400, 400,
-            400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
-            946, 1168, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
-            400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
-            400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
-            400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
-            400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
-            400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
-            400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
-            400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
-            400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
-            400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
-            400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
-            400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
-            400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
-            400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
-        };
-    }
-}
--- a/jdk/src/share/classes/sun/nio/cs/ext/MS1258.java	Wed Jul 05 16:44:40 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,340 +0,0 @@
-
-/*
- * Copyright 2002-2004 Sun Microsystems, Inc.  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.  Sun designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
- */
-
-package sun.nio.cs.ext;
-
-import java.nio.ByteBuffer;
-import java.nio.CharBuffer;
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetDecoder;
-import java.nio.charset.CharsetEncoder;
-import java.nio.charset.CharacterCodingException;
-import java.nio.charset.MalformedInputException;
-import java.nio.charset.UnmappableCharacterException;
-import sun.nio.cs.StandardCharsets;
-import sun.nio.cs.SingleByteDecoder;
-import sun.nio.cs.SingleByteEncoder;
-import sun.nio.cs.HistoricallyNamedCharset;
-
-public class MS1258
-    extends Charset
-    implements HistoricallyNamedCharset
-{
-
-    public String historicalName() {
-        return "Cp1258";
-    }
-
-    public MS1258() {
-        super("windows-1258", ExtendedCharsets.aliasesFor("windows-1258"));
-    }
-
-    public boolean contains(Charset cs) {
-        return ((cs.name().equals("US-ASCII"))
-                || (cs instanceof MS1258));
-    }
-
-    public CharsetDecoder newDecoder() {
-        return new Decoder(this);
-    }
-
-    public CharsetEncoder newEncoder() {
-        return new Encoder(this);
-    }
-
-
-    /**
-     * These accessors are temporarily supplied while sun.io
-     * converters co-exist with the sun.nio.cs.{ext} charset coders
-     * These facilitate sharing of conversion tables between the
-     * two co-existing implementations. When sun.io converters
-     * are made extinct these will be unncessary and should be removed
-     */
-
-    public String getDecoderSingleByteMappings() {
-        return MS1258.Decoder.byteToCharTable;
-    }
-
-    public short[] getEncoderIndex1() {
-        return MS1258.Encoder.index1;
-    }
-
-    public String getEncoderIndex2() {
-        return MS1258.Encoder.index2;
-    }
-
-    private static class Decoder extends SingleByteDecoder {
-            public Decoder(Charset cs) {
-                super(cs, byteToCharTable);
-        }
-
-        private final static String byteToCharTable =
-
-            "\u20AC\uFFFD\u201A\u0192\u201E\u2026\u2020\u2021" +     // 0x80 - 0x87
-            "\u02C6\u2030\uFFFD\u2039\u0152\uFFFD\uFFFD\uFFFD" +     // 0x88 - 0x8F
-            "\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014" +     // 0x90 - 0x97
-            "\u02DC\u2122\uFFFD\u203A\u0153\uFFFD\uFFFD\u0178" +     // 0x98 - 0x9F
-            "\u00A0\u00A1\u00A2\u00A3\u00A4\u00A5\u00A6\u00A7" +     // 0xA0 - 0xA7
-            "\u00A8\u00A9\u00AA\u00AB\u00AC\u00AD\u00AE\u00AF" +     // 0xA8 - 0xAF
-            "\u00B0\u00B1\u00B2\u00B3\u00B4\u00B5\u00B6\u00B7" +     // 0xB0 - 0xB7
-            "\u00B8\u00B9\u00BA\u00BB\u00BC\u00BD\u00BE\u00BF" +     // 0xB8 - 0xBF
-            "\u00C0\u00C1\u00C2\u0102\u00C4\u00C5\u00C6\u00C7" +     // 0xC0 - 0xC7
-            "\u00C8\u00C9\u00CA\u00CB\u0300\u00CD\u00CE\u00CF" +     // 0xC8 - 0xCF
-            "\u0110\u00D1\u0309\u00D3\u00D4\u01A0\u00D6\u00D7" +     // 0xD0 - 0xD7
-            "\u00D8\u00D9\u00DA\u00DB\u00DC\u01AF\u0303\u00DF" +     // 0xD8 - 0xDF
-            "\u00E0\u00E1\u00E2\u0103\u00E4\u00E5\u00E6\u00E7" +     // 0xE0 - 0xE7
-            "\u00E8\u00E9\u00EA\u00EB\u0301\u00ED\u00EE\u00EF" +     // 0xE8 - 0xEF
-            "\u0111\u00F1\u0323\u00F3\u00F4\u01A1\u00F6\u00F7" +     // 0xF0 - 0xF7
-            "\u00F8\u00F9\u00FA\u00FB\u00FC\u01B0\u20AB\u00FF" +     // 0xF8 - 0xFF
-            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +     // 0x00 - 0x07
-            "\b\t\n\u000B\f\r\u000E\u000F" +     // 0x08 - 0x0F
-            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +     // 0x10 - 0x17
-            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +     // 0x18 - 0x1F
-            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +     // 0x20 - 0x27
-            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +     // 0x28 - 0x2F
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +     // 0x30 - 0x37
-            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +     // 0x38 - 0x3F
-            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +     // 0x40 - 0x47
-            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +     // 0x48 - 0x4F
-            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +     // 0x50 - 0x57
-            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +     // 0x58 - 0x5F
-            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +     // 0x60 - 0x67
-            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +     // 0x68 - 0x6F
-            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +     // 0x70 - 0x77
-            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";     // 0x78 - 0x7F
-    }
-
-    private static class Encoder extends SingleByteEncoder {
-            public Encoder(Charset cs) {
-                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
-        }
-
-        private final static String index2 =
-
-            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
-            "\b\t\n\u000B\f\r\u000E\u000F" +
-            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
-            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
-            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
-            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
-            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
-            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
-            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
-            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
-            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
-            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
-            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
-            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
-            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00A0\u00A1\u00A2\u00A3\u00A4\u00A5\u00A6\u00A7" +
-            "\u00A8\u00A9\u00AA\u00AB\u00AC\u00AD\u00AE\u00AF" +
-            "\u00B0\u00B1\u00B2\u00B3\u00B4\u00B5\u00B6\u00B7" +
-            "\u00B8\u00B9\u00BA\u00BB\u00BC\u00BD\u00BE\u00BF" +
-            "\u00C0\u00C1\u00C2\u0000\u00C4\u00C5\u00C6\u00C7" +
-            "\u00C8\u00C9\u00CA\u00CB\u0000\u00CD\u00CE\u00CF" +
-            "\u0000\u00D1\u0000\u00D3\u00D4\u0000\u00D6\u00D7" +
-            "\u00D8\u00D9\u00DA\u00DB\u00DC\u0000\u0000\u00DF" +
-            "\u00E0\u00E1\u00E2\u0000\u00E4\u00E5\u00E6\u00E7" +
-            "\u00E8\u00E9\u00EA\u00EB\u0000\u00ED\u00EE\u00EF" +
-            "\u0000\u00F1\u0000\u00F3\u00F4\u0000\u00F6\u00F7" +
-            "\u00F8\u00F9\u00FA\u00FB\u00FC\u0000\u0000\u00FF" +
-            "\u0000\u0000\u00C3\u00E3\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00D0\u00F0\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u008C\u009C\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u009F\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0083\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00D5\u00F5\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00DD" +
-            "\u00FD\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0088\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0098" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u00CC\u00EC\u0000\u00DE\u0000" +
-            "\u0000\u0000\u0000\u0000\u00D2\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u00F2\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0096\u0097\u0000\u0000\u0000" +
-            "\u0091\u0092\u0082\u0000\u0093\u0094\u0084\u0000" +
-            "\u0086\u0087\u0095\u0000\u0000\u0000\u0085\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0089\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u008B\u009B\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u00FE\u0080\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0099\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000";
-
-        private final static short index1[] = {
-            0, 256, 491, 747, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433,
-            433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433,
-            984, 1206, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433,
-            433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433,
-            433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433,
-            433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433,
-            433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433,
-            433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433,
-            433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433,
-            433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433,
-            433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433,
-            433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433,
-            433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433,
-            433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433,
-            433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433,
-            433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433, 433,
-        };
-    }
-}
--- a/jdk/src/share/classes/sun/nio/cs/ext/MS874.java	Wed Jul 05 16:44:40 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,267 +0,0 @@
-
-/*
- * Copyright 2003-2004 Sun Microsystems, Inc.  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.  Sun designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
- */
-
-/*
- */
-
-package sun.nio.cs.ext;
-
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetDecoder;
-import java.nio.charset.CharsetEncoder;
-import sun.nio.cs.SingleByteEncoder;
-import sun.nio.cs.SingleByteDecoder;
-import sun.nio.cs.HistoricallyNamedCharset;
-
-public class MS874 extends Charset implements HistoricallyNamedCharset
-{
-    public MS874() {
-        super("x-windows-874", ExtendedCharsets.aliasesFor("x-windows-874"));
-    }
-
-    public String historicalName() {
-        return "MS874";
-    }
-
-    public boolean contains(Charset cs) {
-        return ((cs.name().equals("US-ASCII"))
-                || (cs instanceof MS874));
-    }
-
-    public CharsetDecoder newDecoder() {
-        return new Decoder(this);
-    }
-
-    public CharsetEncoder newEncoder() {
-        return new Encoder(this);
-    }
-
-
-    /**
-     * These accessors are temporarily supplied while sun.io
-     * converters co-exist with the sun.nio.cs.{ext} charset coders
-     * These facilitate sharing of conversion tables between the
-     * two co-existing implementations. When sun.io converters
-     * are made extinct these will be unncessary and should be removed
-     */
-
-    public String getDecoderSingleByteMappings() {
-        return Decoder.byteToCharTable;
-
-    }
-
-    public short[] getEncoderIndex1() {
-        return Encoder.index1;
-
-    }
-    public String getEncoderIndex2() {
-        return Encoder.index2;
-
-    }
-
-    protected static class Decoder extends SingleByteDecoder {
-
-        public Decoder(Charset cs) {
-            super(cs, byteToCharTable);
-        }
-
-        private final static String byteToCharTable =
-            "\u20AC\uFFFD\uFFFD\uFFFD\uFFFD\u2026\uFFFD\uFFFD" +     // 0x80 - 0x87
-            "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" +     // 0x88 - 0x8F
-            "\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014" +     // 0x90 - 0x97
-            "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" +     // 0x98 - 0x9F
-            "\u00A0\u0E01\u0E02\u0E03\u0E04\u0E05\u0E06\u0E07" +     // 0xA0 - 0xA7
-            "\u0E08\u0E09\u0E0A\u0E0B\u0E0C\u0E0D\u0E0E\u0E0F" +     // 0xA8 - 0xAF
-            "\u0E10\u0E11\u0E12\u0E13\u0E14\u0E15\u0E16\u0E17" +     // 0xB0 - 0xB7
-            "\u0E18\u0E19\u0E1A\u0E1B\u0E1C\u0E1D\u0E1E\u0E1F" +     // 0xB8 - 0xBF
-            "\u0E20\u0E21\u0E22\u0E23\u0E24\u0E25\u0E26\u0E27" +     // 0xC0 - 0xC7
-            "\u0E28\u0E29\u0E2A\u0E2B\u0E2C\u0E2D\u0E2E\u0E2F" +     // 0xC8 - 0xCF
-            "\u0E30\u0E31\u0E32\u0E33\u0E34\u0E35\u0E36\u0E37" +     // 0xD0 - 0xD7
-            "\u0E38\u0E39\u0E3A\uFFFD\uFFFD\uFFFD\uFFFD\u0E3F" +     // 0xD8 - 0xDF
-            "\u0E40\u0E41\u0E42\u0E43\u0E44\u0E45\u0E46\u0E47" +     // 0xE0 - 0xE7
-            "\u0E48\u0E49\u0E4A\u0E4B\u0E4C\u0E4D\u0E4E\u0E4F" +     // 0xE8 - 0xEF
-            "\u0E50\u0E51\u0E52\u0E53\u0E54\u0E55\u0E56\u0E57" +     // 0xF0 - 0xF7
-            "\u0E58\u0E59\u0E5A\u0E5B\uFFFD\uFFFD\uFFFD\uFFFD" +     // 0xF8 - 0xFF
-            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +     // 0x00 - 0x07
-            "\b\t\n\u000B\f\r\u000E\u000F" +     // 0x08 - 0x0F
-            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +     // 0x10 - 0x17
-            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +     // 0x18 - 0x1F
-            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +     // 0x20 - 0x27
-            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +     // 0x28 - 0x2F
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +     // 0x30 - 0x37
-            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +     // 0x38 - 0x3F
-            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +     // 0x40 - 0x47
-            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +     // 0x48 - 0x4F
-            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +     // 0x50 - 0x57
-            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +     // 0x58 - 0x5F
-            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +     // 0x60 - 0x67
-            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +     // 0x68 - 0x6F
-            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +     // 0x70 - 0x77
-            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";     // 0x78 - 0x7F
-    }
-
-    protected static class Encoder extends SingleByteEncoder {
-
-        public Encoder(Charset cs) {
-            super(cs, index1, index2, 0xFF00, 0x00FF, 8);
-        }
-
-        private final static String index2 =
-            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
-            "\b\t\n\u000B\f\r\u000E\u000F" +
-            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
-            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
-            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
-            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
-            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
-            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
-            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
-            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
-            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
-            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
-            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
-            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
-            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00A0\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u00A1\u00A2\u00A3\u00A4\u00A5\u00A6\u00A7" +
-            "\u00A8\u00A9\u00AA\u00AB\u00AC\u00AD\u00AE\u00AF" +
-            "\u00B0\u00B1\u00B2\u00B3\u00B4\u00B5\u00B6\u00B7" +
-            "\u00B8\u00B9\u00BA\u00BB\u00BC\u00BD\u00BE\u00BF" +
-            "\u00C0\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" +
-            "\u00C8\u00C9\u00CA\u00CB\u00CC\u00CD\u00CE\u00CF" +
-            "\u00D0\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6\u00D7" +
-            "\u00D8\u00D9\u00DA\u0000\u0000\u0000\u0000\u00DF" +
-            "\u00E0\u00E1\u00E2\u00E3\u00E4\u00E5\u00E6\u00E7" +
-            "\u00E8\u00E9\u00EA\u00EB\u00EC\u00ED\u00EE\u00EF" +
-            "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" +
-            "\u00F8\u00F9\u00FA\u00FB\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0096\u0097\u0000\u0000\u0000\u0091\u0092\u0000" +
-            "\u0000\u0093\u0094\u0000\u0000\u0000\u0000\u0095" +
-            "\u0000\u0000\u0000\u0085\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0080\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000";
-
-        private final static short index1[] = {
-            0, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 416, 161,
-            161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
-            653, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
-            161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
-            161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
-            161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
-            161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
-            161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
-            161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
-            161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
-            161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
-            161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
-            161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
-            161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
-            161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
-            161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
-        };
-    }
-}
--- a/jdk/src/share/classes/sun/nio/cs/ext/MacArabic.java	Wed Jul 05 16:44:40 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,279 +0,0 @@
-
-/*
- * Copyright 2003-2004 Sun Microsystems, Inc.  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.  Sun designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
- */
-
-package sun.nio.cs.ext;
-
-
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetDecoder;
-import java.nio.charset.CharsetEncoder;
-import sun.nio.cs.StandardCharsets;
-import sun.nio.cs.SingleByteDecoder;
-import sun.nio.cs.SingleByteEncoder;
-import sun.nio.cs.HistoricallyNamedCharset;
-
-public class MacArabic
-    extends Charset
-    implements HistoricallyNamedCharset
-{
-
-    public MacArabic() {
-        super("x-MacArabic", ExtendedCharsets.aliasesFor("x-MacArabic"));
-    }
-
-    public String historicalName() {
-        return "MacArabic";
-    }
-
-    public boolean contains(Charset cs) {
-        return (cs instanceof MacArabic);
-    }
-
-    public CharsetDecoder newDecoder() {
-        return new Decoder(this);
-    }
-
-    public CharsetEncoder newEncoder() {
-        return new Encoder(this);
-    }
-
-
-    /**
-     * These accessors are temporarily supplied while sun.io
-     * converters co-exist with the sun.nio.cs.{ext} charset coders
-     * These facilitate sharing of conversion tables between the
-     * two co-existing implementations. When sun.io converters
-     * are made extinct these will be unncessary and should be removed
-     */
-
-    public String getDecoderSingleByteMappings() {
-        return Decoder.byteToCharTable;
-
-    }
-
-    public short[] getEncoderIndex1() {
-        return Encoder.index1;
-
-    }
-    public String getEncoderIndex2() {
-        return Encoder.index2;
-
-    }
-
-    private static class Decoder extends SingleByteDecoder {
-            public Decoder(Charset cs) {
-                super(cs, byteToCharTable);
-        }
-
-        private final static String byteToCharTable =
-
-            "\u00C4\u00A0\u00C7\u00C9\u00D1\u00D6\u00DC\u00E1" +        // 0x80 - 0x87
-            "\u00E0\u00E2\u00E4\u06BA\u00AB\u00E7\u00E9\u00E8" +        // 0x88 - 0x8F
-            "\u00EA\u00EB\u00ED\u2026\u00EE\u00EF\u00F1\u00F3" +        // 0x90 - 0x97
-            "\u00BB\u00F4\u00F6\u00F7\u00FA\u00F9\u00FB\u00FC" +        // 0x98 - 0x9F
-            "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u066A\uFFFD\uFFFD" +        // 0xA0 - 0xA7
-            "\uFFFD\uFFFD\uFFFD\uFFFD\u060C\uFFFD\uFFFD\uFFFD" +        // 0xA8 - 0xAF
-            "\u0660\u0661\u0662\u0663\u0664\u0665\u0666\u0667" +        // 0xB0 - 0xB7
-            "\u0668\u0669\uFFFD\u061B\uFFFD\uFFFD\uFFFD\u061F" +        // 0xB8 - 0xBF
-            "\u066D\u0621\u0622\u0623\u0624\u0625\u0626\u0627" +        // 0xC0 - 0xC7
-            "\u0628\u0629\u062A\u062B\u062C\u062D\u062E\u062F" +        // 0xC8 - 0xCF
-            "\u0630\u0631\u0632\u0633\u0634\u0635\u0636\u0637" +        // 0xD0 - 0xD7
-            "\u0638\u0639\u063A\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" +        // 0xD8 - 0xDF
-            "\u0640\u0641\u0642\u0643\u0644\u0645\u0646\u0647" +        // 0xE0 - 0xE7
-            "\u0648\u0649\u064A\u064B\u064C\u064D\u064E\u064F" +        // 0xE8 - 0xEF
-            "\u0650\u0651\u0652\u067E\u0679\u0686\u06D5\u06A4" +        // 0xF0 - 0xF7
-            "\u06AF\u0688\u0691\uFFFD\uFFFD\uFFFD\u0698\u06D2" +        // 0xF8 - 0xFF
-            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +        // 0x00 - 0x07
-            "\b\t\n\u000B\f\r\u000E\u000F" +    // 0x08 - 0x0F
-            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +        // 0x10 - 0x17
-            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +        // 0x18 - 0x1F
-            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +        // 0x20 - 0x27
-            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +        // 0x28 - 0x2F
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +        // 0x30 - 0x37
-            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +        // 0x38 - 0x3F
-            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +        // 0x40 - 0x47
-            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +        // 0x48 - 0x4F
-            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +        // 0x50 - 0x57
-            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +    // 0x58 - 0x5F
-            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +        // 0x60 - 0x67
-            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +        // 0x68 - 0x6F
-            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +        // 0x70 - 0x77
-            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";         // 0x78 - 0x7F
-
-    }
-
-    private static class Encoder extends SingleByteEncoder {
-            public Encoder(Charset cs) {
-                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
-            }
-
-            private final static String index2 =
-
-
-            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
-            "\b\t\n\u000B\f\r\u000E\u000F" +
-            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
-            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
-            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
-            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
-            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
-            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
-            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
-            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
-            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
-            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
-            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
-            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
-            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0081\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u008C\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0098\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0080\u0000\u0000\u0082" +
-            "\u0000\u0083\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0084\u0000\u0000\u0000\u0000\u0085\u0000" +
-            "\u0000\u0000\u0000\u0000\u0086\u0000\u0000\u0000" +
-            "\u0088\u0087\u0089\u0000\u008A\u0000\u0000\u008D" +
-            "\u008F\u008E\u0090\u0091\u0000\u0092\u0094\u0095" +
-            "\u0000\u0096\u0000\u0097\u0099\u0000\u009A\u009B" +
-            "\u0000\u009D\u009C\u009E\u009F\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u00AC\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u00BB\u0000\u0000\u0000" +
-            "\u00BF\u0000\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6" +
-            "\u00C7\u00C8\u00C9\u00CA\u00CB\u00CC\u00CD\u00CE" +
-            "\u00CF\u00D0\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6" +
-            "\u00D7\u00D8\u00D9\u00DA\u0000\u0000\u0000\u0000" +
-            "\u0000\u00E0\u00E1\u00E2\u00E3\u00E4\u00E5\u00E6" +
-            "\u00E7\u00E8\u00E9\u00EA\u00EB\u00EC\u00ED\u00EE" +
-            "\u00EF\u00F0\u00F1\u00F2\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u00B0\u00B1\u00B2\u00B3\u00B4\u00B5\u00B6" +
-            "\u00B7\u00B8\u00B9\u00A5\u0000\u0000\u00C0\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u00F4\u0000\u0000\u0000\u0000\u00F3" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00F5" +
-            "\u0000\u00F9\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u00FA\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u00FE\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u00F7\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00F8\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u008B\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u00FF\u0000\u0000\u00F6\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0093\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000";
-
-    private final static short index1[] = {
-            0, 253, 253, 253, 253, 253, 497, 253, 253, 253, 253, 253, 253, 253, 253, 253,
-            253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
-            715, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
-            253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
-            253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
-            253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
-            253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
-            253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
-            253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
-            253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
-            253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
-            253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
-            253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
-            253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
-            253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
-            253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
-
-        };
-    }
-}
--- a/jdk/src/share/classes/sun/nio/cs/ext/MacCentralEurope.java	Wed Jul 05 16:44:40 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,346 +0,0 @@
-
-/*
- * Copyright 2003-2004 Sun Microsystems, Inc.  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.  Sun designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
- */
-
-package sun.nio.cs.ext;
-
-
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetDecoder;
-import java.nio.charset.CharsetEncoder;
-import sun.nio.cs.StandardCharsets;
-import sun.nio.cs.SingleByteDecoder;
-import sun.nio.cs.SingleByteEncoder;
-import sun.nio.cs.HistoricallyNamedCharset;
-
-public class MacCentralEurope
-    extends Charset
-    implements HistoricallyNamedCharset
-{
-
-    public MacCentralEurope() {
-        super("x-MacCentralEurope", ExtendedCharsets.aliasesFor("x-MacCentralEurope"));
-    }
-
-    public String historicalName() {
-        return "MacCentralEurope";
-    }
-
-    public boolean contains(Charset cs) {
-        return (cs instanceof MacCentralEurope);
-    }
-
-    public CharsetDecoder newDecoder() {
-        return new Decoder(this);
-    }
-
-    public CharsetEncoder newEncoder() {
-        return new Encoder(this);
-    }
-
-
-    /**
-     * These accessors are temporarily supplied while sun.io
-     * converters co-exist with the sun.nio.cs.{ext} charset coders
-     * These facilitate sharing of conversion tables between the
-     * two co-existing implementations. When sun.io converters
-     * are made extinct these will be unncessary and should be removed
-     */
-
-    public String getDecoderSingleByteMappings() {
-        return Decoder.byteToCharTable;
-
-    }
-
-    public short[] getEncoderIndex1() {
-        return Encoder.index1;
-
-    }
-    public String getEncoderIndex2() {
-        return Encoder.index2;
-
-    }
-
-    private static class Decoder extends SingleByteDecoder {
-            public Decoder(Charset cs) {
-                super(cs, byteToCharTable);
-        }
-
-        private final static String byteToCharTable =
-
-            "\u00C4\u0100\u0101\u00C9\u0104\u00D6\u00DC\u00E1" +        // 0x80 - 0x87
-            "\u0105\u010C\u00E4\u010D\u0106\u0107\u00E9\u0179" +        // 0x88 - 0x8F
-            "\u017A\u010E\u00ED\u010F\u0112\u0113\u0116\u00F3" +        // 0x90 - 0x97
-            "\u0117\u00F4\u00F6\u00F5\u00FA\u011A\u011B\u00FC" +        // 0x98 - 0x9F
-            "\u2020\u00B0\u0118\u00A3\u00A7\u2022\u00B6\u00DF" +        // 0xA0 - 0xA7
-            "\u00AE\u00A9\u2122\u0119\u00A8\u2260\u0123\u012E" +        // 0xA8 - 0xAF
-            "\u012F\u012A\u2264\u2265\u012B\u0136\u2202\u2211" +        // 0xB0 - 0xB7
-            "\u0142\u013B\u013C\u013D\u013E\u0139\u013A\u0145" +        // 0xB8 - 0xBF
-            "\u0146\u0143\u00AC\u221A\u0144\u0147\u2206\u00AB" +        // 0xC0 - 0xC7
-            "\u00BB\u2026\u00A0\u0148\u0150\u00D5\u0151\u014C" +        // 0xC8 - 0xCF
-            "\u2013\u2014\u201C\u201D\u2018\u2019\u00F7\u25CA" +        // 0xD0 - 0xD7
-            "\u014D\u0154\u0155\u0158\u2039\u203A\u0159\u0156" +        // 0xD8 - 0xDF
-            "\u0157\u0160\u201A\u201E\u0161\u015A\u015B\u00C1" +        // 0xE0 - 0xE7
-            "\u0164\u0165\u00CD\u017D\u017E\u016A\u00D3\u00D4" +        // 0xE8 - 0xEF
-            "\u016B\u016E\u00DA\u016F\u0170\u0171\u0172\u0173" +        // 0xF0 - 0xF7
-            "\u00DD\u00FD\u0137\u017B\u0141\u017C\u0122\u02C7" +        // 0xF8 - 0xFF
-            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +        // 0x00 - 0x07
-            "\b\t\n\u000B\f\r\u000E\u000F" +    // 0x08 - 0x0F
-            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +        // 0x10 - 0x17
-            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +        // 0x18 - 0x1F
-            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +        // 0x20 - 0x27
-            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +        // 0x28 - 0x2F
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +        // 0x30 - 0x37
-            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +        // 0x38 - 0x3F
-            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +        // 0x40 - 0x47
-            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +        // 0x48 - 0x4F
-            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +        // 0x50 - 0x57
-            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +    // 0x58 - 0x5F
-            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +        // 0x60 - 0x67
-            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +        // 0x68 - 0x6F
-            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +        // 0x70 - 0x77
-            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";         // 0x78 - 0x7F
-
-    }
-
-    private static class Encoder extends SingleByteEncoder {
-            public Encoder(Charset cs) {
-                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
-            }
-
-            private final static String index2 =
-
-
-            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
-            "\b\t\n\u000B\f\r\u000E\u000F" +
-            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
-            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
-            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
-            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
-            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
-            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
-            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
-            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
-            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
-            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
-            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
-            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
-            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00CA\u0000\u0000\u00A3\u0000\u0000\u0000\u00A4" +
-            "\u00AC\u00A9\u0000\u00C7\u00C2\u0000\u00A8\u0000" +
-            "\u00A1\u0000\u0000\u0000\u0000\u0000\u00A6\u0000" +
-            "\u0000\u0000\u0000\u00C8\u0000\u0000\u0000\u0000" +
-            "\u0000\u00E7\u0000\u0000\u0080\u0000\u0000\u0000" +
-            "\u0000\u0083\u0000\u0000\u0000\u00EA\u0000\u0000" +
-            "\u0000\u0000\u0000\u00EE\u00EF\u00CD\u0085\u0000" +
-            "\u0000\u0000\u00F2\u0000\u0086\u00F8\u0000\u00A7" +
-            "\u0000\u0087\u0000\u0000\u008A\u0000\u0000\u0000" +
-            "\u0000\u008E\u0000\u0000\u0000\u0092\u0000\u0000" +
-            "\u0000\u0000\u0000\u0097\u0099\u009B\u009A\u00D6" +
-            "\u0000\u0000\u009C\u0000\u009F\u00F9\u0000\u0000" +
-            "\u0081\u0082\u0000\u0000\u0084\u0088\u008C\u008D" +
-            "\u0000\u0000\u0000\u0000\u0089\u008B\u0091\u0093" +
-            "\u0000\u0000\u0094\u0095\u0000\u0000\u0096\u0098" +
-            "\u00A2\u00AB\u009D\u009E\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u00FE\u00AE\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u00B1\u00B4\u0000\u0000\u00AF\u00B0" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u00B5\u00FA" +
-            "\u0000\u00BD\u00BE\u00B9\u00BA\u00BB\u00BC\u0000" +
-            "\u0000\u00FC\u00B8\u00C1\u00C4\u00BF\u00C0\u00C5" +
-            "\u00CB\u0000\u0000\u0000\u00CF\u00D8\u0000\u0000" +
-            "\u00CC\u00CE\u0000\u0000\u00D9\u00DA\u00DF\u00E0" +
-            "\u00DB\u00DE\u00E5\u00E6\u0000\u0000\u0000\u0000" +
-            "\u00E1\u00E4\u0000\u0000\u00E8\u00E9\u0000\u0000" +
-            "\u0000\u0000\u00ED\u00F0\u0000\u0000\u00F1\u00F3" +
-            "\u00F4\u00F5\u00F6\u00F7\u0000\u0000\u0000\u0000" +
-            "\u0000\u008F\u0090\u00FB\u00FD\u00EB\u00EC\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00FF" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00D0\u00D1\u0000\u0000\u0000\u00D4\u00D5\u00E2" +
-            "\u0000\u00D2\u00D3\u00E3\u0000\u00A0\u0000\u00A5" +
-            "\u0000\u0000\u0000\u00C9\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u00DC\u00DD" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u00AA\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u00B6\u0000\u0000\u0000\u00C6" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u00B7\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u00C3\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u00AD\u0000\u0000\u0000\u00B2\u00B3\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u00D7\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000";
-
-    private final static short index1[] = {
-            0, 256, 440, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            677, 899, 1153, 383, 383, 1255, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-            383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383, 383,
-
-        };
-    }
-}
--- a/jdk/src/share/classes/sun/nio/cs/ext/MacCroatian.java	Wed Jul 05 16:44:40 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,402 +0,0 @@
-
-/*
- * Copyright 2003-2004 Sun Microsystems, Inc.  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.  Sun designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
- */
-
-package sun.nio.cs.ext;
-
-
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetDecoder;
-import java.nio.charset.CharsetEncoder;
-import sun.nio.cs.StandardCharsets;
-import sun.nio.cs.SingleByteDecoder;
-import sun.nio.cs.SingleByteEncoder;
-import sun.nio.cs.HistoricallyNamedCharset;
-
-public class MacCroatian
-    extends Charset
-    implements HistoricallyNamedCharset
-{
-
-    public MacCroatian() {
-        super("x-MacCroatian", ExtendedCharsets.aliasesFor("x-MacCroatian"));
-    }
-
-    public String historicalName() {
-        return "MacCroatian";
-    }
-
-    public boolean contains(Charset cs) {
-        return (cs instanceof MacCroatian);
-    }
-
-    public CharsetDecoder newDecoder() {
-        return new Decoder(this);
-    }
-
-    public CharsetEncoder newEncoder() {
-        return new Encoder(this);
-    }
-
-
-    /**
-     * These accessors are temporarily supplied while sun.io
-     * converters co-exist with the sun.nio.cs.{ext} charset coders
-     * These facilitate sharing of conversion tables between the
-     * two co-existing implementations. When sun.io converters
-     * are made extinct these will be unncessary and should be removed
-     */
-
-    public String getDecoderSingleByteMappings() {
-        return Decoder.byteToCharTable;
-
-    }
-
-    public short[] getEncoderIndex1() {
-        return Encoder.index1;
-
-    }
-    public String getEncoderIndex2() {
-        return Encoder.index2;
-
-    }
-
-    private static class Decoder extends SingleByteDecoder {
-            public Decoder(Charset cs) {
-                super(cs, byteToCharTable);
-        }
-
-        private final static String byteToCharTable =
-
-            "\u00C4\u00C5\u00C7\u00C9\u00D1\u00D6\u00DC\u00E1" +        // 0x80 - 0x87
-            "\u00E0\u00E2\u00E4\u00E3\u00E5\u00E7\u00E9\u00E8" +        // 0x88 - 0x8F
-            "\u00EA\u00EB\u00ED\u00EC\u00EE\u00EF\u00F1\u00F3" +        // 0x90 - 0x97
-            "\u00F2\u00F4\u00F6\u00F5\u00FA\u00F9\u00FB\u00FC" +        // 0x98 - 0x9F
-            "\u2020\u00B0\u00A2\u00A3\u00A7\u2022\u00B6\u00DF" +        // 0xA0 - 0xA7
-            "\u00AE\u0160\u2122\u00B4\u00A8\u2260\u017D\u00D8" +        // 0xA8 - 0xAF
-            "\u221E\u00B1\u2264\u2265\u2206\u00B5\u2202\u2211" +        // 0xB0 - 0xB7
-            "\u220F\u0161\u222B\u00AA\u00BA\u2126\u017E\u00F8" +        // 0xB8 - 0xBF
-            "\u00BF\u00A1\u00AC\u221A\u0192\u2248\u0106\u00AB" +        // 0xC0 - 0xC7
-            "\u010C\u2026\u00A0\u00C0\u00C3\u00D5\u0152\u0153" +        // 0xC8 - 0xCF
-            "\u0110\u2014\u201C\u201D\u2018\u2019\u00F7\u25CA" +        // 0xD0 - 0xD7
-            "\uF8FF\u00A9\u2044\u00A4\u2039\u203A\u00C6\u00BB" +        // 0xD8 - 0xDF
-            "\u2013\u00B7\u201A\u201E\u2030\u00C2\u0107\u00C1" +        // 0xE0 - 0xE7
-            "\u010D\u00C8\u00CD\u00CE\u00CF\u00CC\u00D3\u00D4" +        // 0xE8 - 0xEF
-            "\u0111\u00D2\u00DA\u00DB\u00D9\u0131\u02C6\u02DC" +        // 0xF0 - 0xF7
-            "\u00AF\u03C0\u00CB\u02DA\u00B8\u00CA\u00E6\u02C7" +        // 0xF8 - 0xFF
-            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +        // 0x00 - 0x07
-            "\b\t\n\u000B\f\r\u000E\u000F" +    // 0x08 - 0x0F
-            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +        // 0x10 - 0x17
-            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +        // 0x18 - 0x1F
-            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +        // 0x20 - 0x27
-            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +        // 0x28 - 0x2F
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +        // 0x30 - 0x37
-            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +        // 0x38 - 0x3F
-            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +        // 0x40 - 0x47
-            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +        // 0x48 - 0x4F
-            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +        // 0x50 - 0x57
-            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +    // 0x58 - 0x5F
-            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +        // 0x60 - 0x67
-            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +        // 0x68 - 0x6F
-            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +        // 0x70 - 0x77
-            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";         // 0x78 - 0x7F
-
-    }
-
-    private static class Encoder extends SingleByteEncoder {
-            public Encoder(Charset cs) {
-                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
-            }
-
-            private final static String index2 =
-
-
-            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
-            "\b\t\n\u000B\f\r\u000E\u000F" +
-            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
-            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
-            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
-            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
-            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
-            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
-            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
-            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
-            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
-            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
-            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
-            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
-            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00CA\u00C1\u00A2\u00A3\u00DB\u0000\u0000\u00A4" +
-            "\u00AC\u00D9\u00BB\u00C7\u00C2\u0000\u00A8\u00F8" +
-            "\u00A1\u00B1\u0000\u0000\u00AB\u00B5\u00A6\u00E1" +
-            "\u00FC\u0000\u00BC\u00DF\u0000\u0000\u0000\u00C0" +
-            "\u00CB\u00E7\u00E5\u00CC\u0080\u0081\u00DE\u0082" +
-            "\u00E9\u0083\u00FD\u00FA\u00ED\u00EA\u00EB\u00EC" +
-            "\u0000\u0084\u00F1\u00EE\u00EF\u00CD\u0085\u0000" +
-            "\u00AF\u00F4\u00F2\u00F3\u0086\u0000\u0000\u00A7" +
-            "\u0088\u0087\u0089\u008B\u008A\u008C\u00FE\u008D" +
-            "\u008F\u008E\u0090\u0091\u0093\u0092\u0094\u0095" +
-            "\u0000\u0096\u0098\u0097\u0099\u009B\u009A\u00D6" +
-            "\u00BF\u009D\u009C\u009E\u009F\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u00C6\u00E6\u0000\u0000\u0000" +
-            "\u0000\u00C8\u00E8\u0000\u0000\u00D0\u00F0\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u00F5\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00CE" +
-            "\u00CF\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u00A9\u00B9\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u00AE\u00BE\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00C4" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00F6\u00FF\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u00FB\u0000\u00F7\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00F9" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00E0" +
-            "\u00D1\u0000\u0000\u0000\u00D4\u00D5\u00E2\u0000" +
-            "\u00D2\u00D3\u00E3\u0000\u00A0\u0000\u00A5\u0000" +
-            "\u0000\u0000\u00C9\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u00E4\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u00DC\u00DD\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00DA\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u00AA\u0000\u0000\u0000" +
-            "\u00BD\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u00B6\u0000\u0000\u0000\u00B4\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00B8" +
-            "\u0000\u00B7\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u00C3\u0000\u0000\u0000\u00B0\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u00BA\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00C5\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00AD\u0000\u0000\u0000\u00B2\u00B3\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00D7\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00D8";
-
-    private final static short index1[] = {
-            0, 253, 458, 679, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
-            400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
-            916, 1138, 1392, 400, 400, 1494, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
-            400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
-            400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
-            400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
-            400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
-            400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
-            400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
-            400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
-            400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
-            400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
-            400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
-            400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
-            400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
-            400, 400, 400, 400, 400, 400, 400, 400, 1697, 400, 400, 400, 400, 400, 400, 400,
-
-        };
-    }
-}
--- a/jdk/src/share/classes/sun/nio/cs/ext/MacCyrillic.java	Wed Jul 05 16:44:40 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,361 +0,0 @@
-
-/*
- * Copyright 2003-2004 Sun Microsystems, Inc.  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.  Sun designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
- */
-
-package sun.nio.cs.ext;
-
-
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetDecoder;
-import java.nio.charset.CharsetEncoder;
-import sun.nio.cs.StandardCharsets;
-import sun.nio.cs.SingleByteDecoder;
-import sun.nio.cs.SingleByteEncoder;
-import sun.nio.cs.HistoricallyNamedCharset;
-
-public class MacCyrillic
-    extends Charset
-    implements HistoricallyNamedCharset
-{
-
-    public MacCyrillic() {
-        super("x-MacCyrillic", ExtendedCharsets.aliasesFor("x-MacCyrillic"));
-    }
-
-    public String historicalName() {
-        return "MacCyrillic";
-    }
-
-    public boolean contains(Charset cs) {
-        return (cs instanceof MacCyrillic);
-    }
-
-    public CharsetDecoder newDecoder() {
-        return new Decoder(this);
-    }
-
-    public CharsetEncoder newEncoder() {
-        return new Encoder(this);
-    }
-
-
-    /**
-     * These accessors are temporarily supplied while sun.io
-     * converters co-exist with the sun.nio.cs.{ext} charset coders
-     * These facilitate sharing of conversion tables between the
-     * two co-existing implementations. When sun.io converters
-     * are made extinct these will be unncessary and should be removed
-     */
-
-    public String getDecoderSingleByteMappings() {
-        return Decoder.byteToCharTable;
-
-    }
-
-    public short[] getEncoderIndex1() {
-        return Encoder.index1;
-
-    }
-    public String getEncoderIndex2() {
-        return Encoder.index2;
-
-    }
-
-    private static class Decoder extends SingleByteDecoder {
-            public Decoder(Charset cs) {
-                super(cs, byteToCharTable);
-        }
-
-        private final static String byteToCharTable =
-
-            "\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417" +        // 0x80 - 0x87
-            "\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F" +        // 0x88 - 0x8F
-            "\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427" +        // 0x90 - 0x97
-            "\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F" +        // 0x98 - 0x9F
-            "\u2020\u00B0\u00A2\u00A3\u00A7\u2022\u00B6\u0406" +        // 0xA0 - 0xA7
-            "\u00AE\u00A9\u2122\u0402\u0452\u2260\u0403\u0453" +        // 0xA8 - 0xAF
-            "\u221E\u00B1\u2264\u2265\u0456\u00B5\u2202\u0408" +        // 0xB0 - 0xB7
-            "\u0404\u0454\u0407\u0457\u0409\u0459\u040A\u045A" +        // 0xB8 - 0xBF
-            "\u0458\u0405\u00AC\u221A\u0192\u2248\u2206\u00AB" +        // 0xC0 - 0xC7
-            "\u00BB\u2026\u00A0\u040B\u045B\u040C\u045C\u0455" +        // 0xC8 - 0xCF
-            "\u2013\u2014\u201C\u201D\u2018\u2019\u00F7\u201E" +        // 0xD0 - 0xD7
-            "\u040E\u045E\u040F\u045F\u2116\u0401\u0451\u044F" +        // 0xD8 - 0xDF
-            "\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437" +        // 0xE0 - 0xE7
-            "\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F" +        // 0xE8 - 0xEF
-            "\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447" +        // 0xF0 - 0xF7
-            "\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u00A4" +        // 0xF8 - 0xFF
-            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +        // 0x00 - 0x07
-            "\b\t\n\u000B\f\r\u000E\u000F" +    // 0x08 - 0x0F
-            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +        // 0x10 - 0x17
-            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +        // 0x18 - 0x1F
-            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +        // 0x20 - 0x27
-            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +        // 0x28 - 0x2F
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +        // 0x30 - 0x37
-            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +        // 0x38 - 0x3F
-            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +        // 0x40 - 0x47
-            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +        // 0x48 - 0x4F
-            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +        // 0x50 - 0x57
-            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +    // 0x58 - 0x5F
-            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +        // 0x60 - 0x67
-            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +        // 0x68 - 0x6F
-            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +        // 0x70 - 0x77
-            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";         // 0x78 - 0x7F
-
-    }
-
-    private static class Encoder extends SingleByteEncoder {
-            public Encoder(Charset cs) {
-                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
-            }
-
-            private final static String index2 =
-
-
-            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
-            "\b\t\n\u000B\f\r\u000E\u000F" +
-            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
-            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
-            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
-            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
-            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
-            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
-            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
-            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
-            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
-            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
-            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
-            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
-            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00CA\u0000\u00A2\u00A3\u00FF\u0000\u0000\u00A4" +
-            "\u0000\u00A9\u0000\u00C7\u00C2\u0000\u00A8\u0000" +
-            "\u00A1\u00B1\u0000\u0000\u0000\u00B5\u00A6\u0000" +
-            "\u0000\u0000\u0000\u00C8\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00D6" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u00C4\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u00DD\u00AB\u00AE\u00B8\u00C1" +
-            "\u00A7\u00BA\u00B7\u00BC\u00BE\u00CB\u00CD\u0000" +
-            "\u00D8\u00DA\u0080\u0081\u0082\u0083\u0084\u0085" +
-            "\u0086\u0087\u0088\u0089\u008A\u008B\u008C\u008D" +
-            "\u008E\u008F\u0090\u0091\u0092\u0093\u0094\u0095" +
-            "\u0096\u0097\u0098\u0099\u009A\u009B\u009C\u009D" +
-            "\u009E\u009F\u00E0\u00E1\u00E2\u00E3\u00E4\u00E5" +
-            "\u00E6\u00E7\u00E8\u00E9\u00EA\u00EB\u00EC\u00ED" +
-            "\u00EE\u00EF\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5" +
-            "\u00F6\u00F7\u00F8\u00F9\u00FA\u00FB\u00FC\u00FD" +
-            "\u00FE\u00DF\u0000\u00DE\u00AC\u00AF\u00B9\u00CF" +
-            "\u00B4\u00BB\u00C0\u00BD\u00BF\u00CC\u00CE\u0000" +
-            "\u00D9\u00DB\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u00D0\u00D1\u0000\u0000\u0000\u00D4" +
-            "\u00D5\u0000\u0000\u00D2\u00D3\u00D7\u0000\u00A0" +
-            "\u0000\u00A5\u0000\u0000\u0000\u00C9\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00DC" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u00AA\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u00B6\u0000\u0000\u0000\u00C6\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u00C3\u0000\u0000\u0000\u00B0\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00C5" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00AD" +
-            "\u0000\u0000\u0000\u00B2\u00B3\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000";
-
-    private final static short index1[] = {
-            0, 248, 395, 395, 650, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
-            395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
-            887, 1121, 1375, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
-            395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
-            395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
-            395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
-            395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
-            395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
-            395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
-            395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
-            395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
-            395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
-            395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
-            395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
-            395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
-            395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
-
-        };
-    }
-}
--- a/jdk/src/share/classes/sun/nio/cs/ext/MacDingbat.java	Wed Jul 05 16:44:40 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,316 +0,0 @@
-
-/*
- * Copyright 2003-2004 Sun Microsystems, Inc.  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.  Sun designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
- */
-
-package sun.nio.cs.ext;
-
-
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetDecoder;
-import java.nio.charset.CharsetEncoder;
-import sun.nio.cs.StandardCharsets;
-import sun.nio.cs.SingleByteDecoder;
-import sun.nio.cs.SingleByteEncoder;
-import sun.nio.cs.HistoricallyNamedCharset;
-
-public class MacDingbat
-    extends Charset
-    implements HistoricallyNamedCharset
-{
-
-    public MacDingbat() {
-        super("x-MacDingbat", ExtendedCharsets.aliasesFor("x-MacDingbat"));
-    }
-
-    public String historicalName() {
-        return "MacDingbat";
-    }
-
-    public boolean contains(Charset cs) {
-        return (cs instanceof MacDingbat);
-    }
-
-    public CharsetDecoder newDecoder() {
-        return new Decoder(this);
-    }
-
-    public CharsetEncoder newEncoder() {
-        return new Encoder(this);
-    }
-
-
-    /**
-     * These accessors are temporarily supplied while sun.io
-     * converters co-exist with the sun.nio.cs.{ext} charset coders
-     * These facilitate sharing of conversion tables between the
-     * two co-existing implementations. When sun.io converters
-     * are made extinct these will be unncessary and should be removed
-     */
-
-    public String getDecoderSingleByteMappings() {
-        return Decoder.byteToCharTable;
-
-    }
-
-    public short[] getEncoderIndex1() {
-        return Encoder.index1;
-
-    }
-    public String getEncoderIndex2() {
-        return Encoder.index2;
-
-    }
-
-    private static class Decoder extends SingleByteDecoder {
-            public Decoder(Charset cs) {
-                super(cs, byteToCharTable);
-        }
-
-        private final static String byteToCharTable =
-
-            "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" +        // 0x80 - 0x87
-            "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" +        // 0x88 - 0x8F
-            "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" +        // 0x90 - 0x97
-            "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" +        // 0x98 - 0x9F
-            "\uFFFD\u2761\u2762\u2763\u2764\u2765\u2766\u2767" +        // 0xA0 - 0xA7
-            "\u2663\u2666\u2665\u2660\u2460\u2461\u2462\u2463" +        // 0xA8 - 0xAF
-            "\u2464\u2465\u2466\u2467\u2468\u2469\u2776\u2777" +        // 0xB0 - 0xB7
-            "\u2778\u2779\u277A\u277B\u277C\u277D\u277E\u277F" +        // 0xB8 - 0xBF
-            "\u2780\u2781\u2782\u2783\u2784\u2785\u2786\u2787" +        // 0xC0 - 0xC7
-            "\u2788\u2789\u278A\u278B\u278C\u278D\u278E\u278F" +        // 0xC8 - 0xCF
-            "\u2790\u2791\u2792\u2793\u2794\u2192\u2194\u2195" +        // 0xD0 - 0xD7
-            "\u2798\u2799\u279A\u279B\u279C\u279D\u279E\u279F" +        // 0xD8 - 0xDF
-            "\u27A0\u27A1\u27A2\u27A3\u27A4\u27A5\u27A6\u27A7" +        // 0xE0 - 0xE7
-            "\u27A8\u27A9\u27AA\u27AB\u27AC\u27AD\u27AE\u27AF" +        // 0xE8 - 0xEF
-            "\uFFFD\u27B1\u27B2\u27B3\u27B4\u27B5\u27B6\u27B7" +        // 0xF0 - 0xF7
-            "\u27B8\u27B9\u27BA\u27BB\u27BC\u27BD\u27BE\uFFFD" +        // 0xF8 - 0xFF
-            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +        // 0x00 - 0x07
-            "\b\t\n\u000B\f\r\u000E\u000F" +    // 0x08 - 0x0F
-            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +        // 0x10 - 0x17
-            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +        // 0x18 - 0x1F
-            "\u0020\u2701\u2702\u2703\u2704\u260E\u2706\u2707" +        // 0x20 - 0x27
-            "\u2708\u2709\u261B\u261E\u270C\u270D\u270E\u270F" +        // 0x28 - 0x2F
-            "\u2710\u2711\u2712\u2713\u2714\u2715\u2716\u2717" +        // 0x30 - 0x37
-            "\u2718\u2719\u271A\u271B\u271C\u271D\u271E\u271F" +        // 0x38 - 0x3F
-            "\u2720\u2721\u2722\u2723\u2724\u2725\u2726\u2727" +        // 0x40 - 0x47
-            "\u2605\u2729\u272A\u272B\u272C\u272D\u272E\u272F" +        // 0x48 - 0x4F
-            "\u2730\u2731\u2732\u2733\u2734\u2735\u2736\u2737" +        // 0x50 - 0x57
-            "\u2738\u2739\u273A\u273B\u273C\u273D\u273E\u273F" +        // 0x58 - 0x5F
-            "\u2740\u2741\u2742\u2743\u2744\u2745\u2746\u2747" +        // 0x60 - 0x67
-            "\u2748\u2749\u274A\u274B\u25CF\u274D\u25A0\u274F" +        // 0x68 - 0x6F
-            "\u2750\u2751\u2752\u25B2\u25BC\u25C6\u2756\u25D7" +        // 0x70 - 0x77
-            "\u2758\u2759\u275A\u275B\u275C\u275D\u275E\u007F";         // 0x78 - 0x7F
-
-    }
-
-    private static class Encoder extends SingleByteEncoder {
-            public Encoder(Charset cs) {
-                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
-            }
-
-            private final static String index2 =
-
-
-            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
-            "\b\t\n\u000B\f\r\u000E\u000F" +
-            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
-            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
-            "\u0020\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u007F" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00D5\u0000\u00D6\u00D7\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u00AC\u00AD" +
-            "\u00AE\u00AF\u00B0\u00B1\u00B2\u00B3\u00B4\u00B5" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u006E\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0073\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0074\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0075\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u006C" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0077" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0048\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0025\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u002A\u0000" +
-            "\u0000\u002B\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u00AB\u0000\u0000\u00A8\u0000" +
-            "\u00AA\u00A9\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0021\"\u0023\u0024\u0000" +
-            "\u0026\'\u0028\u0029\u0000\u0000\u002C\u002D" +
-            "\u002E\u002F\u0030\u0031\u0032\u0033\u0034\u0035" +
-            "\u0036\u0037\u0038\u0039\u003A\u003B\u003C\u003D" +
-            "\u003E\u003F\u0040\u0041\u0042\u0043\u0044\u0045" +
-            "\u0046\u0047\u0000\u0049\u004A\u004B\u004C\u004D" +
-            "\u004E\u004F\u0050\u0051\u0052\u0053\u0054\u0055" +
-            "\u0056\u0057\u0058\u0059\u005A\u005B\\\u005D" +
-            "\u005E\u005F\u0060\u0061\u0062\u0063\u0064\u0065" +
-            "\u0066\u0067\u0068\u0069\u006A\u006B\u0000\u006D" +
-            "\u0000\u006F\u0070\u0071\u0072\u0000\u0000\u0000" +
-            "\u0076\u0000\u0078\u0079\u007A\u007B\u007C\u007D" +
-            "\u007E\u0000\u0000\u00A1\u00A2\u00A3\u00A4\u00A5" +
-            "\u00A6\u00A7\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00B6\u00B7\u00B8\u00B9\u00BA\u00BB\u00BC\u00BD" +
-            "\u00BE\u00BF\u00C0\u00C1\u00C2\u00C3\u00C4\u00C5" +
-            "\u00C6\u00C7\u00C8\u00C9\u00CA\u00CB\u00CC\u00CD" +
-            "\u00CE\u00CF\u00D0\u00D1\u00D2\u00D3\u00D4\u0000" +
-            "\u0000\u0000\u00D8\u00D9\u00DA\u00DB\u00DC\u00DD" +
-            "\u00DE\u00DF\u00E0\u00E1\u00E2\u00E3\u00E4\u00E5" +
-            "\u00E6\u00E7\u00E8\u00E9\u00EA\u00EB\u00EC\u00ED" +
-            "\u00EE\u00EF\u0000\u00F1\u00F2\u00F3\u00F4\u00F5" +
-            "\u00F6\u00F7\u00F8\u00F9\u00FA\u00FB\u00FC\u00FD" +
-            "\u00FE\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000";
-
-    private final static short index1[] = {
-            0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
-            128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
-            128, 238, 128, 128, 398, 504, 755, 1010, 128, 128, 128, 128, 128, 128, 128, 128,
-            128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
-            128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
-            128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
-            128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
-            128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
-            128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
-            128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
-            128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
-            128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
-            128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
-            128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
-            128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
-            128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128,
-
-        };
-    }
-}
--- a/jdk/src/share/classes/sun/nio/cs/ext/MacGreek.java	Wed Jul 05 16:44:40 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,327 +0,0 @@
-
-/*
- * Copyright 2003-2004 Sun Microsystems, Inc.  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.  Sun designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
- */
-
-package sun.nio.cs.ext;
-
-
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetDecoder;
-import java.nio.charset.CharsetEncoder;
-import sun.nio.cs.StandardCharsets;
-import sun.nio.cs.SingleByteDecoder;
-import sun.nio.cs.SingleByteEncoder;
-import sun.nio.cs.HistoricallyNamedCharset;
-
-public class MacGreek
-    extends Charset
-    implements HistoricallyNamedCharset
-{
-
-    public MacGreek() {
-        super("x-MacGreek", ExtendedCharsets.aliasesFor("x-MacGreek"));
-    }
-
-    public String historicalName() {
-        return "MacGreek";
-    }
-
-    public boolean contains(Charset cs) {
-        return (cs instanceof MacGreek);
-    }
-
-    public CharsetDecoder newDecoder() {
-        return new Decoder(this);
-    }
-
-    public CharsetEncoder newEncoder() {
-        return new Encoder(this);
-    }
-
-
-    /**
-     * These accessors are temporarily supplied while sun.io
-     * converters co-exist with the sun.nio.cs.{ext} charset coders
-     * These facilitate sharing of conversion tables between the
-     * two co-existing implementations. When sun.io converters
-     * are made extinct these will be unncessary and should be removed
-     */
-
-    public String getDecoderSingleByteMappings() {
-        return Decoder.byteToCharTable;
-
-    }
-
-    public short[] getEncoderIndex1() {
-        return Encoder.index1;
-
-    }
-    public String getEncoderIndex2() {
-        return Encoder.index2;
-
-    }
-
-    private static class Decoder extends SingleByteDecoder {
-            public Decoder(Charset cs) {
-                super(cs, byteToCharTable);
-        }
-
-        private final static String byteToCharTable =
-
-            "\u00C4\u00B9\u00B2\u00C9\u00B3\u00D6\u00DC\u0385" +        // 0x80 - 0x87
-            "\u00E0\u00E2\u00E4\u0384\u00A8\u00E7\u00E9\u00E8" +        // 0x88 - 0x8F
-            "\u00EA\u00EB\u00A3\u2122\u00EE\u00EF\u2022\u00BD" +        // 0x90 - 0x97
-            "\u2030\u00F4\u00F6\u00A6\u00AD\u00F9\u00FB\u00FC" +        // 0x98 - 0x9F
-            "\u2020\u0393\u0394\u0398\u039B\u039E\u03A0\u00DF" +        // 0xA0 - 0xA7
-            "\u00AE\u00A9\u03A3\u03AA\u00A7\u2260\u00B0\u0387" +        // 0xA8 - 0xAF
-            "\u0391\u00B1\u2264\u2265\u00A5\u0392\u0395\u0396" +        // 0xB0 - 0xB7
-            "\u0397\u0399\u039A\u039C\u03A6\u03AB\u03A8\u03A9" +        // 0xB8 - 0xBF
-            "\u03AC\u039D\u00AC\u039F\u03A1\u2248\u03A4\u00AB" +        // 0xC0 - 0xC7
-            "\u00BB\u2026\u00A0\u03A5\u03A7\u0386\u0388\u0153" +        // 0xC8 - 0xCF
-            "\u2013\u2015\u201C\u201D\u2018\u2019\u00F7\u0389" +        // 0xD0 - 0xD7
-            "\u038A\u038C\u038E\u03AD\u03AE\u03AF\u03CC\u038F" +        // 0xD8 - 0xDF
-            "\u03CD\u03B1\u03B2\u03C8\u03B4\u03B5\u03C6\u03B3" +        // 0xE0 - 0xE7
-            "\u03B7\u03B9\u03BE\u03BA\u03BB\u03BC\u03BD\u03BF" +        // 0xE8 - 0xEF
-            "\u03C0\u03CE\u03C1\u03C3\u03C4\u03B8\u03C9\u03C2" +        // 0xF0 - 0xF7
-            "\u03C7\u03C5\u03B6\u03CA\u03CB\u0390\u03B0\uFFFD" +        // 0xF8 - 0xFF
-            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +        // 0x00 - 0x07
-            "\b\t\n\u000B\f\r\u000E\u000F" +    // 0x08 - 0x0F
-            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +        // 0x10 - 0x17
-            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +        // 0x18 - 0x1F
-            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +        // 0x20 - 0x27
-            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +        // 0x28 - 0x2F
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +        // 0x30 - 0x37
-            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +        // 0x38 - 0x3F
-            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +        // 0x40 - 0x47
-            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +        // 0x48 - 0x4F
-            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +        // 0x50 - 0x57
-            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +    // 0x58 - 0x5F
-            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +        // 0x60 - 0x67
-            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +        // 0x68 - 0x6F
-            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +        // 0x70 - 0x77
-            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";         // 0x78 - 0x7F
-
-    }
-
-    private static class Encoder extends SingleByteEncoder {
-            public Encoder(Charset cs) {
-                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
-            }
-
-            private final static String index2 =
-
-
-            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
-            "\b\t\n\u000B\f\r\u000E\u000F" +
-            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
-            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
-            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
-            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
-            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
-            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
-            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
-            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
-            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
-            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
-            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
-            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
-            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00CA\u0000\u0000\u0092\u0000\u00B4\u009B\u00AC" +
-            "\u008C\u00A9\u0000\u00C7\u00C2\u009C\u00A8\u0000" +
-            "\u00AE\u00B1\u0082\u0084\u0000\u0000\u0000\u0000" +
-            "\u0000\u0081\u0000\u00C8\u0000\u0097\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0080\u0000\u0000\u0000" +
-            "\u0000\u0083\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0085\u0000" +
-            "\u0000\u0000\u0000\u0000\u0086\u0000\u0000\u00A7" +
-            "\u0088\u0000\u0089\u0000\u008A\u0000\u0000\u008D" +
-            "\u008F\u008E\u0090\u0091\u0000\u0000\u0094\u0095" +
-            "\u0000\u0000\u0000\u0000\u0099\u0000\u009A\u00D6" +
-            "\u0000\u009D\u0000\u009E\u009F\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00CF\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u008B\u0087\u00CD\u00AF\u00CE\u00D7\u00D8" +
-            "\u0000\u00D9\u0000\u00DA\u00DF\u00FD\u00B0\u00B5" +
-            "\u00A1\u00A2\u00B6\u00B7\u00B8\u00A3\u00B9\u00BA" +
-            "\u00A4\u00BB\u00C1\u00A5\u00C3\u00A6\u00C4\u0000" +
-            "\u00AA\u00C6\u00CB\u00BC\u00CC\u00BE\u00BF\u00AB" +
-            "\u00BD\u00C0\u00DB\u00DC\u00DD\u00FE\u00E1\u00E2" +
-            "\u00E7\u00E4\u00E5\u00FA\u00E8\u00F5\u00E9\u00EB" +
-            "\u00EC\u00ED\u00EE\u00EA\u00EF\u00F0\u00F2\u00F7" +
-            "\u00F3\u00F4\u00F9\u00E6\u00F8\u00E3\u00F6\u00FB" +
-            "\u00FC\u00DE\u00E0\u00F1\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u00D0\u0000\u00D1" +
-            "\u0000\u0000\u00D4\u00D5\u0000\u0000\u00D2\u00D3" +
-            "\u0000\u0000\u00A0\u0000\u0096\u0000\u0000\u0000" +
-            "\u00C9\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0098\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0093\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00C5\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00AD\u0000\u0000\u0000\u00B2\u00B3\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000";
-
-    private final static short index1[] = {
-            0, 253, 337, 461, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
-            337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
-            698, 920, 1104, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
-            337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
-            337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
-            337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
-            337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
-            337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
-            337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
-            337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
-            337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
-            337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
-            337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
-            337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
-            337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
-            337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337, 337,
-
-        };
-    }
-}
--- a/jdk/src/share/classes/sun/nio/cs/ext/MacHebrew.java	Wed Jul 05 16:44:40 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,289 +0,0 @@
-
-/*
- * Copyright 2003-2004 Sun Microsystems, Inc.  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.  Sun designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
- */
-
-package sun.nio.cs.ext;
-
-
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetDecoder;
-import java.nio.charset.CharsetEncoder;
-import sun.nio.cs.StandardCharsets;
-import sun.nio.cs.SingleByteDecoder;
-import sun.nio.cs.SingleByteEncoder;
-import sun.nio.cs.HistoricallyNamedCharset;
-
-public class MacHebrew
-    extends Charset
-    implements HistoricallyNamedCharset
-{
-
-    public MacHebrew() {
-        super("x-MacHebrew", ExtendedCharsets.aliasesFor("x-MacHebrew"));
-    }
-
-    public String historicalName() {
-        return "MacHebrew";
-    }
-
-    public boolean contains(Charset cs) {
-        return (cs instanceof MacHebrew);
-    }
-
-    public CharsetDecoder newDecoder() {
-        return new Decoder(this);
-    }
-
-    public CharsetEncoder newEncoder() {
-        return new Encoder(this);
-    }
-
-
-    /**
-     * These accessors are temporarily supplied while sun.io
-     * converters co-exist with the sun.nio.cs.{ext} charset coders
-     * These facilitate sharing of conversion tables between the
-     * two co-existing implementations. When sun.io converters
-     * are made extinct these will be unncessary and should be removed
-     */
-
-    public String getDecoderSingleByteMappings() {
-        return Decoder.byteToCharTable;
-
-    }
-
-    public short[] getEncoderIndex1() {
-        return Encoder.index1;
-
-    }
-    public String getEncoderIndex2() {
-        return Encoder.index2;
-
-    }
-
-    private static class Decoder extends SingleByteDecoder {
-            public Decoder(Charset cs) {
-                super(cs, byteToCharTable);
-        }
-
-        private final static String byteToCharTable =
-
-            "\u00C4\uFB1F\u00C7\u00C9\u00D1\u00D6\u00DC\u00E1" +        // 0x80 - 0x87
-            "\u00E0\u00E2\u00E4\u00E3\u00E5\u00E7\u00E9\u00E8" +        // 0x88 - 0x8F
-            "\u00EA\u00EB\u00ED\u00EC\u00EE\u00EF\u00F1\u00F3" +        // 0x90 - 0x97
-            "\u00F2\u00F4\u00F6\u00F5\u00FA\u00F9\u00FB\u00FC" +        // 0x98 - 0x9F
-            "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u20AA\uFFFD" +        // 0xA0 - 0xA7
-            "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" +        // 0xA8 - 0xAF
-            "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" +        // 0xB0 - 0xB7
-            "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" +        // 0xB8 - 0xBF
-            "\uFFFD\u201E\uFFFD\uFFFD\uFFFD\uFFFD\u05BC\uFB4B" +        // 0xC0 - 0xC7
-            "\uFB35\u2026\u00A0\u05B8\u05B7\u05B5\u05B6\u05B4" +        // 0xC8 - 0xCF
-            "\u2013\u2014\u201C\u201D\u2018\u2019\uFB2A\uFB2B" +        // 0xD0 - 0xD7
-            "\u05BF\u05B0\u05B2\u05B1\u05BB\u05B9\uFFFD\u05B3" +        // 0xD8 - 0xDF
-            "\u05D0\u05D1\u05D2\u05D3\u05D4\u05D5\u05D6\u05D7" +        // 0xE0 - 0xE7
-            "\u05D8\u05D9\u05DA\u05DB\u05DC\u05DD\u05DE\u05DF" +        // 0xE8 - 0xEF
-            "\u05E0\u05E1\u05E2\u05E3\u05E4\u05E5\u05E6\u05E7" +        // 0xF0 - 0xF7
-            "\u05E8\u05E9\u05EA\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" +        // 0xF8 - 0xFF
-            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +        // 0x00 - 0x07
-            "\b\t\n\u000B\f\r\u000E\u000F" +    // 0x08 - 0x0F
-            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +        // 0x10 - 0x17
-            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +        // 0x18 - 0x1F
-            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +        // 0x20 - 0x27
-            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +        // 0x28 - 0x2F
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +        // 0x30 - 0x37
-            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +        // 0x38 - 0x3F
-            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +        // 0x40 - 0x47
-            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +        // 0x48 - 0x4F
-            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +        // 0x50 - 0x57
-            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +    // 0x58 - 0x5F
-            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +        // 0x60 - 0x67
-            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +        // 0x68 - 0x6F
-            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +        // 0x70 - 0x77
-            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";         // 0x78 - 0x7F
-
-    }
-
-    private static class Encoder extends SingleByteEncoder {
-            public Encoder(Charset cs) {
-                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
-            }
-
-            private final static String index2 =
-
-
-            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
-            "\b\t\n\u000B\f\r\u000E\u000F" +
-            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
-            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
-            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
-            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
-            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
-            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
-            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
-            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
-            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
-            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
-            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
-            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
-            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00CA\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0080\u0000\u0000\u0082" +
-            "\u0000\u0083\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0084\u0000\u0000\u0000\u0000\u0085\u0000" +
-            "\u0000\u0000\u0000\u0000\u0086\u0000\u0000\u0000" +
-            "\u0088\u0087\u0089\u008B\u008A\u008C\u0000\u008D" +
-            "\u008F\u008E\u0090\u0091\u0093\u0092\u0094\u0095" +
-            "\u0000\u0096\u0098\u0097\u0099\u009B\u009A\u0000" +
-            "\u0000\u009D\u009C\u009E\u009F\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u00D9\u00DB\u00DA" +
-            "\u00DF\u00CF\u00CD\u00CE\u00CC\u00CB\u00DD\u0000" +
-            "\u00DC\u00C6\u0000\u0000\u00D8\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u00E0\u00E1\u00E2" +
-            "\u00E3\u00E4\u00E5\u00E6\u00E7\u00E8\u00E9\u00EA" +
-            "\u00EB\u00EC\u00ED\u00EE\u00EF\u00F0\u00F1\u00F2" +
-            "\u00F3\u00F4\u00F5\u00F6\u00F7\u00F8\u00F9\u00FA" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u00D0\u00D1\u0000" +
-            "\u0000\u0000\u00D4\u00D5\u0000\u0000\u00D2\u00D3" +
-            "\u00C1\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00C9\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u00A6\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0081\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u00D6\u00D7\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00C8\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u00C7\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000";
-
-    private final static short index1[] = {
-            0, 253, 253, 253, 253, 333, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
-            253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
-            570, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
-            253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
-            253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
-            253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
-            253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
-            253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
-            253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
-            253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
-            253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
-            253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
-            253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
-            253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
-            253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
-            253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, 795, 253, 253, 253, 253,
-
-        };
-    }
-}
--- a/jdk/src/share/classes/sun/nio/cs/ext/MacIceland.java	Wed Jul 05 16:44:40 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,402 +0,0 @@
-
-/*
- * Copyright 2003-2004 Sun Microsystems, Inc.  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.  Sun designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
- */
-
-package sun.nio.cs.ext;
-
-
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetDecoder;
-import java.nio.charset.CharsetEncoder;
-import sun.nio.cs.StandardCharsets;
-import sun.nio.cs.SingleByteDecoder;
-import sun.nio.cs.SingleByteEncoder;
-import sun.nio.cs.HistoricallyNamedCharset;
-
-public class MacIceland
-    extends Charset
-    implements HistoricallyNamedCharset
-{
-
-    public MacIceland() {
-        super("x-MacIceland", ExtendedCharsets.aliasesFor("x-MacIceland"));
-    }
-
-    public String historicalName() {
-        return "MacIceland";
-    }
-
-    public boolean contains(Charset cs) {
-        return (cs instanceof MacIceland);
-    }
-
-    public CharsetDecoder newDecoder() {
-        return new Decoder(this);
-    }
-
-    public CharsetEncoder newEncoder() {
-        return new Encoder(this);
-    }
-
-
-    /**
-     * These accessors are temporarily supplied while sun.io
-     * converters co-exist with the sun.nio.cs.{ext} charset coders
-     * These facilitate sharing of conversion tables between the
-     * two co-existing implementations. When sun.io converters
-     * are made extinct these will be unncessary and should be removed
-     */
-
-    public String getDecoderSingleByteMappings() {
-        return Decoder.byteToCharTable;
-
-    }
-
-    public short[] getEncoderIndex1() {
-        return Encoder.index1;
-
-    }
-    public String getEncoderIndex2() {
-        return Encoder.index2;
-
-    }
-
-    private static class Decoder extends SingleByteDecoder {
-            public Decoder(Charset cs) {
-                super(cs, byteToCharTable);
-        }
-
-        private final static String byteToCharTable =
-
-            "\u00C4\u00C5\u00C7\u00C9\u00D1\u00D6\u00DC\u00E1" +        // 0x80 - 0x87
-            "\u00E0\u00E2\u00E4\u00E3\u00E5\u00E7\u00E9\u00E8" +        // 0x88 - 0x8F
-            "\u00EA\u00EB\u00ED\u00EC\u00EE\u00EF\u00F1\u00F3" +        // 0x90 - 0x97
-            "\u00F2\u00F4\u00F6\u00F5\u00FA\u00F9\u00FB\u00FC" +        // 0x98 - 0x9F
-            "\u00DD\u00B0\u00A2\u00A3\u00A7\u2022\u00B6\u00DF" +        // 0xA0 - 0xA7
-            "\u00AE\u00A9\u2122\u00B4\u00A8\u2260\u00C6\u00D8" +        // 0xA8 - 0xAF
-            "\u221E\u00B1\u2264\u2265\u00A5\u00B5\u2202\u2211" +        // 0xB0 - 0xB7
-            "\u220F\u03C0\u222B\u00AA\u00BA\u2126\u00E6\u00F8" +        // 0xB8 - 0xBF
-            "\u00BF\u00A1\u00AC\u221A\u0192\u2248\u2206\u00AB" +        // 0xC0 - 0xC7
-            "\u00BB\u2026\u00A0\u00C0\u00C3\u00D5\u0152\u0153" +        // 0xC8 - 0xCF
-            "\u2013\u2014\u201C\u201D\u2018\u2019\u00F7\u25CA" +        // 0xD0 - 0xD7
-            "\u00FF\u0178\u2044\u00A4\u00D0\u00F0\u00DE\u00FE" +        // 0xD8 - 0xDF
-            "\u00FD\u00B7\u201A\u201E\u2030\u00C2\u00CA\u00C1" +        // 0xE0 - 0xE7
-            "\u00CB\u00C8\u00CD\u00CE\u00CF\u00CC\u00D3\u00D4" +        // 0xE8 - 0xEF
-            "\uF8FF\u00D2\u00DA\u00DB\u00D9\u0131\u02C6\u02DC" +        // 0xF0 - 0xF7
-            "\u00AF\u02D8\u02D9\u02DA\u00B8\u02DD\u02DB\u02C7" +        // 0xF8 - 0xFF
-            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +        // 0x00 - 0x07
-            "\b\t\n\u000B\f\r\u000E\u000F" +    // 0x08 - 0x0F
-            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +        // 0x10 - 0x17
-            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +        // 0x18 - 0x1F
-            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +        // 0x20 - 0x27
-            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +        // 0x28 - 0x2F
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +        // 0x30 - 0x37
-            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +        // 0x38 - 0x3F
-            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +        // 0x40 - 0x47
-            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +        // 0x48 - 0x4F
-            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +        // 0x50 - 0x57
-            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +    // 0x58 - 0x5F
-            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +        // 0x60 - 0x67
-            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +        // 0x68 - 0x6F
-            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +        // 0x70 - 0x77
-            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";         // 0x78 - 0x7F
-
-    }
-
-    private static class Encoder extends SingleByteEncoder {
-            public Encoder(Charset cs) {
-                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
-            }
-
-            private final static String index2 =
-
-
-            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
-            "\b\t\n\u000B\f\r\u000E\u000F" +
-            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
-            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
-            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
-            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
-            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
-            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
-            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
-            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
-            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
-            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
-            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
-            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
-            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00CA\u00C1\u00A2\u00A3\u00DB\u00B4\u0000\u00A4" +
-            "\u00AC\u00A9\u00BB\u00C7\u00C2\u0000\u00A8\u00F8" +
-            "\u00A1\u00B1\u0000\u0000\u00AB\u00B5\u00A6\u00E1" +
-            "\u00FC\u0000\u00BC\u00C8\u0000\u0000\u0000\u00C0" +
-            "\u00CB\u00E7\u00E5\u00CC\u0080\u0081\u00AE\u0082" +
-            "\u00E9\u0083\u00E6\u00E8\u00ED\u00EA\u00EB\u00EC" +
-            "\u00DC\u0084\u00F1\u00EE\u00EF\u00CD\u0085\u0000" +
-            "\u00AF\u00F4\u00F2\u00F3\u0086\u00A0\u00DE\u00A7" +
-            "\u0088\u0087\u0089\u008B\u008A\u008C\u00BE\u008D" +
-            "\u008F\u008E\u0090\u0091\u0093\u0092\u0094\u0095" +
-            "\u00DD\u0096\u0098\u0097\u0099\u009B\u009A\u00D6" +
-            "\u00BF\u009D\u009C\u009E\u009F\u00E0\u00DF\u00D8" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u00F5\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u00CE\u00CF\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00D9\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u00C4\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u00F6\u00FF\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u00F9\u00FA\u00FB" +
-            "\u00FE\u00F7\u00FD\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u00B9\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u00D0\u00D1\u0000\u0000\u0000" +
-            "\u00D4\u00D5\u00E2\u0000\u00D2\u00D3\u00E3\u0000" +
-            "\u0000\u0000\u00A5\u0000\u0000\u0000\u00C9\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00E4\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u00DA\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00AA\u0000\u0000\u0000\u00BD\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u00B6\u0000" +
-            "\u0000\u0000\u00C6\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u00B8\u0000\u00B7\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u00C3\u0000" +
-            "\u0000\u0000\u00B0\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00BA" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u00C5\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u00AD\u0000\u0000\u0000" +
-            "\u00B2\u00B3\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u00D7\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u00F0";
-
-    private final static short index1[] = {
-            0, 256, 461, 683, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            920, 1142, 1396, 403, 403, 1498, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 1701, 403, 403, 403, 403, 403, 403, 403,
-
-        };
-    }
-}
--- a/jdk/src/share/classes/sun/nio/cs/ext/MacRoman.java	Wed Jul 05 16:44:40 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,434 +0,0 @@
-
-/*
- * Copyright 2003-2004 Sun Microsystems, Inc.  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.  Sun designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
- */
-
-package sun.nio.cs.ext;
-
-
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetDecoder;
-import java.nio.charset.CharsetEncoder;
-import sun.nio.cs.StandardCharsets;
-import sun.nio.cs.SingleByteDecoder;
-import sun.nio.cs.SingleByteEncoder;
-import sun.nio.cs.HistoricallyNamedCharset;
-
-public class MacRoman
-    extends Charset
-    implements HistoricallyNamedCharset
-{
-
-    public MacRoman() {
-        super("x-MacRoman", ExtendedCharsets.aliasesFor("x-MacRoman"));
-    }
-
-    public String historicalName() {
-        return "MacRoman";
-    }
-
-    public boolean contains(Charset cs) {
-        return (cs instanceof MacRoman);
-    }
-
-    public CharsetDecoder newDecoder() {
-        return new Decoder(this);
-    }
-
-    public CharsetEncoder newEncoder() {
-        return new Encoder(this);
-    }
-
-
-    /**
-     * These accessors are temporarily supplied while sun.io
-     * converters co-exist with the sun.nio.cs.{ext} charset coders
-     * These facilitate sharing of conversion tables between the
-     * two co-existing implementations. When sun.io converters
-     * are made extinct these will be unncessary and should be removed
-     */
-
-    public String getDecoderSingleByteMappings() {
-        return Decoder.byteToCharTable;
-
-    }
-
-    public short[] getEncoderIndex1() {
-        return Encoder.index1;
-
-    }
-    public String getEncoderIndex2() {
-        return Encoder.index2;
-
-    }
-
-    private static class Decoder extends SingleByteDecoder {
-            public Decoder(Charset cs) {
-                super(cs, byteToCharTable);
-        }
-
-        private final static String byteToCharTable =
-
-            "\u00C4\u00C5\u00C7\u00C9\u00D1\u00D6\u00DC\u00E1" +     // 0x80 - 0x87
-            "\u00E0\u00E2\u00E4\u00E3\u00E5\u00E7\u00E9\u00E8" +     // 0x88 - 0x8F
-            "\u00EA\u00EB\u00ED\u00EC\u00EE\u00EF\u00F1\u00F3" +     // 0x90 - 0x97
-            "\u00F2\u00F4\u00F6\u00F5\u00FA\u00F9\u00FB\u00FC" +     // 0x98 - 0x9F
-            "\u2020\u00B0\u00A2\u00A3\u00A7\u2022\u00B6\u00DF" +     // 0xA0 - 0xA7
-            "\u00AE\u00A9\u2122\u00B4\u00A8\u2260\u00C6\u00D8" +     // 0xA8 - 0xAF
-            "\u221E\u00B1\u2264\u2265\u00A5\u00B5\u2202\u2211" +     // 0xB0 - 0xB7
-            "\u220F\u03C0\u222B\u00AA\u00BA\u03A9\u00E6\u00F8" +     // 0xB8 - 0xBF
-            "\u00BF\u00A1\u00AC\u221A\u0192\u2248\u2206\u00AB" +     // 0xC0 - 0xC7
-            "\u00BB\u2026\u00A0\u00C0\u00C3\u00D5\u0152\u0153" +     // 0xC8 - 0xCF
-            "\u2013\u2014\u201C\u201D\u2018\u2019\u00F7\u25CA" +     // 0xD0 - 0xD7
-            "\u00FF\u0178\u2044\u20AC\u2039\u203A\uFB01\uFB02" +     // 0xD8 - 0xDF
-            "\u2021\u00B7\u201A\u201E\u2030\u00C2\u00CA\u00C1" +     // 0xE0 - 0xE7
-            "\u00CB\u00C8\u00CD\u00CE\u00CF\u00CC\u00D3\u00D4" +     // 0xE8 - 0xEF
-            "\uF8FF\u00D2\u00DA\u00DB\u00D9\u0131\u02C6\u02DC" +     // 0xF0 - 0xF7
-            "\u00AF\u02D8\u02D9\u02DA\u00B8\u02DD\u02DB\u02C7" +     // 0xF8 - 0xFF
-            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +     // 0x00 - 0x07
-            "\b\t\n\u000B\f\r\u000E\u000F" +     // 0x08 - 0x0F
-            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +     // 0x10 - 0x17
-            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +     // 0x18 - 0x1F
-            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +     // 0x20 - 0x27
-            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +     // 0x28 - 0x2F
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +     // 0x30 - 0x37
-            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +     // 0x38 - 0x3F
-            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +     // 0x40 - 0x47
-            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +     // 0x48 - 0x4F
-            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +     // 0x50 - 0x57
-            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +     // 0x58 - 0x5F
-            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +     // 0x60 - 0x67
-            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +     // 0x68 - 0x6F
-            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +     // 0x70 - 0x77
-            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";     // 0x78 - 0x7F
-
-    }
-
-    private static class Encoder extends SingleByteEncoder {
-            public Encoder(Charset cs) {
-                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
-            }
-
-            private final static String index2 =
-
-
-            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
-            "\b\t\n\u000B\f\r\u000E\u000F" +
-            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
-            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
-            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
-            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
-            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
-            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
-            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
-            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
-            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
-            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
-            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
-            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
-            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00CA\u00C1\u00A2\u00A3\u0000\u00B4\u0000\u00A4" +
-            "\u00AC\u00A9\u00BB\u00C7\u00C2\u0000\u00A8\u00F8" +
-            "\u00A1\u00B1\u0000\u0000\u00AB\u00B5\u00A6\u00E1" +
-            "\u00FC\u0000\u00BC\u00C8\u0000\u0000\u0000\u00C0" +
-            "\u00CB\u00E7\u00E5\u00CC\u0080\u0081\u00AE\u0082" +
-            "\u00E9\u0083\u00E6\u00E8\u00ED\u00EA\u00EB\u00EC" +
-            "\u0000\u0084\u00F1\u00EE\u00EF\u00CD\u0085\u0000" +
-            "\u00AF\u00F4\u00F2\u00F3\u0086\u0000\u0000\u00A7" +
-            "\u0088\u0087\u0089\u008B\u008A\u008C\u00BE\u008D" +
-            "\u008F\u008E\u0090\u0091\u0093\u0092\u0094\u0095" +
-            "\u0000\u0096\u0098\u0097\u0099\u009B\u009A\u00D6" +
-            "\u00BF\u009D\u009C\u009E\u009F\u0000\u0000\u00D8" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u00F5\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u00CE\u00CF\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00D9\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u00C4\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u00F6\u00FF\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u00F9\u00FA\u00FB" +
-            "\u00FE\u00F7\u00FD\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u00BD\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u00B9\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u00D0\u00D1\u0000\u0000\u0000" +
-            "\u00D4\u00D5\u00E2\u0000\u00D2\u00D3\u00E3\u0000" +
-            "\u00A0\u00E0\u00A5\u0000\u0000\u0000\u00C9\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00E4\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u00DC\u00DD\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u00DA\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u00DB\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00AA\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u00B6\u0000" +
-            "\u0000\u0000\u00C6\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u00B8\u0000\u00B7\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u00C3\u0000" +
-            "\u0000\u0000\u00B0\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00BA" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u00C5\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u00AD\u0000\u0000\u0000" +
-            "\u00B2\u00B3\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u00D7\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u00F0\u0000\u00DE\u00DF" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000";
-
-    private final static short index1[] = {
-            0, 256, 461, 683, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            920, 1142, 1396, 403, 403, 1498, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 1701, 403, 403, 1957, 403, 403, 403, 403,
-
-        };
-    }
-}
--- a/jdk/src/share/classes/sun/nio/cs/ext/MacRomania.java	Wed Jul 05 16:44:40 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,402 +0,0 @@
-
-/*
- * Copyright 2003-2004 Sun Microsystems, Inc.  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.  Sun designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
- */
-
-package sun.nio.cs.ext;
-
-
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetDecoder;
-import java.nio.charset.CharsetEncoder;
-import sun.nio.cs.StandardCharsets;
-import sun.nio.cs.SingleByteDecoder;
-import sun.nio.cs.SingleByteEncoder;
-import sun.nio.cs.HistoricallyNamedCharset;
-
-public class MacRomania
-    extends Charset
-    implements HistoricallyNamedCharset
-{
-
-    public MacRomania() {
-        super("x-MacRomania", ExtendedCharsets.aliasesFor("x-MacRomania"));
-    }
-
-    public String historicalName() {
-        return "MacRomania";
-    }
-
-    public boolean contains(Charset cs) {
-        return (cs instanceof MacRomania);
-    }
-
-    public CharsetDecoder newDecoder() {
-        return new Decoder(this);
-    }
-
-    public CharsetEncoder newEncoder() {
-        return new Encoder(this);
-    }
-
-
-    /**
-     * These accessors are temporarily supplied while sun.io
-     * converters co-exist with the sun.nio.cs.{ext} charset coders
-     * These facilitate sharing of conversion tables between the
-     * two co-existing implementations. When sun.io converters
-     * are made extinct these will be unncessary and should be removed
-     */
-
-    public String getDecoderSingleByteMappings() {
-        return Decoder.byteToCharTable;
-
-    }
-
-    public short[] getEncoderIndex1() {
-        return Encoder.index1;
-
-    }
-    public String getEncoderIndex2() {
-        return Encoder.index2;
-
-    }
-
-    private static class Decoder extends SingleByteDecoder {
-            public Decoder(Charset cs) {
-                super(cs, byteToCharTable);
-        }
-
-        private final static String byteToCharTable =
-
-            "\u00C4\u00C5\u00C7\u00C9\u00D1\u00D6\u00DC\u00E1" +        // 0x80 - 0x87
-            "\u00E0\u00E2\u00E4\u00E3\u00E5\u00E7\u00E9\u00E8" +        // 0x88 - 0x8F
-            "\u00EA\u00EB\u00ED\u00EC\u00EE\u00EF\u00F1\u00F3" +        // 0x90 - 0x97
-            "\u00F2\u00F4\u00F6\u00F5\u00FA\u00F9\u00FB\u00FC" +        // 0x98 - 0x9F
-            "\u2020\u00B0\u00A2\u00A3\u00A7\u2022\u00B6\u00DF" +        // 0xA0 - 0xA7
-            "\u00AE\u00A9\u2122\u00B4\u00A8\u2260\u0102\u015E" +        // 0xA8 - 0xAF
-            "\u221E\u00B1\u2264\u2265\u00A5\u00B5\u2202\u2211" +        // 0xB0 - 0xB7
-            "\u220F\u03C0\u222B\u00AA\u00BA\u2126\u0103\u015F" +        // 0xB8 - 0xBF
-            "\u00BF\u00A1\u00AC\u221A\u0192\u2248\u2206\u00AB" +        // 0xC0 - 0xC7
-            "\u00BB\u2026\u00A0\u00C0\u00C3\u00D5\u0152\u0153" +        // 0xC8 - 0xCF
-            "\u2013\u2014\u201C\u201D\u2018\u2019\u00F7\u25CA" +        // 0xD0 - 0xD7
-            "\u00FF\u0178\u2044\u00A4\u2039\u203A\u0162\u0163" +        // 0xD8 - 0xDF
-            "\u2021\u00B7\u201A\u201E\u2030\u00C2\u00CA\u00C1" +        // 0xE0 - 0xE7
-            "\u00CB\u00C8\u00CD\u00CE\u00CF\u00CC\u00D3\u00D4" +        // 0xE8 - 0xEF
-            "\uF8FF\u00D2\u00DA\u00DB\u00D9\u0131\u02C6\u02DC" +        // 0xF0 - 0xF7
-            "\u00AF\u02D8\u02D9\u02DA\u00B8\u02DD\u02DB\u02C7" +        // 0xF8 - 0xFF
-            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +        // 0x00 - 0x07
-            "\b\t\n\u000B\f\r\u000E\u000F" +    // 0x08 - 0x0F
-            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +        // 0x10 - 0x17
-            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +        // 0x18 - 0x1F
-            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +        // 0x20 - 0x27
-            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +        // 0x28 - 0x2F
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +        // 0x30 - 0x37
-            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +        // 0x38 - 0x3F
-            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +        // 0x40 - 0x47
-            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +        // 0x48 - 0x4F
-            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +        // 0x50 - 0x57
-            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +    // 0x58 - 0x5F
-            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +        // 0x60 - 0x67
-            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +        // 0x68 - 0x6F
-            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +        // 0x70 - 0x77
-            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";         // 0x78 - 0x7F
-
-    }
-
-    private static class Encoder extends SingleByteEncoder {
-            public Encoder(Charset cs) {
-                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
-            }
-
-            private final static String index2 =
-
-
-            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
-            "\b\t\n\u000B\f\r\u000E\u000F" +
-            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
-            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
-            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
-            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
-            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
-            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
-            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
-            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
-            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
-            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
-            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
-            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
-            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00CA\u00C1\u00A2\u00A3\u00DB\u00B4\u0000\u00A4" +
-            "\u00AC\u00A9\u00BB\u00C7\u00C2\u0000\u00A8\u00F8" +
-            "\u00A1\u00B1\u0000\u0000\u00AB\u00B5\u00A6\u00E1" +
-            "\u00FC\u0000\u00BC\u00C8\u0000\u0000\u0000\u00C0" +
-            "\u00CB\u00E7\u00E5\u00CC\u0080\u0081\u0000\u0082" +
-            "\u00E9\u0083\u00E6\u00E8\u00ED\u00EA\u00EB\u00EC" +
-            "\u0000\u0084\u00F1\u00EE\u00EF\u00CD\u0085\u0000" +
-            "\u0000\u00F4\u00F2\u00F3\u0086\u0000\u0000\u00A7" +
-            "\u0088\u0087\u0089\u008B\u008A\u008C\u0000\u008D" +
-            "\u008F\u008E\u0090\u0091\u0093\u0092\u0094\u0095" +
-            "\u0000\u0096\u0098\u0097\u0099\u009B\u009A\u00D6" +
-            "\u0000\u009D\u009C\u009E\u009F\u0000\u0000\u00D8" +
-            "\u0000\u0000\u00AE\u00BE\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u00F5\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u00CE\u00CF\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u00AF\u00BF" +
-            "\u0000\u0000\u00DE\u00DF\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00D9\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u00C4\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u00F6\u00FF\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u00F9\u00FA\u00FB" +
-            "\u00FE\u00F7\u00FD\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u00B9\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u00D0\u00D1\u0000\u0000\u0000" +
-            "\u00D4\u00D5\u00E2\u0000\u00D2\u00D3\u00E3\u0000" +
-            "\u00A0\u00E0\u00A5\u0000\u0000\u0000\u00C9\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00E4\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u00DC\u00DD\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u00DA\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00AA\u0000\u0000\u0000\u00BD\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u00B6\u0000" +
-            "\u0000\u0000\u00C6\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u00B8\u0000\u00B7\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u00C3\u0000" +
-            "\u0000\u0000\u00B0\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00BA" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u00C5\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u00AD\u0000\u0000\u0000" +
-            "\u00B2\u00B3\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u00D7\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u00F0";
-
-    private final static short index1[] = {
-            0, 256, 461, 683, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            920, 1142, 1396, 403, 403, 1498, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 1701, 403, 403, 403, 403, 403, 403, 403,
-
-        };
-    }
-}
--- a/jdk/src/share/classes/sun/nio/cs/ext/MacSymbol.java	Wed Jul 05 16:44:40 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,425 +0,0 @@
-
-/*
- * Copyright 2003-2004 Sun Microsystems, Inc.  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.  Sun designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
- */
-
-package sun.nio.cs.ext;
-
-
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetDecoder;
-import java.nio.charset.CharsetEncoder;
-import sun.nio.cs.StandardCharsets;
-import sun.nio.cs.SingleByteDecoder;
-import sun.nio.cs.SingleByteEncoder;
-import sun.nio.cs.HistoricallyNamedCharset;
-
-public class MacSymbol
-    extends Charset
-    implements HistoricallyNamedCharset
-{
-
-    public MacSymbol() {
-        super("x-MacSymbol", ExtendedCharsets.aliasesFor("x-MacSymbol"));
-    }
-
-    public String historicalName() {
-        return "MacSymbol";
-    }
-
-    public boolean contains(Charset cs) {
-        return (cs instanceof MacSymbol);
-    }
-
-    public CharsetDecoder newDecoder() {
-        return new Decoder(this);
-    }
-
-    public CharsetEncoder newEncoder() {
-        return new Encoder(this);
-    }
-
-
-    /**
-     * These accessors are temporarily supplied while sun.io
-     * converters co-exist with the sun.nio.cs.{ext} charset coders
-     * These facilitate sharing of conversion tables between the
-     * two co-existing implementations. When sun.io converters
-     * are made extinct these will be unncessary and should be removed
-     */
-
-    public String getDecoderSingleByteMappings() {
-        return Decoder.byteToCharTable;
-
-    }
-
-    public short[] getEncoderIndex1() {
-        return Encoder.index1;
-
-    }
-    public String getEncoderIndex2() {
-        return Encoder.index2;
-
-    }
-
-    private static class Decoder extends SingleByteDecoder {
-            public Decoder(Charset cs) {
-                super(cs, byteToCharTable);
-        }
-
-        private final static String byteToCharTable =
-
-            "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" +     // 0x80 - 0x87
-            "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" +     // 0x88 - 0x8F
-            "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" +     // 0x90 - 0x97
-            "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" +     // 0x98 - 0x9F
-            "\u20AC\u03D2\u2032\u2264\u2044\u221E\u0192\u2663" +     // 0xA0 - 0xA7
-            "\u2666\u2665\u2660\u2194\u2190\u2191\u2192\u2193" +     // 0xA8 - 0xAF
-            "\u00B0\u00B1\u2033\u2265\u00D7\u221D\u2202\u2022" +     // 0xB0 - 0xB7
-            "\u00F7\u2260\u2261\u2248\u2026\uF8E6\uF8E7\u21B5" +     // 0xB8 - 0xBF
-            "\u2135\u2111\u211C\u2118\u2297\u2295\u2205\u2229" +     // 0xC0 - 0xC7
-            "\u222A\u2283\u2287\u2284\u2282\u2286\u2208\u2209" +     // 0xC8 - 0xCF
-            "\u2220\u2207\u00AE\u00A9\u2122\u220F\u221A\u22C5" +     // 0xD0 - 0xD7
-            "\u00AC\u2227\u2228\u21D4\u21D0\u21D1\u21D2\u21D3" +     // 0xD8 - 0xDF
-            "\u22C4\u3008\uFFFD\uFFFD\uFFFD\u2211\uFFFD\uFFFD" +     // 0xE0 - 0xE7
-            "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uF8F4" +     // 0xE8 - 0xEF
-            "\uF8FF\u3009\u222B\u2320\uFFFD\u2321\uFFFD\uFFFD" +     // 0xF0 - 0xF7
-            "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" +     // 0xF8 - 0xFF
-            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +     // 0x00 - 0x07
-            "\b\t\n\u000B\f\r\u000E\u000F" +     // 0x08 - 0x0F
-            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +     // 0x10 - 0x17
-            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +     // 0x18 - 0x1F
-            "\u0020\u0021\u2200\u0023\u2203\u0025\u0026\u220D" +     // 0x20 - 0x27
-            "\u0028\u0029\u2217\u002B\u002C\u2212\u002E\u002F" +     // 0x28 - 0x2F
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +     // 0x30 - 0x37
-            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +     // 0x38 - 0x3F
-            "\u2245\u0391\u0392\u03A7\u0394\u0395\u03A6\u0393" +     // 0x40 - 0x47
-            "\u0397\u0399\u03D1\u039A\u039B\u039C\u039D\u039F" +     // 0x48 - 0x4F
-            "\u03A0\u0398\u03A1\u03A3\u03A4\u03A5\u03C2\u03A9" +     // 0x50 - 0x57
-            "\u039E\u03A8\u0396\u005B\u2234\u005D\u22A5\u005F" +     // 0x58 - 0x5F
-            "\uF8E5\u03B1\u03B2\u03C7\u03B4\u03B5\u03C6\u03B3" +     // 0x60 - 0x67
-            "\u03B7\u03B9\u03D5\u03BA\u03BB\u03BC\u03BD\u03BF" +     // 0x68 - 0x6F
-            "\u03C0\u03B8\u03C1\u03C3\u03C4\u03C5\u03D6\u03C9" +     // 0x70 - 0x77
-            "\u03BE\u03C8\u03B6\u007B\u007C\u007D\u223C\u007F";     // 0x78 - 0x7F
-
-    }
-
-    private static class Encoder extends SingleByteEncoder {
-            public Encoder(Charset cs) {
-                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
-            }
-
-            private final static String index2 =
-
-
-            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
-            "\b\t\n\u000B\f\r\u000E\u000F" +
-            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
-            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
-            "\u0020\u0021\u0000\u0023\u0000\u0025\u0026\u0000" +
-            "\u0028\u0029\u0000\u002B\u002C\u0000\u002E\u002F" +
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
-            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u005B\u0000\u005D\u0000\u005F" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u007B\u007C\u007D\u0000\u007F" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u00D3\u0000\u0000\u00D8\u0000\u00D2\u0000" +
-            "\u00B0\u00B1\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00B4" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00B8" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u00A6\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0041\u0042\u0047\u0044\u0045" +
-            "\u005A\u0048\u0051\u0049\u004B\u004C\u004D\u004E" +
-            "\u0058\u004F\u0050\u0052\u0000\u0053\u0054\u0055" +
-            "\u0046\u0043\u0059\u0057\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0061\u0062\u0067\u0064\u0065" +
-            "\u007A\u0068\u0071\u0069\u006B\u006C\u006D\u006E" +
-            "\u0078\u006F\u0070\u0072\u0056\u0073\u0074\u0075" +
-            "\u0066\u0063\u0079\u0077\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u004A\u00A1\u0000\u0000\u006A" +
-            "\u0076\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u00B7\u0000\u0000\u0000\u00BC\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u00A2\u00B2\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u00A4\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u00A0\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00C1\u0000\u0000\u0000\u0000\u0000\u0000\u00C3" +
-            "\u0000\u0000\u0000\u00C2\u0000\u0000\u0000\u0000" +
-            "\u0000\u00D4\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u00C0\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00AC" +
-            "\u00AD\u00AE\u00AF\u00AB\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u00BF\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00DC" +
-            "\u00DD\u00DE\u00DF\u00DB\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\"" +
-            "\u0000\u00B6\u0024\u0000\u00C6\u0000\u00D1\u00CE" +
-            "\u00CF\u0000\u0000\u0000\'\u0000\u00D5\u0000" +
-            "\u00E5\u002D\u0000\u0000\u0000\u0000\u002A\u0000" +
-            "\u0000\u00D6\u0000\u0000\u00B5\u00A5\u0000\u00D0" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u00D9\u00DA" +
-            "\u00C7\u00C8\u00F2\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\\\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u007E\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0040\u0000\u0000\u00BB" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00B9" +
-            "\u00BA\u0000\u0000\u00A3\u00B3\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u00CC\u00C9\u00CB\u0000\u00CD\u00CA\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u00C5\u0000\u00C4\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u005E\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u00E0\u00D7\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00F3" +
-            "\u00F5\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00AA" +
-            "\u0000\u0000\u00A7\u0000\u00A9\u00A8\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00E1" +
-            "\u00F1\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0060" +
-            "\u00BD\u00BE\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u00EF\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u00F0";
-
-    private final static short index1[] = {
-            0, 248, 395, 506, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
-            395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
-            728, 967, 1223, 1447, 395, 395, 1607, 395, 395, 395, 395, 395, 395, 395, 395, 395,
-            1855, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
-            395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
-            395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
-            395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
-            395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
-            395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
-            395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
-            395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
-            395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
-            395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
-            395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
-            395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
-            395, 395, 395, 395, 395, 395, 395, 395, 1882, 395, 395, 395, 395, 395, 395, 395,
-
-        };
-    }
-}
--- a/jdk/src/share/classes/sun/nio/cs/ext/MacThai.java	Wed Jul 05 16:44:40 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,338 +0,0 @@
-
-/*
- * Copyright 2003-2004 Sun Microsystems, Inc.  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.  Sun designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
- */
-
-package sun.nio.cs.ext;
-
-
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetDecoder;
-import java.nio.charset.CharsetEncoder;
-import sun.nio.cs.StandardCharsets;
-import sun.nio.cs.SingleByteDecoder;
-import sun.nio.cs.SingleByteEncoder;
-import sun.nio.cs.HistoricallyNamedCharset;
-
-public class MacThai
-    extends Charset
-    implements HistoricallyNamedCharset
-{
-
-    public MacThai() {
-        super("x-MacThai", ExtendedCharsets.aliasesFor("x-MacThai"));
-    }
-
-    public String historicalName() {
-        return "MacThai";
-    }
-
-    public boolean contains(Charset cs) {
-        return (cs instanceof MacThai);
-    }
-
-    public CharsetDecoder newDecoder() {
-        return new Decoder(this);
-    }
-
-    public CharsetEncoder newEncoder() {
-        return new Encoder(this);
-    }
-
-
-    /**
-     * These accessors are temporarily supplied while sun.io
-     * converters co-exist with the sun.nio.cs.{ext} charset coders
-     * These facilitate sharing of conversion tables between the
-     * two co-existing implementations. When sun.io converters
-     * are made extinct these will be unncessary and should be removed
-     */
-
-    public String getDecoderSingleByteMappings() {
-        return Decoder.byteToCharTable;
-
-    }
-
-    public short[] getEncoderIndex1() {
-        return Encoder.index1;
-
-    }
-    public String getEncoderIndex2() {
-        return Encoder.index2;
-
-    }
-
-    private static class Decoder extends SingleByteDecoder {
-            public Decoder(Charset cs) {
-                super(cs, byteToCharTable);
-        }
-
-        private final static String byteToCharTable =
-
-            "\u00AB\u00BB\u2026\uF88C\uF88F\uF892\uF895\uF898" +        // 0x80 - 0x87
-            "\uF88B\uF88E\uF891\uF894\uF897\u201C\u201D\uF899" +        // 0x88 - 0x8F
-            "\uFFFD\u2022\uF884\uF889\uF885\uF886\uF887\uF888" +        // 0x90 - 0x97
-            "\uF88A\uF88D\uF890\uF893\uF896\u2018\u2019\uFFFD" +        // 0x98 - 0x9F
-            "\u00A0\u0E01\u0E02\u0E03\u0E04\u0E05\u0E06\u0E07" +        // 0xA0 - 0xA7
-            "\u0E08\u0E09\u0E0A\u0E0B\u0E0C\u0E0D\u0E0E\u0E0F" +        // 0xA8 - 0xAF
-            "\u0E10\u0E11\u0E12\u0E13\u0E14\u0E15\u0E16\u0E17" +        // 0xB0 - 0xB7
-            "\u0E18\u0E19\u0E1A\u0E1B\u0E1C\u0E1D\u0E1E\u0E1F" +        // 0xB8 - 0xBF
-            "\u0E20\u0E21\u0E22\u0E23\u0E24\u0E25\u0E26\u0E27" +        // 0xC0 - 0xC7
-            "\u0E28\u0E29\u0E2A\u0E2B\u0E2C\u0E2D\u0E2E\u0E2F" +        // 0xC8 - 0xCF
-            "\u0E30\u0E31\u0E32\u0E33\u0E34\u0E35\u0E36\u0E37" +        // 0xD0 - 0xD7
-            "\u0E38\u0E39\u0E3A\uFEFF\u200B\u2013\u2014\u0E3F" +        // 0xD8 - 0xDF
-            "\u0E40\u0E41\u0E42\u0E43\u0E44\u0E45\u0E46\u0E47" +        // 0xE0 - 0xE7
-            "\u0E48\u0E49\u0E4A\u0E4B\u0E4C\u0E4D\u2122\u0E4F" +        // 0xE8 - 0xEF
-            "\u0E50\u0E51\u0E52\u0E53\u0E54\u0E55\u0E56\u0E57" +        // 0xF0 - 0xF7
-            "\u0E58\u0E59\u00AE\u00A9\uFFFD\uFFFD\uFFFD\uFFFD" +        // 0xF8 - 0xFF
-            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +        // 0x00 - 0x07
-            "\b\t\n\u000B\f\r\u000E\u000F" +    // 0x08 - 0x0F
-            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +        // 0x10 - 0x17
-            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +        // 0x18 - 0x1F
-            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +        // 0x20 - 0x27
-            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +        // 0x28 - 0x2F
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +        // 0x30 - 0x37
-            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +        // 0x38 - 0x3F
-            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +        // 0x40 - 0x47
-            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +        // 0x48 - 0x4F
-            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +        // 0x50 - 0x57
-            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +    // 0x58 - 0x5F
-            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +        // 0x60 - 0x67
-            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +        // 0x68 - 0x6F
-            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +        // 0x70 - 0x77
-            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";         // 0x78 - 0x7F
-
-    }
-
-    private static class Encoder extends SingleByteEncoder {
-            public Encoder(Charset cs) {
-                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
-            }
-
-            private final static String index2 =
-
-
-            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
-            "\b\t\n\u000B\f\r\u000E\u000F" +
-            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
-            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
-            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
-            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
-            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
-            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
-            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
-            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
-            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
-            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
-            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
-            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
-            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00A0\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u00FB\u0000\u0080\u0000\u0000\u00FA\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0081\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u00A1\u00A2\u00A3\u00A4" +
-            "\u00A5\u00A6\u00A7\u00A8\u00A9\u00AA\u00AB\u00AC" +
-            "\u00AD\u00AE\u00AF\u00B0\u00B1\u00B2\u00B3\u00B4" +
-            "\u00B5\u00B6\u00B7\u00B8\u00B9\u00BA\u00BB\u00BC" +
-            "\u00BD\u00BE\u00BF\u00C0\u00C1\u00C2\u00C3\u00C4" +
-            "\u00C5\u00C6\u00C7\u00C8\u00C9\u00CA\u00CB\u00CC" +
-            "\u00CD\u00CE\u00CF\u00D0\u00D1\u00D2\u00D3\u00D4" +
-            "\u00D5\u00D6\u00D7\u00D8\u00D9\u00DA\u0000\u0000" +
-            "\u0000\u0000\u00DF\u00E0\u00E1\u00E2\u00E3\u00E4" +
-            "\u00E5\u00E6\u00E7\u00E8\u00E9\u00EA\u00EB\u00EC" +
-            "\u00ED\u0000\u00EF\u00F0\u00F1\u00F2\u00F3\u00F4" +
-            "\u00F5\u00F6\u00F7\u00F8\u00F9\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u00DC\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u00DD\u00DE\u0000\u0000\u0000" +
-            "\u009D\u009E\u0000\u0000\u008D\u008E\u0000\u0000" +
-            "\u0000\u0000\u0091\u0000\u0000\u0000\u0082\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00EE\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0092\u0094" +
-            "\u0095\u0096\u0097\u0093\u0098\u0088\u0083\u0099" +
-            "\u0089\u0084\u009A\u008A\u0085\u009B\u008B\u0086" +
-            "\u009C\u008C\u0087\u008F\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u00DB";
-
-    private final static short index1[] = {
-            0, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 443, 188,
-            188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
-            688, 910, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
-            188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
-            188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
-            188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
-            188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
-            188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
-            188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
-            188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
-            188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
-            188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
-            188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
-            188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
-            188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
-            188, 188, 188, 188, 188, 188, 188, 188, 1034, 188, 188, 188, 188, 188, 1188, 188,
-
-        };
-    }
-}
--- a/jdk/src/share/classes/sun/nio/cs/ext/MacTurkish.java	Wed Jul 05 16:44:40 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,402 +0,0 @@
-
-/*
- * Copyright 2003-2004 Sun Microsystems, Inc.  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.  Sun designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
- */
-
-package sun.nio.cs.ext;
-
-
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetDecoder;
-import java.nio.charset.CharsetEncoder;
-import sun.nio.cs.StandardCharsets;
-import sun.nio.cs.SingleByteDecoder;
-import sun.nio.cs.SingleByteEncoder;
-import sun.nio.cs.HistoricallyNamedCharset;
-
-public class MacTurkish
-    extends Charset
-    implements HistoricallyNamedCharset
-{
-
-    public MacTurkish() {
-        super("x-MacTurkish", ExtendedCharsets.aliasesFor("x-MacTurkish"));
-    }
-
-    public String historicalName() {
-        return "MacTurkish";
-    }
-
-    public boolean contains(Charset cs) {
-        return (cs instanceof MacTurkish);
-    }
-
-    public CharsetDecoder newDecoder() {
-        return new Decoder(this);
-    }
-
-    public CharsetEncoder newEncoder() {
-        return new Encoder(this);
-    }
-
-
-    /**
-     * These accessors are temporarily supplied while sun.io
-     * converters co-exist with the sun.nio.cs.{ext} charset coders
-     * These facilitate sharing of conversion tables between the
-     * two co-existing implementations. When sun.io converters
-     * are made extinct these will be unncessary and should be removed
-     */
-
-    public String getDecoderSingleByteMappings() {
-        return Decoder.byteToCharTable;
-
-    }
-
-    public short[] getEncoderIndex1() {
-        return Encoder.index1;
-
-    }
-    public String getEncoderIndex2() {
-        return Encoder.index2;
-
-    }
-
-    private static class Decoder extends SingleByteDecoder {
-            public Decoder(Charset cs) {
-                super(cs, byteToCharTable);
-        }
-
-        private final static String byteToCharTable =
-
-            "\u00C4\u00C5\u00C7\u00C9\u00D1\u00D6\u00DC\u00E1" +        // 0x80 - 0x87
-            "\u00E0\u00E2\u00E4\u00E3\u00E5\u00E7\u00E9\u00E8" +        // 0x88 - 0x8F
-            "\u00EA\u00EB\u00ED\u00EC\u00EE\u00EF\u00F1\u00F3" +        // 0x90 - 0x97
-            "\u00F2\u00F4\u00F6\u00F5\u00FA\u00F9\u00FB\u00FC" +        // 0x98 - 0x9F
-            "\u2020\u00B0\u00A2\u00A3\u00A7\u2022\u00B6\u00DF" +        // 0xA0 - 0xA7
-            "\u00AE\u00A9\u2122\u00B4\u00A8\u2260\u00C6\u00D8" +        // 0xA8 - 0xAF
-            "\u221E\u00B1\u2264\u2265\u00A5\u00B5\u2202\u2211" +        // 0xB0 - 0xB7
-            "\u220F\u03C0\u222B\u00AA\u00BA\u2126\u00E6\u00F8" +        // 0xB8 - 0xBF
-            "\u00BF\u00A1\u00AC\u221A\u0192\u2248\u2206\u00AB" +        // 0xC0 - 0xC7
-            "\u00BB\u2026\u00A0\u00C0\u00C3\u00D5\u0152\u0153" +        // 0xC8 - 0xCF
-            "\u2013\u2014\u201C\u201D\u2018\u2019\u00F7\u25CA" +        // 0xD0 - 0xD7
-            "\u00FF\u0178\u011E\u011F\u0130\u0131\u015E\u015F" +        // 0xD8 - 0xDF
-            "\u2021\u00B7\u201A\u201E\u2030\u00C2\u00CA\u00C1" +        // 0xE0 - 0xE7
-            "\u00CB\u00C8\u00CD\u00CE\u00CF\u00CC\u00D3\u00D4" +        // 0xE8 - 0xEF
-            "\uF8FF\u00D2\u00DA\u00DB\u00D9\uFFFD\u02C6\u02DC" +        // 0xF0 - 0xF7
-            "\u00AF\u02D8\u02D9\u02DA\u00B8\u02DD\u02DB\u02C7" +        // 0xF8 - 0xFF
-            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +        // 0x00 - 0x07
-            "\b\t\n\u000B\f\r\u000E\u000F" +    // 0x08 - 0x0F
-            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +        // 0x10 - 0x17
-            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +        // 0x18 - 0x1F
-            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +        // 0x20 - 0x27
-            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +        // 0x28 - 0x2F
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +        // 0x30 - 0x37
-            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +        // 0x38 - 0x3F
-            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +        // 0x40 - 0x47
-            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +        // 0x48 - 0x4F
-            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +        // 0x50 - 0x57
-            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +    // 0x58 - 0x5F
-            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +        // 0x60 - 0x67
-            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +        // 0x68 - 0x6F
-            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +        // 0x70 - 0x77
-            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";         // 0x78 - 0x7F
-
-    }
-
-    private static class Encoder extends SingleByteEncoder {
-            public Encoder(Charset cs) {
-                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
-            }
-
-            private final static String index2 =
-
-
-            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
-            "\b\t\n\u000B\f\r\u000E\u000F" +
-            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
-            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
-            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
-            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
-            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
-            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
-            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
-            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
-            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
-            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
-            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
-            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
-            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00CA\u00C1\u00A2\u00A3\u0000\u00B4\u0000\u00A4" +
-            "\u00AC\u00A9\u00BB\u00C7\u00C2\u0000\u00A8\u00F8" +
-            "\u00A1\u00B1\u0000\u0000\u00AB\u00B5\u00A6\u00E1" +
-            "\u00FC\u0000\u00BC\u00C8\u0000\u0000\u0000\u00C0" +
-            "\u00CB\u00E7\u00E5\u00CC\u0080\u0081\u00AE\u0082" +
-            "\u00E9\u0083\u00E6\u00E8\u00ED\u00EA\u00EB\u00EC" +
-            "\u0000\u0084\u00F1\u00EE\u00EF\u00CD\u0085\u0000" +
-            "\u00AF\u00F4\u00F2\u00F3\u0086\u0000\u0000\u00A7" +
-            "\u0088\u0087\u0089\u008B\u008A\u008C\u00BE\u008D" +
-            "\u008F\u008E\u0090\u0091\u0093\u0092\u0094\u0095" +
-            "\u0000\u0096\u0098\u0097\u0099\u009B\u009A\u00D6" +
-            "\u00BF\u009D\u009C\u009E\u009F\u0000\u0000\u00D8" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u00DA\u00DB" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00DC\u00DD\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u00CE\u00CF\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u00DE\u00DF" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00D9\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u00C4\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u00F6\u00FF\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u00F9\u00FA\u00FB" +
-            "\u00FE\u00F7\u00FD\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u00B9\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u00D0\u00D1\u0000\u0000\u0000" +
-            "\u00D4\u00D5\u00E2\u0000\u00D2\u00D3\u00E3\u0000" +
-            "\u00A0\u00E0\u00A5\u0000\u0000\u0000\u00C9\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00E4\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00AA\u0000\u0000\u0000\u00BD\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u00B6\u0000" +
-            "\u0000\u0000\u00C6\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u00B8\u0000\u00B7\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u00C3\u0000" +
-            "\u0000\u0000\u00B0\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00BA" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u00C5\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u00AD\u0000\u0000\u0000" +
-            "\u00B2\u00B3\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u00D7\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u00F0";
-
-    private final static short index1[] = {
-            0, 256, 461, 683, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            920, 1142, 1396, 403, 403, 1498, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403,
-            403, 403, 403, 403, 403, 403, 403, 403, 1701, 403, 403, 403, 403, 403, 403, 403,
-
-        };
-    }
-}
--- a/jdk/src/share/classes/sun/nio/cs/ext/MacUkraine.java	Wed Jul 05 16:44:40 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,361 +0,0 @@
-
-/*
- * Copyright 2003-2004 Sun Microsystems, Inc.  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.  Sun designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
- */
-
-package sun.nio.cs.ext;
-
-
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetDecoder;
-import java.nio.charset.CharsetEncoder;
-import sun.nio.cs.StandardCharsets;
-import sun.nio.cs.SingleByteDecoder;
-import sun.nio.cs.SingleByteEncoder;
-import sun.nio.cs.HistoricallyNamedCharset;
-
-public class MacUkraine
-    extends Charset
-    implements HistoricallyNamedCharset
-{
-
-    public MacUkraine() {
-        super("x-MacUkraine", ExtendedCharsets.aliasesFor("x-MacUkraine"));
-    }
-
-    public String historicalName() {
-        return "MacUkraine";
-    }
-
-    public boolean contains(Charset cs) {
-        return (cs instanceof MacUkraine);
-    }
-
-    public CharsetDecoder newDecoder() {
-        return new Decoder(this);
-    }
-
-    public CharsetEncoder newEncoder() {
-        return new Encoder(this);
-    }
-
-
-    /**
-     * These accessors are temporarily supplied while sun.io
-     * converters co-exist with the sun.nio.cs.{ext} charset coders
-     * These facilitate sharing of conversion tables between the
-     * two co-existing implementations. When sun.io converters
-     * are made extinct these will be unncessary and should be removed
-     */
-
-    public String getDecoderSingleByteMappings() {
-        return Decoder.byteToCharTable;
-
-    }
-
-    public short[] getEncoderIndex1() {
-        return Encoder.index1;
-
-    }
-    public String getEncoderIndex2() {
-        return Encoder.index2;
-
-    }
-
-    private static class Decoder extends SingleByteDecoder {
-            public Decoder(Charset cs) {
-                super(cs, byteToCharTable);
-        }
-
-        private final static String byteToCharTable =
-
-            "\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417" +        // 0x80 - 0x87
-            "\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F" +        // 0x88 - 0x8F
-            "\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427" +        // 0x90 - 0x97
-            "\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F" +        // 0x98 - 0x9F
-            "\u2020\u00B0\u0490\u00A3\u00A7\u2022\u00B6\u0406" +        // 0xA0 - 0xA7
-            "\u00AE\u00A9\u2122\u0402\u0452\u2260\u0403\u0453" +        // 0xA8 - 0xAF
-            "\u221E\u00B1\u2264\u2265\u0456\u00B5\u0491\u0408" +        // 0xB0 - 0xB7
-            "\u0404\u0454\u0407\u0457\u0409\u0459\u040A\u045A" +        // 0xB8 - 0xBF
-            "\u0458\u0405\u00AC\u221A\u0192\u2248\u2206\u00AB" +        // 0xC0 - 0xC7
-            "\u00BB\u2026\u00A0\u040B\u045B\u040C\u045C\u0455" +        // 0xC8 - 0xCF
-            "\u2013\u2014\u201C\u201D\u2018\u2019\u00F7\u201E" +        // 0xD0 - 0xD7
-            "\u040E\u045E\u040F\u045F\u2116\u0401\u0451\u044F" +        // 0xD8 - 0xDF
-            "\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437" +        // 0xE0 - 0xE7
-            "\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F" +        // 0xE8 - 0xEF
-            "\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447" +        // 0xF0 - 0xF7
-            "\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u00A4" +        // 0xF8 - 0xFF
-            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +        // 0x00 - 0x07
-            "\b\t\n\u000B\f\r\u000E\u000F" +    // 0x08 - 0x0F
-            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +        // 0x10 - 0x17
-            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +        // 0x18 - 0x1F
-            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +        // 0x20 - 0x27
-            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +        // 0x28 - 0x2F
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +        // 0x30 - 0x37
-            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +        // 0x38 - 0x3F
-            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +        // 0x40 - 0x47
-            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +        // 0x48 - 0x4F
-            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +        // 0x50 - 0x57
-            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +    // 0x58 - 0x5F
-            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +        // 0x60 - 0x67
-            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +        // 0x68 - 0x6F
-            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +        // 0x70 - 0x77
-            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";         // 0x78 - 0x7F
-
-    }
-
-    private static class Encoder extends SingleByteEncoder {
-            public Encoder(Charset cs) {
-                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
-            }
-
-            private final static String index2 =
-
-
-            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
-            "\b\t\n\u000B\f\r\u000E\u000F" +
-            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
-            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
-            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
-            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
-            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
-            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
-            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
-            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
-            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
-            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
-            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
-            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
-            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u00CA\u0000\u0000\u00A3\u00FF\u0000\u0000\u00A4" +
-            "\u0000\u00A9\u0000\u00C7\u00C2\u0000\u00A8\u0000" +
-            "\u00A1\u00B1\u0000\u0000\u0000\u00B5\u00A6\u0000" +
-            "\u0000\u0000\u0000\u00C8\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00D6" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u00C4\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u00DD\u00AB\u00AE\u00B8\u00C1" +
-            "\u00A7\u00BA\u00B7\u00BC\u00BE\u00CB\u00CD\u0000" +
-            "\u00D8\u00DA\u0080\u0081\u0082\u0083\u0084\u0085" +
-            "\u0086\u0087\u0088\u0089\u008A\u008B\u008C\u008D" +
-            "\u008E\u008F\u0090\u0091\u0092\u0093\u0094\u0095" +
-            "\u0096\u0097\u0098\u0099\u009A\u009B\u009C\u009D" +
-            "\u009E\u009F\u00E0\u00E1\u00E2\u00E3\u00E4\u00E5" +
-            "\u00E6\u00E7\u00E8\u00E9\u00EA\u00EB\u00EC\u00ED" +
-            "\u00EE\u00EF\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5" +
-            "\u00F6\u00F7\u00F8\u00F9\u00FA\u00FB\u00FC\u00FD" +
-            "\u00FE\u00DF\u0000\u00DE\u00AC\u00AF\u00B9\u00CF" +
-            "\u00B4\u00BB\u00C0\u00BD\u00BF\u00CC\u00CE\u0000" +
-            "\u00D9\u00DB\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u00A2\u00B6\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u00D0\u00D1\u0000\u0000\u0000\u00D4" +
-            "\u00D5\u0000\u0000\u00D2\u00D3\u00D7\u0000\u00A0" +
-            "\u0000\u00A5\u0000\u0000\u0000\u00C9\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u00DC" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u00AA\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u00C6\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u00C3\u0000\u0000" +
-            "\u0000\u00B0\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u00C5\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u00AD\u0000\u0000\u0000\u00B2" +
-            "\u00B3\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-            "\u0000\u0000\u0000";
-
-    private final static short index1[] = {
-            0, 248, 395, 395, 650, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
-            395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
-            887, 1121, 1371, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
-            395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
-            395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
-            395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
-            395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
-            395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
-            395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
-            395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
-            395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
-            395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
-            395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
-            395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
-            395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
-            395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
-
-        };
-    }
-}
--- a/jdk/src/share/classes/sun/nio/cs/ext/TIS_620.java	Wed Jul 05 16:44:40 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,244 +0,0 @@
-
-/*
- * Copyright 2002-2004 Sun Microsystems, Inc.  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.  Sun designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Sun 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
- */
-
-package sun.nio.cs.ext;
-
-
-import java.nio.ByteBuffer;
-import java.nio.CharBuffer;
-import java.nio.charset.Charset;
-import java.nio.charset.CharsetDecoder;
-import java.nio.charset.CharsetEncoder;
-import java.nio.charset.CharacterCodingException;
-import java.nio.charset.MalformedInputException;
-import java.nio.charset.UnmappableCharacterException;
-import sun.nio.cs.StandardCharsets;
-import sun.nio.cs.SingleByteDecoder;
-import sun.nio.cs.SingleByteEncoder;
-import sun.nio.cs.HistoricallyNamedCharset;
-
-public class TIS_620
-    extends Charset
-    implements HistoricallyNamedCharset
-{
-
-    public TIS_620() {
-        super("TIS-620", ExtendedCharsets.aliasesFor("TIS-620"));
-    }
-
-    public String historicalName() {
-        return "TIS620";
-    }
-
-    public boolean contains(Charset cs) {
-        return ((cs.name().equals("US-ASCII"))
-                || (cs instanceof TIS_620));
-    }
-
-    public CharsetDecoder newDecoder() {
-        return new Decoder(this);
-    }
-
-    public CharsetEncoder newEncoder() {
-        return new Encoder(this);
-    }
-
-
-    /**
-     * These accessors are temporarily supplied while sun.io
-     * converters co-exist with the sun.nio.cs.{ext} charset coders
-     * These facilitate sharing of conversion tables between the
-     * two co-existing implementations. When sun.io converters
-     * are made extinct these will be unncessary and should be removed
-     */
-
-    public String getDecoderSingleByteMappings() {
-        return Decoder.byteToCharTable;
-
-    }
-
-    public short[] getEncoderIndex1() {
-        return Encoder.index1;
-
-    }
-    public String getEncoderIndex2() {
-        return Encoder.index2;
-
-    }
-
-    private static class Decoder extends SingleByteDecoder {
-            public Decoder(Charset cs) {
-                super(cs, byteToCharTable);
-        }
-
-        private final static String byteToCharTable =
-
-            "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" +        // 0x80 - 0x87
-            "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" +        // 0x88 - 0x8F
-            "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" +        // 0x90 - 0x97
-            "\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD" +        // 0x98 - 0x9F
-            "\u00A0\u0E01\u0E02\u0E03\u0E04\u0E05\u0E06\u0E07" +        // 0xA0 - 0xA7
-            "\u0E08\u0E09\u0E0A\u0E0B\u0E0C\u0E0D\u0E0E\u0E0F" +        // 0xA8 - 0xAF
-            "\u0E10\u0E11\u0E12\u0E13\u0E14\u0E15\u0E16\u0E17" +        // 0xB0 - 0xB7
-            "\u0E18\u0E19\u0E1A\u0E1B\u0E1C\u0E1D\u0E1E\u0E1F" +        // 0xB8 - 0xBF
-            "\u0E20\u0E21\u0E22\u0E23\u0E24\u0E25\u0E26\u0E27" +        // 0xC0 - 0xC7
-            "\u0E28\u0E29\u0E2A\u0E2B\u0E2C\u0E2D\u0E2E\u0E2F" +        // 0xC8 - 0xCF
-            "\u0E30\u0E31\u0E32\u0E33\u0E34\u0E35\u0E36\u0E37" +        // 0xD0 - 0xD7
-            "\u0E38\u0E39\u0E3A\uFFFD\uFFFD\uFFFD\uFFFD\u0E3F" +        // 0xD8 - 0xDF
-            "\u0E40\u0E41\u0E42\u0E43\u0E44\u0E45\u0E46\u0E47" +        // 0xE0 - 0xE7
-            "\u0E48\u0E49\u0E4A\u0E4B\u0E4C\u0E4D\u0E4E\u0E4F" +        // 0xE8 - 0xEF
-            "\u0E50\u0E51\u0E52\u0E53\u0E54\u0E55\u0E56\u0E57" +        // 0xF0 - 0xF7
-            "\u0E58\u0E59\u0E5A\u0E5B\uFFFD\uFFFD\uFFFD\uFFFD" +        // 0xF8 - 0xFF
-            "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +        // 0x00 - 0x07
-            "\b\t\n\u000B\f\r\u000E\u000F" +    // 0x08 - 0x0F
-            "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +        // 0x10 - 0x17
-            "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +        // 0x18 - 0x1F
-            "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +        // 0x20 - 0x27
-            "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +        // 0x28 - 0x2F
-            "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +        // 0x30 - 0x37
-            "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +        // 0x38 - 0x3F
-            "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +        // 0x40 - 0x47
-            "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +        // 0x48 - 0x4F
-            "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +        // 0x50 - 0x57
-            "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +    // 0x58 - 0x5F
-            "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +        // 0x60 - 0x67
-            "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +        // 0x68 - 0x6F
-            "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +        // 0x70 - 0x77
-            "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F";         // 0x78 - 0x7F
-    }
-
-    private static class Encoder extends SingleByteEncoder {
-            public Encoder(Charset cs) {
-                super(cs, index1, index2, 0xFF00, 0x00FF, 8);
-            }
-
-            private final static String index2 =
-
-                "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
-                "\b\t\n\u000B\f\r\u000E\u000F" +
-                "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
-                "\u0018\u0019\u001A\u001B\u001C\u001D\u001E\u001F" +
-                "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
-                "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
-                "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
-                "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
-                "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
-                "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
-                "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
-                "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
-                "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
-                "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
-                "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
-                "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u007F" +
-                "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-                "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-                "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-                "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-                "\u00A0\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-                "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-                "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-                "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-                "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-                "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-                "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-                "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-                "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-                "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-                "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-                "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-                "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-                "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-                "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-                "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-                "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-                "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-                "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-                "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-                "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-                "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-                "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-                "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-                "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-                "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-                "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-                "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-                "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-                "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-                "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-                "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-                "\u0000\u00A1\u00A2\u00A3\u00A4\u00A5\u00A6\u00A7" +
-                "\u00A8\u00A9\u00AA\u00AB\u00AC\u00AD\u00AE\u00AF" +
-                "\u00B0\u00B1\u00B2\u00B3\u00B4\u00B5\u00B6\u00B7" +
-                "\u00B8\u00B9\u00BA\u00BB\u00BC\u00BD\u00BE\u00BF" +
-                "\u00C0\u00C1\u00C2\u00C3\u00C4\u00C5\u00C6\u00C7" +
-                "\u00C8\u00C9\u00CA\u00CB\u00CC\u00CD\u00CE\u00CF" +
-                "\u00D0\u00D1\u00D2\u00D3\u00D4\u00D5\u00D6\u00D7" +
-                "\u00D8\u00D9\u00DA\u0000\u0000\u0000\u0000\u00DF" +
-                "\u00E0\u00E1\u00E2\u00E3\u00E4\u00E5\u00E6\u00E7" +
-                "\u00E8\u00E9\u00EA\u00EB\u00EC\u00ED\u00EE\u00EF" +
-                "\u00F0\u00F1\u00F2\u00F3\u00F4\u00F5\u00F6\u00F7" +
-                "\u00F8\u00F9\u00FA\u00FB\u0000\u0000\u0000\u0000" +
-                "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-                "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-                "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-                "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-                "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-                "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-                "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-                "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-                "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-                "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-                "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-                "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-                "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-                "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-                "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-                "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-                "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-                "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-                "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
-                "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000";
-
-            private final static short index1[] = {
-                0, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 416, 161,
-                161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
-                161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
-                161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
-                161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
-                161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
-                161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
-                161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
-                161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
-                161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
-                161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
-                161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
-                161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
-                161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
-                161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
-                161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161, 161,
-        };
-    }
-}
--- a/jdk/src/share/classes/sun/print/PSPathGraphics.java	Wed Jul 05 16:44:40 2017 +0200
+++ b/jdk/src/share/classes/sun/print/PSPathGraphics.java	Wed Jul 05 16:45:14 2017 +0200
@@ -30,7 +30,6 @@
 import java.awt.Graphics;
 import java.awt.Graphics2D;
 import java.awt.Image;
-import java.awt.Paint;
 import java.awt.Shape;
 import java.awt.Transparency;
 
--- a/jdk/src/share/classes/sun/print/PrintJobAttributeException.java	Wed Jul 05 16:44:40 2017 +0200
+++ b/jdk/src/share/classes/sun/print/PrintJobAttributeException.java	Wed Jul 05 16:45:14 2017 +0200
@@ -25,7 +25,6 @@
 
 package sun.print;
 
-import javax.print.DocFlavor;
 import javax.print.AttributeException;
 import javax.print.PrintException;
 import javax.print.attribute.Attribute;
--- a/jdk/src/share/classes/sun/print/SunMinMaxPage.java	Wed Jul 05 16:44:40 2017 +0200
+++ b/jdk/src/share/classes/sun/print/SunMinMaxPage.java	Wed Jul 05 16:45:14 2017 +0200
@@ -25,7 +25,6 @@
 
 package sun.print;
 
-import javax.print.attribute.EnumSyntax;
 import javax.print.attribute.PrintRequestAttribute;
 
 /*
--- a/jdk/src/share/classes/sun/print/SunPageSelection.java	Wed Jul 05 16:44:40 2017 +0200
+++ b/jdk/src/share/classes/sun/print/SunPageSelection.java	Wed Jul 05 16:45:14 2017 +0200
@@ -26,7 +26,6 @@
 package sun.print;
 
 import javax.print.attribute.PrintRequestAttribute;
-import javax.print.attribute.standard.Media;
 
 /*
  * A class used to determine the range of pages to be printed.
--- a/jdk/src/share/classes/sun/swing/SwingUtilities2.java	Wed Jul 05 16:44:40 2017 +0200
+++ b/jdk/src/share/classes/sun/swing/SwingUtilities2.java	Wed Jul 05 16:45:14 2017 +0200
@@ -55,6 +55,7 @@
 import java.util.*;
 import sun.font.FontDesignMetrics;
 import sun.font.FontManager;
+import sun.java2d.SunGraphicsEnvironment;
 
 import java.util.concurrent.Callable;
 import java.util.concurrent.Future;
@@ -1478,22 +1479,14 @@
      * appear capable of performing gamma correction needed for LCD text.
      */
     public static boolean isLocalDisplay() {
-        try {
-            // On Windows just return true. Permission to read os.name
-            // is granted to all code but wrapped in try to be safe.
-            if (OSInfo.getOSType() == OSInfo.OSType.WINDOWS) {
-                return true;
-            }
-            // Else probably Solaris or Linux in which case may be remote X11
-            Class<?> x11Class = Class.forName("sun.awt.X11GraphicsEnvironment");
-            Method isDisplayLocalMethod = x11Class.getMethod(
-                      "isDisplayLocal", new Class[0]);
-            return (Boolean)isDisplayLocalMethod.invoke(null, (Object[])null);
-        } catch (Throwable t) {
+        boolean isLocal;
+        GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
+        if (ge instanceof SunGraphicsEnvironment) {
+            isLocal = ((SunGraphicsEnvironment) ge).isDisplayLocal();
+        } else {
+            isLocal = true;
         }
-        // If we get here we're most likely being run on some other O/S
-        // or we didn't properly detect Windows.
-        return true;
+        return isLocal;
     }
 
     /**
--- a/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/tests/ImageTests.java	Wed Jul 05 16:44:40 2017 +0200
+++ b/jdk/src/share/demo/java2d/J2DBench/src/j2dbench/tests/ImageTests.java	Wed Jul 05 16:45:14 2017 +0200
@@ -60,6 +60,9 @@
 import java.awt.image.WritableRaster;
 import java.awt.Transparency;
 import java.awt.geom.AffineTransform;
+import java.awt.image.DataBufferByte;
+import java.awt.image.DataBufferInt;
+import java.awt.image.DataBufferShort;
 import java.util.ArrayList;
 import javax.swing.JComponent;
 
@@ -84,6 +87,7 @@
     static Group.EnableSet bufimgsrcroot;
 
     static Group imgtestroot;
+    static Group imgoptionsroot;
 
     static Group imageOpRoot;
     static Group imageOpOptRoot;
@@ -92,6 +96,7 @@
     static Group bufImgOpTestRoot;
     static Group rasterOpTestRoot;
     static Option opList;
+    static Option doTouchSrc;
 
     static String transNodeNames[] = {
         null, "opaque", "bitmask", "translucent",
@@ -105,9 +110,19 @@
         imageroot = new Group(graphicsroot, "imaging",
                               "Imaging Benchmarks");
         imageroot.setTabbed();
+
         imgsrcroot = new Group.EnableSet(imageroot, "src",
                                          "Image Rendering Sources");
         imgsrcroot.setBordered(true);
+
+        imgoptionsroot = new Group(imgsrcroot, "options",
+                                "Image Source Options");
+        imgoptionsroot.setBordered(true);
+        doTouchSrc =
+            new Option.Toggle(imgoptionsroot, "touchsrc",
+                              "Touch src image before every operation",
+                               Option.Toggle.Off);
+
         imgtestroot = new Group(imageroot, "tests",
                                 "Image Rendering Tests");
         imgtestroot.setBordered(true);
@@ -131,7 +146,11 @@
             new BufImg(BufferedImage.TYPE_INT_RGB);
             new BufImg(BufferedImage.TYPE_INT_ARGB);
             new BufImg(BufferedImage.TYPE_BYTE_GRAY);
+            new BufImg(BufferedImage.TYPE_3BYTE_BGR);
             new BmByteIndexBufImg();
+            new BufImg(BufferedImage.TYPE_INT_RGB, true);
+            new BufImg(BufferedImage.TYPE_INT_ARGB, true);
+            new BufImg(BufferedImage.TYPE_3BYTE_BGR, true);
 
             imageOpRoot = new Group(imageroot, "imageops",
                                     "Image Op Benchmarks");
@@ -193,6 +212,7 @@
     }
 
     public static class Context extends GraphicsTests.Context {
+        boolean touchSrc;
         Image src;
         AffineTransform tx;
     }
@@ -206,6 +226,7 @@
     {
         super(parent, nodeName, description);
         addDependency(imgsrcroot, srcFilter);
+        addDependency(doTouchSrc);
     }
 
     public GraphicsTests.Context createContext() {
@@ -217,6 +238,7 @@
         ImageTests.Context ictx = (ImageTests.Context) ctx;
 
         ictx.src = env.getSrcImage();
+        ictx.touchSrc = env.isEnabled(doTouchSrc);
     }
 
     public abstract static class TriStateImageType extends Group {
@@ -272,13 +294,6 @@
     public static class CompatImg extends TriStateImageType {
         int transparency;
 
-        public static String Descriptions[] = {
-            "Default Compatible Image",
-            "Opaque Compatible Image",
-            "Bitmask Compatible Image",
-            "Translucent Compatible Image",
-        };
-
         public CompatImg(int transparency) {
             super(imgsrcroot,
                   Destinations.CompatImg.ShortNames[transparency],
@@ -296,6 +311,7 @@
 
     public static class BufImg extends TriStateImageType {
         int type;
+        boolean unmanaged;
 
         static int Transparencies[] = {
             Transparency.TRANSLUCENT, // "custom",
@@ -315,15 +331,37 @@
         };
 
         public BufImg(int type) {
+            this(type, false);
+        }
+
+        public BufImg(int type, boolean unmanaged) {
             super(bufimgsrcroot,
+                  (unmanaged ? "unmanaged" : "") +
                   Destinations.BufImg.ShortNames[type],
+                  (unmanaged ? "Unmanaged " : "") +
                   Destinations.BufImg.Descriptions[type],
                   Transparencies[type]);
             this.type = type;
+            this.unmanaged = unmanaged;
         }
 
         public Image makeImage(TestEnvironment env, int w, int h) {
-            return new BufferedImage(w, h, type);
+            BufferedImage img = new BufferedImage(w, h, type);
+            if (unmanaged) {
+                DataBuffer db = img.getRaster().getDataBuffer();
+                if (db instanceof DataBufferInt) {
+                    ((DataBufferInt)db).getData();
+                } else if (db instanceof DataBufferShort) {
+                    ((DataBufferShort)db).getData();
+                } else if (db instanceof DataBufferByte) {
+                    ((DataBufferByte)db).getData();
+                } else {
+                    try {
+                        img.setAccelerationPriority(0.0f);
+                    } catch (Throwable e) {}
+                }
+            }
+            return img;
         }
     }
 
@@ -471,15 +509,33 @@
             g.translate(ictx.orgX, ictx.orgY);
             Image src = ictx.src;
             if (ictx.animate) {
-                do {
-                    g.drawImage(src, x, y, null);
-                    if ((x -= 3) < 0) x += ictx.maxX;
-                    if ((y -= 1) < 0) y += ictx.maxY;
-                } while (--numReps > 0);
+                if (ictx.touchSrc) {
+                    Graphics srcG = src.getGraphics();
+                    do {
+                        srcG.fillRect(0, 0, 1, 1);
+                        g.drawImage(src, x, y, null);
+                        if ((x -= 3) < 0) x += ictx.maxX;
+                        if ((y -= 1) < 0) y += ictx.maxY;
+                    } while (--numReps > 0);
+                } else {
+                    do {
+                        g.drawImage(src, x, y, null);
+                        if ((x -= 3) < 0) x += ictx.maxX;
+                        if ((y -= 1) < 0) y += ictx.maxY;
+                    } while (--numReps > 0);
+                }
             } else {
-                do {
-                    g.drawImage(src, x, y, null);
-                } while (--numReps > 0);
+                if (ictx.touchSrc) {
+                    Graphics srcG = src.getGraphics();
+                    do {
+                        srcG.fillRect(0, 0, 1, 1);
+                        g.drawImage(src, x, y, null);
+                    } while (--numReps > 0);
+                } else {
+                    do {
+                        g.drawImage(src, x, y, null);
+                    } while (--numReps > 0);
+                }
             }
             g.translate(-ictx.orgX, -ictx.orgY);
         }
@@ -505,15 +561,33 @@
             Image src = ictx.src;
             Color bg = Color.orange;
             if (ictx.animate) {
-                do {
-                    g.drawImage(src, x, y, bg, null);
-                    if ((x -= 3) < 0) x += ictx.maxX;
-                    if ((y -= 1) < 0) y += ictx.maxY;
-                } while (--numReps > 0);
+                if (ictx.touchSrc) {
+                    Graphics srcG = src.getGraphics();
+                    do {
+                        srcG.fillRect(0, 0, 1, 1);
+                        g.drawImage(src, x, y, bg, null);
+                        if ((x -= 3) < 0) x += ictx.maxX;
+                        if ((y -= 1) < 0) y += ictx.maxY;
+                    } while (--numReps > 0);
+                } else {
+                    do {
+                        g.drawImage(src, x, y, bg, null);
+                        if ((x -= 3) < 0) x += ictx.maxX;
+                        if ((y -= 1) < 0) y += ictx.maxY;
+                    } while (--numReps > 0);
+                }
             } else {
-                do {
-                    g.drawImage(src, x, y, bg, null);
-                } while (--numReps > 0);
+                if (ictx.touchSrc) {
+                    Graphics srcG = src.getGraphics();
+                    do {
+                        srcG.fillRect(0, 0, 1, 1);
+                        g.drawImage(src, x, y, bg, null);
+                    } while (--numReps > 0);
+                } else {
+                    do {
+                        g.drawImage(src, x, y, bg, null);
+                    } while (--numReps > 0);
+                }
             }
             g.translate(-ictx.orgX, -ictx.orgY);
         }
@@ -524,7 +598,7 @@
 
         public DrawImageScale(String dir, float scale) {
             super(imgtestroot, "drawimagescale"+dir,
-                  "drawImage(img, x, y, w*"+scale+", h*"+scale+", obs);");
+                               "drawImage(img, x, y, w*"+scale+", h*"+scale+", obs);");
             this.scale = scale;
         }
 
@@ -546,15 +620,33 @@
             g.translate(ictx.orgX, ictx.orgY);
             Image src = ictx.src;
             if (ictx.animate) {
-                do {
-                    g.drawImage(src, x, y, w, h, null);
-                    if ((x -= 3) < 0) x += ictx.maxX;
-                    if ((y -= 1) < 0) y += ictx.maxY;
-                } while (--numReps > 0);
+                if (ictx.touchSrc) {
+                    Graphics srcG = src.getGraphics();
+                    do {
+                        srcG.fillRect(0, 0, 1, 1);
+                        g.drawImage(src, x, y, w, h, null);
+                        if ((x -= 3) < 0) x += ictx.maxX;
+                        if ((y -= 1) < 0) y += ictx.maxY;
+                    } while (--numReps > 0);
+                } else {
+                    do {
+                        g.drawImage(src, x, y, w, h, null);
+                        if ((x -= 3) < 0) x += ictx.maxX;
+                        if ((y -= 1) < 0) y += ictx.maxY;
+                    } while (--numReps > 0);
+                }
             } else {
-                do {
-                    g.drawImage(src, x, y, w, h, null);
-                } while (--numReps > 0);
+                Graphics srcG = src.getGraphics();
+                if (ictx.touchSrc) {
+                    do {
+                        srcG.fillRect(0, 0, 1, 1);
+                        g.drawImage(src, x, y, w, h, null);
+                    } while (--numReps > 0);
+                } else {
+                    do {
+                        g.drawImage(src, x, y, w, h, null);
+                    } while (--numReps > 0);
+                }
             }
             g.translate(-ictx.orgX, -ictx.orgY);
         }
@@ -588,17 +680,36 @@
             Image src = ictx.src;
             AffineTransform tx = ictx.tx;
             if (ictx.animate) {
-                do {
-                    tx.setTransform(1.0, 0.1, 0.1, 1.0, x, y);
-                    g.drawImage(src, tx, null);
-                    if ((x -= 3) < 0) x += ictx.maxX;
-                    if ((y -= 1) < 0) y += ictx.maxY;
-                } while (--numReps > 0);
+                if (ictx.touchSrc) {
+                    Graphics srcG = src.getGraphics();
+                    do {
+                        tx.setTransform(1.0, 0.1, 0.1, 1.0, x, y);
+                        srcG.fillRect(0, 0, 1, 1);
+                        g.drawImage(src, tx, null);
+                        if ((x -= 3) < 0) x += ictx.maxX;
+                        if ((y -= 1) < 0) y += ictx.maxY;
+                    } while (--numReps > 0);
+                } else {
+                    do {
+                        tx.setTransform(1.0, 0.1, 0.1, 1.0, x, y);
+                        g.drawImage(src, tx, null);
+                        if ((x -= 3) < 0) x += ictx.maxX;
+                        if ((y -= 1) < 0) y += ictx.maxY;
+                    } while (--numReps > 0);
+                }
             } else {
                 tx.setTransform(1.0, 0.1, 0.1, 1.0, x, y);
-                do {
-                    g.drawImage(src, tx, null);
-                } while (--numReps > 0);
+                if (ictx.touchSrc) {
+                    Graphics srcG = src.getGraphics();
+                    do {
+                        srcG.fillRect(0, 0, 1, 1);
+                        g.drawImage(src, tx, null);
+                    } while (--numReps > 0);
+                } else {
+                    do {
+                        g.drawImage(src, tx, null);
+                    } while (--numReps > 0);
+                }
             }
             g.translate(-ictx.orgX, -ictx.orgY);
         }
@@ -736,15 +847,33 @@
             Graphics2D g2 = (Graphics2D)ictx.graphics;
             g2.translate(ictx.orgX, ictx.orgY);
             if (ictx.animate) {
-                do {
-                    g2.drawImage(src, op, x, y);
-                    if ((x -= 3) < 0) x += ictx.maxX;
-                    if ((y -= 1) < 0) y += ictx.maxY;
-                } while (--numReps > 0);
+                if (ictx.touchSrc) {
+                    Graphics gSrc = src.getGraphics();
+                    do {
+                        gSrc.fillRect(0, 0, 1, 1);
+                        g2.drawImage(src, op, x, y);
+                        if ((x -= 3) < 0) x += ictx.maxX;
+                        if ((y -= 1) < 0) y += ictx.maxY;
+                    } while (--numReps > 0);
+                } else {
+                    do {
+                        g2.drawImage(src, op, x, y);
+                        if ((x -= 3) < 0) x += ictx.maxX;
+                        if ((y -= 1) < 0) y += ictx.maxY;
+                    } while (--numReps > 0);
+                }
             } else {
-                do {
-                    g2.drawImage(src, op, x, y);
-                } while (--numReps > 0);
+                if (ictx.touchSrc) {
+                    Graphics gSrc = src.getGraphics();
+                    do {
+                        gSrc.fillRect(0, 0, 1, 1);
+                        g2.drawImage(src, op, x, y);
+                    } while (--numReps > 0);
+                } else {
+                    do {
+                        g2.drawImage(src, op, x, y);
+                    } while (--numReps > 0);
+                }
             }
             g2.translate(-ictx.orgX, -ictx.orgY);
         }
@@ -778,9 +907,17 @@
             BufferedImageOp op = ictx.bufImgOp;
             BufferedImage src = ictx.bufSrc;
             BufferedImage dst = ictx.bufDst;
-            do {
-                op.filter(src, dst);
-            } while (--numReps > 0);
+            if (ictx.touchSrc) {
+                Graphics gSrc = src.getGraphics();
+                do {
+                    gSrc.fillRect(0, 0, 1, 1);
+                    op.filter(src, dst);
+                } while (--numReps > 0);
+            } else {
+                do {
+                    op.filter(src, dst);
+                } while (--numReps > 0);
+            }
         }
     }
 
@@ -814,9 +951,17 @@
             RasterOp op = ictx.rasterOp;
             Raster src = ictx.rasSrc;
             WritableRaster dst = ictx.rasDst;
-            do {
-                op.filter(src, dst);
-            } while (--numReps > 0);
+            if (ictx.touchSrc) {
+                Graphics gSrc = ictx.bufSrc.getGraphics();
+                do {
+                    gSrc.fillRect(0, 0, 1, 1);
+                    op.filter(src, dst);
+                } while (--numReps > 0);
+            } else {
+                do {
+                    op.filter(src, dst);
+                } while (--numReps > 0);
+            }
         }
     }
 }
--- a/jdk/src/share/native/sun/font/freetypeScaler.c	Wed Jul 05 16:44:40 2017 +0200
+++ b/jdk/src/share/native/sun/font/freetypeScaler.c	Wed Jul 05 16:45:14 2017 +0200
@@ -1281,7 +1281,7 @@
                                    sunFontIDs.rect2DFloatClass,
                                    sunFontIDs.rect2DFloatCtr4,
                                    F26Dot6ToFloat(bbox.xMin),
-                                   F26Dot6ToFloat(bbox.yMax),
+                                   F26Dot6ToFloat(-bbox.yMax),
                                    F26Dot6ToFloat(bbox.xMax-bbox.xMin),
                                    F26Dot6ToFloat(bbox.yMax-bbox.yMin));
     }
--- a/jdk/src/share/native/sun/java2d/opengl/OGLBlitLoops.c	Wed Jul 05 16:44:40 2017 +0200
+++ b/jdk/src/share/native/sun/java2d/opengl/OGLBlitLoops.c	Wed Jul 05 16:45:14 2017 +0200
@@ -203,7 +203,24 @@
     j2d_glBitmap(0, 0, 0, 0, (GLfloat)dx1, (GLfloat)-dy1, NULL);
 
     j2d_glPixelZoom(scalex, -scaley);
-    j2d_glDrawPixels(sx2-sx1, sy2-sy1, pf->format, pf->type, srcInfo->rasBase);
+
+    // in case pixel stride is not a multiple of scanline stride the copy
+    // has to be done line by line (see 6207877)
+    if (srcInfo->scanStride % srcInfo->pixelStride != 0) {
+        jint width = sx2-sx1;
+        jint height = sy2-sy1;
+        GLvoid *pSrc = srcInfo->rasBase;
+
+        while (height > 0) {
+            j2d_glDrawPixels(width, 1, pf->format, pf->type, pSrc);
+            j2d_glBitmap(0, 0, 0, 0, (GLfloat)0, (GLfloat)-1, NULL);
+            pSrc = PtrAddBytes(pSrc, srcInfo->scanStride);
+            height--;
+        }
+    } else {
+        j2d_glDrawPixels(sx2-sx1, sy2-sy1, pf->format, pf->type, srcInfo->rasBase);
+    }
+
     j2d_glPixelZoom(1.0, 1.0);
 
     if (oglc->extraAlpha != 1.0f) {
@@ -250,6 +267,7 @@
     jint sx, sy, sw, sh;
     GLint glhint = (hint == OGLSD_XFORM_BILINEAR) ? GL_LINEAR : GL_NEAREST;
     jboolean adjustAlpha = (pf != NULL && !pf->hasAlpha);
+    jboolean slowPath;
 
     if (oglc->blitTextureID == 0) {
         if (!OGLContext_InitBlitTileTexture(oglc)) {
@@ -279,6 +297,10 @@
         j2d_glPixelTransferf(GL_ALPHA_BIAS, 1.0f);
     }
 
+    // in case pixel stride is not a multiple of scanline stride the copy
+    // has to be done line by line (see 6207877)
+    slowPath = srcInfo->scanStride % srcInfo->pixelStride != 0;
+
     for (sy = sy1, dy = dy1; sy < sy2; sy += th, dy += cdh) {
         sh = ((sy + th) > sy2) ? (sy2 - sy) : th;
         dh = ((dy + cdh) > dy2) ? (dy2 - dy) : cdh;
@@ -291,13 +313,29 @@
             ty2 = ((GLdouble)sh) / th;
 
             if (swsurface) {
-                j2d_glPixelStorei(GL_UNPACK_SKIP_PIXELS, sx);
-                j2d_glPixelStorei(GL_UNPACK_SKIP_ROWS, sy);
+                if (slowPath) {
+                    jint tmph = sh;
+                    GLvoid *pSrc = PtrCoord(srcInfo->rasBase,
+                                            sx, srcInfo->pixelStride,
+                                            sy, srcInfo->scanStride);
 
-                j2d_glTexSubImage2D(GL_TEXTURE_2D, 0,
-                                    0, 0, sw, sh,
-                                    pf->format, pf->type,
-                                    srcInfo->rasBase);
+                    while (tmph > 0) {
+                        j2d_glTexSubImage2D(GL_TEXTURE_2D, 0,
+                                            0, sh - tmph, sw, 1,
+                                            pf->format, pf->type,
+                                            pSrc);
+                        pSrc = PtrAddBytes(pSrc, srcInfo->scanStride);
+                        tmph--;
+                    }
+                } else {
+                    j2d_glPixelStorei(GL_UNPACK_SKIP_PIXELS, sx);
+                    j2d_glPixelStorei(GL_UNPACK_SKIP_ROWS, sy);
+
+                    j2d_glTexSubImage2D(GL_TEXTURE_2D, 0,
+                                        0, 0, sw, sh,
+                                        pf->format, pf->type,
+                                        srcInfo->rasBase);
+                }
 
                 // the texture image is "right side up", so we align the
                 // upper-left texture corner with the upper-left quad corner
@@ -356,9 +394,25 @@
                    jint dx1, jint dy1, jint dx2, jint dy2)
 {
     j2d_glBindTexture(dstOps->textureTarget, dstOps->textureID);
-    j2d_glTexSubImage2D(dstOps->textureTarget, 0,
-                        dx1, dy1, dx2-dx1, dy2-dy1,
-                        pf->format, pf->type, srcInfo->rasBase);
+    // in case pixel stride is not a multiple of scanline stride the copy
+    // has to be done line by line (see 6207877)
+    if (srcInfo->scanStride % srcInfo->pixelStride != 0) {
+        jint width = dx2 - dx1;
+        jint height = dy2 - dy1;
+        GLvoid *pSrc = srcInfo->rasBase;
+
+        while (height > 0) {
+            j2d_glTexSubImage2D(dstOps->textureTarget, 0,
+                                dx1, dy2 - height, width, 1,
+                                pf->format, pf->type, pSrc);
+            pSrc = PtrAddBytes(pSrc, srcInfo->scanStride);
+            height--;
+        }
+    } else {
+        j2d_glTexSubImage2D(dstOps->textureTarget, 0,
+                            dx1, dy1, dx2-dx1, dy2-dy1,
+                            pf->format, pf->type, srcInfo->rasBase);
+    }
 }
 
 /**
--- a/jdk/src/share/native/sun/java2d/opengl/OGLSurfaceData.c	Wed Jul 05 16:44:40 2017 +0200
+++ b/jdk/src/share/native/sun/java2d/opengl/OGLSurfaceData.c	Wed Jul 05 16:45:14 2017 +0200
@@ -73,7 +73,8 @@
       1, 0, 1,                                     }, /* 9 - ByteGray     */
     { GL_LUMINANCE, GL_UNSIGNED_SHORT,
       2, 0, 1,                                     }, /*10 - UshortGray   */
-};
+    { GL_BGR,  GL_UNSIGNED_BYTE,
+      1, 0, 1,                                     }, /*11 - ThreeByteBgr */};
 
 /**
  * Given a starting value and a maximum limit, returns the first power-of-two
--- a/jdk/src/solaris/classes/sun/awt/X11GraphicsEnvironment.java	Wed Jul 05 16:44:40 2017 +0200
+++ b/jdk/src/solaris/classes/sun/awt/X11GraphicsEnvironment.java	Wed Jul 05 16:45:14 2017 +0200
@@ -209,7 +209,7 @@
     private static native int checkShmExt();
 
     private static  native String getDisplayString();
-    private static Boolean isDisplayLocal;
+    private Boolean isDisplayLocal;
 
     /**
      * This should only be called from the static initializer, so no need for
@@ -234,7 +234,8 @@
         return getScreenDevices()[getDefaultScreenNum()];
     }
 
-    public static boolean isDisplayLocal() {
+    @Override
+    public boolean isDisplayLocal() {
         if (isDisplayLocal == null) {
             SunToolkit.awtLock();
             try {
--- a/jdk/src/solaris/classes/sun/java2d/opengl/GLXGraphicsConfig.java	Wed Jul 05 16:44:40 2017 +0200
+++ b/jdk/src/solaris/classes/sun/java2d/opengl/GLXGraphicsConfig.java	Wed Jul 05 16:45:14 2017 +0200
@@ -120,12 +120,14 @@
                 new GLXGetConfigInfo(device.getScreen(), visualnum);
             rq.flushAndInvokeNow(action);
             cfginfo = action.getConfigInfo();
-            OGLContext.setScratchSurface(cfginfo);
-            rq.flushAndInvokeNow(new Runnable() {
-                public void run() {
-                    ids[0] = OGLContext.getOGLIdString();
-                }
-            });
+            if (cfginfo != 0L) {
+                OGLContext.setScratchSurface(cfginfo);
+                rq.flushAndInvokeNow(new Runnable() {
+                    public void run() {
+                        ids[0] = OGLContext.getOGLIdString();
+                    }
+                });
+            }
         } finally {
             rq.unlock();
         }
--- a/jdk/src/solaris/classes/sun/java2d/x11/X11SurfaceData.java	Wed Jul 05 16:44:40 2017 +0200
+++ b/jdk/src/solaris/classes/sun/java2d/x11/X11SurfaceData.java	Wed Jul 05 16:45:14 2017 +0200
@@ -50,6 +50,7 @@
 import sun.font.X11TextRenderer;
 import sun.java2d.InvalidPipeException;
 import sun.java2d.SunGraphics2D;
+import sun.java2d.SunGraphicsEnvironment;
 import sun.java2d.SurfaceData;
 import sun.java2d.SurfaceDataProxy;
 import sun.java2d.loops.SurfaceType;
@@ -240,6 +241,11 @@
      */
     public static native boolean isDgaAvailable();
 
+    /**
+     * Returns true if shared memory pixmaps are available
+     */
+    private static native boolean isShmPMAvailable();
+
     public static boolean isAccelerationEnabled() {
         if (accelerationEnabled == null) {
 
@@ -253,8 +259,17 @@
                     // true iff prop==true, false otherwise
                     accelerationEnabled = Boolean.valueOf(prop);
                 } else {
-                    // use pixmaps if there is no dga, no matter local or remote
-                    accelerationEnabled = Boolean.valueOf(!isDgaAvailable());
+                    boolean isDisplayLocal = false;
+                    GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
+                    if (ge instanceof SunGraphicsEnvironment) {
+                        isDisplayLocal = ((SunGraphicsEnvironment) ge).isDisplayLocal();
+                     }
+
+                    // EXA based drivers tend to place pixmaps in VRAM, slowing down readbacks.
+                    // Don't use pixmaps if dga is available,
+                    // or we are local and shared memory Pixmaps are not available.
+                    accelerationEnabled =
+                        !(isDgaAvailable() || (isDisplayLocal && !isShmPMAvailable()));
                 }
             }
         }
--- a/jdk/src/solaris/classes/sun/print/CUPSPrinter.java	Wed Jul 05 16:44:40 2017 +0200
+++ b/jdk/src/solaris/classes/sun/print/CUPSPrinter.java	Wed Jul 05 16:45:14 2017 +0200
@@ -46,9 +46,9 @@
 
 
 public class CUPSPrinter  {
-
+    private static final String debugPrefix = "CUPSPrinter>> ";
     private static final double PRINTER_DPI = 72.0;
-    private static boolean initialized;
+    private boolean initialized;
     private static native String getCupsServer();
     private static native int getCupsPort();
     private static native boolean canConnect(String server, int port);
@@ -156,7 +156,7 @@
     /**
      * Initialize media by translating PPD info to PrintService attributes.
      */
-    private void initMedia() {
+    private synchronized void initMedia() {
         if (initialized) {
             return;
         } else {
@@ -392,9 +392,9 @@
      * Detects if CUPS is running.
      */
     public static boolean isCupsRunning() {
-        IPPPrintService.debug_println("libFound "+libFound);
+        IPPPrintService.debug_println(debugPrefix+"libFound "+libFound);
         if (libFound) {
-            IPPPrintService.debug_println("CUPS server "+getServer()+
+            IPPPrintService.debug_println(debugPrefix+"CUPS server "+getServer()+
                                           " port "+getPort());
             return canConnect(getServer(), getPort());
         } else {
--- a/jdk/src/solaris/classes/sun/print/IPPPrintService.java	Wed Jul 05 16:44:40 2017 +0200
+++ b/jdk/src/solaris/classes/sun/print/IPPPrintService.java	Wed Jul 05 16:45:14 2017 +0200
@@ -1,5 +1,5 @@
 /*
- * Copyright 2003-2008 Sun Microsystems, Inc.  All Rights Reserved.
+ * Copyright 2003-2007 Sun Microsystems, Inc.  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
@@ -57,18 +57,28 @@
 import java.nio.charset.Charset;
 
 import java.util.Iterator;
+import java.util.HashSet;
 
 
 public class IPPPrintService implements PrintService, SunPrinterJobService {
 
-    public static boolean debugPrint = false;
-    private static String debugPrefix = "IPPPrintService>> ";
+    public static final boolean debugPrint;
+    private static final String debugPrefix = "IPPPrintService>> ";
     protected static void debug_println(String str) {
         if (debugPrint) {
             System.out.println(str);
         }
     }
 
+    private static final String FORCE_PIPE_PROP = "sun.print.ippdebug";
+
+    static {
+        String debugStr =
+                (String)java.security.AccessController.doPrivileged(
+                  new sun.security.action.GetPropertyAction(FORCE_PIPE_PROP));
+
+        debugPrint = "true".equalsIgnoreCase(debugStr);
+    }
 
     private String printer;
     private URI    myURI;
@@ -382,7 +392,7 @@
             if ((urlConnection = getIPPConnection(myURL)) == null) {
                 mediaSizeNames = new MediaSizeName[0];
                 mediaTrays = new MediaTray[0];
-                debug_println("NULL urlConnection ");
+                debug_println(debugPrefix+"initAttributes, NULL urlConnection ");
                 init = true;
                 return;
             }
@@ -407,7 +417,7 @@
                     return;
                 } catch (Exception e) {
                     IPPPrintService.debug_println(debugPrefix+
-                                       " error creating CUPSPrinter e="+e);
+                                       "initAttributes, error creating CUPSPrinter e="+e);
                 }
             }
 
@@ -486,28 +496,26 @@
         /* Test if the flavor is compatible with the category */
         if ((category == Copies.class) ||
             (category == CopiesSupported.class)) {
-            CopiesSupported cs = new CopiesSupported(1, MAXCOPIES);
-            AttributeClass attribClass = (getAttMap != null) ?
-                (AttributeClass)getAttMap.get(cs.getName()) : null;
-            if (attribClass != null) {
-                int[] range = attribClass.getIntRangeValue();
-                cs = new CopiesSupported(range[0], range[1]);
+            if (flavor == null ||
+                !(flavor.equals(DocFlavor.INPUT_STREAM.POSTSCRIPT) ||
+                  flavor.equals(DocFlavor.URL.POSTSCRIPT) ||
+                  flavor.equals(DocFlavor.BYTE_ARRAY.POSTSCRIPT))) {
+                CopiesSupported cs = new CopiesSupported(1, MAXCOPIES);
+                AttributeClass attribClass = (getAttMap != null) ?
+                    (AttributeClass)getAttMap.get(cs.getName()) : null;
+                if (attribClass != null) {
+                    int[] range = attribClass.getIntRangeValue();
+                    cs = new CopiesSupported(range[0], range[1]);
+                }
+                return cs;
+            } else {
+                return null;
             }
-            return cs;
         } else  if (category == Chromaticity.class) {
             if (flavor == null ||
                 flavor.equals(DocFlavor.SERVICE_FORMATTED.PAGEABLE) ||
                 flavor.equals(DocFlavor.SERVICE_FORMATTED.PRINTABLE) ||
-                flavor.equals(DocFlavor.BYTE_ARRAY.GIF) ||
-                flavor.equals(DocFlavor.INPUT_STREAM.GIF) ||
-                flavor.equals(DocFlavor.URL.GIF) ||
-                flavor.equals(DocFlavor.BYTE_ARRAY.JPEG) ||
-                flavor.equals(DocFlavor.INPUT_STREAM.JPEG) ||
-                flavor.equals(DocFlavor.URL.JPEG) ||
-                flavor.equals(DocFlavor.BYTE_ARRAY.PNG) ||
-                flavor.equals(DocFlavor.INPUT_STREAM.PNG) ||
-                flavor.equals(DocFlavor.URL.PNG)) {
-
+                !isIPPSupportedImages(flavor.getMimeType())) {
                 Chromaticity[]arr = new Chromaticity[1];
                 arr[0] = Chromaticity.COLOR;
                 return (arr);
@@ -822,7 +830,7 @@
                 boolean psSupported = false;
                 String[] docFlavors = attribClass.getArrayOfStringValues();
                 DocFlavor[] flavors;
-                ArrayList docList = new ArrayList();
+                HashSet docList = new HashSet();
                 int j;
                 String hostEnc = DocFlavor.hostEncoding.
                     toLowerCase(Locale.ENGLISH);
@@ -839,18 +847,6 @@
 
                             docList.addAll(Arrays.asList(flavors));
 
-                            if (isCupsPrinter) {
-                            /*
-                              Always add Pageable and Printable for CUPS
-                              since it uses Filters to convert from Postscript
-                              to device printer language.
-                             */
-                                docList.add(
-                                        DocFlavor.SERVICE_FORMATTED.PAGEABLE);
-                                docList.add(
-                                        DocFlavor.SERVICE_FORMATTED.PRINTABLE);
-                            }
-
                             if (mimeType.equals("text/plain") &&
                                 addHostEncoding) {
                                 docList.add(Arrays.asList(textPlainHost));
@@ -880,16 +876,19 @@
                 }
 
                 // check if we need to add image DocFlavors
+                // and Pageable/Printable flavors
                 if (psSupported || isCupsPrinter) {
-                    if (!jpgImagesAdded) {
-                        docList.addAll(Arrays.asList(imageJPG));
-                    }
-                    if (!pngImagesAdded) {
-                        docList.addAll(Arrays.asList(imagePNG));
-                    }
-                    if (!gifImagesAdded) {
-                        docList.addAll(Arrays.asList(imageGIF));
-                    }
+                    /*
+                     Always add Pageable and Printable for CUPS
+                     since it uses Filters to convert from Postscript
+                     to device printer language.
+                    */
+                    docList.add(DocFlavor.SERVICE_FORMATTED.PAGEABLE);
+                    docList.add(DocFlavor.SERVICE_FORMATTED.PRINTABLE);
+
+                    docList.addAll(Arrays.asList(imageJPG));
+                    docList.addAll(Arrays.asList(imagePNG));
+                    docList.addAll(Arrays.asList(imageGIF));
                 }
                 supportedDocFlavors = new DocFlavor[docList.size()];
                 docList.toArray(supportedDocFlavors);
@@ -922,6 +921,9 @@
      * Finds matching CustomMediaSizeName of given media.
      */
     public CustomMediaSizeName findCustomMedia(MediaSizeName media) {
+        if (customMediaSizeNames == null) {
+            return null;
+        }
         for (int i=0; i< customMediaSizeNames.length; i++) {
             CustomMediaSizeName custom =
                 (CustomMediaSizeName)customMediaSizeNames[i];
@@ -1203,7 +1205,7 @@
             return true;
         }
         for (int i=0; i<mediaSizeNames.length; i++) {
-            debug_println("mediaSizeNames[i] "+mediaSizeNames[i]);
+            debug_println(debugPrefix+"isSupportedMedia, mediaSizeNames[i] "+mediaSizeNames[i]);
             if (msn.equals(mediaSizeNames[i])) {
                 return true;
             }
@@ -1228,7 +1230,7 @@
     }
 
 
-   public boolean isAttributeValueSupported(Attribute attr,
+    public boolean isAttributeValueSupported(Attribute attr,
                                              DocFlavor flavor,
                                              AttributeSet attributes) {
         if (attr == null) {
@@ -1257,21 +1259,18 @@
             if ((flavor == null) ||
                 flavor.equals(DocFlavor.SERVICE_FORMATTED.PAGEABLE) ||
                 flavor.equals(DocFlavor.SERVICE_FORMATTED.PRINTABLE) ||
-                flavor.equals(DocFlavor.BYTE_ARRAY.GIF) ||
-                flavor.equals(DocFlavor.INPUT_STREAM.GIF) ||
-                flavor.equals(DocFlavor.URL.GIF) ||
-                flavor.equals(DocFlavor.BYTE_ARRAY.JPEG) ||
-                flavor.equals(DocFlavor.INPUT_STREAM.JPEG) ||
-                flavor.equals(DocFlavor.URL.JPEG) ||
-                flavor.equals(DocFlavor.BYTE_ARRAY.PNG) ||
-                flavor.equals(DocFlavor.INPUT_STREAM.PNG) ||
-                flavor.equals(DocFlavor.URL.PNG)) {
+                !isIPPSupportedImages(flavor.getMimeType())) {
                 return attr == Chromaticity.COLOR;
             } else {
                 return false;
             }
         } else if (attr.getCategory() == Copies.class) {
-            return isSupportedCopies((Copies)attr);
+            return (flavor == null ||
+                   !(flavor.equals(DocFlavor.INPUT_STREAM.POSTSCRIPT) ||
+                   flavor.equals(DocFlavor.URL.POSTSCRIPT) ||
+                   flavor.equals(DocFlavor.BYTE_ARRAY.POSTSCRIPT))) &&
+                isSupportedCopies((Copies)attr);
+
         } else if (attr.getCategory() == Destination.class) {
             if (flavor == null ||
                 flavor.equals(DocFlavor.SERVICE_FORMATTED.PAGEABLE) ||
@@ -1667,9 +1666,10 @@
         try {
             osw = new OutputStreamWriter(os, "UTF-8");
         } catch (java.io.UnsupportedEncodingException exc) {
-            debug_println("UTF-8 not supported? Exception: "+exc);
+            debug_println(debugPrefix+"writeIPPRequest, UTF-8 not supported? Exception: "+exc);
             return false;
         }
+        debug_println(debugPrefix+"writeIPPRequest, op code= "+operCode);
         char[] opCode =  new char[2];
         opCode[0] =  (char)Byte.parseByte(operCode.substring(0,2), 16);
         opCode[1] =  (char)Byte.parseByte(operCode.substring(2,4), 16);
@@ -1710,7 +1710,7 @@
             osw.flush();
             osw.close();
         } catch (java.io.IOException ioe) {
-            debug_println(debugPrefix+"IPPPrintService Exception in writeIPPRequest: "+ioe);
+            debug_println(debugPrefix+"writeIPPRequest, IPPPrintService Exception in writeIPPRequest: "+ioe);
             return false;
         }
         return true;
@@ -1747,7 +1747,7 @@
                 while ((response[0] >= GRPTAG_OP_ATTRIBUTES) &&
                        (response[0] <= GRPTAG_PRINTER_ATTRIBUTES)
                           && (response[0] != GRPTAG_END_ATTRIBUTES)) {
-                    debug_println(debugPrefix+"checking group tag,  response[0]= "+
+                    debug_println(debugPrefix+"readIPPResponse, checking group tag,  response[0]= "+
                                   response[0]);
 
                     outObj = new ByteArrayOutputStream();
@@ -1786,6 +1786,7 @@
                                                        outArray);
 
                                 responseMap.put(ac.getName(), ac);
+                                debug_println(debugPrefix+ "readIPPResponse "+ac);
                             }
 
                             outObj = new ByteArrayOutputStream();
@@ -1858,6 +1859,9 @@
 
         } catch (java.io.IOException e) {
             debug_println(debugPrefix+"readIPPResponse: "+e);
+            if (debugPrint) {
+                e.printStackTrace();
+            }
             return null;
         }
     }
@@ -1872,4 +1876,8 @@
                  (obj instanceof IPPPrintService &&
                   ((IPPPrintService)obj).getName().equals(getName())));
     }
+
+    public int hashCode() {
+        return this.getClass().hashCode()+getName().hashCode();
+    }
 }
--- a/jdk/src/solaris/classes/sun/print/UnixPrintService.java	Wed Jul 05 16:44:40 2017 +0200
+++ b/jdk/src/solaris/classes/sun/print/UnixPrintService.java	Wed Jul 05 16:45:14 2017 +0200
@@ -686,19 +686,7 @@
         }
 
         if (category == Chromaticity.class) {
-            if (flavor == null ||
-                flavor.equals(DocFlavor.SERVICE_FORMATTED.PAGEABLE) ||
-                flavor.equals(DocFlavor.SERVICE_FORMATTED.PRINTABLE) ||
-                flavor.equals(DocFlavor.BYTE_ARRAY.GIF) ||
-                flavor.equals(DocFlavor.INPUT_STREAM.GIF) ||
-                flavor.equals(DocFlavor.URL.GIF) ||
-                flavor.equals(DocFlavor.BYTE_ARRAY.JPEG) ||
-                flavor.equals(DocFlavor.INPUT_STREAM.JPEG) ||
-                flavor.equals(DocFlavor.URL.JPEG) ||
-                flavor.equals(DocFlavor.BYTE_ARRAY.PNG) ||
-                flavor.equals(DocFlavor.INPUT_STREAM.PNG) ||
-                flavor.equals(DocFlavor.URL.PNG)) {
-
+            if (flavor == null || isServiceFormattedFlavor(flavor)) {
                 Chromaticity[]arr = new Chromaticity[1];
                 arr[0] = Chromaticity.COLOR;
                 return (arr);
@@ -730,18 +718,7 @@
             }
             return new RequestingUserName(userName, null);
         } else if (category == OrientationRequested.class) {
-            if (flavor == null ||
-                flavor.equals(DocFlavor.SERVICE_FORMATTED.PAGEABLE) ||
-                flavor.equals(DocFlavor.SERVICE_FORMATTED.PRINTABLE) ||
-                flavor.equals(DocFlavor.INPUT_STREAM.GIF) ||
-                flavor.equals(DocFlavor.INPUT_STREAM.JPEG) ||
-                flavor.equals(DocFlavor.INPUT_STREAM.PNG) ||
-                flavor.equals(DocFlavor.BYTE_ARRAY.GIF) ||
-                flavor.equals(DocFlavor.BYTE_ARRAY.JPEG) ||
-                flavor.equals(DocFlavor.BYTE_ARRAY.PNG) ||
-                flavor.equals(DocFlavor.URL.GIF) ||
-                flavor.equals(DocFlavor.URL.JPEG) ||
-                flavor.equals(DocFlavor.URL.PNG)) {
+            if (flavor == null || isServiceFormattedFlavor(flavor)) {
                 OrientationRequested []arr = new OrientationRequested[3];
                 arr[0] = OrientationRequested.PORTRAIT;
                 arr[1] = OrientationRequested.LANDSCAPE;
@@ -752,7 +729,14 @@
             }
         } else if ((category == Copies.class) ||
                    (category == CopiesSupported.class)) {
-            return new CopiesSupported(1, MAXCOPIES);
+            if (flavor == null ||
+                !(flavor.equals(DocFlavor.INPUT_STREAM.POSTSCRIPT) ||
+                  flavor.equals(DocFlavor.URL.POSTSCRIPT) ||
+                  flavor.equals(DocFlavor.BYTE_ARRAY.POSTSCRIPT))) {
+                return new CopiesSupported(1, MAXCOPIES);
+            } else {
+                return null;
+            }
         } else if (category == Media.class) {
             Media []arr = new Media[mediaSizes.length];
             System.arraycopy(mediaSizes, 0, arr, 0, mediaSizes.length);
@@ -917,8 +901,10 @@
             }
         }
         else if (attr.getCategory() == Copies.class) {
-            return
-                (flavor == null || isServiceFormattedFlavor(flavor)) &&
+            return (flavor == null ||
+                   !(flavor.equals(DocFlavor.INPUT_STREAM.POSTSCRIPT) ||
+                     flavor.equals(DocFlavor.URL.POSTSCRIPT) ||
+                     flavor.equals(DocFlavor.BYTE_ARRAY.POSTSCRIPT))) &&
                 isSupportedCopies((Copies)attr);
         } else if (attr.getCategory() == Destination.class) {
             URI uri = ((Destination)attr).getURI();
--- a/jdk/src/solaris/native/sun/awt/fontpath.c	Wed Jul 05 16:44:40 2017 +0200
+++ b/jdk/src/solaris/native/sun/awt/fontpath.c	Wed Jul 05 16:45:14 2017 +0200
@@ -156,7 +156,7 @@
 
     isLocal = JNU_CallStaticMethodByName(env, NULL,
                                          "sun/awt/X11GraphicsEnvironment",
-                                         "isDisplayLocal",
+                                         "_isDisplayLocal",
                                          "()Z").z;
     isLocalSet = True;
     return isLocal;
@@ -1233,7 +1233,7 @@
         for (j=0; j<nfonts; j++) {
             FcPattern *fontPattern = fontset->fonts[j];
             FcChar8 *fontformat;
-            FcCharSet *unionCharset, *charset;
+            FcCharSet *unionCharset = NULL, *charset;
 
             fontformat = NULL;
             (*FcPatternGetString)(fontPattern, FC_FONTFORMAT, 0, &fontformat);
@@ -1256,7 +1256,7 @@
             if (nfonts==10) {
                 minGlyphs = 50;
             }
-            if (j == 0) {
+            if (unionCharset == NULL) {
                 unionCharset = charset;
             } else {
                 if ((*FcCharSetSubtractCount)(charset, unionCharset)
--- a/jdk/src/solaris/native/sun/java2d/x11/X11SurfaceData.c	Wed Jul 05 16:44:40 2017 +0200
+++ b/jdk/src/solaris/native/sun/java2d/x11/X11SurfaceData.c	Wed Jul 05 16:45:14 2017 +0200
@@ -208,6 +208,23 @@
 #endif /* HEADLESS */
 }
 
+
+/*
+ * Class:     sun_java2d_x11_X11SurfaceData
+ * Method:    isShmPMAvailable
+ * Signature: ()Z
+ */
+JNIEXPORT jboolean JNICALL
+Java_sun_java2d_x11_X11SurfaceData_isShmPMAvailable(JNIEnv *env, jobject this)
+{
+#if defined(HEADLESS) || !defined(MITSHM)
+    return JNI_FALSE;
+#else
+    return useMitShmPixmaps;
+#endif /* HEADLESS, MITSHM */
+}
+
+
 /*
  * Class:     sun_java2d_x11_X11SurfaceData
  * Method:    initOps
--- a/jdk/src/windows/classes/sun/awt/Win32GraphicsEnvironment.java	Wed Jul 05 16:44:40 2017 +0200
+++ b/jdk/src/windows/classes/sun/awt/Win32GraphicsEnvironment.java	Wed Jul 05 16:45:14 2017 +0200
@@ -393,4 +393,9 @@
     private static void dwmCompositionChanged(boolean enabled) {
         isDWMCompositionEnabled = enabled;
     }
+
+    @Override
+    public boolean isDisplayLocal() {
+        return true;
+    }
 }
--- a/jdk/src/windows/classes/sun/java2d/d3d/D3DBlitLoops.java	Wed Jul 05 16:44:40 2017 +0200
+++ b/jdk/src/windows/classes/sun/java2d/d3d/D3DBlitLoops.java	Wed Jul 05 16:45:14 2017 +0200
@@ -85,6 +85,8 @@
                                    D3DSurfaceData.ST_INT_RGB),
             new D3DSwToSurfaceBlit(SurfaceType.IntBgr,
                                    D3DSurfaceData.ST_INT_BGR),
+            new D3DSwToSurfaceBlit(SurfaceType.ThreeByteBgr,
+                                   D3DSurfaceData.ST_3BYTE_BGR),
             new D3DSwToSurfaceBlit(SurfaceType.Ushort565Rgb,
                                    D3DSurfaceData.ST_USHORT_565_RGB),
             new D3DSwToSurfaceBlit(SurfaceType.Ushort555Rgb,
@@ -106,6 +108,8 @@
                                     D3DSurfaceData.ST_INT_RGB),
             new D3DSwToSurfaceScale(SurfaceType.IntBgr,
                                     D3DSurfaceData.ST_INT_BGR),
+            new D3DSwToSurfaceScale(SurfaceType.ThreeByteBgr,
+                                    D3DSurfaceData.ST_3BYTE_BGR),
             new D3DSwToSurfaceScale(SurfaceType.Ushort565Rgb,
                                     D3DSurfaceData.ST_USHORT_565_RGB),
             new D3DSwToSurfaceScale(SurfaceType.Ushort555Rgb,
@@ -124,6 +128,8 @@
                                         D3DSurfaceData.ST_INT_RGB),
             new D3DSwToSurfaceTransform(SurfaceType.IntBgr,
                                         D3DSurfaceData.ST_INT_BGR),
+            new D3DSwToSurfaceTransform(SurfaceType.ThreeByteBgr,
+                                        D3DSurfaceData.ST_3BYTE_BGR),
             new D3DSwToSurfaceTransform(SurfaceType.Ushort565Rgb,
                                         D3DSurfaceData.ST_USHORT_565_RGB),
             new D3DSwToSurfaceTransform(SurfaceType.Ushort555Rgb,
@@ -147,6 +153,8 @@
                                    D3DSurfaceData.ST_INT_ARGB),
             new D3DSwToTextureBlit(SurfaceType.IntBgr,
                                    D3DSurfaceData.ST_INT_BGR),
+            new D3DSwToTextureBlit(SurfaceType.ThreeByteBgr,
+                                   D3DSurfaceData.ST_3BYTE_BGR),
             new D3DSwToTextureBlit(SurfaceType.Ushort565Rgb,
                                    D3DSurfaceData.ST_USHORT_565_RGB),
             new D3DSwToTextureBlit(SurfaceType.Ushort555Rgb,
--- a/jdk/src/windows/classes/sun/java2d/d3d/D3DSurfaceData.java	Wed Jul 05 16:44:40 2017 +0200
+++ b/jdk/src/windows/classes/sun/java2d/d3d/D3DSurfaceData.java	Wed Jul 05 16:45:14 2017 +0200
@@ -135,6 +135,7 @@
     public static final int ST_USHORT_555_RGB  = 6;
     public static final int ST_BYTE_INDEXED    = 7;
     public static final int ST_BYTE_INDEXED_BM = 8;
+    public static final int ST_3BYTE_BGR       = 9;
 
     /** Equals to D3DSWAPEFFECT_DISCARD */
     public static final int SWAP_DISCARD       = 1;
@@ -501,12 +502,14 @@
      *   - the pixel shaders are available, and
      *   - blending is disabled, and
      *   - the source color is opaque
+     *   - and the destination is opaque
      */
     public boolean canRenderLCDText(SunGraphics2D sg2d) {
         return
             graphicsDevice.isCapPresent(CAPS_LCD_SHADER) &&
             sg2d.compositeState <= SunGraphics2D.COMP_ISCOPY &&
-            sg2d.paintState <= SunGraphics2D.PAINT_OPAQUECOLOR;
+            sg2d.paintState <= SunGraphics2D.PAINT_OPAQUECOLOR   &&
+            sg2d.surfaceData.getTransparency() == Transparency.OPAQUE;
     }
 
     public void validatePipe(SunGraphics2D sg2d) {
--- a/jdk/src/windows/classes/sun/java2d/opengl/WGLGraphicsConfig.java	Wed Jul 05 16:44:40 2017 +0200
+++ b/jdk/src/windows/classes/sun/java2d/opengl/WGLGraphicsConfig.java	Wed Jul 05 16:45:14 2017 +0200
@@ -127,12 +127,14 @@
                 new WGLGetConfigInfo(device.getScreen(), pixfmt);
             rq.flushAndInvokeNow(action);
             cfginfo = action.getConfigInfo();
-            OGLContext.setScratchSurface(cfginfo);
-            rq.flushAndInvokeNow(new Runnable() {
-                public void run() {
-                    ids[0] = OGLContext.getOGLIdString();
-                }
-            });
+            if (cfginfo != 0L) {
+                OGLContext.setScratchSurface(cfginfo);
+                rq.flushAndInvokeNow(new Runnable() {
+                    public void run() {
+                        ids[0] = OGLContext.getOGLIdString();
+                    }
+                });
+            }
         } finally {
             rq.unlock();
         }
--- a/jdk/src/windows/native/sun/font/fontpath.c	Wed Jul 05 16:44:40 2017 +0200
+++ b/jdk/src/windows/native/sun/font/fontpath.c	Wed Jul 05 16:45:14 2017 +0200
@@ -153,7 +153,8 @@
     JNIEnv *env = fmi->env;
     jstring fullname, fullnameLC;
 
-    if (FontType != TRUETYPE_FONTTYPE) {
+    /* Both Vista and XP return DEVICE_FONTTYPE for OTF fonts */
+    if (FontType != TRUETYPE_FONTTYPE && FontType != DEVICE_FONTTYPE) {
         return 1;
     }
 
@@ -227,7 +228,8 @@
     JNIEnv *env = fmi->env;
     jstring fullname, fullnameLC;
 
-    if (FontType != TRUETYPE_FONTTYPE) {
+    /* Both Vista and XP return DEVICE_FONTTYPE for OTF fonts */
+    if (FontType != TRUETYPE_FONTTYPE && FontType != DEVICE_FONTTYPE) {
         return 1;
     }
 
@@ -274,7 +276,8 @@
     jstring familyLC;
     LOGFONTA lfa;
 
-    if (FontType != TRUETYPE_FONTTYPE) {
+    /* Both Vista and XP return DEVICE_FONTTYPE for OTF fonts */
+    if (FontType != TRUETYPE_FONTTYPE && FontType != DEVICE_FONTTYPE) {
         return 1;
     }
 
@@ -323,7 +326,8 @@
     int slen;
     LOGFONTW lfw;
 
-    if (FontType != TRUETYPE_FONTTYPE) {
+    /* Both Vista and XP return DEVICE_FONTTYPE for OTF fonts */
+    if (FontType != TRUETYPE_FONTTYPE && FontType != DEVICE_FONTTYPE) {
         return 1;
     }
 /*     wprintf(L"FAMILY=%s charset=%d FULL=%s\n", */
@@ -383,15 +387,16 @@
  * Also if a Font has a name for this locale that name also
  * exists in the registry using the appropriate platform encoding.
  * What do we do then?
+ *
+ * Note: OpenType fonts seems to have " (TrueType)" suffix on Vista
+ *   but " (OpenType)" on XP.
  */
 
-/* static const wchar_t W_TTSUFFIX[] = L" (TrueType)"; */
-/* static const char C_TTSUFFIX[] = " (TrueType)"; */
-/* static int TTSLEN = 11;  hard-coded - be careful */
-static BOOL RegistryToBaseTTNameA(LPCSTR name) {
+static BOOL RegistryToBaseTTNameA(LPSTR name) {
     static const char TTSUFFIX[] = " (TrueType)";
+    static const char OTSUFFIX[] = " (OpenType)";
     int TTSLEN = strlen(TTSUFFIX);
-    char *match;
+    char *suffix;
 
     int len = strlen(name);
     if (len == 0) {
@@ -403,19 +408,21 @@
     if (len <= TTSLEN) {
         return FALSE;
     }
-    match = strstr(name, TTSUFFIX);
-    if ((match != NULL) && (match == name+(len-TTSLEN))) {
-        match[0] = '\0'; /* truncate name */
+
+    /* suffix length is the same for truetype and opentype fonts */
+    suffix = name + len - TTSLEN;
+    if (strcmp(suffix, TTSUFFIX) == 0 || strcmp(suffix, OTSUFFIX) == 0) {
+        suffix[0] = '\0'; /* truncate name */
         return TRUE;
-    } else {
-        return FALSE;
     }
+    return FALSE;
 }
 
 static BOOL RegistryToBaseTTNameW(LPWSTR name) {
     static const wchar_t TTSUFFIX[] = L" (TrueType)";
+    static const wchar_t OTSUFFIX[] = L" (OpenType)";
     int TTSLEN = wcslen(TTSUFFIX);
-    wchar_t *match;
+    wchar_t *suffix;
 
     int len = wcslen(name);
     if (len == 0) {
@@ -427,13 +434,13 @@
     if (len <= TTSLEN) {
         return FALSE;
     }
-    match = wcsstr(name, TTSUFFIX);
-    if ((match != NULL) && (match == name+(len-TTSLEN))) {
-        match[0] = L'\0'; /* truncate name */
+    /* suffix length is the same for truetype and opentype fonts */
+    suffix = name + (len - TTSLEN);
+    if (wcscmp(suffix, TTSUFFIX) == 0 || wcscmp(suffix, OTSUFFIX) == 0) {
+        suffix[0] = L'\0'; /* truncate name */
         return TRUE;
-    } else {
-        return FALSE;
     }
+    return FALSE;
 }
 
 static void registerFontA(GdiFontMapInfo *fmi, jobject fontToFileMap,
@@ -675,18 +682,19 @@
         }
         if (IS_NT) {
             if (!RegistryToBaseTTNameW((LPWSTR)wname) ) {
-                /* If the filename ends with ".ttf" also accept it.
+                /* If the filename ends with ".ttf" or ".otf" also accept it.
                  * Not expecting to need to do this for .ttc files.
                  * Also note this code is not mirrored in the "A" (win9x) path.
                  */
                 LPWSTR dot = wcsrchr((LPWSTR)data, L'.');
-                if (dot == NULL || (wcsicmp(dot, L".ttf") != 0)) {
+                if (dot == NULL || ((wcsicmp(dot, L".ttf") != 0)
+                                      && (wcsicmp(dot, L".otf") != 0))) {
                     continue;  /* not a TT font... */
                 }
             }
             registerFontW(&fmi, fontToFileMap, (LPWSTR)wname, (LPWSTR)data);
         } else {
-            if (!RegistryToBaseTTNameA(cname) ) {
+            if (!RegistryToBaseTTNameA((LPSTR)cname)) {
                 continue; /* not a TT font... */
             }
             registerFontA(&fmi, fontToFileMap, cname, (LPCSTR)data);
--- a/jdk/src/windows/native/sun/java2d/d3d/D3DBadHardware.h	Wed Jul 05 16:44:40 2017 +0200
+++ b/jdk/src/windows/native/sun/java2d/d3d/D3DBadHardware.h	Wed Jul 05 16:45:14 2017 +0200
@@ -85,6 +85,19 @@
     { 0x1002, 0x71C5, D_VERSION(6,14,10,6706), OS_WINXP },
     { 0x1002, 0x71C5, D_VERSION(7,14,10,0567), OS_VISTA },
 
+    // ATI Mobility Radeon 9700
+    // Reason: workaround for 6773336
+    { 0x1002, 0x4E50, D_VERSION(6,14,10,6561), OS_WINXP },
+
+    // Nvidia FX 5200
+    // Reason: workaround for 6717988
+    { 0x10DE, 0x0322, D_VERSION(6,14,11,6921), OS_WINXP },
+
+    // Nvidia FX Go5600, Go5700
+    // Reason: workaround for 6714579
+    { 0x10DE, 0x031A, D_VERSION(6,14,11,6921), OS_WINXP },
+    { 0x10DE, 0x0347, D_VERSION(6,14,11,6921), OS_WINXP },
+
     // Nvidia Quadro NVS 110M
     // Reason: workaround for 6629891
     { 0x10DE, 0x01D7, D_VERSION(6,14,11,5665), OS_WINXP },
@@ -93,6 +106,32 @@
     // Reason: workaround for 6653860
     { 0x10DE, 0x00FD, D_VERSION(6,14,10,6573), OS_WINXP },
 
+    // Nvidia Quadro FX family
+    // Reason: workaround for 6772137
+    { 0x10DE, 0x00F8, D_VERSION(6,14,10,9381), OS_WINXP },
+    { 0x10DE, 0x009D, D_VERSION(6,14,10,9381), OS_WINXP },
+    { 0x10DE, 0x029C, D_VERSION(6,14,10,9381), OS_WINXP },
+    { 0x10DE, 0x029D, D_VERSION(6,14,10,9381), OS_WINXP },
+    { 0x10DE, 0x029E, D_VERSION(6,14,10,9381), OS_WINXP },
+    { 0x10DE, 0x029F, D_VERSION(6,14,10,9381), OS_WINXP },
+    { 0x10DE, 0x01DE, D_VERSION(6,14,10,9381), OS_WINXP },
+    { 0x10DE, 0x039E, D_VERSION(6,14,10,9381), OS_WINXP },
+    { 0x10DE, 0x019D, D_VERSION(6,14,10,9381), OS_WINXP },
+    { 0x10DE, 0x019E, D_VERSION(6,14,10,9381), OS_WINXP },
+    { 0x10DE, 0x040A, D_VERSION(6,14,10,9381), OS_WINXP },
+    { 0x10DE, 0x040E, D_VERSION(6,14,10,9381), OS_WINXP },
+    { 0x10DE, 0x040F, D_VERSION(6,14,10,9381), OS_WINXP },
+    { 0x10DE, 0x061A, D_VERSION(6,14,10,9381), OS_WINXP },
+    { 0x10DE, 0x06F9, D_VERSION(6,14,10,9381), OS_WINXP },
+    { 0x10DE, 0x05FD, D_VERSION(6,14,10,9381), OS_WINXP },
+    { 0x10DE, 0x05FE, D_VERSION(6,14,10,9381), OS_WINXP },
+    { 0x10DE, 0x004E, D_VERSION(6,14,10,9381), OS_WINXP },
+    { 0x10DE, 0x00CD, D_VERSION(6,14,10,9381), OS_WINXP },
+    { 0x10DE, 0x00CE, D_VERSION(6,14,10,9381), OS_WINXP },
+    { 0x10DE, 0x014C, D_VERSION(6,14,10,9381), OS_WINXP },
+    { 0x10DE, 0x014D, D_VERSION(6,14,10,9381), OS_WINXP },
+    { 0x10DE, 0x014E, D_VERSION(6,14,10,9381), OS_WINXP },
+
     // Nvidia GeForce 6200 TurboCache(TM)
     // Reason: workaround for 6588384
     { 0x10DE, 0x0161, NO_VERSION, OS_VISTA },
--- a/jdk/src/windows/native/sun/java2d/d3d/D3DBlitLoops.cpp	Wed Jul 05 16:44:40 2017 +0200
+++ b/jdk/src/windows/native/sun/java2d/d3d/D3DBlitLoops.cpp	Wed Jul 05 16:45:14 2017 +0200
@@ -47,6 +47,7 @@
 extern "C" BlitFunc IntArgbPreToIntArgbConvert;
 extern "C" BlitFunc IntArgbBmToIntArgbConvert;
 extern "C" BlitFunc IntRgbToIntArgbConvert;
+extern "C" BlitFunc ThreeByteBgrToIntArgbConvert;
 extern "C" BlitFunc Ushort565RgbToIntArgbConvert;
 extern "C" BlitFunc Ushort555RgbToIntArgbConvert;
 extern "C" BlitFunc IntBgrToIntArgbConvert;
@@ -220,12 +221,17 @@
                 " srctype=%d rect={%-4d, %-4d, %-4d, %-4d}",
                 srctype, r.left, r.top, r.right, r.bottom);
 
-    if (pDesc->Usage == D3DUSAGE_DYNAMIC &&
-        dstx == 0 && dstx == 0 &&
-        srcWidth == pDesc->Width && srcHeight == pDesc->Height)
-    {
+    if (pDesc->Usage == D3DUSAGE_DYNAMIC) {
+        // it is safe to lock with discard because we don't care about the
+        // contents of dynamic textures, and some drivers are happier if
+        // dynamic textures are always locked with DISCARD
         dwLockFlags |= D3DLOCK_DISCARD;
         pR = NULL;
+    } else {
+        // in non-DYNAMIC case we lock the exact rect so there's no need to
+        // offset the destination pointer
+        dstx = 0;
+        dsty = 0;
     }
 
     res = pDstSurface->LockRect(&lockedRect, pR, dwLockFlags);
@@ -242,7 +248,9 @@
     void *pSrcBase = PtrCoord(pSrcInfo->rasBase,
                               srcx, pSrcInfo->pixelStride,
                               srcy, pSrcInfo->scanStride);
-    void *pDstBase = lockedRect.pBits;
+    void *pDstBase = PtrCoord(lockedRect.pBits,
+                              dstx, dstInfo.pixelStride,
+                              dsty, dstInfo.scanStride);
 
     switch (srctype) {
         case ST_INT_ARGB:
@@ -251,11 +259,15 @@
                                        pSrcInfo, &dstInfo, NULL, NULL);
             break;
         case ST_INT_ARGB_PRE:
-        case ST_INT_RGB:
             AnyIntIsomorphicCopy(pSrcBase, pDstBase,
                                  srcWidth, srcHeight,
                                  pSrcInfo, &dstInfo, NULL, NULL);
             break;
+        case ST_INT_RGB:
+            IntRgbToIntArgbConvert(pSrcBase, pDstBase,
+                                   srcWidth, srcHeight,
+                                   pSrcInfo, &dstInfo, NULL, NULL);
+            break;
         case ST_INT_ARGB_BM:
             // REMIND: we don't have such sw loop
             // so this path is disabled for now on java level
@@ -268,6 +280,11 @@
                                    srcWidth, srcHeight,
                                    pSrcInfo, &dstInfo, NULL, NULL);
             break;
+        case ST_3BYTE_BGR:
+            ThreeByteBgrToIntArgbConvert(pSrcBase, pDstBase,
+                                         srcWidth, srcHeight,
+                                         pSrcInfo, &dstInfo, NULL, NULL);
+            break;
         case ST_USHORT_555_RGB:
             Ushort555RgbToIntArgbConvert(pSrcBase, pDstBase,
                                          srcWidth, srcHeight,
--- a/jdk/src/windows/native/sun/java2d/d3d/D3DContext.cpp	Wed Jul 05 16:44:40 2017 +0200
+++ b/jdk/src/windows/native/sun/java2d/d3d/D3DContext.cpp	Wed Jul 05 16:45:14 2017 +0200
@@ -1174,11 +1174,10 @@
         " rect={%-4d, %-4d, %-4d, %-4d}",
         r.left, r.top, r.right, r.bottom);
 
-    // REMIND: we should also check for dstx, dsty being 0 here,
-    // but they're always 0 in dynamic texture case
-    if (pDesc->Usage == D3DUSAGE_DYNAMIC &&
-        srcWidth == pDesc->Width && srcHeight == pDesc->Height)
-    {
+    if (pDesc->Usage == D3DUSAGE_DYNAMIC) {
+        // it is safe to lock with discard because we don't care about the
+        // contents of dynamic textures and dstx,dsty for this case is
+        // always 0,0 because we are uploading into a tile texture
         dwLockFlags |= D3DLOCK_DISCARD;
         pR = NULL;
     }
--- a/jdk/src/windows/native/sun/java2d/d3d/D3DSurfaceData.h	Wed Jul 05 16:44:40 2017 +0200
+++ b/jdk/src/windows/native/sun/java2d/d3d/D3DSurfaceData.h	Wed Jul 05 16:45:14 2017 +0200
@@ -68,6 +68,7 @@
 #define ST_USHORT_555_RGB  sun_java2d_d3d_D3DSurfaceData_ST_USHORT_555_RGB
 #define ST_BYTE_INDEXED    sun_java2d_d3d_D3DSurfaceData_ST_BYTE_INDEXED
 #define ST_BYTE_INDEXED_BM sun_java2d_d3d_D3DSurfaceData_ST_BYTE_INDEXED_BM
+#define ST_3BYTE_BGR       sun_java2d_d3d_D3DSurfaceData_ST_3BYTE_BGR
 
 /**
  * These are defined to be the same as ExtendedBufferCapabilities.VSyncType
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/java/awt/FullScreen/UninitializedDisplayModeChangeTest/DisplayModeChanger.java	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,93 @@
+/*
+ * Copyright 2006-2008 Sun Microsystems, Inc.  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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+import java.awt.DisplayMode;
+import java.awt.EventQueue;
+import java.awt.Frame;
+import java.awt.GraphicsDevice;
+import java.awt.GraphicsEnvironment;
+import java.lang.reflect.InvocationTargetException;
+
+/**
+ * Used by the UninitializedDisplayModeChangeTest to change the
+ * display mode.
+ */
+public class DisplayModeChanger {
+
+    public static void main(String[] args)
+        throws InterruptedException, InvocationTargetException
+    {
+        final GraphicsDevice gd =
+            GraphicsEnvironment.getLocalGraphicsEnvironment().
+                getDefaultScreenDevice();
+
+        EventQueue.invokeAndWait(new Runnable() {
+            public void run() {
+                Frame f = null;
+                if (gd.isFullScreenSupported()) {
+                    try {
+                        f = new Frame("DisplayChanger Frame");
+                        gd.setFullScreenWindow(f);
+                        if (gd.isDisplayChangeSupported()) {
+                            DisplayMode dm = findDisplayMode(gd);
+                            if (gd != null) {
+                                gd.setDisplayMode(dm);
+                            }
+                        }
+                        try {
+                            Thread.sleep(1000);
+                        } catch (InterruptedException ex) {
+                            ex.printStackTrace();
+                        }
+                        gd.setFullScreenWindow(null);
+                    } finally {
+                        if (f != null) {
+                            f.dispose();
+                        }
+                    }
+                }
+            }
+        });
+    }
+
+    /**
+     * Finds a display mode that is different from the current display
+     * mode and is likely to cause a display change event.
+     */
+    private static DisplayMode findDisplayMode(GraphicsDevice gd) {
+        DisplayMode dms[] = gd.getDisplayModes();
+        DisplayMode currentDM = gd.getDisplayMode();
+        for (DisplayMode dm : dms) {
+            if (!dm.equals(currentDM) &&
+                 dm.getRefreshRate() == currentDM.getRefreshRate())
+            {
+                // different from the current dm and refresh rate is the same
+                // means that something else is different => more likely to
+                // cause a DM change event
+                return dm;
+            }
+        }
+        return null;
+    }
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/java/awt/font/TextLayout/DecorationBoundsTest.java	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,98 @@
+/*
+ * Copyright 2008 Sun Microsystems, Inc.  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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+/* @test
+ * @summary verify bounds enclose rendering of decorations.
+ * @bug 6751621
+ */
+
+import java.awt.*;
+import java.awt.font.*;
+import java.awt.geom.*;
+import java.awt.image.*;
+import java.util.*;
+
+public class DecorationBoundsTest {
+
+    public static void main(String[] args) {
+        BufferedImage bi =
+           new BufferedImage(600, 300, BufferedImage.TYPE_INT_RGB);
+       Graphics2D g2d = bi.createGraphics();
+       g2d.setColor(Color.white);
+       g2d.fillRect(0, 0, 600, 300);
+
+       float x = 10;
+       float y = 90;
+       Map map = new HashMap();
+       map.put(TextAttribute.STRIKETHROUGH,
+               TextAttribute.STRIKETHROUGH_ON);
+       map.put(TextAttribute.SIZE, new Float(80));
+
+       FontRenderContext frc = g2d.getFontRenderContext();
+
+       String text = "Welcome to ";
+       TextLayout tl = new TextLayout(text, map, frc);
+       g2d.translate(x, y);
+       g2d.setColor(Color.RED);
+       tl.draw(g2d, 0, 0);
+       g2d.setColor(Color.GREEN);
+       Rectangle2D bds = tl.getBounds();
+       /* Since due to pixelisation the glyphs may touch above
+        * or below the theoretical outline bounds, pad in the
+        * y direction to avoid spurious failures.
+        */
+       bds.setRect(bds.getX(), bds.getY()-1,
+                   bds.getWidth(), bds.getHeight()+2);
+       g2d.fill(bds);
+
+       map = new HashMap();
+       map.put(TextAttribute.UNDERLINE, TextAttribute.UNDERLINE_ON);
+       map.put(TextAttribute.SIZE, new Float(80));
+       tl = new TextLayout(text, map, frc);
+       g2d.translate(0, 100);
+       g2d.setColor(Color.RED);
+       tl.draw(g2d, 0, 0);
+
+       g2d.setColor(Color.GREEN);
+       bds = tl.getBounds();
+       bds.setRect(bds.getX(), bds.getY()-1,
+                   bds.getWidth(), bds.getHeight()+2);
+       g2d.fill(bds);
+
+       checkBI(bi, Color.RED);
+   }
+
+   static void checkBI(BufferedImage bi, Color badColor) {
+      int badrgb = badColor.getRGB();
+      int w = bi.getWidth(null);
+      int h = bi.getHeight(null);
+      for (int x=0; x<w; x++) {
+          for (int y=0; y<h; y++) {
+             int col = bi.getRGB(x, y);
+             if (col == badrgb) {
+                  throw new RuntimeException("Got " + col);
+             }
+          }
+      }
+   }
+}
--- a/jdk/test/java/awt/font/TextLayout/TextLayoutBounds.java	Wed Jul 05 16:44:40 2017 +0200
+++ b/jdk/test/java/awt/font/TextLayout/TextLayoutBounds.java	Wed Jul 05 16:45:14 2017 +0200
@@ -22,7 +22,7 @@
  */
 /* @test
  * @summary verify TextLayout.getBounds() return visual bounds
- * @bug 6323611
+ * @bug 6323611 6761856
  */
 
 import java.awt.*;
@@ -39,10 +39,15 @@
        Rectangle2D tlBounds = tl.getBounds();
        GlyphVector gv = f.createGlyphVector(frc, s);
        Rectangle2D gvvBounds = gv.getVisualBounds();
+       Rectangle2D oBounds = tl.getOutline(null).getBounds2D();
        System.out.println("tlbounds="+tlBounds);
        System.out.println("gvbounds="+gvvBounds);
+       System.out.println("outlineBounds="+oBounds);
        if (!gvvBounds.equals(tlBounds)) {
-          throw new RuntimeException("Bounds differ");
+          throw new RuntimeException("Bounds differ [gvv != tl]");
+       }
+       if (!tlBounds.equals(oBounds)) {
+          throw new RuntimeException("Bounds differ [tl != outline]");
        }
     }
 }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/java/awt/font/TextLayout/UnderlinePositionTest.java	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,88 @@
+/*
+ * Copyright 2008 Sun Microsystems, Inc.  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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+/* @test
+ * @summary verify outline and stroking of underline match.
+ * @bug 6751616
+ */
+
+import java.awt.*;
+import java.awt.font.*;
+import java.awt.geom.*;
+import java.awt.image.*;
+import java.util.*;
+
+public class UnderlinePositionTest {
+
+    public static void main(String[] args) {
+        BufferedImage bi =
+           new BufferedImage(600, 150, BufferedImage.TYPE_INT_RGB);
+       Graphics2D g2d = bi.createGraphics();
+       g2d.setColor(Color.white);
+       g2d.fillRect(0, 0, 600, 150);
+
+       float x = 10;
+       float y = 90;
+       Map map = new HashMap();
+       map.put(TextAttribute.UNDERLINE, TextAttribute.UNDERLINE_ON);
+       map.put(TextAttribute.SIZE, new Float(80));
+
+       FontRenderContext frc = g2d.getFontRenderContext();
+
+       // Use all spaces for the text so we know we are dealing
+       // only with pixels from the underline.
+       String text = "           ";
+       TextLayout tl = new TextLayout(text, map, frc);
+       Shape outline = tl.getOutline(null);
+       Rectangle2D bounds = outline.getBounds();
+
+       g2d.translate(x, y);
+       g2d.setColor(Color.RED);
+       tl.draw(g2d, 0, 0);
+
+       /* By getting the outline, then its bounds, then filling
+        * according to the same pixelisation rules, this ought to
+        * match the position of the original underline. If any
+        * red pixels are left, then the test will fail.
+        */
+       g2d.setColor(Color.BLUE);
+       g2d.fill(bounds);
+       g2d.dispose();
+
+       checkBI(bi, Color.RED);
+   }
+
+   static void checkBI(BufferedImage bi, Color badColor) {
+      int badrgb = badColor.getRGB();
+      int w = bi.getWidth(null);
+      int h = bi.getHeight(null);
+      for (int x=0; x<w; x++) {
+          for (int y=0; y<h; y++) {
+             int col = bi.getRGB(x, y);
+             if (col == badrgb) {
+                  throw new RuntimeException("Got " + col);
+             }
+          }
+      }
+   }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/java/awt/print/PrinterJob/GetMediasTest.java	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,46 @@
+/*
+ * Copyright 2008 Sun Microsystems, Inc.  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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+/**
+ * @test
+ * @bug 6653384
+ * @summary No exception should be thrown.
+ * @run main GetMediasTest
+ */
+import javax.print.PrintService;
+import javax.print.PrintServiceLookup;
+import javax.print.attribute.standard.Media;
+
+public class GetMediasTest {
+    public static void main(String[] args) {
+        PrintService[] services = PrintServiceLookup.lookupPrintServices(null, null);
+        for(final PrintService service: services) {
+            Thread thread = new Thread() {
+                public void run() {
+                    service.getSupportedAttributeValues(Media.class, null, null);
+                }
+            };
+            thread.start();
+        }
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/javax/imageio/plugins/png/ITXtTest.java	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,236 @@
+/*
+ * Copyright 2008 Sun Microsystems, Inc.  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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+/**
+ * @test
+ * @bug     6541476
+ * @summary Test verifies that ImageIO PNG plugin correcly handles the
+ *          iTxt chunk (International textual data).
+ *
+ * @run     main ITXtTest
+ */
+
+
+import java.awt.Color;
+import java.awt.Graphics2D;
+import java.awt.image.BufferedImage;
+import java.io.File;
+
+import javax.imageio.ImageIO;
+import javax.imageio.ImageReader;
+import javax.imageio.IIOImage;
+import javax.imageio.ImageTypeSpecifier;
+import javax.imageio.ImageWriter;
+import javax.imageio.metadata.IIOMetadata;
+import javax.imageio.metadata.IIOMetadataNode;
+import javax.imageio.stream.ImageOutputStream;
+import javax.imageio.stream.ImageInputStream;
+
+import org.w3c.dom.Node;
+
+public class ITXtTest {
+    static public void main(String args[]) {
+        ITXtTest t_en = new ITXtTest();
+        t_en.description = "xml - en";
+        t_en.keyword = "XML:com.adobe.xmp";
+        t_en.isCompressed = false;
+        t_en.compression = 0;
+        t_en.language = "en";
+        t_en.trasKeyword = "XML:com.adobe.xmp";
+        t_en.text = "<xml>Something</xml>";
+
+        doTest(t_en);
+
+        // check compression case
+        t_en.isCompressed = true;
+        t_en.description = "xml - en - compressed";
+
+        doTest(t_en);
+
+        ITXtTest t_ru = new ITXtTest();
+        t_ru.description = "xml - ru";
+        t_ru.keyword = "XML:com.adobe.xmp";
+        t_ru.isCompressed = false;
+        t_ru.compression = 0;
+        t_ru.language = "ru";
+        t_ru.trasKeyword = "\u0410\u0410\u0410\u0410\u0410 XML";
+        t_ru.text = "<xml>\u042A\u042F\u042F\u042F\u042F\u042F\u042F</xml>";
+
+        doTest(t_ru);
+
+        t_ru.isCompressed = true;
+        t_ru.description = "xml - ru - compressed";
+
+        doTest(t_ru);
+    }
+
+
+    String description;
+
+    String keyword;
+    boolean isCompressed;
+    int compression;
+    String language;
+    String trasKeyword;
+    String text;
+
+
+    public IIOMetadataNode getNode() {
+        IIOMetadataNode iTXt = new IIOMetadataNode("iTXt");
+        IIOMetadataNode iTXtEntry = new IIOMetadataNode("iTXtEntry");
+        iTXtEntry.setAttribute("keyword", keyword);
+        iTXtEntry.setAttribute("compressionFlag",
+                               isCompressed ? "true" : "false");
+        iTXtEntry.setAttribute("compressionMethod",
+                               Integer.toString(compression));
+        iTXtEntry.setAttribute("languageTag", language);
+        iTXtEntry.setAttribute("translatedKeyword",
+                               trasKeyword);
+        iTXtEntry.setAttribute("text", text);
+        iTXt.appendChild(iTXtEntry);
+        return iTXt;
+    }
+
+    public static ITXtTest getFromNode(IIOMetadataNode n) {
+        ITXtTest t = new ITXtTest();
+
+        if (!"iTXt".equals(n.getNodeName())) {
+            throw new RuntimeException("Invalid node");
+        }
+        IIOMetadataNode e = (IIOMetadataNode)n.getFirstChild();
+        if (!"iTXtEntry".equals(e.getNodeName())) {
+            throw new RuntimeException("Invalid entry node");
+        }
+        t.keyword = e.getAttribute("keyword");
+        t.isCompressed =
+            (Integer.valueOf(e.getAttribute("compressionFlag")).intValue() == 1);
+        t.compression =
+            Integer.valueOf(e.getAttribute("compressionMethod")).intValue();
+        t.language = e.getAttribute("languageTag");
+        t.trasKeyword = e.getAttribute("translatedKeyword");
+        t.text = e.getAttribute("text");
+
+        return t;
+    }
+
+    @Override
+    public boolean equals(Object o) {
+        if (! (o instanceof ITXtTest)) {
+            return false;
+        }
+        ITXtTest t = (ITXtTest)o;
+        if (!keyword.equals(t.keyword)) { return false; }
+        if (isCompressed != t.isCompressed) { return false; }
+        if (compression != t.compression) { return false; }
+        if (!language.equals(t.language)) { return false; }
+        if (!trasKeyword.equals(t.trasKeyword)) { return false; }
+        if (!text.equals(t.text)) { return false; }
+
+        return true;
+    }
+
+
+
+    private static void doTest(ITXtTest src) {
+
+        System.out.println("Test: " + src.description);
+
+        File file = new File("test.png");
+
+        writeTo(file, src);
+        ITXtTest dst = readFrom(file);
+
+        if (dst == null || !dst.equals(src)) {
+            throw new RuntimeException("Test failed.");
+        }
+
+        System.out.println("Test passed.");
+    }
+
+    private static void writeTo(File f, ITXtTest t) {
+        BufferedImage src = createBufferedImage();
+        try {
+            ImageOutputStream imageOutputStream =
+                ImageIO.createImageOutputStream(f);
+
+            ImageTypeSpecifier imageTypeSpecifier =
+                new ImageTypeSpecifier(src);
+            ImageWriter imageWriter =
+                ImageIO.getImageWritersByFormatName("PNG").next();
+
+            imageWriter.setOutput(imageOutputStream);
+
+            IIOMetadata m =
+                imageWriter.getDefaultImageMetadata(imageTypeSpecifier, null);
+
+            String format = m.getNativeMetadataFormatName();
+            Node root = m.getAsTree(format);
+
+            IIOMetadataNode iTXt = t.getNode();
+            root.appendChild(iTXt);
+            m.setFromTree(format, root);
+
+            imageWriter.write(new IIOImage(src, null, m));
+            imageOutputStream.close();
+            System.out.println("Writing done.");
+        } catch (Throwable e) {
+            throw new RuntimeException("Writing test failed.", e);
+        }
+    }
+
+    private static ITXtTest readFrom(File f) {
+        try {
+            ImageInputStream iis = ImageIO.createImageInputStream(f);
+            ImageReader r = ImageIO.getImageReaders(iis).next();
+            r.setInput(iis);
+
+            IIOImage dst = r.readAll(0, null);
+
+            // look for iTXt node
+            IIOMetadata m = dst.getMetadata();
+            Node root = m.getAsTree(m.getNativeMetadataFormatName());
+            Node n = root.getFirstChild();
+            while (n != null && !"iTXt".equals(n.getNodeName())) {
+                n = n.getNextSibling();
+            }
+            if (n == null) {
+                throw new RuntimeException("No iTXt node!");
+            }
+            ITXtTest t = ITXtTest.getFromNode((IIOMetadataNode)n);
+            return t;
+        } catch (Throwable e) {
+            throw new RuntimeException("Reading test failed.", e);
+        }
+    }
+
+    private static BufferedImage createBufferedImage() {
+        BufferedImage image = new BufferedImage(128, 128,
+                      BufferedImage.TYPE_4BYTE_ABGR_PRE);
+        Graphics2D graph = image.createGraphics();
+        graph.setPaintMode();
+        graph.setColor(Color.orange);
+        graph.fillRect(32, 32, 64, 64);
+        graph.dispose();
+        return image;
+    }
+}
--- a/jdk/test/javax/management/Introspector/AnnotatedNotificationInfoTest.java	Wed Jul 05 16:44:40 2017 +0200
+++ b/jdk/test/javax/management/Introspector/AnnotatedNotificationInfoTest.java	Wed Jul 05 16:45:14 2017 +0200
@@ -38,19 +38,34 @@
 import javax.management.Description;
 import javax.management.Descriptor;
 import javax.management.ImmutableDescriptor;
+import javax.management.ListenerNotFoundException;
 import javax.management.MBean;
 import javax.management.MBeanInfo;
 import javax.management.MBeanNotificationInfo;
 import javax.management.MBeanServer;
 import javax.management.MXBean;
+import javax.management.Notification;
+import javax.management.NotificationBroadcaster;
 import javax.management.NotificationBroadcasterSupport;
+import javax.management.NotificationFilter;
 import javax.management.NotificationInfo;
 import javax.management.NotificationInfos;
+import javax.management.NotificationListener;
 import javax.management.ObjectName;
 import javax.management.SendNotification;
 
 public class AnnotatedNotificationInfoTest {
-    // Data for the first test.  This tests that MBeanNotificationInfo
+
+    static final Descriptor expectedDescriptor = new ImmutableDescriptor(
+            "foo=bar", "descriptionResourceBundleBaseName=bundle",
+            "descriptionResourceKey=key");
+    static final MBeanNotificationInfo expected = new MBeanNotificationInfo(
+            new String[] {"foo", "bar"},
+            AttributeChangeNotification.class.getName(),
+            "description",
+            expectedDescriptor);
+
+    // Data for the first kind of test.  This tests that MBeanNotificationInfo
     // is correctly derived from @NotificationInfo.
     // Every static field called mbean* is expected to be an MBean
     // with a single MBeanNotificationInfo that has the same value
@@ -254,11 +269,48 @@
 
     private static Object mbeanMXBean2 = new MXBean2();
 
-    // Classes for the second test.  This tests the simplest case, which is
-    // the first example in the javadoc for @NotificationInfo.  Notice that
-    // this MBean is not a NotificationBroadcaster and does not inject a
-    // SendNotification!  That should possibly be an error, but it's currently
-    // allowed by the spec.
+    // Test that @NotificationInfo and @NotificationInfos are ignored if
+    // the MBean returns a non-empty MBeanNotificationInfo[] from its
+    // NotificationBroadcaster.getNotifications() implementation.
+
+    @NotificationInfo(types={"blim", "blam"})
+    public static interface Explicit1MBean {}
+
+    public static class Explicit1
+            extends NotificationBroadcasterSupport implements Explicit1MBean {
+        public Explicit1() {
+            super(expected);
+        }
+    }
+
+    private static Object mbeanExplicit1 = new Explicit1();
+
+    @NotificationInfos(
+        {
+            @NotificationInfo(types="blim"), @NotificationInfo(types="blam")
+        }
+    )
+    public static interface Explicit2MXBean {}
+
+    public static class Explicit2
+            implements NotificationBroadcaster, Explicit2MXBean {
+        public void addNotificationListener(NotificationListener listener,
+                NotificationFilter filter, Object handback) {}
+
+        public void removeNotificationListener(NotificationListener listener)
+                throws ListenerNotFoundException {}
+
+        public MBeanNotificationInfo[] getNotificationInfo() {
+            return new MBeanNotificationInfo[] {expected};
+        }
+    }
+
+    // Data for the second kind of test.  This tests that @NotificationInfo is
+    // ignored if the MBean is not a notification source.  Every static
+    // field called ignoredMBean* is expected to be an MBean on which
+    // isInstanceOf(NotificationBroadcaster.class.getName() is false,
+    // addNotificationListener produces an exception, and the
+    // MBeanNotificationInfo array is empty.
     @NotificationInfo(types={"com.example.notifs.create",
                              "com.example.notifs.destroy"})
     public static interface CacheMBean {
@@ -271,6 +323,73 @@
         }
     }
 
+    private static Object ignoredMBean1 = new Cache();
+
+    @NotificationInfos(
+        @NotificationInfo(types={"foo", "bar"})
+    )
+    public static interface Cache2MBean {
+        public int getCachedNum();
+    }
+
+    public static class Cache2 implements Cache2MBean {
+        public int getCachedNum() {
+            return 0;
+        }
+    }
+
+    private static Object ignoredMBean2 = new Cache2();
+
+    private static final NotificationListener nullListener =
+            new NotificationListener() {
+                public void handleNotification(
+                        Notification notification, Object handback) {}
+            };
+
+    // Test that inheriting inconsistent @NotificationInfo annotations is
+    // an error, but not if they are overridden by a non-empty getNotifications()
+
+    @NotificationInfo(types={"blim"})
+    public static interface Inconsistent1 {}
+
+    @NotificationInfo(types={"blam"})
+    public static interface Inconsistent2 {}
+
+    public static interface InconsistentMBean extends Inconsistent1, Inconsistent2 {}
+
+    public static class Inconsistent
+            extends NotificationBroadcasterSupport implements InconsistentMBean {}
+
+    public static class Consistent
+            extends Inconsistent implements NotificationBroadcaster {
+        public void addNotificationListener(NotificationListener listener,
+                NotificationFilter filter, Object handback) {}
+
+        public void removeNotificationListener(NotificationListener listener)
+                throws ListenerNotFoundException {}
+
+        public MBeanNotificationInfo[] getNotificationInfo() {
+            return new MBeanNotificationInfo[] {expected};
+        }
+    }
+
+    private static Object mbeanConsistent = new Consistent();
+
+    @NotificationInfo(
+            types = {"foo", "bar"},
+            notificationClass = AttributeChangeNotification.class,
+            description = @Description(
+                value = "description",
+                bundleBaseName = "bundle",
+                key = "key"),
+            descriptorFields = {"foo=bar"})
+    public static interface Consistent2MBean extends Inconsistent1, Inconsistent2 {}
+
+    public static class Consistent2
+            extends NotificationBroadcasterSupport implements Consistent2MBean {}
+
+    private static Object mbeanConsistent2 = new Consistent2();
+
     public static void main(String[] args) throws Exception {
         if (!AnnotatedNotificationInfoTest.class.desiredAssertionStatus())
             throw new Exception("Test must be run with -ea");
@@ -278,37 +397,46 @@
         MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();
         ObjectName on = new ObjectName("a:b=c");
 
-        Descriptor expectedDescriptor = new ImmutableDescriptor(
-                "foo=bar", "descriptionResourceBundleBaseName=bundle",
-                "descriptionResourceKey=key");
-        MBeanNotificationInfo expected = new MBeanNotificationInfo(
-                new String[] {"foo", "bar"},
-                AttributeChangeNotification.class.getName(),
-                "description",
-                expectedDescriptor);
-
         System.out.println("Testing MBeans...");
         for (Field mbeanField :
                 AnnotatedNotificationInfoTest.class.getDeclaredFields()) {
-            if (!mbeanField.getName().startsWith("mbean"))
+            boolean notifier;
+            if (mbeanField.getName().startsWith("mbean"))
+                notifier = true;
+            else if (mbeanField.getName().startsWith("ignoredMBean"))
+                notifier = false;
+            else
                 continue;
             System.out.println("..." + mbeanField.getName());
             Object mbean = mbeanField.get(null);
             mbs.registerMBean(mbean, on);
             MBeanInfo mbi = mbs.getMBeanInfo(on);
             MBeanNotificationInfo[] mbnis = mbi.getNotifications();
-            assert mbnis.length == 1 : mbnis.length;
-            assert mbnis[0].equals(expected) : mbnis[0];
+            if (notifier) {
+                assert mbnis.length == 1 : mbnis.length;
+                assert mbnis[0].equals(expected) : mbnis[0];
+            } else {
+                assert mbnis.length == 0 : mbnis.length;
+                assert !mbs.isInstanceOf(on, NotificationBroadcaster.class.getName());
+                try {
+                    mbs.addNotificationListener(on, nullListener, null, null);
+                    assert false : "addNotificationListener works";
+                } catch (Exception e) {
+                    // OK: addNL correctly refused
+                }
+            }
             mbs.unregisterMBean(on);
         }
 
-        mbs.registerMBean(new Cache(), on);
-        MBeanInfo mbi = mbs.getMBeanInfo(on);
-        MBeanNotificationInfo[] mbnis = mbi.getNotifications();
-        assert mbnis.length == 1 : mbnis.length;
-        String[] types = mbnis[0].getNotifTypes();
-        String[] expectedTypes =
-                CacheMBean.class.getAnnotation(NotificationInfo.class).types();
-        assert Arrays.equals(types, expectedTypes) : Arrays.toString(types);
+        // Test that inconsistent @NotificationInfo annotations produce an
+        // error.
+        try {
+            mbs.registerMBean(new Inconsistent(), on);
+            System.out.println(mbs.getMBeanInfo(on));
+            assert false : "Inconsistent @NotificationInfo not detected";
+        } catch (Exception e) {
+            System.out.println(
+                    "Inconsistent @NotificationInfo correctly produced " + e);
+        }
     }
 }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/javax/management/Introspector/ExceptionsDescriptorTest.java	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,245 @@
+/*
+ * Copyright 2008 Sun Microsystems, Inc.  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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+/*
+ * @test %M% %I%
+ * @bug 6250014
+ * @summary Test that Exceptions are added to the MbeanInfo
+ * @author Jean-Francois Denise
+ * @run main/othervm ExceptionsDescriptorTest
+ */
+import java.lang.management.ManagementFactory;
+import java.util.HashSet;
+import java.util.Set;
+import javax.management.Descriptor;
+import javax.management.JMX;
+import javax.management.MBeanAttributeInfo;
+import javax.management.MBeanConstructorInfo;
+import javax.management.MBeanInfo;
+import javax.management.MBeanOperationInfo;
+import javax.management.ObjectName;
+
+public class ExceptionsDescriptorTest {
+
+    private static final ObjectName OBJECT_NAME = ObjectName.valueOf(":type=Foo");
+    final static String EXCEPTION_NAME = Exception.class.getName();
+    final static String ILLEGAL_ARGUMENT_EXCEPTION_NAME =
+            IllegalArgumentException.class.getName();
+    final static Set<String> ONE_EXCEPTION = new HashSet<String>();
+    final static Set<String> TWO_EXCEPTION = new HashSet<String>();
+    static {
+        ONE_EXCEPTION.add(EXCEPTION_NAME);
+        TWO_EXCEPTION.add(EXCEPTION_NAME);
+        TWO_EXCEPTION.add(ILLEGAL_ARGUMENT_EXCEPTION_NAME);
+    }
+    public interface TestMBean {
+
+        public void doIt();
+
+        public void doIt(String str) throws Exception;
+
+        public void doIt(String str, boolean b) throws Exception,
+                IllegalArgumentException;
+
+        public String getThat();
+
+        public void setThat(String that);
+
+        public String getThe() throws Exception;
+
+        public void setThe(String the);
+
+        public String getThese();
+
+        public void setThese(String the) throws Exception;
+
+        public String getIt() throws Exception;
+
+        public void setIt(String str) throws Exception;
+
+        public String getThis() throws Exception, IllegalArgumentException;
+
+        public void setThose(String str) throws Exception,
+                IllegalArgumentException;
+    }
+
+    public static class Test implements TestMBean {
+
+        public Test() {
+        }
+
+        public Test(int i) throws Exception {
+        }
+
+        public Test(int i, int j) throws Exception, IllegalArgumentException {
+        }
+
+        public void doIt() {
+            throw new UnsupportedOperationException("Not supported yet.");
+        }
+
+        public void doIt(String str) throws Exception {
+            throw new UnsupportedOperationException("Not supported yet.");
+        }
+
+        public void doIt(String str, boolean b) throws Exception, IllegalArgumentException {
+            throw new UnsupportedOperationException("Not supported yet.");
+        }
+
+        public String getThat() {
+            throw new UnsupportedOperationException("Not supported yet.");
+        }
+
+        public void setThat(String that) {
+            throw new UnsupportedOperationException("Not supported yet.");
+        }
+
+        public String getThe() throws Exception {
+            throw new UnsupportedOperationException("Not supported yet.");
+        }
+
+        public void setThe(String the) {
+            throw new UnsupportedOperationException("Not supported yet.");
+        }
+
+        public String getThese() {
+            throw new UnsupportedOperationException("Not supported yet.");
+        }
+
+        public void setThese(String the) throws Exception {
+            throw new UnsupportedOperationException("Not supported yet.");
+        }
+
+        public String getIt() throws Exception {
+            throw new UnsupportedOperationException("Not supported yet.");
+        }
+
+        public void setIt(String str) throws Exception {
+            throw new UnsupportedOperationException("Not supported yet.");
+        }
+
+        public String getThis() throws Exception, IllegalArgumentException {
+            throw new UnsupportedOperationException("Not supported yet.");
+        }
+
+        public void setThose(String str) throws Exception, IllegalArgumentException {
+            throw new UnsupportedOperationException("Not supported yet.");
+        }
+    }
+
+    private static void check(Descriptor d,
+            Set<String> exceptionsExpectedValue,
+            boolean exceptionsExpected,
+            Set<String> setExceptionsExpectedValue,
+            boolean setExceptionsExpected) throws Exception {
+        String[] exceptionsValues = (String[]) d.getFieldValue(JMX.EXCEPTIONS_FIELD);
+        String[] setExceptionsValues = (String[]) d.getFieldValue(JMX.SET_EXCEPTIONS_FIELD);
+
+        if (exceptionsExpected && exceptionsValues == null) {
+            throw new Exception("exceptions is expected but null value");
+        }
+        if (!exceptionsExpected && exceptionsValues != null) {
+            throw new Exception("exceptions is not expected but non null value");
+        }
+        if (setExceptionsExpected && setExceptionsValues == null) {
+            throw new Exception("setExceptions is expected but null value");
+        }
+        if (!setExceptionsExpected && setExceptionsValues != null) {
+            throw new Exception("setExceptions is not expected but non null value");
+        }
+
+        if (exceptionsExpected) {
+            checkValues(exceptionsExpectedValue, exceptionsValues);
+        }
+        if (setExceptionsExpected) {
+            checkValues(setExceptionsExpectedValue, setExceptionsValues);
+        }
+    }
+
+    private static void checkValues(Set<String> expectedValuesSet,
+            String[] realValues) throws Exception {
+
+        Set<String> realValuesSet = new HashSet<String>();
+        for (String ex : realValues) {
+            realValuesSet.add(ex);
+        }
+        if (!realValuesSet.equals(expectedValuesSet)) {
+            throw new Exception("Invalid content for exceptions. Was expecting " +
+                    expectedValuesSet + ". Found " + realValuesSet);
+        }
+    }
+
+    public static void main(String[] args) throws Exception {
+        Test t = new Test();
+        ManagementFactory.getPlatformMBeanServer().registerMBean(t, OBJECT_NAME);
+        MBeanInfo info = ManagementFactory.getPlatformMBeanServer().
+                getMBeanInfo(OBJECT_NAME);
+        //Constructors
+        for (MBeanConstructorInfo ctr : info.getConstructors()) {
+            if (ctr.getSignature().length == 0) {
+                check(ctr.getDescriptor(), null, false, null, false);
+            }
+            if (ctr.getSignature().length == 1) {
+                check(ctr.getDescriptor(), ONE_EXCEPTION, true, null, false);
+            }
+            if (ctr.getSignature().length == 2) {
+                check(ctr.getDescriptor(),TWO_EXCEPTION,true, null, false);
+            }
+        }
+        //Attributes
+        for (MBeanAttributeInfo attr : info.getAttributes()) {
+            if (attr.getName().equals("That")) {
+                check(attr.getDescriptor(), null, false, null, false);
+            }
+            if (attr.getName().equals("The")) {
+                check(attr.getDescriptor(), ONE_EXCEPTION,true,null, false);
+            }
+            if (attr.getName().equals("These")) {
+                check(attr.getDescriptor(), null, false, ONE_EXCEPTION,true);
+            }
+            if (attr.getName().equals("It")) {
+                check(attr.getDescriptor(), ONE_EXCEPTION,true,ONE_EXCEPTION,
+                        true);
+            }
+            if (attr.getName().equals("This")) {
+                check(attr.getDescriptor(), TWO_EXCEPTION,true,null,false);
+            }
+            if (attr.getName().equals("Those")) {
+                check(attr.getDescriptor(), null,false,TWO_EXCEPTION,true);
+            }
+        }
+        //Operations
+        for (MBeanOperationInfo oper : info.getOperations()) {
+            if (oper.getSignature().length == 0) {
+                check(oper.getDescriptor(), null, false, null, false);
+            }
+            if (oper.getSignature().length == 1) {
+                check(oper.getDescriptor(), ONE_EXCEPTION, true, null, false);
+            }
+            if (oper.getSignature().length == 2) {
+                check(oper.getDescriptor(), TWO_EXCEPTION,true, null, false);
+            }
+        }
+        System.out.println("Test passed");
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/javax/management/Introspector/ObjectNameTemplateTest.java	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,343 @@
+/*
+ * Copyright 2008 Sun Microsystems, Inc.  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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+/*
+ * @test %M% %I%
+ * @bug 6675526
+ * @summary Test MBeans named with &#64;ObjectNameTemplate
+ * @author Jean-Francois Denise
+ * @run main/othervm ObjectNameTemplateTest
+ */
+import java.lang.management.ManagementFactory;
+import java.lang.reflect.Constructor;
+import java.util.ArrayList;
+import java.util.List;
+import javax.management.Attribute;
+import javax.management.AttributeList;
+import javax.management.AttributeNotFoundException;
+import javax.management.DynamicMBean;
+import javax.management.ImmutableDescriptor;
+import javax.management.InvalidAttributeValueException;
+import javax.management.JMX;
+import javax.management.MBeanException;
+import javax.management.MBeanInfo;
+import javax.management.MBeanServer;
+import javax.management.MXBean;
+import javax.management.MBean;
+import javax.management.ManagedAttribute;
+import javax.management.NotCompliantMBeanException;
+import javax.management.ObjectName;
+import javax.management.ObjectNameTemplate;
+import javax.management.ReflectionException;
+import javax.management.StandardMBean;
+
+public class ObjectNameTemplateTest {
+
+    private static MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();
+    private static final String NAME_TEMPLATE_MULTI =
+            "com.example:type=MultiStdCache,name={Name}";
+    private static final String NAME_TEMPLATE_MONO =
+            "com.example:{Type}={TypeValue}";
+    private static final String NAME_TEMPLATE_QUOTED =
+            "com.example:type=Quotted,name=\"{Name}\"";
+    private static final String NAME_TEMPLATE_WRAPPED =
+            "com.example:type=MgtInterface,id={Id}";
+    private static final String NAME_TEMPLATE_FULL =
+            "{Naming}";
+    private static final String FULL_NAME = "com.example:type=NotAdvised";
+    private static final String NAME1 = "toto1";
+    private static final String NAME2 = "toto2";
+    private static final String TYPE_KEY = "thisIsTheType";
+    private static final String TYPE_VALUE = "aTypeValue";
+    private static final String INVALID_NAME = "?,=*,\n, ";
+    private static final int ID = 999;
+    private static Object[] EMPTY_PARAMS = {};
+    private static String[] EMPTY_SIGNATURE = {};
+    private static final ObjectName OBJECTNAME_CACHE =
+            ObjectName.valueOf("com.example:type=Cache");
+    private static final ObjectName OBJECTNAME_SUBCACHE =
+            ObjectName.valueOf("com.example:type=SubCache");
+    private static final ObjectName OBJECTNAME_CACHEMX =
+            ObjectName.valueOf("com.example:type=CacheMX");
+    private static final ObjectName OBJECTNAME_SUBCACHEMX =
+            ObjectName.valueOf("com.example:type=SubCacheMX");
+    private static final ObjectName OBJECTNAME_DYNACACHE =
+            ObjectName.valueOf("com.example:type=DynaCache");
+    private static final ObjectName OBJECTNAME_STDCACHE =
+            ObjectName.valueOf("com.example:type=StdCache");
+    private static final ObjectName OBJECTNAME_STDCACHEMX =
+            ObjectName.valueOf("com.example:type=StdCacheMX");
+    private static final ObjectName OBJECTNAME_MULTI_1 =
+            ObjectName.valueOf("com.example:" +
+            "type=MultiStdCache,name=" + NAME1);
+    private static final ObjectName OBJECTNAME_MULTI_2 =
+            ObjectName.valueOf("com.example:" +
+            "type=MultiStdCache,name=" + NAME2);
+    private static final ObjectName OBJECTNAME_MONO =
+            ObjectName.valueOf("com.example:" + TYPE_KEY + "=" +
+            TYPE_VALUE);
+    private static final ObjectName OBJECTNAME_QUOTED =
+            ObjectName.valueOf("com.example:type=Quotted," +
+            "name="+ObjectName.quote(INVALID_NAME));
+    private static final ObjectName OBJECTNAME_WRAPPED_RESOURCE =
+            ObjectName.valueOf("com.example:type=MgtInterface,id=" + ID);
+    private static final ObjectName OBJECTNAME_FULL =
+            ObjectName.valueOf(FULL_NAME);
+
+    private static void test(Class<?> mbean, Object[] params,
+            String[] signature, ObjectName name, String template)
+            throws Exception {
+        mbs.createMBean(mbean.getName(), null, params, signature);
+        test(name, template);
+        List<Class<?>> parameters = new ArrayList<Class<?>>();
+        for (String sig : signature) {
+            parameters.add(Class.forName(sig));
+        }
+        Class<?> classes[] = new Class<?>[parameters.size()];
+        Constructor ctr = mbean.getConstructor(parameters.toArray(classes));
+        Object inst = ctr.newInstance(params);
+        test(inst, name, template);
+    }
+
+    private static void test(Object obj, ObjectName name, String template)
+            throws Exception {
+        mbs.registerMBean(obj, null);
+        test(name, template);
+    }
+
+    private static void test(ObjectName name, String template)
+            throws Exception {
+        if (!mbs.isRegistered(name)) {
+            throw new Exception("Wrong " + name + " name");
+        }
+        if (template != null && !mbs.getMBeanInfo(name).getDescriptor().
+                getFieldValue("objectNameTemplate").equals(template)) {
+            throw new Exception("Invalid Derscriptor");
+        }
+        mbs.unregisterMBean(name);
+    }
+
+    public static void main(String[] args) throws Exception {
+        test(Cache.class, EMPTY_PARAMS, EMPTY_SIGNATURE, OBJECTNAME_CACHE,
+                OBJECTNAME_CACHE.toString());
+
+        test(CacheMX.class, EMPTY_PARAMS, EMPTY_SIGNATURE, OBJECTNAME_CACHEMX,
+                OBJECTNAME_CACHEMX.toString());
+
+        test(SubCache.class, EMPTY_PARAMS, EMPTY_SIGNATURE, OBJECTNAME_SUBCACHE,
+                OBJECTNAME_SUBCACHE.toString());
+
+        test(SubCacheMX.class, EMPTY_PARAMS, EMPTY_SIGNATURE, OBJECTNAME_SUBCACHEMX,
+                OBJECTNAME_SUBCACHEMX.toString());
+
+        test(DynaCache.class, EMPTY_PARAMS, EMPTY_SIGNATURE, OBJECTNAME_DYNACACHE,
+                null);
+
+        test(StdCacheMX.class, EMPTY_PARAMS, EMPTY_SIGNATURE, OBJECTNAME_STDCACHEMX,
+                OBJECTNAME_STDCACHEMX.toString());
+
+        test(StdCache.class, EMPTY_PARAMS, EMPTY_SIGNATURE, OBJECTNAME_STDCACHE,
+                OBJECTNAME_STDCACHE.toString());
+        String[] sig = {String.class.getName()};
+        Object[] params = {NAME1};
+        test(MultiStdCache.class, params, sig, OBJECTNAME_MULTI_1,
+                NAME_TEMPLATE_MULTI);
+        Object[] params2 = {NAME2};
+        test(MultiStdCache.class, params2, sig, OBJECTNAME_MULTI_2,
+                NAME_TEMPLATE_MULTI);
+
+        test(MonoStdCache.class, EMPTY_PARAMS, EMPTY_SIGNATURE, OBJECTNAME_MONO,
+                NAME_TEMPLATE_MONO);
+
+        test(Quoted.class, EMPTY_PARAMS, EMPTY_SIGNATURE, OBJECTNAME_QUOTED,
+                NAME_TEMPLATE_QUOTED);
+
+        test(new StandardMBean(new WrappedResource(), MgtInterface.class),
+                OBJECTNAME_WRAPPED_RESOURCE, NAME_TEMPLATE_WRAPPED);
+
+        test(FullName.class, EMPTY_PARAMS, EMPTY_SIGNATURE, OBJECTNAME_FULL,
+                NAME_TEMPLATE_FULL);
+        try {
+            test(Wrong.class, EMPTY_PARAMS, EMPTY_SIGNATURE, null, null);
+            throw new Exception("No treceived expected Exception");
+        } catch (NotCompliantMBeanException ncex) {
+            if (!(ncex.getCause() instanceof AttributeNotFoundException)) {
+                throw new Exception("Invalid initCause");
+            }
+        }
+    }
+
+    @MBean
+    @ObjectNameTemplate("{Naming}")
+    public static class FullName {
+
+        @ManagedAttribute
+        public String getNaming() {
+            return FULL_NAME;
+        }
+    }
+
+    @ObjectNameTemplate("com.example:type=MgtInterface,id={Id}")
+    public interface MgtInterface {
+
+        public int getId();
+    }
+
+    public static class WrappedResource implements MgtInterface {
+
+        public int getId() {
+            return ID;
+        }
+    }
+
+    @MBean
+    @ObjectNameTemplate("com.example:type=Cache")
+    public static class Cache {
+    }
+
+    @ObjectNameTemplate("com.example:type=SubCache")
+    public static class SubCache extends Cache {
+    }
+
+    @MXBean
+    @ObjectNameTemplate("com.example:type=CacheMX")
+    public static class CacheMX {
+    }
+
+    @ObjectNameTemplate("com.example:type=SubCacheMX")
+    public static class SubCacheMX extends CacheMX {
+    }
+
+    @ObjectNameTemplate("com.example:type=StdCache")
+    public interface StdCacheMBean {
+    }
+
+    public static class StdCache implements StdCacheMBean {
+    }
+
+    @ObjectNameTemplate("com.example:type=StdCacheMX")
+    public interface StdCacheMXBean {
+    }
+
+    public static class StdCacheMX implements StdCacheMXBean {
+    }
+
+    public static class DynaCache implements DynamicMBean {
+
+        public Object getAttribute(String attribute) throws AttributeNotFoundException, MBeanException, ReflectionException {
+            throw new UnsupportedOperationException("Not supported yet.");
+        }
+
+        public void setAttribute(Attribute attribute) throws AttributeNotFoundException, InvalidAttributeValueException, MBeanException, ReflectionException {
+            throw new UnsupportedOperationException("Not supported yet.");
+        }
+
+        public AttributeList getAttributes(String[] attributes) {
+            throw new UnsupportedOperationException("Not supported yet.");
+        }
+
+        public AttributeList setAttributes(AttributeList attributes) {
+            throw new UnsupportedOperationException("Not supported yet.");
+        }
+
+        public Object invoke(String actionName, Object[] params, String[] signature) throws MBeanException, ReflectionException {
+            throw new UnsupportedOperationException("Not supported yet.");
+        }
+
+        public MBeanInfo getMBeanInfo() {
+            ImmutableDescriptor d = new ImmutableDescriptor(JMX.OBJECT_NAME_TEMPLATE + "=com.example:type=DynaCache");
+
+            return new MBeanInfo("DynaCache", "Description", null, null, null, null, d);
+        }
+    }
+
+    @ObjectNameTemplate("com.example:type=MultiStdCache,name={Name}")
+    public interface MultiStdCacheMXBean {
+
+        public String getName();
+    }
+
+    public static class MultiStdCache implements MultiStdCacheMXBean {
+
+        private String name;
+
+        public MultiStdCache(String name) {
+            this.name = name;
+        }
+
+        public String getName() {
+            return name;
+        }
+    }
+
+    @ObjectNameTemplate("com.example:{Type}={TypeValue}")
+    public interface MonoStdCacheMXBean {
+
+        public String getTypeValue();
+
+        public String getType();
+    }
+
+    public static class MonoStdCache implements MonoStdCacheMXBean {
+
+        public String getTypeValue() {
+            return TYPE_VALUE;
+        }
+
+        public String getType() {
+            return TYPE_KEY;
+        }
+    }
+
+    @ObjectNameTemplate("com.example:type=Quotted,name=\"{Name}\"")
+    public interface QuottedMXBean {
+
+        public String getName();
+    }
+
+    public static class Quoted implements QuottedMXBean {
+
+        public String getName() {
+            return INVALID_NAME;
+        }
+    }
+
+    @ObjectNameTemplate("com.example:{Type}={TypeValue}, name={Name}")
+    public interface WrongMXBean {
+
+        public String getTypeValue();
+
+        public String getType();
+    }
+
+    public static class Wrong implements WrongMXBean {
+
+        public String getTypeValue() {
+            return TYPE_VALUE;
+        }
+
+        public String getType() {
+            return TYPE_KEY;
+        }
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/javax/management/descriptor/DescriptorConstructorTest.java	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,46 @@
+/*
+ * Copyright 2004-2005 Sun Microsystems, Inc.  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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+/*
+ * @test
+ * @bug 6501362
+ * @summary DescriptorSupport(String) could recognize "name=value" as well as XML format
+ * @author Jean-Francois Denise
+ * @run clean DescriptorConstructorTest
+ * @run build DescriptorConstructorTest
+ * @run main DescriptorConstructorTest
+ */
+
+import javax.management.modelmbean.DescriptorSupport;
+
+public class DescriptorConstructorTest {
+    public static void main(String[] args) throws Exception {
+        DescriptorSupport d1 = new DescriptorSupport("MyName1=MyValue1");
+        if(!d1.getFieldValue("MyName1").equals("MyValue1"))
+            throw new Exception("Invalid parsing");
+        DescriptorSupport d2 = new DescriptorSupport("<Descriptor>" +
+                "<field name=\"MyName2\" value=\"MyValue2\"></field></Descriptor>");
+        if(!d2.getFieldValue("MyName2").equals("MyValue2"))
+            throw new Exception("Invalid parsing");
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/javax/management/interop/MBeanExceptionInteropTest.java	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,166 @@
+/*
+ * Copyright 2008 Sun Microsystems, Inc.  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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+/*
+ * @test
+ * @bug 6456269
+ * @summary Test that an MBeanException serialized on JDK 6 deserializes
+ * correctly on JDK 7.
+ * @author Eamonn McManus
+ */
+
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
+import javax.management.MBeanException;
+
+// In JDK 6, the Throwable.cause field was always null for an MBeanException,
+// but it didn't matter because we overrode getCause() to return
+// MBeanException.exception instead.  In JDK 7, we no longer override getCause()
+// because MBeanException doubles as the serial form of GenericMBeanException.
+// So we need some care to make sure that objects deserialized from JDK 6
+// have the right getCause() behaviour.
+public class MBeanExceptionInteropTest {
+    private static final byte[] SERIALIZED_MBEAN_EXCEPTION = {
+        -84,-19,0,5,115,114,0,31,106,97,118,97,120,46,109,97,
+        110,97,103,101,109,101,110,116,46,77,66,101,97,110,69,120,
+        99,101,112,116,105,111,110,56,110,-116,-27,110,87,49,-50,2,
+        0,1,76,0,9,101,120,99,101,112,116,105,111,110,116,0,
+        21,76,106,97,118,97,47,108,97,110,103,47,69,120,99,101,
+        112,116,105,111,110,59,120,114,0,28,106,97,118,97,120,46,
+        109,97,110,97,103,101,109,101,110,116,46,74,77,69,120,99,
+        101,112,116,105,111,110,4,-35,76,-20,-109,-99,126,113,2,0,
+        0,120,114,0,19,106,97,118,97,46,108,97,110,103,46,69,
+        120,99,101,112,116,105,111,110,-48,-3,31,62,26,59,28,-60,
+        2,0,0,120,114,0,19,106,97,118,97,46,108,97,110,103,
+        46,84,104,114,111,119,97,98,108,101,-43,-58,53,39,57,119,
+        -72,-53,3,0,3,76,0,5,99,97,117,115,101,116,0,21,
+        76,106,97,118,97,47,108,97,110,103,47,84,104,114,111,119,
+        97,98,108,101,59,76,0,13,100,101,116,97,105,108,77,101,
+        115,115,97,103,101,116,0,18,76,106,97,118,97,47,108,97,
+        110,103,47,83,116,114,105,110,103,59,91,0,10,115,116,97,
+        99,107,84,114,97,99,101,116,0,30,91,76,106,97,118,97,
+        47,108,97,110,103,47,83,116,97,99,107,84,114,97,99,101,
+        69,108,101,109,101,110,116,59,120,112,113,0,126,0,8,116,
+        0,7,79,104,32,100,101,97,114,117,114,0,30,91,76,106,
+        97,118,97,46,108,97,110,103,46,83,116,97,99,107,84,114,
+        97,99,101,69,108,101,109,101,110,116,59,2,70,42,60,60,
+        -3,34,57,2,0,0,120,112,0,0,0,2,115,114,0,27,
+        106,97,118,97,46,108,97,110,103,46,83,116,97,99,107,84,
+        114,97,99,101,69,108,101,109,101,110,116,97,9,-59,-102,38,
+        54,-35,-123,2,0,4,73,0,10,108,105,110,101,78,117,109,
+        98,101,114,76,0,14,100,101,99,108,97,114,105,110,103,67,
+        108,97,115,115,113,0,126,0,6,76,0,8,102,105,108,101,
+        78,97,109,101,113,0,126,0,6,76,0,10,109,101,116,104,
+        111,100,78,97,109,101,113,0,126,0,6,120,112,0,0,0,
+        63,116,0,25,77,66,101,97,110,69,120,99,101,112,116,105,
+        111,110,73,110,116,101,114,111,112,84,101,115,116,116,0,30,
+        77,66,101,97,110,69,120,99,101,112,116,105,111,110,73,110,
+        116,101,114,111,112,84,101,115,116,46,106,97,118,97,116,0,
+        5,119,114,105,116,101,115,113,0,126,0,12,0,0,0,46,
+        113,0,126,0,14,113,0,126,0,15,116,0,4,109,97,105,
+        110,120,115,114,0,34,106,97,118,97,46,108,97,110,103,46,
+        73,108,108,101,103,97,108,65,114,103,117,109,101,110,116,69,
+        120,99,101,112,116,105,111,110,-75,-119,115,-45,125,102,-113,-68,
+        2,0,0,120,114,0,26,106,97,118,97,46,108,97,110,103,
+        46,82,117,110,116,105,109,101,69,120,99,101,112,116,105,111,
+        110,-98,95,6,71,10,52,-125,-27,2,0,0,120,113,0,126,
+        0,3,113,0,126,0,21,116,0,3,66,97,100,117,113,0,
+        126,0,10,0,0,0,2,115,113,0,126,0,12,0,0,0,
+        62,113,0,126,0,14,113,0,126,0,15,113,0,126,0,16,
+        115,113,0,126,0,12,0,0,0,46,113,0,126,0,14,113,
+        0,126,0,15,113,0,126,0,18,120,
+    };
+
+    private static volatile String failure;
+
+    public static void main(String[] args) throws Exception {
+        if (args.length > 0) {
+            if (args[0].equals("write") && args.length == 1) {
+                write();
+                return;
+            } else {
+                System.err.println(
+                        "Usage: java MBeanExceptionInteropTest");
+                System.err.println(
+                        "or:    java MBeanExceptionInteropTest write");
+                System.exit(1);
+            }
+        }
+
+        // Read the serialized object and check it is correct.
+        ByteArrayInputStream bin =
+                new ByteArrayInputStream(SERIALIZED_MBEAN_EXCEPTION);
+        ObjectInputStream oin = new ObjectInputStream(bin);
+        MBeanException mbeanEx = (MBeanException) oin.readObject();
+        assertEquals("MBeanException message", "Oh dear", mbeanEx.getMessage());
+        System.out.println("getCause(): " + mbeanEx.getCause() + "; " +
+                "getTargetException(): " + mbeanEx.getTargetException());
+        for (Throwable t :
+                new Throwable[] {mbeanEx.getCause(), mbeanEx.getTargetException()}) {
+            if (!(t instanceof IllegalArgumentException))
+                fail("Nested exception not an IllegalArgumentException: " + t);
+            else
+                assertEquals("Nested exception message", "Bad", t.getMessage());
+        }
+
+        if (failure == null)
+            System.out.println("TEST PASSED");
+        else
+            throw new Exception("TEST FAILED: " + failure);
+    }
+
+    // Write a file that can be inserted into this source file as the
+    // contents of the SERIALIZED_MBEAN_EXCEPTION array.  Run this program
+    // on JDK 6 to generate the array, then test on JDK 7.
+    private static void write() throws Exception {
+        Exception wrapped = new IllegalArgumentException("Bad");
+        MBeanException mbeanEx = new MBeanException(wrapped, "Oh dear");
+        ByteArrayOutputStream bout = new ByteArrayOutputStream();
+        ObjectOutputStream oout = new ObjectOutputStream(bout);
+        oout.writeObject(mbeanEx);
+        oout.close();
+        byte[] bytes = bout.toByteArray();
+        for (int i = 0; i < bytes.length; i++) {
+            System.out.printf("%d,", bytes[i]);
+            if (i % 16 == 15)
+                System.out.println();
+        }
+        if (bytes.length % 16 != 0)
+            System.out.println();
+    }
+
+    private static void assertEquals(String what, Object expect, Object actual) {
+        boolean equal = (expect == null) ? (actual == null) : expect.equals(actual);
+        if (equal)
+            System.out.println("OK: " + what + ": " + expect);
+        else
+            fail(what + ": expected " + expect + ", got " + actual);
+    }
+
+    private static void fail(String why) {
+        System.out.println("FAIL: " + why);
+        failure = why;
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/javax/management/monitor/InstantiateMonitorNotificationTest.java	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,52 @@
+
+import javax.management.ObjectName;
+import javax.management.monitor.MonitorNotification;
+
+/*
+ * Copyright 2008 Sun Microsystems, Inc.  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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+/*
+ * @test
+ * @bug 6373143
+ * @summary Test MonitorNotification public constructor
+ * @author JFDenise
+ * @run clean InstantiateMonitorNotificationTest
+ * @run build InstantiateMonitorNotificationTest
+ * @run main InstantiateMonitorNotificationTest
+ */
+
+public class InstantiateMonitorNotificationTest {
+
+    public static void main(String[] args) throws Exception {
+        MonitorNotification notif = new MonitorNotification("com.foo.test",
+                ObjectName.valueOf(":type=Monitor"),
+                999,
+                999,
+                "A  message",
+                ObjectName.valueOf(":type=Observed"),
+                "MyAttribute",
+                Integer.valueOf(14),
+                Integer.valueOf(15));
+        System.out.println("Test passed");
+    }
+}
--- a/jdk/test/javax/management/namespace/LeadingSeparatorsTest.java	Wed Jul 05 16:44:40 2017 +0200
+++ b/jdk/test/javax/management/namespace/LeadingSeparatorsTest.java	Wed Jul 05 16:45:14 2017 +0200
@@ -24,7 +24,7 @@
  * @test LeadingSeparatorsTest.java
  * @summary Test that the semantics of a leading // in ObjectName is respected.
  * @author Daniel Fuchs
- * @bug 5072476
+ * @bug 5072476 6768935
  * @run clean LeadingSeparatorsTest Wombat WombatMBean
  * @compile -XDignore.symbol.file=true  LeadingSeparatorsTest.java
  * @run build LeadingSeparatorsTest Wombat WombatMBean
@@ -36,6 +36,7 @@
 import java.util.Set;
 import java.util.HashSet;
 import java.util.logging.Logger;
+import javax.management.InstanceNotFoundException;
 import javax.management.MBeanServer;
 import javax.management.MBeanServerFactory;
 import javax.management.NotCompliantMBeanException;
@@ -121,19 +122,29 @@
             // register wombat using an object name with a leading //
             final Object     obj = new MyWombat();
             // check that returned object name doesn't have the leading //
-            assertEquals(n2,top.registerMBean(obj, n1).getObjectName());
+            assertEquals(n2,top.registerMBean(obj, n2).getObjectName());
             System.out.println(n1+" registered");
 
             // check that the registered Wombat can be accessed with all its
             // names.
             System.out.println(n2+" mood is: "+top.getAttribute(n2, "Mood"));
-            System.out.println(n1+" mood is: "+top.getAttribute(n1, "Mood"));
+            try {
+                System.out.println(n1+" mood is: "+top.getAttribute(n1, "Mood"));
+                throw new Exception("Excepected exception not thrown for "+n1);
+            } catch (InstanceNotFoundException x) {
+                System.out.println("OK: "+x);
+            }
             System.out.println(n4+" mood is: "+top.getAttribute(n4, "Mood"));
-            System.out.println(n3+" mood is: "+top.getAttribute(n3, "Mood"));
+            try {
+                System.out.println(n3+" mood is: "+top.getAttribute(n3, "Mood"));
+                throw new Exception("Excepected exception not thrown for "+n3);
+            } catch (InstanceNotFoundException x) {
+                System.out.println("OK: "+x);
+            }
 
             // call listMatching. The result should not contain any prefix.
             final Set<ObjectName> res = (Set<ObjectName>)
-                    top.invoke(n3, "listMatching",
+                    top.invoke(n4, "listMatching",
                     // remove rmi// from rmi//*:*
                     JMXNamespaces.deepReplaceHeadNamespace(
                     new Object[] {ObjectName.WILDCARD.withDomain("rmi//*")},
@@ -158,7 +169,7 @@
             // //niark//niark//
             //
             final Set<ObjectName> res4 = (Set<ObjectName>)
-                    top.invoke(n3, "untrue",
+                    top.invoke(n4, "untrue",
                     // remove niark//niark : should remove nothing since
                     // our ObjectName begins with a leading //
                     JMXNamespaces.deepReplaceHeadNamespace(
--- a/jdk/test/javax/management/namespace/NullDomainObjectNameTest.java	Wed Jul 05 16:44:40 2017 +0200
+++ b/jdk/test/javax/management/namespace/NullDomainObjectNameTest.java	Wed Jul 05 16:45:14 2017 +0200
@@ -40,6 +40,7 @@
 import javax.management.NotCompliantMBeanException;
 import javax.management.ObjectInstance;
 import javax.management.ObjectName;
+import javax.management.RuntimeOperationsException;
 import javax.management.namespace.JMXNamespaces;
 import javax.management.namespace.JMXRemoteNamespace;
 import javax.management.namespace.JMXNamespace;
@@ -215,9 +216,20 @@
                 assertEquals(proxy.queryNames(
                         new ObjectName(":*"),null).
                         contains(moi3.getObjectName()),true);
-                failed("queryNames(null,null) should have failed for faked//");
-            } catch (IllegalArgumentException x) {
-                System.out.println("Received expected exception for faked//: "+x);
+                failed("queryNames(new ObjectName(\":*\"),null) " +
+                        "should have failed for faked//");
+            } catch (RuntimeOperationsException x) {
+                if (x.getCause() instanceof IllegalArgumentException)
+                    System.out.println(
+                            "Received expected exception for faked//: "+x);
+                else {
+                    System.err.println(
+                            "Expected exception has unexpected cause " +
+                            "for faked//: "+x.getCause());
+                    x.printStackTrace();
+                    failed("queryNames(new ObjectName(\":*\"),null)" +
+                            " failed with unexpected cause for faked//");
+                }
             }
             // These should fail because the ObjectName doesn't start
             // with "faked//"
@@ -226,9 +238,20 @@
                     "new ObjectName(\":*\"),null) with faked//");
                 assertEquals(proxy.queryMBeans(
                         new ObjectName(":*"),null).contains(moi3),true);
-                failed("queryMBeans(null,null) should have failed for faked//");
-            } catch (IllegalArgumentException x) {
-                System.out.println("Received expected exception for faked//: "+x);
+                failed("queryMBeans(new ObjectName(\":*\"),null)" +
+                    " should have failed for faked//");
+            } catch (RuntimeOperationsException x) {
+                if (x.getCause() instanceof IllegalArgumentException)
+                    System.out.println(
+                            "Received expected exception for faked//: "+x);
+                else {
+                    System.err.println(
+                            "Expected exception has unexpected cause " +
+                            "for faked//: "+x.getCause());
+                    x.printStackTrace();
+                    failed("queryMBeans(new ObjectName(\":*\"),null) " +
+                            "failed with unexpected cause for faked//");
+                }
             }
 
             System.out.println("Checking queryNames(faked//*:*,null)");
--- a/jdk/test/javax/management/namespace/NullObjectNameTest.java	Wed Jul 05 16:44:40 2017 +0200
+++ b/jdk/test/javax/management/namespace/NullObjectNameTest.java	Wed Jul 05 16:45:14 2017 +0200
@@ -41,6 +41,7 @@
 import javax.management.NotCompliantMBeanException;
 import javax.management.ObjectInstance;
 import javax.management.ObjectName;
+import javax.management.RuntimeOperationsException;
 import javax.management.namespace.JMXNamespaces;
 import javax.management.namespace.JMXRemoteNamespace;
 import javax.management.namespace.JMXNamespace;
@@ -189,15 +190,35 @@
                 assertEquals(proxy.queryNames(null,null).
                         contains(moi3.getObjectName()),true);
                 failed("queryNames(null,null) should have failed for faked//");
-            } catch (IllegalArgumentException x) {
-                System.out.println("Received expected exception for faked//: "+x);
+            } catch (RuntimeOperationsException x) {
+                if (x.getCause() instanceof IllegalArgumentException)
+                    System.out.println(
+                            "Received expected exception for faked//: "+x);
+                else {
+                    System.err.println(
+                            "Expected exception has unexpected cause " +
+                            "for faked//: "+x.getCause());
+                    x.printStackTrace();
+                    failed("queryNames(null,null) failed with unexpected " +
+                            "cause for faked//");
+                }
             }
             try {
                 System.out.println("Checking queryMBeans(null,null) with faked//");
                 assertEquals(proxy.queryMBeans(null,null).contains(moi3),true);
                 failed("queryMBeans(null,null) should have failed for faked//");
-            } catch (IllegalArgumentException x) {
-                System.out.println("Received expected exception for faked//: "+x);
+            } catch (RuntimeOperationsException x) {
+                if (x.getCause() instanceof IllegalArgumentException)
+                    System.out.println(
+                            "Received expected exception for faked//: "+x);
+                else {
+                    System.err.println(
+                            "Expected exception has unexpected cause " +
+                            "for faked//: "+x.getCause());
+                    x.printStackTrace();
+                    failed("queryMBeans(null,null) failed with unexpected " +
+                            "cause for faked//");
+                }
             }
             System.out.println("Checking queryNames(faked//*:*,null)");
             assertEquals(proxy.queryNames(new ObjectName("faked//*:*"),null).
--- a/jdk/test/javax/management/namespace/QueryNamesTest.java	Wed Jul 05 16:44:40 2017 +0200
+++ b/jdk/test/javax/management/namespace/QueryNamesTest.java	Wed Jul 05 16:45:14 2017 +0200
@@ -25,7 +25,7 @@
  * @test QueryNamesTest.java 1.4
  * @summary Test how queryNames works with Namespaces.
  * @author Daniel Fuchs
- * @bug 5072476
+ * @bug 5072476 6768935
  * @run clean QueryNamesTest Wombat WombatMBean
  * @run build QueryNamesTest Wombat WombatMBean
  * @run main QueryNamesTest
@@ -34,6 +34,7 @@
 
 import java.io.IOException;
 import java.lang.management.ManagementFactory;
+import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collections;
 import java.util.HashMap;
@@ -52,7 +53,9 @@
 import javax.management.MBeanServerConnection;
 import javax.management.MBeanServerFactory;
 import javax.management.MalformedObjectNameException;
+import javax.management.ObjectInstance;
 import javax.management.ObjectName;
+import javax.management.RuntimeOperationsException;
 import javax.management.namespace.JMXNamespace;
 import javax.management.namespace.JMXNamespaces;
 
@@ -366,6 +369,66 @@
         return res;
     }
 
+    private static void checkNsPattern(MBeanServer server) throws Exception {
+        final List<String> list = new ArrayList<String>();
+        for (String s : namespaces) {
+            final String[] cmpnt = s.split("//");
+            for (int i=0;i<cmpnt.length;i++) {
+                final String[] clone = cmpnt.clone();
+                if (clone[i].length() < 3) {
+                    clone[i] = "*";
+                } else {
+                    clone[i] = "?"+cmpnt[i].substring(1, cmpnt[i].length()-2)+"*";
+                }
+                final StringBuilder sb = new StringBuilder();
+                for (int j=0;j<cmpnt.length;j++) {
+                    sb.append(clone[j]).append("//");
+                }
+                list.add(sb.toString()+"*:*");
+            }
+        }
+        for (String s : list) {
+            final Set<ObjectName> res = new HashSet<ObjectName>();
+
+            try {
+                res.addAll(server.queryNames(ObjectName.valueOf(s),null));
+            } catch (RuntimeOperationsException x) {
+                if (x.getCause() instanceof IllegalArgumentException) {
+                    System.out.println("queryNames("+s+"): OK - received "+x.getCause());
+                    continue;
+                }
+                System.err.println("queryNames("+s+"): Bad cause: "+x.getCause());
+                throw x;
+            } catch (Exception x) {
+                System.err.println("queryNames("+s+"): Bad exception: "+x);
+                throw x;
+            }
+            System.err.println("queryNames("+s+"): Bad result: "+res);
+            System.err.println("queryNames("+s+"): Excpected exception not thrown.");
+            throw new Exception("queryNames("+s+"): Excpected exception not thrown.");
+        }
+        for (String s : list) {
+            final Set<ObjectInstance> res = new HashSet<ObjectInstance>();
+
+            try {
+                res.addAll(server.queryMBeans(ObjectName.valueOf(s),null));
+            } catch (RuntimeOperationsException x) {
+                if (x.getCause() instanceof IllegalArgumentException) {
+                    System.out.println("queryMBeans("+s+"): OK - received "+x.getCause());
+                    continue;
+                }
+                System.err.println("queryMBeans("+s+"): Bad cause: "+x.getCause());
+                throw x;
+            } catch (Exception x) {
+                System.err.println("queryMBeans("+s+"): Bad exception: "+x);
+                throw x;
+            }
+            System.err.println("queryMBeans("+s+"): Bad result: "+res);
+            System.err.println("queryMBeans("+s+"): Excpected exception not thrown.");
+            throw new Exception("queryMBeans("+s+"): Excpected exception not thrown.");
+        }
+    }
+
     public static void main(String[] args)
         throws Exception {
         final MBeanServer server = ManagementFactory.getPlatformMBeanServer();
@@ -378,6 +441,7 @@
             System.out.println("Domains: " +Arrays.asList(server.getDomains()));
             checkRegistration(server);
             checkNsQuery(server);
+            checkNsPattern(server);
         } finally {
             boolean res = true;
             res = res && removeWombats(server, wombats);
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/javax/management/notification/SupportClearTest.java	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,80 @@
+/*
+ * Copyright 2005 Sun Microsystems, Inc.  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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+/*
+ * @test
+ * @bug 6336980
+ * @summary test 2 new methods: isListenedTo() and clear()
+ * @author Shanliang JIANG
+ * @run clean SupportClearTest
+ * @run build SupportClearTest
+ * @run main SupportClearTest
+ */
+
+import javax.management.*;
+
+public class SupportClearTest {
+    private static boolean received = false;
+
+    public static void main(String[] args) throws Exception {
+        System.out.println(">>> test 2 new methods: isListenedTo() and clear().");
+
+        final NotificationListener listener = new NotificationListener() {
+                public void handleNotification(Notification n, Object hb) {
+                    received = true;
+                }
+            };
+
+        final NotificationBroadcasterSupport broadcaster =
+                new NotificationBroadcasterSupport();
+
+        System.out.println(">>> testing the method \"isListenedTo\"...");
+        if (broadcaster.isListenedTo()) {
+            throw new RuntimeException(
+                    "Bad implementation of the method \"isListenedTo\"!");
+        }
+
+        broadcaster.addNotificationListener(listener, null, null);
+
+        if (!broadcaster.isListenedTo()) {
+            throw new RuntimeException(
+                    "Bad implementation of the method \"isListenedTo\"!");
+        }
+
+        System.out.println(">>> testing the method \"clear\"...");
+        broadcaster.removeAllNotificationListeners();
+        if (broadcaster.isListenedTo()) {
+            throw new RuntimeException(
+                    "Bad implementation of the method \"clear\"!");
+        }
+
+        broadcaster.sendNotification(new Notification("", "", 1L));
+
+        if (received) {
+            throw new RuntimeException(
+                    "Bad implementation of the method \"clear\"!");
+        }
+
+        System.out.println(">>> PASSED!");
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/javax/management/openmbean/GenericMBeanExceptionTest.java	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,278 @@
+/*
+ * Copyright 2008 Sun Microsystems, Inc.  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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+/*
+ * @test
+ * @bug 6456269
+ * @summary Test GenericMBeanException
+ * @author Eamonn McManus
+ */
+
+import java.beans.ConstructorProperties;
+import java.lang.management.ManagementFactory;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import javax.management.GenericMBeanException;
+import javax.management.JMX;
+import javax.management.MBeanServer;
+import javax.management.MBeanServerConnection;
+import javax.management.ObjectName;
+import javax.management.openmbean.CompositeData;
+import javax.management.openmbean.CompositeType;
+import javax.management.openmbean.MXBeanMapping;
+import javax.management.openmbean.MXBeanMappingFactory;
+import javax.management.remote.JMXConnector;
+import javax.management.remote.JMXConnectorFactory;
+import javax.management.remote.JMXConnectorServer;
+import javax.management.remote.JMXConnectorServerFactory;
+import javax.management.remote.JMXServiceURL;
+
+public class GenericMBeanExceptionTest {
+    private static volatile String failure = null;
+
+    public static interface ThrowerMBean {
+        public void throwGeneric() throws GenericMBeanException;
+        public void throwGeneric(Throwable cause) throws GenericMBeanException;
+        public void throwGeneric(String errorCode) throws GenericMBeanException;
+        public void throwGeneric(CompositeData userData) throws GenericMBeanException;
+        public void throwGeneric(String errorCode, CompositeData userData)
+                throws GenericMBeanException;
+        public void throwGeneric(String errorCode, CompositeData userData, Throwable cause)
+                throws GenericMBeanException;
+    }
+
+    public static class Thrower implements ThrowerMBean {
+
+        public void throwGeneric() throws GenericMBeanException {
+            throw new GenericMBeanException("Message");
+        }
+
+        public void throwGeneric(Throwable cause) throws GenericMBeanException {
+            throw new GenericMBeanException("Message", cause);
+        }
+
+        public void throwGeneric(String errorCode) throws GenericMBeanException {
+            throw new GenericMBeanException("Message", errorCode, null);
+        }
+
+        public void throwGeneric(CompositeData userData) throws GenericMBeanException {
+            throw new GenericMBeanException("Message", null, userData);
+        }
+
+        public void throwGeneric(String errorCode, CompositeData userData)
+                throws GenericMBeanException {
+            throw new GenericMBeanException("Message", errorCode, userData);
+        }
+
+        public void throwGeneric(String errorCode, CompositeData userData,
+                                 Throwable cause) throws GenericMBeanException {
+            throw new GenericMBeanException("Message", errorCode, userData, cause);
+        }
+    }
+
+    public static class Payload {
+        private final int severity;
+        private final String subsystem;
+
+        @ConstructorProperties({"severity", "subsystem"})
+        public Payload(int severity, String subsystem) {
+            this.severity = severity;
+            this.subsystem = subsystem;
+        }
+
+        public int getSeverity() {
+            return severity;
+        }
+
+        public String getSubsystem() {
+            return subsystem;
+        }
+
+        @Override
+        public boolean equals(Object x) {
+            if (!(x instanceof Payload))
+                return false;
+            Payload p = (Payload) x;
+            return (severity == p.severity &&
+                    (subsystem == null) ?
+                        p.subsystem == null : subsystem.equals(p.subsystem));
+        }
+
+        @Override
+        public int hashCode() {
+            return severity + subsystem.hashCode();
+        }
+
+        @Override
+        public String toString() {
+            return "Payload{severity: " + severity + ", subsystem: " + subsystem + "}";
+        }
+    }
+
+    public static void main(String[] args) throws Exception {
+        MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();
+        ObjectName name = new ObjectName("test:type=Thrower");
+        Thrower thrower = new Thrower();
+        mbs.registerMBean(thrower, name);
+
+        if (args.length > 0) {
+            System.out.println("Attach client now, hit return to exit");
+            System.in.read();
+            return;
+        }
+
+        JMXServiceURL url = new JMXServiceURL("service:jmx:rmi://");
+        JMXConnectorServer cs = JMXConnectorServerFactory.newJMXConnectorServer(
+                url, null, mbs);
+        cs.start();
+        JMXServiceURL addr = cs.getAddress();
+
+        JMXConnector cc = JMXConnectorFactory.connect(addr);
+        MBeanServerConnection mbsc = cc.getMBeanServerConnection();
+
+        ThrowerMBean throwerProxy = JMX.newMBeanProxy(mbsc, name, ThrowerMBean.class);
+
+        Payload payload = new Payload(5, "modular modulizer");
+        MXBeanMapping payloadMapping = MXBeanMappingFactory.DEFAULT.mappingForType(
+                Payload.class, MXBeanMappingFactory.DEFAULT);
+        CompositeData userData = (CompositeData)
+                payloadMapping.toOpenValue(payload);
+        Throwable cause = new IllegalArgumentException("Badness");
+
+        Object[][] testCases = {
+            {},
+            {"code1"},
+            {userData},
+            {"code2", userData},
+            {(String) null, userData},
+            {"code99", userData, cause},
+            {(String) null, userData, cause},
+        };
+
+        for (Object[] testCase : testCases) {
+            System.out.println("Test case: " + testCaseString(testCase));
+
+            // Find which ThrowerMBean method it corresponds to
+            Method testMethod = null;
+search:
+            for (Method m : ThrowerMBean.class.getMethods()) {
+                Class<?>[] paramTypes = m.getParameterTypes();
+                if (paramTypes.length != testCase.length)
+                    continue;
+                for (int i = 0; i < paramTypes.length; i++) {
+                    if (testCase[i] != null && !paramTypes[i].isInstance(testCase[i]))
+                        continue search;
+                }
+                testMethod = m;
+            }
+
+            if (testMethod == null) {
+                throw new Exception("TEST ERROR: no method corresponds: " +
+                        testCaseString(testCase));
+            }
+
+            try {
+                testMethod.invoke(throwerProxy, testCase);
+                fail("Did not throw exception", testCase);
+                continue;
+            } catch (InvocationTargetException e) {
+                Throwable iteCause = e.getCause();
+                if (!(iteCause instanceof GenericMBeanException)) {
+                    iteCause.printStackTrace(System.out);
+                    fail("Threw wrong exception " + iteCause, testCase);
+                    continue;
+                }
+                GenericMBeanException ge = (GenericMBeanException) iteCause;
+                if (!ge.getMessage().equals("Message"))
+                    fail("Wrong message: " + ge.getMessage(), testCase);
+
+                Class<?>[] paramTypes = testMethod.getParameterTypes();
+                for (int i = 0; i < paramTypes.length; i++) {
+                    Class<?> paramType = paramTypes[i];
+
+                    if (paramType == Throwable.class) { // cause
+                        Throwable geCause = ge.getCause();
+                        if (!(geCause instanceof IllegalArgumentException))
+                            fail("Wrong cause: " + geCause, testCase);
+                        else if (!geCause.getMessage().equals("Badness"))
+                            fail("Wrong cause message: " + geCause.getMessage(), testCase);
+                    } else if (paramType == String.class) { // errorCode
+                        String errorCode = ge.getErrorCode();
+                        String expectedErrorCode =
+                                (testCase[i] == null) ? "" : (String) testCase[i];
+                        if (!expectedErrorCode.equals(errorCode))
+                            fail("Wrong error code: " + ge.getErrorCode(), testCase);
+                    } else if (paramType == CompositeData.class) { // userData
+                        CompositeData userData2 = ge.getUserData();
+                        if (!userData.equals(userData2))
+                            fail("Wrong userData: " + userData2, testCase);
+                        Payload payload2 = (Payload) payloadMapping.fromOpenValue(userData2);
+                        if (!payload.equals(payload2))
+                            fail("Wrong payload: " + payload2, testCase);
+                    } else
+                        throw new Exception("TEST ERROR: unknown parameter type: " + paramType);
+                }
+            }
+        }
+
+        if (failure == null)
+            System.out.println("TEST PASSED");
+        else
+            throw new Exception("TEST FAILED: " + failure);
+    }
+
+    private static String testCaseString(Object[] testCase) {
+        StringBuilder sb = new StringBuilder("[");
+        String sep = "";
+        for (Object x : testCase) {
+            sb.append(sep);
+            String xs = (x instanceof CompositeData) ?
+                compositeDataString((CompositeData) x) : String.valueOf(x);
+            sb.append(xs);
+            sep = ", ";
+        }
+        sb.append("]");
+        return sb.toString();
+    }
+
+    private static String compositeDataString(CompositeData cd) {
+        StringBuilder sb = new StringBuilder("CompositeData{");
+        CompositeType ct = cd.getCompositeType();
+        String sep = "";
+        for (String key : ct.keySet()) {
+            sb.append(sep).append(key).append(": ").append(cd.get(key));
+            sep = ", ";
+        }
+        sb.append("}");
+        return sb.toString();
+    }
+
+    private static void fail(String why, Object[] testCase) {
+        fail(testCaseString(testCase) + ": " + why);
+    }
+
+    private static void fail(String why) {
+        failure = why;
+        System.out.println("FAIL: " + why);
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/javax/management/remote/mandatory/connection/DaemonRMIExporterTest.java	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,123 @@
+/*
+ * Copyright 2003-2008 Sun Microsystems, Inc.  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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+
+/*
+ * @test
+ * @bug 6760712
+ * @summary test the connector server option that causes it not to prevent the
+ * VM from exiting
+ * @author Shanliang JIANG, Eamonn McManus
+ * @run main/othervm DaemonRMIExporterTest
+ */
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
+
+import javax.management.MBeanServerFactory;
+import javax.management.remote.JMXConnector;
+import javax.management.remote.JMXConnectorFactory;
+import javax.management.remote.JMXServiceURL;
+import javax.management.remote.JMXConnectorServer;
+import javax.management.remote.JMXConnectorServerFactory;
+
+// Test the connector server option that causes it not to prevent the VM
+// from exiting.  It's tricky to test exactly that, though possible.  If
+// we're being run from within jtreg, then jtreg has threads of its own
+// that will prevent the VM from exiting.  What's more it will kill all
+// threads that the test created as soon as the main method returns,
+// including the ones that would prevent the VM from exiting without the
+// special option.
+// Here we check that the test code does not create
+// any permanent non-daemon threads, by recording the initial set of
+// non-daemon threads (including at least one from jtreg), doing our stuff,
+// then waiting for there to be no non-daemon threads that were not in
+// the initial set.
+public class DaemonRMIExporterTest {
+    public static void main(String[] args) throws Exception {
+        Set<Thread> initialNonDaemonThreads = getNonDaemonThreads();
+
+        JMXServiceURL addr = new JMXServiceURL("rmi", null, 0);
+        System.out.println("DaemonRMIExporterTest: Creating a RMIConnectorServer on " + addr);
+        Map<String, ?> env =
+            Collections.singletonMap("jmx.remote.x.daemon", "true");
+        JMXConnectorServer server =
+                JMXConnectorServerFactory.newJMXConnectorServer(addr,
+                env,
+                MBeanServerFactory.createMBeanServer());
+        server.start();
+        System.out.println("DaemonRMIExporterTest: Started the server on " + server.getAddress());
+
+        System.out.println("DaemonRMIExporterTest: Connecting a client to the server ...");
+        final JMXConnector conn = JMXConnectorFactory.connect(server.getAddress());
+        conn.getMBeanServerConnection().getDefaultDomain();
+
+        System.out.println("DaemonRMIExporterTest: Closing the client ...");
+        conn.close();
+
+        System.out.println("DaemonRMIExporterTest No more user code to execute, the VM should " +
+                "exit normally, otherwise will be blocked forever if the bug is not fixed.");
+
+        long deadline = System.currentTimeMillis() + 10000;
+        ok: {
+            while (System.currentTimeMillis() < deadline) {
+                Set<Thread> nonDaemonThreads = getNonDaemonThreads();
+                nonDaemonThreads.removeAll(initialNonDaemonThreads);
+                if (nonDaemonThreads.isEmpty())
+                    break ok;
+                System.out.println("Non-daemon threads: " + nonDaemonThreads);
+                try {
+                    Thread.sleep(500);
+                } catch (InterruptedException e) {
+                    throw new AssertionError(e);
+                }
+            }
+            throw new Exception("TEST FAILED: non-daemon threads remain");
+        }
+
+        System.out.println("TEST PASSED");
+    }
+
+    private static Set<Thread> getNonDaemonThreads() {
+        ThreadGroup tg = Thread.currentThread().getThreadGroup();
+        while (tg.getParent() != null)
+            tg = tg.getParent();
+        Thread[] threads = null;
+        for (int size = 10; size < 10000; size *= 2) {
+            threads = new Thread[size];
+            int n = tg.enumerate(threads, true);
+            if (n < size) {
+                threads = Arrays.copyOf(threads, n);
+                break;
+            }
+        }
+        Set<Thread> ndThreads = new HashSet<Thread>();
+        for (Thread t : threads) {
+            if (!t.isDaemon())
+                ndThreads.add(t);
+        }
+        return ndThreads;
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/javax/management/remote/mandatory/connectorServer/CloseConnectionTest.java	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,217 @@
+/*
+ * Copyright 2003-2008 Sun Microsystems, Inc.  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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+
+/*
+ * @test
+ * @bug 6332907
+ * @summary test the ability for connector server to close individual connections
+ * @author Shanliang JIANG
+ * @run clean CloseConnectionTest
+ * @run build CloseConnectionTest
+ * @run main CloseConnectionTest
+ */
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+import javax.management.MBeanServerFactory;
+
+import javax.management.Notification;
+import javax.management.NotificationListener;
+import javax.management.remote.JMXConnectionNotification;
+import javax.management.remote.JMXConnector;
+import javax.management.remote.JMXConnectorFactory;
+import javax.management.remote.JMXServiceURL;
+import javax.management.remote.JMXConnectorServer;
+import javax.management.remote.JMXConnectorServerFactory;
+
+public class CloseConnectionTest {
+
+    public static void main(String[] args) throws Exception {
+        System.out.println(">>> Test the ability for connector server to close " +
+                "individual connections.");
+
+        final String[] protos = new String[]{"rmi", "iiop", "jmxmp"};
+        for (String p : protos) {
+            System.out.println("\n>>> Testing the protocol " + p);
+            JMXServiceURL addr = new JMXServiceURL(p, null, 0);
+            System.out.println(">>> Creating a JMXConnectorServer on " + addr);
+            JMXConnectorServer server = null;
+            try {
+                server = JMXConnectorServerFactory.newJMXConnectorServer(addr,
+                        null,
+                        MBeanServerFactory.createMBeanServer());
+            } catch (Exception e) {
+                System.out.println(">>> Skip the protocol: " + p);
+                continue;
+            }
+
+            test1(server);
+            test2(server);
+
+            server.stop();
+        }
+
+        System.out.println(">>> Bye bye!");
+    }
+
+    private static void test1(JMXConnectorServer server) throws Exception {
+        try {
+            server.closeConnection("toto");
+            // not started, known id
+            throw new RuntimeException("An IllegalArgumentException is not thrown.");
+        } catch (IllegalStateException e) {
+            System.out.println(">>> Test1: Got expected IllegalStateException: " + e);
+        }
+
+        server.start();
+        System.out.println(">>>Test1 Started the server on " + server.getAddress());
+
+        try {
+            server.closeConnection("toto");
+            throw new RuntimeException("An IllegalArgumentException is not thrown.");
+        } catch (IllegalArgumentException e) {
+            System.out.println(">> Test1: Got expected IllegalArgumentException: " + e);
+        }
+
+        MyListener listener = new MyListener();
+        server.addNotificationListener(listener, null, null);
+
+        System.out.println(">>> Test1: Connecting a client to the server ...");
+        final JMXConnector conn = JMXConnectorFactory.connect(server.getAddress());
+        conn.getMBeanServerConnection().getDefaultDomain();
+        final String id1 = conn.getConnectionId();
+
+        listener.wait(JMXConnectionNotification.OPENED, timeout);
+
+        System.out.println(">>> Test1: Closing the connection: " + conn.getConnectionId());
+        server.closeConnection(id1);
+        listener.wait(JMXConnectionNotification.CLOSED, timeout);
+
+        System.out.println(">>> Test1: Using again the connector whose connection " +
+                "should be closed by the server, it should reconnect " +
+                "automatically to the server and get a new connection id.");
+        conn.getMBeanServerConnection().getDefaultDomain();
+        final String id2 = conn.getConnectionId();
+        listener.wait(JMXConnectionNotification.OPENED, timeout);
+
+        if (id1.equals(id2)) {
+            throw new RuntimeException("Failed, the first client connection is not closed.");
+        }
+
+        System.out.println(">>> Test1: Greate, we get a new connection id " + id2 +
+                ", the first one is closed as expected.");
+
+        System.out.println(">>> Test1: Closing the client.");
+        conn.close();
+        System.out.println(">>> Test1: Stopping the server.");
+        server.removeNotificationListener(listener);
+    }
+
+    private static void test2(JMXConnectorServer server) throws Exception {
+        System.out.println(">>> Test2 close a connection before " +
+                "the client can use it...");
+        final Killer killer = new Killer(server);
+        server.addNotificationListener(killer, null, null);
+
+        System.out.println(">>> Test2 Connecting a client to the server ...");
+        final JMXConnector conn;
+        try {
+            conn = JMXConnectorFactory.connect(server.getAddress());
+            throw new RuntimeException(">>> Failed, do not receive an " +
+                    "IOException telling the connection is refused.");
+        } catch (IOException ioe) {
+            System.out.println(">>> Test2 got expected IOException: "+ioe);
+        }
+    }
+
+    private static class MyListener implements NotificationListener {
+        public void handleNotification(Notification n, Object hb) {
+            if (n instanceof JMXConnectionNotification) {
+                synchronized (received) {
+                    received.add((JMXConnectionNotification) n);
+                    received.notify();
+                }
+            }
+        }
+
+        public JMXConnectionNotification wait(String type, long timeout)
+                throws Exception {
+            JMXConnectionNotification waited = null;
+            long toWait = timeout;
+            long deadline = System.currentTimeMillis() + timeout;
+            synchronized (received) {
+                while (waited == null && toWait > 0) {
+                    received.wait(toWait);
+                    for (JMXConnectionNotification n : received) {
+                        if (type.equals(n.getType())) {
+                            waited = n;
+                            break;
+                        }
+                    }
+                    received.clear();
+                    toWait = deadline - System.currentTimeMillis();
+                }
+            }
+
+            if (waited == null) {
+                throw new RuntimeException("Do not receive expected notification " + type);
+            } else {
+                System.out.println(">>> Received expected notif: "+type+
+                        " "+waited.getConnectionId());
+            }
+
+            return waited;
+        }
+
+        final List<JMXConnectionNotification> received =
+                new ArrayList<JMXConnectionNotification>();
+    }
+
+    private static class Killer implements NotificationListener {
+        public Killer(JMXConnectorServer server) {
+            this.server = server;
+        }
+        public void handleNotification(Notification n, Object hb) {
+            if (n instanceof JMXConnectionNotification) {
+                if (JMXConnectionNotification.OPENED.equals(n.getType())) {
+                    final JMXConnectionNotification cn =
+                            (JMXConnectionNotification)n;
+                    try {
+                        System.out.println(">>> Killer: close the connection "+
+                                cn.getConnectionId());
+                        server.closeConnection(cn.getConnectionId());
+                    } catch (Exception e) {
+                        // impossible?
+                        e.printStackTrace();
+                        System.exit(1);
+                    }
+                }
+            }
+        }
+
+        private final JMXConnectorServer server;
+    }
+
+    private static final long timeout = 6000;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/javax/management/standardmbean/FindMethodTest.java	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,384 @@
+/*
+ * Copyright 2008 Sun Microsystems, Inc.  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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+/*
+ * @test
+ * @bug 6287328
+ * @summary Add methods to StandardMBean to retrieve a method based on
+ * MBean{Attribute|Operation}Info
+ * @author Jean-Francois Denise
+ * @run main FindMethodTest
+ */
+
+import java.lang.management.ManagementFactory;
+import java.lang.management.MemoryMXBean;
+import java.lang.management.ThreadMXBean;
+import java.lang.reflect.Method;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
+import javax.management.MBean;
+import javax.management.MBeanAttributeInfo;
+import javax.management.MBeanInfo;
+import javax.management.MBeanOperationInfo;
+import javax.management.MBeanParameterInfo;
+import javax.management.MBeanServer;
+import javax.management.ManagedAttribute;
+import javax.management.ManagedOperation;
+import javax.management.ObjectName;
+import javax.management.StandardMBean;
+
+public class FindMethodTest {
+
+    private static MBeanServer server =
+            ManagementFactory.getPlatformMBeanServer();
+
+    private static Map<String, Set<Method>> expectedMapping =
+            new HashMap<String, Set<Method>>();
+    private static Set<Method> STATE_SET = new HashSet<Method>();
+    private static Set<Method> ENABLED_SET = new HashSet<Method>();
+    private static Set<Method> DOIT_SET = new HashSet<Method>();
+    private static Set<Method> STATUS_SET = new HashSet<Method>();
+    private static Set<Method> HEAPMEMORYUSAGE_SET = new HashSet<Method>();
+    private static Set<Method> THREADINFO_SET = new HashSet<Method>();
+    private static Set<Method> DOIT_ANNOTATED_SET = new HashSet<Method>();
+    private static Set<Method> IT_ANNOTATED_SET = new HashSet<Method>();
+    private static HashSet<Set<Method>> TEST_MBEAN_SET =
+            new HashSet<Set<Method>>();
+    private static HashSet<Set<Method>> ANNOTATED_MBEAN_SET =
+            new HashSet<Set<Method>>();
+    private static HashSet<Set<Method>> MEMORY_MBEAN_SET =
+            new HashSet<Set<Method>>();
+    private static HashSet<Set<Method>> THREAD_MBEAN_SET =
+            new HashSet<Set<Method>>();
+
+    public interface TestMBean {
+
+        public void doIt();
+
+        public void setState(String str);
+
+        public String getState();
+
+        public boolean isEnabled();
+
+        public void setStatus(int i);
+    }
+
+    public interface FaultyTestMBean {
+
+        public void doIt(String doIt);
+
+        public long getState();
+
+        public void setEnabled(boolean b);
+
+        public int getStatus();
+
+        public String setWrong(int i);
+    }
+
+    @MBean
+    public static class AnnotatedTest {
+        @ManagedOperation
+        public void doItAnnotated() {
+
+        }
+
+        public void dontDoIt() {
+
+        }
+
+        @ManagedAttribute
+        public String getItAnnotated() {
+            return null;
+        }
+        @ManagedAttribute
+        public void setItAnnotated(String str) {
+
+        }
+
+        public String getItNot() {
+            return null;
+        }
+
+    }
+
+    static class Test implements TestMBean {
+
+        public void doIt() {
+            throw new UnsupportedOperationException("Not supported yet.");
+        }
+
+        public void setState(String str) {
+            throw new UnsupportedOperationException("Not supported yet.");
+        }
+
+        public String getState() {
+            throw new UnsupportedOperationException("Not supported yet.");
+        }
+
+        public boolean isEnabled() {
+            throw new UnsupportedOperationException("Not supported yet.");
+        }
+
+        public void setStatus(int i) {
+            throw new UnsupportedOperationException("Not supported yet.");
+        }
+    }
+
+
+    static {
+        try {
+            ENABLED_SET.add(TestMBean.class.getDeclaredMethod("isEnabled"));
+
+            STATE_SET.add(TestMBean.class.getDeclaredMethod("getState"));
+            STATE_SET.add(TestMBean.class.getDeclaredMethod("setState",
+                    String.class));
+            STATUS_SET.add(TestMBean.class.getDeclaredMethod("setStatus",
+                    int.class));
+
+            DOIT_SET.add(TestMBean.class.getDeclaredMethod("doIt"));
+
+            DOIT_ANNOTATED_SET.add(AnnotatedTest.class.getDeclaredMethod("doItAnnotated"));
+
+            IT_ANNOTATED_SET.add(AnnotatedTest.class.getDeclaredMethod("getItAnnotated"));
+            IT_ANNOTATED_SET.add(AnnotatedTest.class.getDeclaredMethod("setItAnnotated", String.class));
+
+            THREADINFO_SET.add(ThreadMXBean.class.getDeclaredMethod("dumpAllThreads", boolean.class,
+                    boolean.class));
+
+            HEAPMEMORYUSAGE_SET.add(MemoryMXBean.class.getDeclaredMethod("getHeapMemoryUsage"));
+
+            TEST_MBEAN_SET.add(ENABLED_SET);
+            TEST_MBEAN_SET.add(STATE_SET);
+            TEST_MBEAN_SET.add(STATUS_SET);
+            TEST_MBEAN_SET.add(DOIT_SET);
+
+            ANNOTATED_MBEAN_SET.add(DOIT_ANNOTATED_SET);
+            ANNOTATED_MBEAN_SET.add(IT_ANNOTATED_SET);
+
+            MEMORY_MBEAN_SET.add(HEAPMEMORYUSAGE_SET);
+
+            THREAD_MBEAN_SET.add(THREADINFO_SET);
+
+            expectedMapping.put("State", STATE_SET);
+            expectedMapping.put("Enabled", ENABLED_SET);
+            expectedMapping.put("Status", STATUS_SET);
+            expectedMapping.put("doIt", DOIT_SET);
+            expectedMapping.put("HeapMemoryUsage", HEAPMEMORYUSAGE_SET);
+            expectedMapping.put("dumpAllThreads", THREADINFO_SET);
+            expectedMapping.put("doItAnnotated", DOIT_ANNOTATED_SET);
+            expectedMapping.put("ItAnnotated", IT_ANNOTATED_SET);
+
+        } catch (Exception ex) {
+            ex.printStackTrace();
+            throw new RuntimeException("Initialization failed");
+        }
+    }
+
+    private static void testMBean(ObjectName name, Class<?> itf,
+            HashSet<Set<Method>> expectMappings)
+            throws Exception {
+
+        Set<Set<Method>> expectedMappings =
+                (Set<Set<Method>>) expectMappings.clone();
+
+        MBeanInfo info = server.getMBeanInfo(name);
+        for (MBeanAttributeInfo attr : info.getAttributes()) {
+            Set<Method> expected = expectedMapping.get(attr.getName());
+            if (expected == null) {
+                continue;
+            }
+            if (!expectedMappings.remove(expected)) {
+                throw new Exception("The mapping to use is not the expected " +
+                        "one for " + attr);
+            }
+            System.out.println("Expected : " + expected);
+            Set<Method> found =
+                    StandardMBean.findAttributeAccessors(itf, attr);
+            System.out.println("Found : " + found);
+            if (!found.equals(expected)) {
+                throw new Exception("Mapping error.");
+            }
+        }
+        for (MBeanOperationInfo op : info.getOperations()) {
+            Set<Method> expected = expectedMapping.get(op.getName());
+            if (expected == null) {
+                continue;
+            }
+            if (!expectedMappings.remove(expected)) {
+                throw new Exception("The mapping to use is not the expected " +
+                        "one for " + op);
+            }
+            System.out.println("Expected : " + expected);
+            Method method =
+                    StandardMBean.findOperationMethod(itf, op);
+            Set<Method> found = new HashSet<Method>();
+            found.add(method);
+            System.out.println("Found : " + found);
+            if (!found.equals(expected)) {
+                throw new Exception("Mapping error.");
+            }
+        }
+
+        if (expectedMappings.size() != 0) {
+            throw new Exception("Some mapping have not been found " +
+                    expectedMappings);
+        } else {
+            System.out.println("All mappings have been found");
+        }
+    }
+
+    public static void main(String[] args) throws Exception {
+        // Positive tests
+        Test t = new Test();
+        ObjectName name = ObjectName.valueOf(":type=Test");
+        server.registerMBean(t, name);
+        AnnotatedTest at = new AnnotatedTest();
+        ObjectName annotatedName = ObjectName.valueOf(":type=AnnotatedTest");
+        server.registerMBean(at, annotatedName);
+
+        testMBean(name, TestMBean.class, TEST_MBEAN_SET);
+
+        testMBean(annotatedName, AnnotatedTest.class, ANNOTATED_MBEAN_SET);
+
+        ObjectName memoryName =
+                ObjectName.valueOf(ManagementFactory.MEMORY_MXBEAN_NAME);
+        testMBean(memoryName, MemoryMXBean.class, MEMORY_MBEAN_SET);
+
+        ObjectName threadName =
+                ObjectName.valueOf(ManagementFactory.THREAD_MXBEAN_NAME);
+        testMBean(threadName, ThreadMXBean.class, THREAD_MBEAN_SET);
+
+        // Negative tests
+        try {
+            StandardMBean.findOperationMethod(null,
+                    new MBeanOperationInfo("Test",
+                    TestMBean.class.getDeclaredMethod("doIt")));
+            throw new Exception("Expected exception not found");
+        } catch (IllegalArgumentException ex) {
+            System.out.println("OK received expected exception " + ex);
+        }
+        try {
+            StandardMBean.findOperationMethod(TestMBean.class, null);
+            throw new Exception("Expected exception not found");
+        } catch (IllegalArgumentException ex) {
+            System.out.println("OK received expected exception " + ex);
+        }
+        try {
+            StandardMBean.findAttributeAccessors(null,
+                    new MBeanAttributeInfo("Test", "Test",
+                    TestMBean.class.getDeclaredMethod("getState"),
+                    TestMBean.class.getDeclaredMethod("setState",
+                    String.class)));
+            throw new Exception("Expected exception not found");
+        } catch (IllegalArgumentException ex) {
+            System.out.println("OK received expected exception " + ex);
+        }
+        try {
+            StandardMBean.findAttributeAccessors(TestMBean.class, null);
+            throw new Exception("Expected exception not found");
+        } catch (IllegalArgumentException ex) {
+            System.out.println("OK received expected exception " + ex);
+        }
+        //Wrong operation signature
+        try {
+            StandardMBean.findOperationMethod(TestMBean.class,
+                    new MBeanOperationInfo("FaultyTest",
+                    FaultyTestMBean.class.getDeclaredMethod("doIt",
+                    String.class)));
+            throw new Exception("Expected exception not found");
+        } catch (NoSuchMethodException ex) {
+            System.out.println("OK received expected exception " + ex);
+        }
+        //Wrong attribute accessor
+        try {
+            StandardMBean.findAttributeAccessors(TestMBean.class,
+                    new MBeanAttributeInfo("FaultyTest", "FaultyTest", null,
+                    FaultyTestMBean.class.getDeclaredMethod("setEnabled",
+                    String.class)));
+            throw new Exception("Expected exception not found");
+        } catch (NoSuchMethodException ex) {
+            System.out.println("OK received expected exception " + ex);
+        }
+        //Wrong attribute type
+        try {
+            StandardMBean.findAttributeAccessors(TestMBean.class,
+                    new MBeanAttributeInfo("State", "toto.FaultType",
+                    "FaultyTest", true, true, false));
+            throw new Exception("Expected exception not found");
+        } catch (ClassNotFoundException ex) {
+            System.out.println("OK received expected exception " + ex);
+        }
+        //Wrong operation parameter type
+        try {
+            MBeanParameterInfo[] p = {new MBeanParameterInfo("p1",
+                "toto.FaultType2", "FaultyParameter")
+            };
+            StandardMBean.findOperationMethod(TestMBean.class,
+                    new MBeanOperationInfo("doIt", "FaultyMethod", p, "void",
+                    0));
+            throw new Exception("Expected exception not found");
+        } catch (ClassNotFoundException ex) {
+            System.out.println("OK received expected exception " + ex);
+        }
+        // Check that not annotated attributes are not found
+        try {
+            StandardMBean.findAttributeAccessors(AnnotatedTest.class,
+                    new MBeanAttributeInfo("ItNot", String.class.getName(),
+                    "FaultyTest", true, false, false));
+            throw new Exception("Expected exception not found");
+        } catch (NoSuchMethodException ex) {
+            System.out.println("OK received expected exception " + ex);
+        }
+        // Check that not annotated operations are not found
+        try {
+            StandardMBean.findOperationMethod(AnnotatedTest.class,
+                    new MBeanOperationInfo("dontDoIt","dontDoIt",null,
+                    Void.TYPE.getName(),0));
+            throw new Exception("Expected exception not found");
+        } catch (NoSuchMethodException ex) {
+            System.out.println("OK received expected exception " + ex);
+        }
+        // Check that wrong getter return type throws Exception
+        try {
+            StandardMBean.findAttributeAccessors(AnnotatedTest.class,
+                    new MBeanAttributeInfo("ItAnnotated", Long.class.getName(),
+                    "FaultyTest", true, false, false));
+            throw new Exception("Expected exception not found");
+        } catch (NoSuchMethodException ex) {
+            System.out.println("OK received expected exception " + ex);
+        }
+         // Check that wrong setter return type throws Exception
+        try {
+            StandardMBean.findAttributeAccessors(FaultyTestMBean.class,
+                    new MBeanAttributeInfo("Wrong", String.class.getName(),
+                    "FaultyTest", true, true, false));
+            throw new Exception("Expected exception not found");
+        } catch (NoSuchMethodException ex) {
+            System.out.println("OK received expected exception " + ex);
+        }
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/javax/management/standardmbean/RegistrationTest.java	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,91 @@
+/*
+ * Copyright 2008 Sun Microsystems, Inc.  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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+/*
+ * @test
+ * @bug 6450834
+ * @summary Forward MBeanRegistration calls
+ * @author JF Denise
+ * @run main RegistrationTest
+ */
+
+import java.io.Serializable;
+import java.lang.management.ManagementFactory;
+import javax.management.*;
+
+public class RegistrationTest {
+    static boolean preRegisterCalled;
+    static boolean postRegisterCalled;
+    static boolean preDeregisterCalled;
+    static boolean postDeregisterCalled;
+
+    static void checkResult(boolean expected) throws Exception {
+        if((preRegisterCalled != expected ||
+            postRegisterCalled != expected ||
+            preDeregisterCalled != expected ||
+            postDeregisterCalled != expected))
+            throw new Exception("Mismatch preRegisterCalled = "
+                    + preRegisterCalled + ", postRegisterCalled = "
+                    + postRegisterCalled + ", preDeregisterCalled = "
+                    + preDeregisterCalled + ", postDeregisterCalled = "
+                    + postDeregisterCalled);
+    }
+    static class Wrapped implements MBeanRegistration,Serializable {
+
+        public ObjectName preRegister(MBeanServer server, ObjectName name)
+                throws Exception {
+            preRegisterCalled = true;
+            return name;
+        }
+
+        public void postRegister(Boolean registrationDone) {
+            postRegisterCalled = true;
+        }
+
+        public void preDeregister() throws Exception {
+            preDeregisterCalled = true;
+        }
+
+        public void postDeregister() {
+            postDeregisterCalled = true;
+        }
+
+    }
+
+    public static void main(String[] args) throws Exception {
+       StandardMBean std = new StandardMBean(new Wrapped(),
+               Serializable.class);
+       ObjectName name = ObjectName.valueOf(":type=Test");
+       ManagementFactory.getPlatformMBeanServer().registerMBean(std,name);
+       ManagementFactory.getPlatformMBeanServer().unregisterMBean(name);
+       checkResult(false);
+       StandardMBean.Options opt = new StandardMBean.Options();
+       opt.setMBeanRegistrationForwarded(true);
+       std = new StandardMBean(new Wrapped(),
+               Serializable.class, opt );
+       ManagementFactory.getPlatformMBeanServer().registerMBean(std,name);
+       ManagementFactory.getPlatformMBeanServer().unregisterMBean(name);
+       checkResult(true);
+       System.out.println("Test OK");
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/javax/print/CheckDupFlavor.java	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,67 @@
+/*
+ * Copyright 2004-2008 Sun Microsystems, Inc.  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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+/*
+ * @test
+ * @bug 4996318 6731937
+ * @summary  There should be no duplicates returned by getSupportedDocFlavors.
+ * @run main CheckDupFlavor
+ */
+import javax.print.*;
+import javax.print.attribute.*;
+import javax.print.attribute.standard.*;
+import java.util.ArrayList;
+
+
+public class CheckDupFlavor {
+    public static void main(String[] args){
+        PrintService pservice =
+                     PrintServiceLookup.lookupDefaultPrintService();
+
+        if (pservice == null) {
+                System.out.println("No default PrintService found. Test ABORTED.");
+            return;
+        }
+
+        System.out.println("Default service = "+pservice);
+
+        DocFlavor[] flavors = pservice.getSupportedDocFlavors();
+        if (flavors==null) {
+            System.out.println("No flavors supported. Test PASSED.");
+            return;
+        }
+
+
+        ArrayList flavorList = new ArrayList();
+        for (int i=0; i<flavors.length; i++) {
+                if (flavors[i] == null) {
+                        throw new RuntimeException("Null flavor. Test FAILED.");
+                } else if (flavorList.contains(flavors[i])) {
+                        throw new RuntimeException("\n\tDuplicate flavor found : "+flavors[i]+" : Test FAILED.");
+                } else {
+                        flavorList.add(flavors[i]);
+                }
+        }
+        System.out.println("No duplicate found. Test PASSED.");
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/javax/print/TestRaceCond.java	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,53 @@
+/*
+ * Copyright 2008 Sun Microsystems, Inc.  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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+/*
+ * @test
+ * @bug 6731826
+ * @summary  There should be no RuntimeException.
+ * @run main TestRaceCond
+ */
+
+import javax.print.PrintService;
+import javax.print.PrintServiceLookup;
+
+
+public class TestRaceCond {
+
+    public static void main(String argv[]) {
+        trial();
+    }
+
+    static void trial() {
+        PrintService pserv1 = PrintServiceLookup.lookupDefaultPrintService();
+        PrintService[] pservs = PrintServiceLookup.lookupPrintServices(null, null);
+        PrintService pserv2 = PrintServiceLookup.lookupDefaultPrintService();
+
+        if (pserv1.hashCode() != pserv2.hashCode()) {
+            throw new RuntimeException("Different hashCodes for equal print "
+                            + "services: " + pserv1.hashCode() + " "
+                            + pserv2.hashCode());
+        }
+    }
+}
+
--- a/jdk/test/javax/print/attribute/PSCopiesFlavorTest.java	Wed Jul 05 16:44:40 2017 +0200
+++ b/jdk/test/javax/print/attribute/PSCopiesFlavorTest.java	Wed Jul 05 16:45:14 2017 +0200
@@ -23,7 +23,7 @@
 
 /**
  * @test
- * @bug 6527316
+ * @bug 6527316 6732647
  * @summary Copies isn't supported for PS flavors.
  * @run main PSCopiesFlavorTest
  */
@@ -50,5 +50,13 @@
        if (suppVal || us == null) {
            throw new RuntimeException("Copies should be unsupported value");
        }
+
+       Object value = ps.getSupportedAttributeValues(Copies.class, flavor, null);
+
+        //Copies Supported
+        if(value instanceof CopiesSupported) {
+            throw new RuntimeException("Copies should have no supported values.");
+        }
+
    }
 }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/sun/java2d/DirectX/NonOpaqueDestLCDAATest/NonOpaqueDestLCDAATest.java	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,212 @@
+/*
+ * Copyright 2008 Sun Microsystems, Inc.  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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+/*
+ * @test
+ * @bug 6728834 6749060
+ * @summary Tests that LCD AA text rendering works properly with destinations
+ * being VolatileImage of all transparency types
+ * @author Dmitri.Trembovetski: area=Graphics
+ * @run main/manual/othervm -Dsun.java2d.d3d=false NonOpaqueDestLCDAATest
+ * @run main/manual/othervm NonOpaqueDestLCDAATest
+ * @run main/manual/othervm -Dsun.java2d.opengl=True NonOpaqueDestLCDAATest
+ */
+
+import java.awt.AlphaComposite;
+import java.awt.Color;
+import java.awt.Dimension;
+import java.awt.EventQueue;
+import java.awt.Font;
+import java.awt.Graphics;
+import java.awt.Graphics2D;
+import java.awt.GraphicsConfiguration;
+import java.awt.Image;
+import java.awt.RenderingHints;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.awt.event.ComponentAdapter;
+import java.awt.event.ComponentEvent;
+import java.awt.event.WindowAdapter;
+import java.awt.event.WindowEvent;
+import java.awt.image.BufferedImage;
+import java.awt.image.VolatileImage;
+import java.io.File;
+import java.util.concurrent.CountDownLatch;
+import javax.imageio.ImageIO;
+import javax.swing.JButton;
+import javax.swing.JFrame;
+import javax.swing.JPanel;
+import javax.swing.JTextArea;
+import static java.awt.Transparency.*;
+
+public class NonOpaqueDestLCDAATest extends JFrame implements ActionListener {
+    private static volatile boolean passed = true;
+    private static CountDownLatch complete = new CountDownLatch(1);
+
+    public NonOpaqueDestLCDAATest() {
+        JTextArea desc = new JTextArea();
+        desc.setText(
+            "\n  Instructions: the three text strings below should appear" +
+            "  readable, without smudges or misshapen bold glyphs.\n" +
+            "  You may need a magnifier to notice some bad colorfringing in "+
+            "  in SW Translucent case, especially in vertical stems.\n\n"+
+            "  Basically text rendered to TRANSLUCENT destination should look"+
+            "  similar to one rendered to OPAQUE - it may differ in whether or" +
+            "  not it's LCD, but it should look 'correct'\n\n"+
+            "If the text looks fine the test PASSED otherwise it FAILED.\n");
+        desc.setEditable(false);
+        desc.setBackground(Color.black);
+        desc.setForeground(Color.green);
+        add("North", desc);
+        JPanel renderPanel = new JPanel() {
+            @Override
+            public void paintComponent(Graphics g) {
+                render(g, getWidth(), getHeight());
+            }
+        };
+        renderPanel.setPreferredSize(new Dimension(1024, 650));
+        renderPanel.addComponentListener(new ComponentAdapter() {
+            @Override
+            public void componentResized(ComponentEvent e) {
+                images = null;
+            }
+        });
+        add("Center", renderPanel);
+
+        JButton passedBtn = new JButton("Passed");
+        JButton failedBtn = new JButton("Failed");
+        passedBtn.addActionListener(this);
+        failedBtn.addActionListener(this);
+        JPanel p = new JPanel();
+        p.add(passedBtn);
+        p.add(failedBtn);
+        add("South", p);
+        addWindowListener(new WindowAdapter() {
+            @Override
+            public void windowClosing(WindowEvent e) {
+                complete.countDown();
+            }
+        });
+        setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
+    }
+
+    public void render(Graphics g, int w, int h) {
+        initImages(w, h);
+
+        g.setColor(new Color(0xAD, 0xD8, 0xE6));
+        g.fillRect(0, 0, w, h);
+
+        Graphics2D g2d = (Graphics2D) g.create();
+        for (Image im : images) {
+            g2d.drawImage(im, 0, 0, null);
+            g2d.translate(0, im.getHeight(null));
+        }
+    }
+
+    String tr[] = { "OPAQUE", "BITMASK", "TRANSLUCENT" };
+    @Override
+    public void actionPerformed(ActionEvent e) {
+        if (e.getActionCommand().equals("Passed")) {
+            passed = true;
+            System.out.println("Test Passed");
+        } else if (e.getActionCommand().equals("Failed")) {
+            System.out.println("Test Failed");
+            for (int i = 0; i < images.length; i++) {
+                String f = "NonOpaqueDestLCDAATest_"+tr[i];
+                try {
+                    if (images[i] instanceof VolatileImage) {
+                        f += "_vi.png";
+                        ImageIO.write(((VolatileImage)images[i]).
+                                getSnapshot(), "png", new File(f));
+                    } else {
+                        f += "_bi.png";
+                        ImageIO.write((BufferedImage)images[i],
+                                       "png", new File(f));
+                    }
+                    System.out.printf("Dumped %s image to %s\n", tr[i], f);
+                } catch (Throwable t) {}
+            }
+            passed = false;
+        }
+        dispose();
+        complete.countDown();
+    }
+
+    static void clear(Graphics2D  g, int type, int w, int h) {
+        Graphics2D gg = (Graphics2D) g.create();
+        if (type > OPAQUE) {
+            gg.setColor(new Color(0, 0, 0, 0));
+            gg.setComposite(AlphaComposite.Src);
+        } else {
+            gg.setColor(new Color(0xAD, 0xD8, 0xE6));
+        }
+        gg.fillRect(0, 0, w, h);
+    }
+
+    private void render(Image im, int type, String s) {
+        Graphics2D g2d = (Graphics2D) im.getGraphics();
+        clear(g2d, type, im.getWidth(null), im.getHeight(null));
+        g2d.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING,
+                RenderingHints.VALUE_TEXT_ANTIALIAS_LCD_HRGB);
+        Font f = new Font("Dialog", Font.BOLD, 40);// g2d.getFont().deriveFont(32.0f);
+        g2d.setColor(Color.white);
+        g2d.setFont(g2d.getFont().deriveFont(36.0f));
+        g2d.drawString(s, 10, im.getHeight(null) / 2);
+    }
+
+    Image images[];
+    private void initImages(int w, int h) {
+        if (images == null) {
+            images = new Image[6];
+            GraphicsConfiguration gc = getGraphicsConfiguration();
+            for (int i = OPAQUE; i <= TRANSLUCENT; i++) {
+                VolatileImage vi =
+                    gc.createCompatibleVolatileImage(w,h/images.length,i);
+                images[i-1] = vi;
+                vi.validate(gc);
+                String s = "LCD AA Text rendered to " + tr[i - 1] + " HW destination";
+                render(vi, i, s);
+
+                s = "LCD AA Text rendered to " + tr[i - 1] + " SW destination";
+                images[i-1+3] = gc.createCompatibleImage(w, h/images.length, i);
+                render(images[i-1+3], i, s);
+            }
+        }
+    }
+
+    public static void main(String[] args) throws InterruptedException {
+        EventQueue.invokeLater(new Runnable() {
+            @Override
+            public void run() {
+                NonOpaqueDestLCDAATest t = new NonOpaqueDestLCDAATest();
+                t.pack();
+                t.setVisible(true);
+            }
+        });
+
+        complete.await();
+        if (!passed) {
+            throw new RuntimeException("Test Failed!");
+        }
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/sun/java2d/DirectX/OpaqueImageToSurfaceBlitTest/OpaqueImageToSurfaceBlitTest.java	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,75 @@
+/*
+ * Copyright 2007-2008 Sun Microsystems, Inc.  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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+/*
+ * @test
+ * @bug 6764257
+ * @summary Tests that the alpha in opaque images doesn't affect result of alpha
+ * compositing
+ * @author Dmitri.Trembovetski@sun.com: area=Graphics
+ * @run main/othervm OpaqueImageToSurfaceBlitTest
+ * @run main/othervm -Dsun.java2d.noddraw=true OpaqueImageToSurfaceBlitTest
+ * @run main/othervm -Dsun.java2d.opengl=True OpaqueImageToSurfaceBlitTest
+ */
+
+import java.awt.AlphaComposite;
+import java.awt.Graphics2D;
+import java.awt.GraphicsConfiguration;
+import java.awt.GraphicsDevice;
+import java.awt.GraphicsEnvironment;
+import java.awt.image.BufferedImage;
+import java.awt.image.DataBufferInt;
+import java.awt.image.VolatileImage;
+
+public class OpaqueImageToSurfaceBlitTest {
+
+    public static void main(String[] args) {
+
+        GraphicsEnvironment ge =
+            GraphicsEnvironment.getLocalGraphicsEnvironment();
+        GraphicsDevice gd = ge.getDefaultScreenDevice();
+        GraphicsConfiguration gc = gd.getDefaultConfiguration();
+        VolatileImage vi = gc.createCompatibleVolatileImage(16, 16);
+        vi.validate(gc);
+
+        BufferedImage bi =
+            new BufferedImage(2, 2, BufferedImage.TYPE_INT_RGB);
+        int data[] = ((DataBufferInt)bi.getRaster().getDataBuffer()).getData();
+        data[0] = 0x0000007f;
+        data[1] = 0x0000007f;
+        data[2] = 0xff00007f;
+        data[3] = 0xff00007f;
+        Graphics2D g = vi.createGraphics();
+        g.setComposite(AlphaComposite.SrcOver.derive(0.999f));
+        g.drawImage(bi, 0, 0, null);
+
+        bi = vi.getSnapshot();
+        if (bi.getRGB(0, 0) != bi.getRGB(1, 1)) {
+            throw new RuntimeException("Test FAILED: color at 0x0 ="+
+                Integer.toHexString(bi.getRGB(0, 0))+" differs from 1x1 ="+
+                Integer.toHexString(bi.getRGB(1,1)));
+        }
+
+        System.out.println("Test PASSED.");
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/sun/java2d/pipe/hw/RSLContextInvalidationTest/RSLContextInvalidationTest.java	Wed Jul 05 16:45:14 2017 +0200
@@ -0,0 +1,107 @@
+/*
+ * Copyright 2007-2008 Sun Microsystems, Inc.  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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+/*
+ * @test
+ * @bug 6764257
+ * @summary Tests that the color is reset properly after save/restore context
+ * @author Dmitri.Trembovetski@sun.com: area=Graphics
+ * @compile -XDignore.symbol.file=true RSLContextInvalidationTest.java
+ * @run main/othervm RSLContextInvalidationTest
+ * @run main/othervm -Dsun.java2d.noddraw=true RSLContextInvalidationTest
+ * @run main/othervm -Dsun.java2d.opengl=True RSLContextInvalidationTest
+ */
+
+import java.awt.Color;
+import java.awt.Graphics;
+import java.awt.GraphicsConfiguration;
+import java.awt.GraphicsDevice;
+import java.awt.GraphicsEnvironment;
+import java.awt.image.BufferedImage;
+import java.awt.image.VolatileImage;
+import sun.java2d.DestSurfaceProvider;
+import sun.java2d.Surface;
+import sun.java2d.pipe.RenderQueue;
+import sun.java2d.pipe.hw.*;
+
+public class RSLContextInvalidationTest {
+
+    public static void main(String[] args) {
+        GraphicsEnvironment ge =
+            GraphicsEnvironment.getLocalGraphicsEnvironment();
+        GraphicsDevice gd = ge.getDefaultScreenDevice();
+        GraphicsConfiguration gc = gd.getDefaultConfiguration();
+        VolatileImage vi = gc.createCompatibleVolatileImage(100, 100);
+        vi.validate(gc);
+        VolatileImage vi1 = gc.createCompatibleVolatileImage(100, 100);
+        vi1.validate(gc);
+
+        if (!(vi instanceof DestSurfaceProvider)) {
+            System.out.println("Test considered PASSED: no HW acceleration");
+            return;
+        }
+
+        DestSurfaceProvider p = (DestSurfaceProvider)vi;
+        Surface s = p.getDestSurface();
+        if (!(s instanceof AccelSurface)) {
+            System.out.println("Test considered PASSED: no HW acceleration");
+            return;
+        }
+        AccelSurface dst = (AccelSurface)s;
+
+        Graphics g = vi.createGraphics();
+        g.drawImage(vi1, 95, 95, null);
+        g.setColor(Color.red);
+        g.fillRect(0, 0, 100, 100);
+        g.setColor(Color.black);
+        g.fillRect(0, 0, 100, 100);
+        // after this the validated context color is black
+
+        RenderQueue rq = dst.getContext().getRenderQueue();
+        rq.lock();
+        try {
+            dst.getContext().saveState();
+            dst.getContext().restoreState();
+        } finally {
+            rq.unlock();
+        }
+
+        // this will cause ResetPaint (it will set color to extended EA=ff,
+        // which is ffffffff==Color.white)
+        g.drawImage(vi1, 95, 95, null);
+
+        // now try filling with black again, but it will come up as white
+        // because this fill rect won't validate the color properly
+        g.setColor(Color.black);
+        g.fillRect(0, 0, 100, 100);
+
+        BufferedImage bi = vi.getSnapshot();
+        if (bi.getRGB(50, 50) != Color.black.getRGB()) {
+            throw new RuntimeException("Test FAILED: found color="+
+                Integer.toHexString(bi.getRGB(50, 50))+" instead of "+
+                Integer.toHexString(Color.black.getRGB()));
+        }
+
+        System.out.println("Test PASSED.");
+    }
+}
--- a/langtools/.hgtags	Wed Jul 05 16:44:40 2017 +0200
+++ b/langtools/.hgtags	Wed Jul 05 16:45:14 2017 +0200
@@ -16,3 +16,4 @@
 3fb51e47622bb771571680bc6a7b64c6172b482d jdk7-b39
 32e30988324601d08b87989f0821d99aa8534511 jdk7-b40
 ded6b40f558e8d19b3c17715b3d67ee001606645 jdk7-b41
+5e5567c2db56a931cf07768218c20903d9828b5f jdk7-b42
--- a/langtools/test/com/sun/javadoc/testSourceTab/DoubleTab/C.java	Wed Jul 05 16:44:40 2017 +0200
+++ b/langtools/test/com/sun/javadoc/testSourceTab/DoubleTab/C.java	Wed Jul 05 16:45:14 2017 +0200
@@ -1,4 +1,4 @@
-/* 
+/*
  * Copyright 2002-2004 Sun Microsystems, Inc.  All Rights Reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
@@ -23,15 +23,15 @@
 
 /**
  * <pre>
- * 		This source
- * 		is indented
- * 		with tabs.
+ * \t\tThis source
+ * \t\tis indented
+ * \t\twith tabs.
  * </pre>
  */
 public class C {
-    
-		//This source
-		//is indented
-		//with tabs.
-    
+
+\t\t//This source
+\t\t//is indented
+\t\t//with tabs.
+
 }
--- a/langtools/test/com/sun/javadoc/testSourceTab/SingleTab/C.java	Wed Jul 05 16:44:40 2017 +0200
+++ b/langtools/test/com/sun/javadoc/testSourceTab/SingleTab/C.java	Wed Jul 05 16:45:14 2017 +0200
@@ -1,4 +1,4 @@
-/* 
+/*
  * Copyright 2002-2004 Sun Microsystems, Inc.  All Rights Reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
@@ -23,15 +23,15 @@
 
 /**
  * <pre>
- *	This source
- * 	is indented
- * 	with tabs.
+ *\tThis source
+ * \tis indented
+ * \twith tabs.
  * </pre>
  */
 public class C {
-    
-	//This source
-	//is indented
-	//with tabs.
-    
+
+\t//This source
+\t//is indented
+\t//with tabs.
+
 }
--- a/langtools/test/com/sun/javadoc/testSourceTab/TestSourceTab.java	Wed Jul 05 16:44:40 2017 +0200
+++ b/langtools/test/com/sun/javadoc/testSourceTab/TestSourceTab.java	Wed Jul 05 16:45:14 2017 +0200
@@ -1,5 +1,5 @@
-/* 
- * Copyright 2002-2004 Sun Microsystems, Inc.  All Rights Reserved.
+/*
+ * Copyright 2002-2008 Sun Microsystems, Inc.  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
@@ -33,59 +33,102 @@
  * @run main TestSourceTab
  */
 
+import java.io.*;
+
 public class TestSourceTab extends JavadocTester {
-    
+
     private static final String BUG_ID = "4510979";
+    private static final String TMP_SRC_DIR = "tmpSrc";
     private static final String OUTPUT_DIR1 = BUG_ID + "-tabLengthEight";
     private static final String OUTPUT_DIR2 = BUG_ID + "-tabLengthFour";
     private static final String[][] TEST = NO_TEST;
     private static final String[][] NEGATED_TEST = NO_TEST;
-    
+
     //Run Javadoc on a source file with that is indented with a single tab per line
     private static final String[] ARGS1 =
         new String[] {
-            "-d", OUTPUT_DIR1, "-sourcepath", SRC_DIR,
-            "-notimestamp", "-linksource", SRC_DIR + FS + "SingleTab" + FS + "C.java"
+            "-d", OUTPUT_DIR1, "-sourcepath", TMP_SRC_DIR,
+            "-notimestamp", "-linksource", TMP_SRC_DIR + FS + "SingleTab" + FS + "C.java"
         };
-    
+
     //Run Javadoc on a source file with that is indented with a two tab per line
     //If we double the tabs and decrease the tab length by a half, the output should
     //be the same as the one generated above.
     private static final String[] ARGS2 =
         new String[] {
-            "-d", OUTPUT_DIR2, "-sourcepath", SRC_DIR,
-            "-notimestamp", "-sourcetab", "4", SRC_DIR + FS + "DoubleTab" + FS + "C.java"
+            "-d", OUTPUT_DIR2, "-sourcepath", TMP_SRC_DIR,
+            "-notimestamp", "-sourcetab", "4", TMP_SRC_DIR + FS + "DoubleTab" + FS + "C.java"
         };
-    
+
     //Files to diff
     private static final String[][] FILES_TO_DIFF = {
         {OUTPUT_DIR1 + FS + "src-html" + FS + "C.html",
          OUTPUT_DIR2 + FS + "src-html" + FS + "C.html"
-        }, 
+        },
         {OUTPUT_DIR1 + FS + "C.html",
          OUTPUT_DIR2 + FS + "C.html"
         }
-        
+
     };
-    
+
     /**
      * The entry point of the test.
      * @param args the array of command line arguments.
      */
-    public static void main(String[] args) {
+    public static void main(String[] args) throws IOException {
         TestSourceTab tester = new TestSourceTab();
         run(tester, ARGS1, TEST, NEGATED_TEST);
         run(tester, ARGS2, TEST, NEGATED_TEST);
         tester.runDiffs(FILES_TO_DIFF);
     }
-    
+
+    TestSourceTab() throws IOException {
+        initTabs(new File(SRC_DIR), new File(TMP_SRC_DIR));
+    }
+
+    void initTabs(File from, File to) throws IOException {
+        for (File f: from.listFiles()) {
+            File t = new File(to, f.getName());
+            if (f.isDirectory()) {
+                initTabs(f, t);
+            } else if (f.getName().endsWith(".java")) {
+                write(t, read(f).replace("\\t", "\t"));
+            }
+        }
+    }
+
+    String read(File f) throws IOException {
+        StringBuilder sb = new StringBuilder();
+        BufferedReader in = new BufferedReader(new FileReader(f));
+        try {
+            String line;
+            while ((line = in.readLine()) != null) {
+                sb.append(line);
+                sb.append("\n");
+            }
+        } finally {
+            in.close();
+        }
+        return sb.toString();
+    }
+
+    void write(File f, String s) throws IOException {
+        f.getParentFile().mkdirs();
+        Writer out = new FileWriter(f);
+        try {
+            out.write(s);
+        } finally {
+            out.close();
+        }
+    }
+
     /**
      * {@inheritDoc}
      */
     public String getBugId() {
         return BUG_ID;
     }
-    
+
     /**
      * {@inheritDoc}
      */