diff --git a/.gitignore b/.gitignore
index fcfb766..97dc771 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,2 @@
-SOURCES/jdk-updates-jdk11u-jdk-11.0.9+11-4curve.tar.xz
+SOURCES/jdk-updates-jdk11u-jdk-11.0.10+1-4curve.tar.xz
 SOURCES/tapsets-icedtea-3.15.0.tar.xz
diff --git a/.java-11-openjdk.metadata b/.java-11-openjdk.metadata
index e4fe5f2..cdedbbc 100644
--- a/.java-11-openjdk.metadata
+++ b/.java-11-openjdk.metadata
@@ -1,2 +1,2 @@
-4a65c2e79897772480e91d1bc60aca9a4c7e20f2 SOURCES/jdk-updates-jdk11u-jdk-11.0.9+11-4curve.tar.xz
+3db9371491efba927f7012cd6f1dd35405391bae SOURCES/jdk-updates-jdk11u-jdk-11.0.10+1-4curve.tar.xz
 7ae2cba67467825b2c2a5fec7aea041865023002 SOURCES/tapsets-icedtea-3.15.0.tar.xz
diff --git a/SOURCES/NEWS b/SOURCES/NEWS
index a50068e..235e794 100644
--- a/SOURCES/NEWS
+++ b/SOURCES/NEWS
@@ -3,6 +3,152 @@ Key:
 JDK-X  - https://bugs.openjdk.java.net/browse/JDK-X
 CVE-XXXX-YYYY: https://cve.mitre.org/cgi-bin/cvename.cgi?name=XXXX-YYYY
 
+New in release OpenJDK 11.0.10 (2021-01-19):
+=============================================
+Live versions of these release notes can be found at:
+  * https://bitly.com/openjdk11010
+  * https://builds.shipilev.net/backports-monitor/release-notes-11.0.10.txt
+
+* Other changes
+  - JDK-7185258: [macosx] Deadlock in SunToolKit.realSync()
+  - JDK-8152332: [macosx] JFileChooser cannot be serialized on Mac OS X
+  - JDK-8161684: [testconf] Add VerifyOops' testing into compiler tiers
+  - JDK-8191006: hsdis disassembler plugin does not compile with binutils 2.29+
+  - JDK-8198334: java/awt/FileDialog/8003399/bug8003399.java fails in headless mode
+  - JDK-8200151: Add 8 JNDI tests to com/sun/jndi/dns/ConfigTests/
+  - JDK-8208279: Add 8 JNDI tests to com/sun/jndi/dns/EnvTests/
+  - JDK-8208483: Add 5 JNDI tests to com/sun/jndi/dns/FactoryTests/
+  - JDK-8208542: Add 4 JNDI tests to com/sun/jndi/dns/ListTests/
+  - JDK-8208665: Amend cross-compilation docs with qemu-debootstrap recipe
+  - JDK-8210088: ProblemList gc/epsilon/TestMemoryMXBeans.java
+  - JDK-8210339: Add 10 JNDI tests to com/sun/jndi/dns/FedTests/
+  - JDK-8212226: SurfaceManager throws "Invalid Image variant" for MultiResolutionImage (Windows)
+  - JDK-8213400: Support choosing group name in keytool keypair generation
+  - JDK-8213535: Windows HiDPI html lightweight tooltips are truncated
+  - JDK-8213698: Improve devkit creation and add support for linux/ppc64/ppc64le/s390x
+  - JDK-8216012: Infinite loop in RSA KeyPairGenerator
+  - JDK-8216324: GetClassMethods is confused by the presence of default methods in super interfaces
+  - JDK-8217429: WebSocket over authenticating proxy fails to send Upgrade headers
+  - JDK-8217976: test/jdk/java/net/httpclient/websocket/WebSocketProxyTest.java fails intermittently
+  - JDK-8218851: JVM crash in custom classloader stress test, JDK 12 & 13
+  - JDK-8220420: Cleanup c1_LinearScan
+  - JDK-8222286: Fix for JDK-8213419 is broken on s390
+  - JDK-8222533: jtreg test jdk/internal/platform/cgroup/TestCgroupMetrics.java fails on SLES12.3 linux ppc64le machine
+  - JDK-8224506: [TESTBUG] TestDockerMemoryMetrics.java fails with exitValue = 137
+  - JDK-8224555: vmTestbase/nsk/jvmti/scenarios/contention/TC02/tc02t001/TestDescription.java failed
+  - JDK-8225329: -XX:+PrintBiasedLockingStatistics causes crash during initialization on Windows platforms
+  - JDK-8227006: [linux] Runtime.availableProcessors execution time increased by factor of 100
+  - JDK-8227647: [Graal] Test8009761.java fails due to "RuntimeException: static java.lang.Object compiler.uncommontrap.Test8009761.m3(boolean,boolean) not compiled"
+  - JDK-8232114: JVM crashed at imjpapi.dll in native code
+  - JDK-8234147: Avoid looking up standard charsets in core libraries
+  - JDK-8236512: PKCS11 Connection closed after Cipher.doFinal and NoPadding
+  - JDK-8236944: The legVecZ operand should be limited to zmm0-zmm15 registers
+  - JDK-8237186: Fix typo in copyright header of java/io/Reader/TransferTo.java
+  - JDK-8237499: JFR: Include stack trace in the ThreadStart event
+  - JDK-8237512: AArch64: aarch64TestHook leaks a BufferBlob
+  - JDK-8237524: AArch64: String.compareTo() may return incorrect result
+  - JDK-8237950: C2 compilation fails with "Live Node limit exceeded limit" during ConvI2L::Ideal optimization
+  - JDK-8239105: Add exception for expiring Digicert root certificates to VerifyCACerts test
+  - JDK-8239477: jdk/jfr/jcmd/TestJcmdStartStopDefault.java fails -XX:+VerifyOops with "verify_oop: rsi: broken oop"
+  - JDK-8239886: Minimal VM build fails after JDK-8237499
+  - JDK-8240633: Memory leaks in the implementations of FileChooserUI
+  - JDK-8240690: Race condition between EDT and BasicDirectoryModel.FilesLoader.run0()
+  - JDK-8241234: Unify monitor enter/exit runtime entries.
+  - JDK-8241311: Move some charset mapping tests from closed to open
+  - JDK-8241797: Add some tests to the problem list
+  - JDK-8242029: AArch64: skip G1 array copy pre-barrier if marking not active
+  - JDK-8242335: Additional Tests for RSASSA-PSS
+  - JDK-8242480: Negative value may be returned by getFreeSwapSpaceSize() in the docker
+  - JDK-8242614: cleanup duplicated test ldap server in some com/sun/jndi/ldap/ tests
+  - JDK-8242846: Bring back test/jdk/tools/jlink/plugins/OrderResourcesPluginTest.java
+  - JDK-8243114: Implement montgomery{Multiply,Square}intrinsics on Windows
+  - JDK-8243290: Improve diagnostic messages for class verification and redefinition failures
+  - JDK-8243617: compiler/onSpinWait/TestOnSpinWaitC1.java test uses wrong class
+  - JDK-8243619: compiler/codecache/CheckSegmentedCodeCache.java test misses -version
+  - JDK-8244142: some hotspot/runtime tests don't check exit code of forked JVM
+  - JDK-8244278: Excessive code cache flushes and sweeps
+  - JDK-8244819: hsdis does not compile with binutils 2.34+
+  - JDK-8245400: Upgrade to LittleCMS 2.11
+  - JDK-8246381: VM crashes with "Current BasicObjectLock* below than low_mark"
+  - JDK-8246434: Threads::print_on_error assumes that the heap has been set up
+  - JDK-8246648: issue with OperatingSystemImpl getFreeSwapSpaceSize in docker after 8242480
+  - JDK-8247201: Print potential pointer value of readable stack memory in hs_err file
+  - JDK-8247763: assert(outer->outcnt() == 2) failed: 'only phis' failure in LoopNode::verify_strip_mined()
+  - JDK-8247867: Upgrade to freetype 2.10.2
+  - JDK-8248190: Enable Power10 system and implement new byte-reverse instructions
+  - JDK-8248226: TestCloneAccessStressGCM fails with -XX:-ReduceBulkZeroing
+  - JDK-8248347: windows build broken by JDK-8243114
+  - JDK-8248532: Every time I change keyboard language at my MacBook, Java crashes
+  - JDK-8248552: C2 crashes with SIGFPE due to division by zero
+  - JDK-8248596: [TESTBUG] compiler/loopopts/PartialPeelingUnswitch.java times out with Graal enabled
+  - JDK-8248745: Add jarsigner and keytool tests for restricted algorithms
+  - JDK-8248791: sun/util/resources/cldr/TimeZoneNamesTest.java fails with -XX:-ReduceInitialCardMarks -XX:-ReduceBulkZeroing
+  - JDK-8248845: AArch64: stack corruption after spilling vector register
+  - JDK-8249176: Update GlobalSignR6CA test certificates
+  - JDK-8249183: JVM crash in "AwtFrame::WmSize" method
+  - JDK-8249192: MonitorInfo stores raw oops across safepoints
+  - JDK-8249602: C2: assert(cnt == _outcnt) failed: no insertions allowed
+  - JDK-8249603: C1: assert(has_error == false) failed: register allocation invalid
+  - JDK-8249605: C2: assert(no_dead_loop) failed: dead loop detected
+  - JDK-8249607: C2: assert(!had_error) failed: bad dominance
+  - JDK-8249608: Vector register used by C2 compiled method corrupted at safepoint
+  - JDK-8249672: Include microcode revision in features_string on x86
+  - JDK-8249821: Separate libharfbuzz from libfontmanager
+  - JDK-8250598: Hyper-V is detected in spite of running on host OS
+  - JDK-8250605: Linux x86_32 builds fail after JDK-8249821
+  - JDK-8250665: Wrong translation for the month name of May in ar_JO,LB,SY
+  - JDK-8250772: Test com/sun/jndi/ldap/NamingExceptionMessageTest.java fails intermittently with javax.naming.ServiceUnavailableException
+  - JDK-8250894: Provide a configure option to build and run against the platform libharfbuzz
+  - JDK-8250928: JFR: Improve hash algorithm for stack traces
+  - JDK-8251118: BiasedLocking::preserve_marks should not have a HandleMark
+  - JDK-8251189: com/sun/jndi/ldap/LdapDnsProviderTest.java failed due to timeout
+  - JDK-8251397: NPE on ClassValue.ClassValueMap.cacheArray
+  - JDK-8251456: [TESTBUG] compiler/vectorization/TestVectorsNotSavedAtSafepoint.java failed OutOfMemoryError
+  - JDK-8251458: Parse::do_lookupswitch fails with "assert(_cnt >= 0) failed"
+  - JDK-8251949: ZGC: Set explicit heap size for compiler/gcbarriers tests
+  - JDK-8252090: JFR: StreamWriterHost::write_unbuffered() stucks in an infinite loop OpenJDK (build 13.0.1+9)
+  - JDK-8252415: Bump update version for OpenJDK: jdk-11.0.10
+  - JDK-8252470: java/awt/dnd/DisposeFrameOnDragCrash/DisposeFrameOnDragTest.java fails on Windows
+  - JDK-8252497: Incorrect numeric currency code for ROL
+  - JDK-8252660: Shenandoah: support manageable SoftMaxHeapSize option
+  - JDK-8252696: Loop unswitching may cause out of bound array load to be executed
+  - JDK-8252754: Hash code calculation of JfrStackTrace is inconsistent
+  - JDK-8253224: Shenandoah: ShenandoahStrDedupQueue destructor calls virtual num_queues()
+  - JDK-8253226: Shenandoah: remove unimplemented ShenandoahStrDedupQueue::verify
+  - JDK-8253284: Zero OrderAccess barrier mappings are incorrect
+  - JDK-8253375: OSX build fails with Xcode 12.0 (12A7209)
+  - JDK-8253778: ShenandoahSafepoint::is_at_shenandoah_safepoint should not access VMThread state from other threads
+  - JDK-8253791: Issue with useAppleColor check in CSystemColors.m
+  - JDK-8254081: java/security/cert/PolicyNode/GetPolicyQualifiers.java fails due to an expired certificate
+  - JDK-8254166: Zero: return-type warning in zeroInterpreter_zero.cpp
+  - JDK-8254177: (tz) Upgrade time-zone data to tzdata2020b
+  - JDK-8254185: Fix Code cache sweeper heuristics for JDK 11
+  - JDK-8254190: [s390] interpreter misses exception check after calling monitorenter
+  - JDK-8254790: SIGSEGV in string_indexof_char and stringL_indexof_char intrinsics
+
+Notes on individual issues:
+===========================
+
+security-libs/java.security:
+
+JDK-8213821: -groupname Option Added to keytool Key Pair Generation
+===================================================================
+A new `-groupname` option has been added to `keytool -genkeypair` so
+that a user can specify a named group when generating a key pair. For
+example, `keytool -genkeypair -keyalg EC -groupname secp384r1` will
+generate an EC key pair by using the `secp384r1` curve. Because there
+might be multiple curves with the same size, using the `-groupname`
+option is preferred over the `-keysize` option.
+
+New in release OpenJDK 11.0.9.1 (2020-10-20):
+=============================================
+Live versions of these release notes can be found at:
+  * https://bitly.com/openjdk11091
+  * https://builds.shipilev.net/backports-monitor/release-notes-11.0.9.1.txt
+
+* Regression fixes
+  - JDK-8250861: Crash in MinINode::Ideal(PhaseGVN*, bool)
+
 New in release OpenJDK 11.0.9 (2020-10-20):
 ===========================================
 Live versions of these release notes can be found at:
diff --git a/SOURCES/jdk8236512-pkcs11_incorrrect_session_closure.patch b/SOURCES/jdk8236512-pkcs11_incorrrect_session_closure.patch
deleted file mode 100644
index bba7287..0000000
--- a/SOURCES/jdk8236512-pkcs11_incorrrect_session_closure.patch
+++ /dev/null
@@ -1,480 +0,0 @@
-# HG changeset patch
-# User valeriep
-# Date 1581468987 0
-#      Wed Feb 12 00:56:27 2020 +0000
-# Node ID e47d22d82b0464720ccb7641e290080972b6ce88
-# Parent  5c41dc4c48f85e5a1e1ce6e3836b54674f273367
-8236512: PKCS11 Connection closed after Cipher.doFinal and NoPadding
-Summary: Removed killSession() calls in certain impl classes when cancelling operations
-Reviewed-by: xuelei
-
-diff --git a/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11AEADCipher.java b/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11AEADCipher.java
---- a/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11AEADCipher.java
-+++ b/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11AEADCipher.java
-@@ -1,4 +1,5 @@
--/* Copyright (c) 2019, Oracle and/or its affiliates. All rights reserved.
-+/*
-+ * Copyright (c) 2019, 2020, Oracle and/or its affiliates. All rights reserved.
-  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-  *
-  * This code is free software; you can redistribute it and/or modify it
-@@ -334,25 +335,25 @@
-     }
- 
-     private void cancelOperation() {
-+        // cancel operation by finishing it; avoid killSession as some
-+        // hardware vendors may require re-login
-+        int bufLen = doFinalLength(0);
-+        byte[] buffer = new byte[bufLen];
-+        byte[] in = dataBuffer.toByteArray();
-+        int inLen = in.length;
-         try {
--            if (session.hasObjects() == false) {
--                session = token.killSession(session);
--                return;
-+            if (encrypt) {
-+                token.p11.C_Encrypt(session.id(), 0, in, 0, inLen,
-+                        0, buffer, 0, bufLen);
-             } else {
--                // cancel operation by finishing it
--                int bufLen = doFinalLength(0);
--                byte[] buffer = new byte[bufLen];
--
--                if (encrypt) {
--                    token.p11.C_Encrypt(session.id(), 0, buffer, 0, bufLen,
--                            0, buffer, 0, bufLen);
--                } else {
--                    token.p11.C_Decrypt(session.id(), 0, buffer, 0, bufLen,
--                            0, buffer, 0, bufLen);
--                }
-+                token.p11.C_Decrypt(session.id(), 0, in, 0, inLen,
-+                        0, buffer, 0, bufLen);
-             }
-         } catch (PKCS11Exception e) {
--            throw new ProviderException("Cancel failed", e);
-+            if (encrypt) {
-+                throw new ProviderException("Cancel failed", e);
-+            }
-+            // ignore failure for decryption
-         }
-     }
- 
-@@ -434,18 +435,21 @@
-         if (!initialized) {
-             return;
-         }
-+        initialized = false;
-+
-         try {
-             if (session == null) {
-                 return;
-             }
-+
-             if (doCancel && token.explicitCancel) {
-                 cancelOperation();
-             }
-         } finally {
-             p11Key.releaseKeyID();
-             session = token.releaseSession(session);
-+            dataBuffer.reset();
-         }
--        initialized = false;
-     }
- 
-     // see JCE spec
-diff --git a/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11Cipher.java b/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11Cipher.java
---- a/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11Cipher.java
-+++ b/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11Cipher.java
-@@ -1,5 +1,5 @@
- /*
-- * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
-+ * Copyright (c) 2003, 2020, Oracle and/or its affiliates. All rights reserved.
-  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-  *
-  * This code is free software; you can redistribute it and/or modify it
-@@ -409,10 +409,12 @@
-             return;
-         }
-         initialized = false;
-+
-         try {
-             if (session == null) {
-                 return;
-             }
-+
-             if (doCancel && token.explicitCancel) {
-                 cancelOperation();
-             }
-@@ -426,22 +428,21 @@
- 
-     private void cancelOperation() {
-         token.ensureValid();
--        if (session.hasObjects() == false) {
--            session = token.killSession(session);
--            return;
--        } else {
--            try {
--                // cancel operation by finishing it
--                int bufLen = doFinalLength(0);
--                byte[] buffer = new byte[bufLen];
--                if (encrypt) {
--                    token.p11.C_EncryptFinal(session.id(), 0, buffer, 0, bufLen);
--                } else {
--                    token.p11.C_DecryptFinal(session.id(), 0, buffer, 0, bufLen);
--                }
--            } catch (PKCS11Exception e) {
-+        // cancel operation by finishing it; avoid killSession as some
-+        // hardware vendors may require re-login
-+        try {
-+            int bufLen = doFinalLength(0);
-+            byte[] buffer = new byte[bufLen];
-+            if (encrypt) {
-+                token.p11.C_EncryptFinal(session.id(), 0, buffer, 0, bufLen);
-+            } else {
-+                token.p11.C_DecryptFinal(session.id(), 0, buffer, 0, bufLen);
-+            }
-+        } catch (PKCS11Exception e) {
-+            if (encrypt) {
-                 throw new ProviderException("Cancel failed", e);
-             }
-+            // ignore failure for decryption
-         }
-     }
- 
-diff --git a/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11Mac.java b/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11Mac.java
---- a/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11Mac.java
-+++ b/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11Mac.java
-@@ -1,5 +1,5 @@
- /*
-- * Copyright (c) 2003, 2019, Oracle and/or its affiliates. All rights reserved.
-+ * Copyright (c) 2003, 2020, Oracle and/or its affiliates. All rights reserved.
-  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-  *
-  * This code is free software; you can redistribute it and/or modify it
-@@ -124,10 +124,12 @@
-             return;
-         }
-         initialized = false;
-+
-         try {
-             if (session == null) {
-                 return;
-             }
-+
-             if (doCancel && token.explicitCancel) {
-                 cancelOperation();
-             }
-@@ -139,15 +141,12 @@
- 
-     private void cancelOperation() {
-         token.ensureValid();
--        if (session.hasObjects() == false) {
--            session = token.killSession(session);
--            return;
--        } else {
--            try {
--                token.p11.C_SignFinal(session.id(), 0);
--            } catch (PKCS11Exception e) {
--                throw new ProviderException("Cancel failed", e);
--            }
-+        // cancel operation by finishing it; avoid killSession as some
-+        // hardware vendors may require re-login
-+        try {
-+            token.p11.C_SignFinal(session.id(), 0);
-+        } catch (PKCS11Exception e) {
-+            throw new ProviderException("Cancel failed", e);
-         }
-     }
- 
-@@ -209,7 +208,6 @@
-             ensureInitialized();
-             return token.p11.C_SignFinal(session.id(), 0);
-         } catch (PKCS11Exception e) {
--            reset(true);
-             throw new ProviderException("doFinal() failed", e);
-         } finally {
-             reset(false);
-diff --git a/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11PSSSignature.java b/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11PSSSignature.java
---- a/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11PSSSignature.java
-+++ b/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11PSSSignature.java
-@@ -1,5 +1,5 @@
- /*
-- * Copyright (c) 2019, Oracle and/or its affiliates. All rights reserved.
-+ * Copyright (c) 2019, 2020, Oracle and/or its affiliates. All rights reserved.
-  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-  *
-  * This code is free software; you can redistribute it and/or modify it
-@@ -223,10 +223,12 @@
-             return;
-         }
-         initialized = false;
-+
-         try {
-             if (session == null) {
-                 return;
-             }
-+
-             if (doCancel && token.explicitCancel) {
-                 cancelOperation();
-             }
-@@ -242,14 +244,10 @@
-         token.ensureValid();
-         if (DEBUG) System.out.print("Cancelling operation");
- 
--        if (session.hasObjects() == false) {
--            if (DEBUG) System.out.println(" by killing session");
--            session = token.killSession(session);
--            return;
--        }
--        // "cancel" operation by finishing it
--        if (mode == M_SIGN) {
--            try {
-+        // cancel operation by finishing it; avoid killSession as some
-+        // hardware vendors may require re-login
-+        try {
-+            if (mode == M_SIGN) {
-                 if (type == T_UPDATE) {
-                     if (DEBUG) System.out.println(" by C_SignFinal");
-                     token.p11.C_SignFinal(session.id(), 0);
-@@ -259,11 +257,7 @@
-                     if (DEBUG) System.out.println(" by C_Sign");
-                     token.p11.C_Sign(session.id(), digest);
-                 }
--            } catch (PKCS11Exception e) {
--                throw new ProviderException("cancel failed", e);
--            }
--        } else { // M_VERIFY
--            try {
-+            } else { // M_VERIFY
-                 byte[] signature =
-                     new byte[(p11Key.length() + 7) >> 3];
-                 if (type == T_UPDATE) {
-@@ -275,10 +269,12 @@
-                     if (DEBUG) System.out.println(" by C_Verify");
-                     token.p11.C_Verify(session.id(), digest, signature);
-                 }
--            } catch (PKCS11Exception e) {
--                // will fail since the signature is incorrect
--                // XXX check error code
-             }
-+        } catch (PKCS11Exception e) {
-+            if (mode == M_SIGN) {
-+                throw new ProviderException("cancel failed", e);
-+            }
-+            // ignore failure for verification
-         }
-     }
- 
-diff --git a/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11RSACipher.java b/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11RSACipher.java
---- a/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11RSACipher.java
-+++ b/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11RSACipher.java
-@@ -1,5 +1,5 @@
- /*
-- * Copyright (c) 2003, 2019, Oracle and/or its affiliates. All rights reserved.
-+ * Copyright (c) 2003, 2020, Oracle and/or its affiliates. All rights reserved.
-  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-  *
-  * This code is free software; you can redistribute it and/or modify it
-@@ -247,10 +247,12 @@
-             return;
-         }
-         initialized = false;
-+
-         try {
-             if (session == null) {
-                 return;
-             }
-+
-             if (doCancel && token.explicitCancel) {
-                 cancelOperation();
-             }
-@@ -264,36 +266,33 @@
-     // state variables such as "initialized"
-     private void cancelOperation() {
-         token.ensureValid();
--        if (session.hasObjects() == false) {
--            session = token.killSession(session);
--            return;
--        } else {
--            try {
--                PKCS11 p11 = token.p11;
--                int inLen = maxInputSize;
--                int outLen = buffer.length;
--                long sessId = session.id();
--                switch (mode) {
--                case MODE_ENCRYPT:
--                    p11.C_Encrypt(sessId, 0, buffer, 0, inLen, 0, buffer, 0, outLen);
--                    break;
--                case MODE_DECRYPT:
--                    p11.C_Decrypt(sessId, 0, buffer, 0, inLen, 0, buffer, 0, outLen);
--                    break;
--                case MODE_SIGN:
--                    byte[] tmpBuffer = new byte[maxInputSize];
--                    p11.C_Sign(sessId, tmpBuffer);
--                    break;
--                case MODE_VERIFY:
--                    p11.C_VerifyRecover(sessId, buffer, 0, inLen, buffer,
--                            0, outLen);
--                    break;
--                default:
--                    throw new ProviderException("internal error");
--                }
--            } catch (PKCS11Exception e) {
--                // XXX ensure this always works, ignore error
-+        // cancel operation by finishing it; avoid killSession as some
-+        // hardware vendors may require re-login
-+        try {
-+            PKCS11 p11 = token.p11;
-+            int inLen = maxInputSize;
-+            int outLen = buffer.length;
-+            long sessId = session.id();
-+            switch (mode) {
-+            case MODE_ENCRYPT:
-+                p11.C_Encrypt(sessId, 0, buffer, 0, inLen, 0, buffer, 0, outLen);
-+                break;
-+            case MODE_DECRYPT:
-+                p11.C_Decrypt(sessId, 0, buffer, 0, inLen, 0, buffer, 0, outLen);
-+                break;
-+            case MODE_SIGN:
-+                byte[] tmpBuffer = new byte[maxInputSize];
-+                p11.C_Sign(sessId, tmpBuffer);
-+                break;
-+            case MODE_VERIFY:
-+                p11.C_VerifyRecover(sessId, buffer, 0, inLen, buffer,
-+                        0, outLen);
-+                break;
-+            default:
-+                throw new ProviderException("internal error");
-             }
-+        } catch (PKCS11Exception e) {
-+            // XXX ensure this always works, ignore error
-         }
-     }
- 
-@@ -362,6 +361,7 @@
-     private int implDoFinal(byte[] out, int outOfs, int outLen)
-             throws BadPaddingException, IllegalBlockSizeException {
-         if (bufOfs > maxInputSize) {
-+            reset(true);
-             throw new IllegalBlockSizeException("Data must not be longer "
-                 + "than " + maxInputSize + " bytes");
-         }
-diff --git a/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11Signature.java b/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11Signature.java
---- a/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11Signature.java
-+++ b/src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/P11Signature.java
-@@ -1,5 +1,5 @@
- /*
-- * Copyright (c) 2003, 2019, Oracle and/or its affiliates. All rights reserved.
-+ * Copyright (c) 2003, 2020, Oracle and/or its affiliates. All rights reserved.
-  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-  *
-  * This code is free software; you can redistribute it and/or modify it
-@@ -270,10 +270,12 @@
-             return;
-         }
-         initialized = false;
-+
-         try {
-             if (session == null) {
-                 return;
-             }
-+
-             if (doCancel && token.explicitCancel) {
-                 cancelOperation();
-             }
-@@ -284,59 +286,51 @@
-     }
- 
-     private void cancelOperation() {
--
-         token.ensureValid();
--        if (session.hasObjects() == false) {
--            session = token.killSession(session);
--            return;
--        } else {
--            // "cancel" operation by finishing it
--            // XXX make sure all this always works correctly
-+        // cancel operation by finishing it; avoid killSession as some
-+        // hardware vendors may require re-login
-+        try {
-             if (mode == M_SIGN) {
--                try {
--                    if (type == T_UPDATE) {
--                        token.p11.C_SignFinal(session.id(), 0);
--                    } else {
--                        byte[] digest;
--                        if (type == T_DIGEST) {
--                            digest = md.digest();
--                        } else { // T_RAW
--                            digest = buffer;
--                        }
--                        token.p11.C_Sign(session.id(), digest);
-+                if (type == T_UPDATE) {
-+                    token.p11.C_SignFinal(session.id(), 0);
-+                } else {
-+                    byte[] digest;
-+                    if (type == T_DIGEST) {
-+                        digest = md.digest();
-+                    } else { // T_RAW
-+                        digest = buffer;
-                     }
--                } catch (PKCS11Exception e) {
--                    throw new ProviderException("cancel failed", e);
-+                    token.p11.C_Sign(session.id(), digest);
-                 }
-             } else { // M_VERIFY
-                 byte[] signature;
--                try {
--                    if (keyAlgorithm.equals("DSA")) {
--                        signature = new byte[40];
--                    } else {
--                        signature = new byte[(p11Key.length() + 7) >> 3];
-+                if (keyAlgorithm.equals("DSA")) {
-+                    signature = new byte[40];
-+                } else {
-+                    signature = new byte[(p11Key.length() + 7) >> 3];
-+                }
-+                if (type == T_UPDATE) {
-+                    token.p11.C_VerifyFinal(session.id(), signature);
-+                } else {
-+                    byte[] digest;
-+                    if (type == T_DIGEST) {
-+                        digest = md.digest();
-+                    } else { // T_RAW
-+                        digest = buffer;
-                     }
--                    if (type == T_UPDATE) {
--                        token.p11.C_VerifyFinal(session.id(), signature);
--                    } else {
--                        byte[] digest;
--                        if (type == T_DIGEST) {
--                            digest = md.digest();
--                        } else { // T_RAW
--                            digest = buffer;
--                        }
--                        token.p11.C_Verify(session.id(), digest, signature);
--                    }
--                } catch (PKCS11Exception e) {
--                    long errorCode = e.getErrorCode();
--                    if ((errorCode == CKR_SIGNATURE_INVALID) ||
--                        (errorCode == CKR_SIGNATURE_LEN_RANGE)) {
--                        // expected since signature is incorrect
--                        return;
--                    }
--                    throw new ProviderException("cancel failed", e);
-+                    token.p11.C_Verify(session.id(), digest, signature);
-                 }
-             }
-+        } catch (PKCS11Exception e) {
-+            if (mode == M_VERIFY) {
-+                long errorCode = e.getErrorCode();
-+                if ((errorCode == CKR_SIGNATURE_INVALID) ||
-+                     (errorCode == CKR_SIGNATURE_LEN_RANGE)) {
-+                     // expected since signature is incorrect
-+                     return;
-+                }
-+            }
-+            throw new ProviderException("cancel failed", e);
-         }
-     }
- 
diff --git a/SOURCES/jdk8250861-rh1895274-crash_in_MinINode_Ideal.patch b/SOURCES/jdk8250861-rh1895274-crash_in_MinINode_Ideal.patch
new file mode 100644
index 0000000..b00022f
--- /dev/null
+++ b/SOURCES/jdk8250861-rh1895274-crash_in_MinINode_Ideal.patch
@@ -0,0 +1,32 @@
+
+# HG changeset patch
+# User thartmann
+# Date 1604482955 -3600
+# Node ID 27723943c0dd65a191cbefe031cec001521e4b13
+# Parent  e9d90c9daf895b469b461b727b6887e7780b4ac2
+8250861: Crash in MinINode::Ideal(PhaseGVN*, bool)
+Summary: Added missing NULL checks.
+Reviewed-by: kvn, chagedorn
+
+diff -r e9d90c9daf89 -r 27723943c0dd src/hotspot/share/opto/addnode.cpp
+--- a/src/hotspot/share/opto/addnode.cpp	Mon Nov 02 20:20:05 2020 +0100
++++ b/src/hotspot/share/opto/addnode.cpp	Wed Nov 04 10:42:35 2020 +0100
+@@ -917,7 +917,7 @@
+ 
+     // Transform MIN2(x + c0, MIN2(x + c1, z)) into MIN2(x + MIN2(c0, c1), z)
+     // if x == y and the additions can't overflow.
+-    if (phase->eqv(x,y) &&
++    if (phase->eqv(x,y) && tx != NULL &&
+         !can_overflow(tx, x_off) &&
+         !can_overflow(tx, y_off)) {
+       return new MinINode(phase->transform(new AddINode(x, phase->intcon(MIN2(x_off, y_off)))), r->in(2));
+@@ -925,7 +925,7 @@
+   } else {
+     // Transform MIN2(x + c0, y + c1) into x + MIN2(c0, c1)
+     // if x == y and the additions can't overflow.
+-    if (phase->eqv(x,y) &&
++    if (phase->eqv(x,y) && tx != NULL &&
+         !can_overflow(tx, x_off) &&
+         !can_overflow(tx, y_off)) {
+       return new AddINode(x,phase->intcon(MIN2(x_off,y_off)));
+
diff --git a/SOURCES/jdk8254177-tzdata2020b.patch b/SOURCES/jdk8254177-tzdata2020b.patch
deleted file mode 100644
index a9f3282..0000000
--- a/SOURCES/jdk8254177-tzdata2020b.patch
+++ /dev/null
@@ -1,2041 +0,0 @@
-# 8254177: (tz) Upgrade time-zone data to tzdata2020b
-
-diff --git a/make/data/tzdata/VERSION b/make/data/tzdata/VERSION
---- a/make/data/tzdata/VERSION
-+++ b/make/data/tzdata/VERSION
-@@ -21,4 +21,4 @@
- # or visit www.oracle.com if you need additional information or have any
- # questions.
- #
--tzdata2020a
-+tzdata2020b
-diff --git a/make/data/tzdata/africa b/make/data/tzdata/africa
---- a/make/data/tzdata/africa
-+++ b/make/data/tzdata/africa
-@@ -87,7 +87,7 @@
- # Corrections are welcome.
- 
- # Algeria
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- Rule	Algeria	1916	only	-	Jun	14	23:00s	1:00	S
- Rule	Algeria	1916	1919	-	Oct	Sun>=1	23:00s	0	-
- Rule	Algeria	1917	only	-	Mar	24	23:00s	1:00	S
-@@ -110,10 +110,9 @@
- Rule	Algeria	1978	only	-	Sep	22	 3:00	0	-
- Rule	Algeria	1980	only	-	Apr	25	 0:00	1:00	S
- Rule	Algeria	1980	only	-	Oct	31	 2:00	0	-
--# Shanks & Pottenger give 0:09:20 for Paris Mean Time; go with Howse's
--# more precise 0:09:21.
-+# See Europe/Paris for PMT-related transitions.
- # Zone	NAME		STDOFF	RULES	FORMAT	[UNTIL]
--Zone	Africa/Algiers	0:12:12 -	LMT	1891 Mar 15  0:01
-+Zone	Africa/Algiers	0:12:12 -	LMT	1891 Mar 16
- 			0:09:21	-	PMT	1911 Mar 11 # Paris Mean Time
- 			0:00	Algeria	WE%sT	1940 Feb 25  2:00
- 			1:00	Algeria	CE%sT	1946 Oct  7
-@@ -199,7 +198,7 @@
- # Egypt was mean noon at the Great Pyramid, 2:04:30.5, but apparently this
- # did not apply to Cairo, Alexandria, or Port Said.
- 
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- Rule	Egypt	1940	only	-	Jul	15	0:00	1:00	S
- Rule	Egypt	1940	only	-	Oct	 1	0:00	0	-
- Rule	Egypt	1941	only	-	Apr	15	0:00	1:00	S
-@@ -434,7 +433,7 @@
- # now Ghana observed different DST regimes in different years.  For
- # lack of better info, use Shanks except treat the minus sign as a
- # typo, and assume DST started in 1920 not 1936.
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- Rule	Ghana	1920	1942	-	Sep	 1	0:00	0:20	-
- Rule	Ghana	1920	1942	-	Dec	31	0:00	0	-
- # Zone	NAME		STDOFF	RULES	FORMAT	[UNTIL]
-@@ -524,7 +523,7 @@
- # From Paul Eggert (2013-10-25):
- # For now, assume they're reverting to the pre-2012 rules of permanent UT +02.
- 
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- Rule	Libya	1951	only	-	Oct	14	2:00	1:00	S
- Rule	Libya	1952	only	-	Jan	 1	0:00	0	-
- Rule	Libya	1953	only	-	Oct	 9	2:00	1:00	S
-@@ -647,7 +646,7 @@
- # "The trial ended on March 29, 2009, when the clocks moved back by one hour
- # at 2am (or 02:00) local time..."
- 
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- Rule Mauritius	1982	only	-	Oct	10	0:00	1:00	-
- Rule Mauritius	1983	only	-	Mar	21	0:00	0	-
- Rule Mauritius	2008	only	-	Oct	lastSun	2:00	1:00	-
-@@ -898,17 +897,30 @@
- # https://maroc-diplomatique.net/maroc-le-retour-a-lheure-gmt-est-prevu-dimanche-prochain/
- # http://aujourdhui.ma/actualite/gmt1-retour-a-lheure-normale-dimanche-prochain-1
- #
--# From Paul Eggert (2020-04-14):
-+# From Milamber (2020-05-31)
-+# In Morocco (where I live), the end of Ramadan (Arabic month) is followed by
-+# the Eid al-Fitr, and concretely it's 1 or 2 day offs for the people (with
-+# traditional visiting of family, big lunches/dinners, etc.).  So for this
-+# year the astronomical calculations don't include the following 2 days off in
-+# the calc.  These 2 days fall in a Sunday/Monday, so it's not acceptable by
-+# people to have a time shift during these 2 days off.  Perhaps you can modify
-+# the (predicted) rules for next years: if the end of Ramadan is a (probable)
-+# Friday or Saturday (and so the 2 days off are on a weekend), the next time
-+# shift will be the next weekend.
-+#
-+# From Paul Eggert (2020-05-31):
- # For now, guess that in the future Morocco will fall back at 03:00
- # the last Sunday before Ramadan, and spring forward at 02:00 the
--# first Sunday after the day after Ramadan.  To implement this,
--# transition dates for 2021 through 2087 were determined by running
--# the following program under GNU Emacs 26.3.
--# (let ((islamic-year 1442))
-+# first Sunday after two days after Ramadan.  To implement this,
-+# transition dates and times for 2019 through 2087 were determined by
-+# running the following program under GNU Emacs 26.3.  (This algorithm
-+# also produces the correct transition dates for 2016 through 2018,
-+# though the times differ due to Morocco's time zone change in 2018.)
-+# (let ((islamic-year 1440))
- #   (require 'cal-islam)
- #   (while (< islamic-year 1511)
- #     (let ((a (calendar-islamic-to-absolute (list 9 1 islamic-year)))
--#           (b (1+ (calendar-islamic-to-absolute (list 10 1 islamic-year))))
-+#           (b (+ 2 (calendar-islamic-to-absolute (list 10 1 islamic-year))))
- #           (sunday 0))
- #       (while (/= sunday (mod (setq a (1- a)) 7)))
- #       (while (/= sunday (mod b 7))
-@@ -923,7 +935,7 @@
- #         (car (cdr (cdr b))) (calendar-month-name (car b) t) (car (cdr b)))))
- #     (setq islamic-year (+ 1 islamic-year))))
- 
--# RULE	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- Rule	Morocco	1939	only	-	Sep	12	 0:00	1:00	-
- Rule	Morocco	1939	only	-	Nov	19	 0:00	0	-
- Rule	Morocco	1940	only	-	Feb	25	 0:00	1:00	-
-@@ -974,7 +986,7 @@
- Rule	Morocco	2022	only	-	Mar	27	 3:00	-1:00	-
- Rule	Morocco	2022	only	-	May	 8	 2:00	0	-
- Rule	Morocco	2023	only	-	Mar	19	 3:00	-1:00	-
--Rule	Morocco	2023	only	-	Apr	23	 2:00	0	-
-+Rule	Morocco	2023	only	-	Apr	30	 2:00	0	-
- Rule	Morocco	2024	only	-	Mar	10	 3:00	-1:00	-
- Rule	Morocco	2024	only	-	Apr	14	 2:00	0	-
- Rule	Morocco	2025	only	-	Feb	23	 3:00	-1:00	-
-@@ -990,7 +1002,7 @@
- Rule	Morocco	2029	only	-	Dec	30	 3:00	-1:00	-
- Rule	Morocco	2030	only	-	Feb	10	 2:00	0	-
- Rule	Morocco	2030	only	-	Dec	22	 3:00	-1:00	-
--Rule	Morocco	2031	only	-	Jan	26	 2:00	0	-
-+Rule	Morocco	2031	only	-	Feb	 2	 2:00	0	-
- Rule	Morocco	2031	only	-	Dec	14	 3:00	-1:00	-
- Rule	Morocco	2032	only	-	Jan	18	 2:00	0	-
- Rule	Morocco	2032	only	-	Nov	28	 3:00	-1:00	-
-@@ -1006,7 +1018,7 @@
- Rule	Morocco	2037	only	-	Oct	 4	 3:00	-1:00	-
- Rule	Morocco	2037	only	-	Nov	15	 2:00	0	-
- Rule	Morocco	2038	only	-	Sep	26	 3:00	-1:00	-
--Rule	Morocco	2038	only	-	Oct	31	 2:00	0	-
-+Rule	Morocco	2038	only	-	Nov	 7	 2:00	0	-
- Rule	Morocco	2039	only	-	Sep	18	 3:00	-1:00	-
- Rule	Morocco	2039	only	-	Oct	23	 2:00	0	-
- Rule	Morocco	2040	only	-	Sep	 2	 3:00	-1:00	-
-@@ -1022,7 +1034,7 @@
- Rule	Morocco	2045	only	-	Jul	 9	 3:00	-1:00	-
- Rule	Morocco	2045	only	-	Aug	20	 2:00	0	-
- Rule	Morocco	2046	only	-	Jul	 1	 3:00	-1:00	-
--Rule	Morocco	2046	only	-	Aug	 5	 2:00	0	-
-+Rule	Morocco	2046	only	-	Aug	12	 2:00	0	-
- Rule	Morocco	2047	only	-	Jun	23	 3:00	-1:00	-
- Rule	Morocco	2047	only	-	Jul	28	 2:00	0	-
- Rule	Morocco	2048	only	-	Jun	 7	 3:00	-1:00	-
-@@ -1038,7 +1050,7 @@
- Rule	Morocco	2053	only	-	Apr	13	 3:00	-1:00	-
- Rule	Morocco	2053	only	-	May	25	 2:00	0	-
- Rule	Morocco	2054	only	-	Apr	 5	 3:00	-1:00	-
--Rule	Morocco	2054	only	-	May	10	 2:00	0	-
-+Rule	Morocco	2054	only	-	May	17	 2:00	0	-
- Rule	Morocco	2055	only	-	Mar	28	 3:00	-1:00	-
- Rule	Morocco	2055	only	-	May	 2	 2:00	0	-
- Rule	Morocco	2056	only	-	Mar	12	 3:00	-1:00	-
-@@ -1054,7 +1066,7 @@
- Rule	Morocco	2061	only	-	Jan	16	 3:00	-1:00	-
- Rule	Morocco	2061	only	-	Feb	27	 2:00	0	-
- Rule	Morocco	2062	only	-	Jan	 8	 3:00	-1:00	-
--Rule	Morocco	2062	only	-	Feb	12	 2:00	0	-
-+Rule	Morocco	2062	only	-	Feb	19	 2:00	0	-
- Rule	Morocco	2062	only	-	Dec	31	 3:00	-1:00	-
- Rule	Morocco	2063	only	-	Feb	 4	 2:00	0	-
- Rule	Morocco	2063	only	-	Dec	16	 3:00	-1:00	-
-@@ -1070,7 +1082,7 @@
- Rule	Morocco	2068	only	-	Oct	21	 3:00	-1:00	-
- Rule	Morocco	2068	only	-	Dec	 2	 2:00	0	-
- Rule	Morocco	2069	only	-	Oct	13	 3:00	-1:00	-
--Rule	Morocco	2069	only	-	Nov	17	 2:00	0	-
-+Rule	Morocco	2069	only	-	Nov	24	 2:00	0	-
- Rule	Morocco	2070	only	-	Oct	 5	 3:00	-1:00	-
- Rule	Morocco	2070	only	-	Nov	 9	 2:00	0	-
- Rule	Morocco	2071	only	-	Sep	20	 3:00	-1:00	-
-@@ -1086,7 +1098,7 @@
- Rule	Morocco	2076	only	-	Jul	26	 3:00	-1:00	-
- Rule	Morocco	2076	only	-	Sep	 6	 2:00	0	-
- Rule	Morocco	2077	only	-	Jul	18	 3:00	-1:00	-
--Rule	Morocco	2077	only	-	Aug	22	 2:00	0	-
-+Rule	Morocco	2077	only	-	Aug	29	 2:00	0	-
- Rule	Morocco	2078	only	-	Jul	10	 3:00	-1:00	-
- Rule	Morocco	2078	only	-	Aug	14	 2:00	0	-
- Rule	Morocco	2079	only	-	Jun	25	 3:00	-1:00	-
-@@ -1096,13 +1108,13 @@
- Rule	Morocco	2081	only	-	Jun	 1	 3:00	-1:00	-
- Rule	Morocco	2081	only	-	Jul	13	 2:00	0	-
- Rule	Morocco	2082	only	-	May	24	 3:00	-1:00	-
--Rule	Morocco	2082	only	-	Jun	28	 2:00	0	-
-+Rule	Morocco	2082	only	-	Jul	 5	 2:00	0	-
- Rule	Morocco	2083	only	-	May	16	 3:00	-1:00	-
- Rule	Morocco	2083	only	-	Jun	20	 2:00	0	-
- Rule	Morocco	2084	only	-	Apr	30	 3:00	-1:00	-
- Rule	Morocco	2084	only	-	Jun	11	 2:00	0	-
- Rule	Morocco	2085	only	-	Apr	22	 3:00	-1:00	-
--Rule	Morocco	2085	only	-	May	27	 2:00	0	-
-+Rule	Morocco	2085	only	-	Jun	 3	 2:00	0	-
- Rule	Morocco	2086	only	-	Apr	14	 3:00	-1:00	-
- Rule	Morocco	2086	only	-	May	19	 2:00	0	-
- Rule	Morocco	2087	only	-	Mar	30	 3:00	-1:00	-
-@@ -1203,7 +1215,7 @@
- # Use plain "WAT" and "CAT" for the time zone abbreviations, to be compatible
- # with Namibia's neighbors.
- 
--# RULE	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- # Vanguard section, for zic and other parsers that support negative DST.
- Rule	Namibia	1994	only	-	Mar	21	0:00	-1:00	WAT
- Rule	Namibia	1994	2017	-	Sep	Sun>=1	2:00	0	CAT
-@@ -1326,7 +1338,7 @@
- # See Africa/Nairobi.
- 
- # South Africa
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- Rule	SA	1942	1943	-	Sep	Sun>=15	2:00	1:00	-
- Rule	SA	1943	1944	-	Mar	Sun>=15	2:00	0	-
- # Zone	NAME		STDOFF	RULES	FORMAT	[UNTIL]
-@@ -1359,7 +1371,7 @@
- # Abdalla of NTC, archived at:
- # https://mm.icann.org/pipermail/tz/2017-October/025333.html
- 
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- Rule	Sudan	1970	only	-	May	 1	0:00	1:00	S
- Rule	Sudan	1970	1985	-	Oct	15	0:00	0	-
- Rule	Sudan	1971	only	-	Apr	30	0:00	1:00	S
-@@ -1447,7 +1459,7 @@
- # http://www.almadenahnews.com/newss/news.php?c=118&id=38036
- # http://www.worldtimezone.com/dst_news/dst_news_tunis02.html
- 
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- Rule	Tunisia	1939	only	-	Apr	15	23:00s	1:00	S
- Rule	Tunisia	1939	only	-	Nov	18	23:00s	0	-
- Rule	Tunisia	1940	only	-	Feb	25	23:00s	1:00	S
-@@ -1474,9 +1486,7 @@
- Rule	Tunisia	2006	2008	-	Mar	lastSun	 2:00s	1:00	S
- Rule	Tunisia	2006	2008	-	Oct	lastSun	 2:00s	0	-
- 
--# Shanks & Pottenger give 0:09:20 for Paris Mean Time; go with Howse's
--# more precise 0:09:21.
--# Shanks & Pottenger say the 1911 switch was on Mar 9; go with Howse's Mar 11.
-+# See Europe/Paris for PMT-related transitions.
- # Zone	NAME		STDOFF	RULES	FORMAT	[UNTIL]
- Zone	Africa/Tunis	0:40:44 -	LMT	1881 May 12
- 			0:09:21	-	PMT	1911 Mar 11 # Paris Mean Time
-diff --git a/make/data/tzdata/antarctica b/make/data/tzdata/antarctica
---- a/make/data/tzdata/antarctica
-+++ b/make/data/tzdata/antarctica
-@@ -93,15 +93,30 @@
- # Australian Antarctica Division informed us that Casey changed time
- # zone to UTC+11 in "the morning of 22nd October 2016".
- 
-+# From Steffen Thorsen (2020-10-02, as corrected):
-+# Based on information we have received from the Australian Antarctic
-+# Division, Casey station and Macquarie Island station will move to Tasmanian
-+# daylight savings time on Sunday 4 October. This will take effect from 0001
-+# hrs on Sunday 4 October 2020 and will mean Casey and Macquarie Island will
-+# be on the same time zone as Hobart.  Some past dates too for this 3 hour
-+# time change back and forth between UTC+8 and UTC+11 for Casey:
-+# - 2018 Oct  7 4:00 - 2019 Mar 17 3:00 - 2019 Oct  4 3:00 - 2020 Mar  8 3:00
-+# and now - 2020 Oct  4 0:01
-+
- # Zone	NAME		STDOFF	RULES	FORMAT	[UNTIL]
--Zone Antarctica/Casey	0	-	-00	1969
--			8:00	-	+08	2009 Oct 18  2:00
-+Zone Antarctica/Casey	 0	-	-00	1969
-+			 8:00	-	+08	2009 Oct 18  2:00
- 			11:00	-	+11	2010 Mar  5  2:00
--			8:00	-	+08	2011 Oct 28  2:00
-+			 8:00	-	+08	2011 Oct 28  2:00
- 			11:00	-	+11	2012 Feb 21 17:00u
--			8:00	-	+08	2016 Oct 22
-+			 8:00	-	+08	2016 Oct 22
- 			11:00	-	+11	2018 Mar 11  4:00
--			8:00	-	+08
-+			 8:00	-	+08	2018 Oct  7  4:00
-+			11:00	-	+11	2019 Mar 17  3:00
-+			 8:00	-	+08	2019 Oct  4  3:00
-+			11:00	-	+11	2020 Mar  8  3:00
-+			 8:00	-	+08	2020 Oct  4  0:01
-+			11:00	-	+11
- Zone Antarctica/Davis	0	-	-00	1957 Jan 13
- 			7:00	-	+07	1964 Nov
- 			0	-	-00	1969 Feb
-@@ -247,7 +262,7 @@
- # suggested by Bengt-Inge Larsson comment them out for now, and approximate
- # with only UTC and CEST.  Uncomment them when 2014b is more prevalent.
- #
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- #Rule	Troll	2005	max	-	Mar	 1	1:00u	1:00	+01
- Rule	Troll	2005	max	-	Mar	lastSun	1:00u	2:00	+02
- #Rule	Troll	2005	max	-	Oct	lastSun	1:00u	1:00	+01
-diff --git a/make/data/tzdata/asia b/make/data/tzdata/asia
---- a/make/data/tzdata/asia
-+++ b/make/data/tzdata/asia
-@@ -93,7 +93,7 @@
- ###############################################################################
- 
- # These rules are stolen from the 'europe' file.
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- Rule	EUAsia	1981	max	-	Mar	lastSun	 1:00u	1:00	S
- Rule	EUAsia	1979	1995	-	Sep	lastSun	 1:00u	0	-
- Rule	EUAsia	1996	max	-	Oct	lastSun	 1:00u	0	-
-@@ -137,7 +137,7 @@
- # or
- # (brief)
- # http://www.worldtimezone.com/dst_news/dst_news_armenia03.html
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- Rule Armenia	2011	only	-	Mar	lastSun	 2:00s	1:00	-
- Rule Armenia	2011	only	-	Oct	lastSun	 2:00s	0	-
- # Zone	NAME		STDOFF	RULES	FORMAT	[UNTIL]
-@@ -163,7 +163,7 @@
- # http://vestnikkavkaza.net/news/Azerbaijani-Cabinet-of-Ministers-cancels-daylight-saving-time.html
- # http://en.apa.az/xeber_azerbaijan_abolishes_daylight_savings_ti_240862.html
- 
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- Rule	Azer	1997	2015	-	Mar	lastSun	 4:00	1:00	-
- Rule	Azer	1997	2015	-	Oct	lastSun	 5:00	0	-
- # Zone	NAME		STDOFF	RULES	FORMAT	[UNTIL]
-@@ -250,7 +250,7 @@
- # http://www.thedailystar.net/newDesign/latest_news.php?nid=22817
- # http://www.worldtimezone.com/dst_news/dst_news_bangladesh06.html
- 
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- Rule	Dhaka	2009	only	-	Jun	19	23:00	1:00	-
- Rule	Dhaka	2009	only	-	Dec	31	24:00	0	-
- 
-@@ -326,7 +326,7 @@
- # generally esteemed a success, it was announced early in 1920 that it would
- # not be repeated."
- #
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- Rule	Shang	1919	only	-	Apr	12	24:00	1:00	D
- Rule	Shang	1919	only	-	Sep	30	24:00	0	S
- 
-@@ -422,7 +422,7 @@
- # the Yangtze river delta area during that period of time although the scope
- # of such use will need to be investigated to determine.
- #
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- Rule	Shang	1940	only	-	Jun	 1	 0:00	1:00	D
- Rule	Shang	1940	only	-	Oct	12	24:00	0	S
- Rule	Shang	1941	only	-	Mar	15	 0:00	1:00	D
-@@ -485,7 +485,7 @@
- # to begin on 17 April.
- # http://data.people.com.cn/pic/101p/1988/04/1988041201.jpg
- 
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- Rule	PRC	1986	only	-	May	 4	 2:00	1:00	D
- Rule	PRC	1986	1991	-	Sep	Sun>=11	 2:00	0	S
- Rule	PRC	1987	1991	-	Apr	Sun>=11	 2:00	1:00	D
-@@ -869,7 +869,7 @@
- # or dates for the 1942 and 1945 transitions.
- # The Japanese occupation of Hong Kong began 1941-12-25.
- 
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- Rule	HK	1946	only	-	Apr	21	0:00	1:00	S
- Rule	HK	1946	only	-	Dec	1	3:30s	0	-
- Rule	HK	1947	only	-	Apr	13	3:30s	1:00	S
-@@ -996,7 +996,7 @@
- # until 1945-09-21 at 01:00, overriding Shanks & Pottenger.
- # Likewise, use Yu-Cheng Chuang's data for DST in Taiwan.
- 
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- Rule	Taiwan	1946	only	-	May	15	0:00	1:00	D
- Rule	Taiwan	1946	only	-	Oct	1	0:00	0	S
- Rule	Taiwan	1947	only	-	Apr	15	0:00	1:00	D
-@@ -1122,7 +1122,7 @@
- # The 1904 decree says that Macau changed from the meridian of
- # Fortaleza do Monte, presumably the basis for the 7:34:10 for LMT.
- 
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- Rule	Macau	1942	1943	-	Apr	30	23:00	1:00	-
- Rule	Macau	1942	only	-	Nov	17	23:00	0	-
- Rule	Macau	1943	only	-	Sep	30	23:00	0	S
-@@ -1180,7 +1180,7 @@
- # Cyprus to remain united in time.  Cyprus Mail 2017-10-17.
- # https://cyprus-mail.com/2017/10/17/cyprus-remain-united-time/
- 
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- Rule	Cyprus	1975	only	-	Apr	13	0:00	1:00	S
- Rule	Cyprus	1975	only	-	Oct	12	0:00	0	-
- Rule	Cyprus	1976	only	-	May	15	0:00	1:00	S
-@@ -1557,7 +1557,7 @@
- # be changed back to its previous state on the 24 hours of the
- # thirtieth day of Shahrivar.
- #
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- Rule	Iran	1978	1980	-	Mar	20	24:00	1:00	-
- Rule	Iran	1978	only	-	Oct	20	24:00	0	-
- Rule	Iran	1979	only	-	Sep	18	24:00	0	-
-@@ -1699,7 +1699,7 @@
- # We have published a short article in English about the change:
- # https://www.timeanddate.com/news/time/iraq-dumps-daylight-saving.html
- 
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- Rule	Iraq	1982	only	-	May	1	0:00	1:00	-
- Rule	Iraq	1982	1984	-	Oct	1	0:00	0	-
- Rule	Iraq	1983	only	-	Mar	31	0:00	1:00	-
-@@ -1722,6 +1722,10 @@
- 
- # Israel
- 
-+# For more info about the motivation for DST in Israel, see:
-+# Barak Y. Israel's Daylight Saving Time controversy. Israel Affairs.
-+# 2020-08-11. https://doi.org/10.1080/13537121.2020.1806564
-+
- # From Ephraim Silverberg (2001-01-11):
- #
- # I coined "IST/IDT" circa 1988.  Until then there were three
-@@ -1743,7 +1747,7 @@
- # family is from India).
- 
- # From Shanks & Pottenger:
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- Rule	Zion	1940	only	-	Jun	 1	0:00	1:00	D
- Rule	Zion	1942	1944	-	Nov	 1	0:00	0	S
- Rule	Zion	1943	only	-	Apr	 1	2:00	1:00	D
-@@ -1835,7 +1839,7 @@
- # (except in 2002) is three nights before Yom Kippur [Day of Atonement]
- # (the eve of the 7th of Tishrei in the lunar Hebrew calendar).
- 
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- Rule	Zion	1989	only	-	Apr	30	0:00	1:00	D
- Rule	Zion	1989	only	-	Sep	 3	0:00	0	S
- Rule	Zion	1990	only	-	Mar	25	0:00	1:00	D
-@@ -1851,7 +1855,7 @@
- # Ministry of Interior, Jerusalem, Israel.  The spokeswoman can be reached by
- # calling the office directly at 972-2-6701447 or 972-2-6701448.
- 
--# Rule	NAME    FROM    TO      TYPE    IN      ON      AT      SAVE    LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- Rule	Zion	1994	only	-	Apr	 1	0:00	1:00	D
- Rule	Zion	1994	only	-	Aug	28	0:00	0	S
- Rule	Zion	1995	only	-	Mar	31	0:00	1:00	D
-@@ -1871,7 +1875,7 @@
- #
- #       where YYYY is the relevant year.
- 
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- Rule	Zion	1996	only	-	Mar	15	0:00	1:00	D
- Rule	Zion	1996	only	-	Sep	16	0:00	0	S
- Rule	Zion	1997	only	-	Mar	21	0:00	1:00	D
-@@ -1894,7 +1898,7 @@
- #
- #	ftp://ftp.cs.huji.ac.il/pub/tz/announcements/2000-2004.ps.gz
- 
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- Rule	Zion	2000	only	-	Apr	14	2:00	1:00	D
- Rule	Zion	2000	only	-	Oct	 6	1:00	0	S
- Rule	Zion	2001	only	-	Apr	 9	1:00	1:00	D
-@@ -1916,7 +1920,7 @@
- #
- #	ftp://ftp.cs.huji.ac.il/pub/tz/announcements/2005+beyond.ps
- 
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- Rule	Zion	2005	2012	-	Apr	Fri<=1	2:00	1:00	D
- Rule	Zion	2005	only	-	Oct	 9	2:00	0	S
- Rule	Zion	2006	only	-	Oct	 1	2:00	0	S
-@@ -1936,7 +1940,7 @@
- # As of 2013, DST starts at 02:00 on the Friday before the last Sunday
- # in March.  DST ends at 02:00 on the last Sunday of October.
- 
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- Rule	Zion	2013	max	-	Mar	Fri>=23	2:00	1:00	D
- Rule	Zion	2013	max	-	Oct	lastSun	2:00	0	S
- 
-@@ -2036,7 +2040,7 @@
- # do in any POSIX or C platform.  The "25:00" assumes zic from 2007 or later,
- # which should be safe now.
- 
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- Rule	Japan	1948	only	-	May	Sat>=1	24:00	1:00	D
- Rule	Japan	1948	1951	-	Sep	Sat>=8	25:00	0	S
- Rule	Japan	1949	only	-	Apr	Sat>=1	24:00	1:00	D
-@@ -2113,7 +2117,7 @@
- # From Paul Eggert (2013-12-11):
- # As Steffen suggested, consider the past 21-month experiment to be DST.
- 
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- Rule	Jordan	1973	only	-	Jun	6	0:00	1:00	S
- Rule	Jordan	1973	1975	-	Oct	1	0:00	0	-
- Rule	Jordan	1974	1977	-	May	1	0:00	1:00	S
-@@ -2439,7 +2443,7 @@
- # Our government cancels daylight saving time 6th of August 2005.
- # From 2005-08-12 our GMT-offset is +6, w/o any daylight saving.
- 
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- Rule	Kyrgyz	1992	1996	-	Apr	Sun>=7	0:00s	1:00	-
- Rule	Kyrgyz	1992	1996	-	Sep	lastSun	0:00	0	-
- Rule	Kyrgyz	1997	2005	-	Mar	lastSun	2:30	1:00	-
-@@ -2495,7 +2499,7 @@
- # follow and continued to use GMT+9:00 for interoperability.
- 
- 
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- Rule	ROK	1948	only	-	Jun	 1	 0:00	1:00	D
- Rule	ROK	1948	only	-	Sep	12	24:00	0	S
- Rule	ROK	1949	only	-	Apr	 3	 0:00	1:00	D
-@@ -2583,7 +2587,7 @@
- 
- 
- # Lebanon
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- Rule	Lebanon	1920	only	-	Mar	28	0:00	1:00	S
- Rule	Lebanon	1920	only	-	Oct	25	0:00	0	-
- Rule	Lebanon	1921	only	-	Apr	3	0:00	1:00	S
-@@ -2613,7 +2617,7 @@
- 			2:00	Lebanon	EE%sT
- 
- # Malaysia
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- Rule	NBorneo	1935	1941	-	Sep	14	0:00	0:20	-
- Rule	NBorneo	1935	1941	-	Dec	14	0:00	0	-
- #
-@@ -2758,7 +2762,7 @@
- # September daylight saving time ends.  Source:
- # http://zasag.mn/news/view/8969
- 
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- Rule	Mongol	1983	1984	-	Apr	1	0:00	1:00	-
- Rule	Mongol	1983	only	-	Oct	1	0:00	0	-
- # Shanks & Pottenger and IATA SSIM say 1990s switches occurred at 00:00,
-@@ -2946,7 +2950,7 @@
- # "People laud PM's announcement to end DST"
- # http://www.app.com.pk/en_/index.php?option=com_content&task=view&id=99374&Itemid=2
- 
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- Rule Pakistan	2002	only	-	Apr	Sun>=2	0:00	1:00	S
- Rule Pakistan	2002	only	-	Oct	Sun>=2	0:00	0	-
- Rule Pakistan	2008	only	-	Jun	1	0:00	1:00	S
-@@ -3248,7 +3252,7 @@
- # From Tim Parenti (2016-10-19):
- # Predict fall transitions on October's last Saturday at 01:00 from now on.
- 
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- Rule EgyptAsia	1957	only	-	May	10	0:00	1:00	S
- Rule EgyptAsia	1957	1958	-	Oct	 1	0:00	0	-
- Rule EgyptAsia	1958	only	-	May	 1	0:00	1:00	S
-@@ -3348,7 +3352,7 @@
- # influence of the sources.  There is no current abbreviation for DST,
- # so use "PDT", the usual American style.
- 
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- Rule	Phil	1936	only	-	Nov	1	0:00	1:00	D
- Rule	Phil	1937	only	-	Feb	1	0:00	0	S
- Rule	Phil	1954	only	-	Apr	12	0:00	1:00	D
-@@ -3496,7 +3500,7 @@
- 			5:30	-	+0530
- 
- # Syria
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- Rule	Syria	1920	1923	-	Apr	Sun>=15	2:00	1:00	S
- Rule	Syria	1920	1923	-	Oct	Sun>=1	2:00	0	-
- Rule	Syria	1962	only	-	Apr	29	2:00	1:00	S
-diff --git a/make/data/tzdata/australasia b/make/data/tzdata/australasia
---- a/make/data/tzdata/australasia
-+++ b/make/data/tzdata/australasia
-@@ -36,7 +36,7 @@
- 
- # Please see the notes below for the controversy about "EST" versus "AEST" etc.
- 
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- Rule	Aus	1917	only	-	Jan	 1	0:01	1:00	D
- Rule	Aus	1917	only	-	Mar	25	2:00	0	S
- Rule	Aus	1942	only	-	Jan	 1	2:00	1:00	D
-@@ -55,7 +55,7 @@
- 			 9:30	Aus	AC%sT
- # Western Australia
- #
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- Rule	AW	1974	only	-	Oct	lastSun	2:00s	1:00	D
- Rule	AW	1975	only	-	Mar	Sun>=1	2:00s	0	S
- Rule	AW	1983	only	-	Oct	lastSun	2:00s	1:00	D
-@@ -93,7 +93,7 @@
- # applies to all of the Whitsundays.
- # http://www.australia.gov.au/about-australia/australian-story/austn-islands
- #
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- Rule	AQ	1971	only	-	Oct	lastSun	2:00s	1:00	D
- Rule	AQ	1972	only	-	Feb	lastSun	2:00s	0	S
- Rule	AQ	1989	1991	-	Oct	lastSun	2:00s	1:00	D
-@@ -109,7 +109,7 @@
- 			10:00	Holiday	AE%sT
- 
- # South Australia
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- Rule	AS	1971	1985	-	Oct	lastSun	2:00s	1:00	D
- Rule	AS	1986	only	-	Oct	19	2:00s	1:00	D
- Rule	AS	1987	2007	-	Oct	lastSun	2:00s	1:00	D
-@@ -137,7 +137,7 @@
- # http://www.bom.gov.au/climate/averages/tables/dst_times.shtml
- # says King Island didn't observe DST from WWII until late 1971.
- #
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- Rule	AT	1967	only	-	Oct	Sun>=1	2:00s	1:00	D
- Rule	AT	1968	only	-	Mar	lastSun	2:00s	0	S
- Rule	AT	1968	1985	-	Oct	lastSun	2:00s	1:00	D
-@@ -170,7 +170,7 @@
- 			10:00	AT	AE%sT
- 
- # Victoria
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- Rule	AV	1971	1985	-	Oct	lastSun	2:00s	1:00	D
- Rule	AV	1972	only	-	Feb	lastSun	2:00s	0	S
- Rule	AV	1973	1985	-	Mar	Sun>=1	2:00s	0	S
-@@ -191,7 +191,7 @@
- 			10:00	AV	AE%sT
- 
- # New South Wales
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- Rule	AN	1971	1985	-	Oct	lastSun	2:00s	1:00	D
- Rule	AN	1972	only	-	Feb	27	2:00s	0	S
- Rule	AN	1973	1981	-	Mar	Sun>=1	2:00s	0	S
-@@ -220,7 +220,7 @@
- 			9:30	AS	AC%sT
- 
- # Lord Howe Island
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- Rule	LH	1981	1984	-	Oct	lastSun	2:00	1:00	-
- Rule	LH	1982	1985	-	Mar	Sun>=1	2:00	0	-
- Rule	LH	1985	only	-	Oct	lastSun	2:00	0:30	-
-@@ -275,8 +275,9 @@
- 			10:00	Aus	AE%sT	1919 Apr  1  0:00s
- 			0	-	-00	1948 Mar 25
- 			10:00	Aus	AE%sT	1967
--			10:00	AT	AE%sT	2010 Apr  4  3:00
--			11:00	-	+11
-+			10:00	AT	AE%sT	2010
-+			10:00	1:00	AEDT	2011
-+			10:00	AT	AE%sT
- 
- # Christmas
- # Zone	NAME		STDOFF	RULES	FORMAT	[UNTIL]
-@@ -403,7 +404,7 @@
- # From Michael Deckers (2019-08-06):
- # https://www.laws.gov.fj/LawsAsMade/downloadfile/848
- 
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- Rule	Fiji	1998	1999	-	Nov	Sun>=1	2:00	1:00	-
- Rule	Fiji	1999	2000	-	Feb	lastSun	3:00	0	-
- Rule	Fiji	2009	only	-	Nov	29	2:00	1:00	-
-@@ -432,7 +433,7 @@
- 
- # Guam
- 
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- # http://guamlegislature.com/Public_Laws_5th/PL05-025.pdf
- # http://documents.guam.gov/wp-content/uploads/E.O.-59-7-Guam-Daylight-Savings-Time-May-6-1959.pdf
- Rule	Guam	1959	only	-	Jun	27	2:00	1:00	D
-@@ -543,7 +544,7 @@
- 			12:00	-	+12
- 
- # New Caledonia
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- Rule	NC	1977	1978	-	Dec	Sun>=1	0:00	1:00	-
- Rule	NC	1978	1979	-	Feb	27	0:00	0	-
- Rule	NC	1996	only	-	Dec	 1	2:00s	1:00	-
-@@ -558,7 +559,7 @@
- 
- # New Zealand
- 
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- Rule	NZ	1927	only	-	Nov	 6	2:00	1:00	S
- Rule	NZ	1928	only	-	Mar	 4	2:00	0	M
- Rule	NZ	1928	1933	-	Oct	Sun>=8	2:00	0:30	S
-@@ -610,7 +611,7 @@
- 
- # Cook Is
- # From Shanks & Pottenger:
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- Rule	Cook	1978	only	-	Nov	12	0:00	0:30	-
- Rule	Cook	1979	1991	-	Mar	Sun>=1	0:00	0	-
- Rule	Cook	1979	1990	-	Oct	lastSun	0:00	0:30	-
-@@ -755,7 +756,7 @@
- # That web page currently lists transitions for 2012/3 and 2013/4.
- # Assume the pattern instituted in 2012 will continue indefinitely.
- 
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- Rule	WS	2010	only	-	Sep	lastSun	0:00	1	-
- Rule	WS	2011	only	-	Apr	Sat>=1	4:00	0	-
- Rule	WS	2011	only	-	Sep	lastSat	3:00	1	-
-@@ -799,7 +800,7 @@
- 			13:00	-	+13
- 
- # Tonga
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- Rule	Tonga	1999	only	-	Oct	 7	2:00s	1:00	-
- Rule	Tonga	2000	only	-	Mar	19	2:00s	0	-
- Rule	Tonga	2000	2001	-	Nov	Sun>=1	2:00	1:00	-
-@@ -880,7 +881,7 @@
- 
- 
- # Vanuatu
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- Rule	Vanuatu	1983	only	-	Sep	25	0:00	1:00	-
- Rule	Vanuatu	1984	1991	-	Mar	Sun>=23	0:00	0	-
- Rule	Vanuatu	1984	only	-	Oct	23	0:00	1:00	-
-diff --git a/make/data/tzdata/europe b/make/data/tzdata/europe
---- a/make/data/tzdata/europe
-+++ b/make/data/tzdata/europe
-@@ -411,7 +411,7 @@
- # http://www.irishstatutebook.ie/eli/1926/sro/919/made/en/print
- # http://www.irishstatutebook.ie/eli/1947/sro/71/made/en/print
- 
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- # Summer Time Act, 1916
- Rule	GB-Eire	1916	only	-	May	21	2:00s	1:00	BST
- Rule	GB-Eire	1916	only	-	Oct	 1	2:00s	0	GMT
-@@ -552,7 +552,7 @@
- # The following is like GB-Eire and EU, except with standard time in
- # summer and negative daylight saving time in winter.  It is for when
- # negative SAVE values are used.
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- Rule	Eire	1971	only	-	Oct	31	 2:00u	-1:00	-
- Rule	Eire	1972	1980	-	Mar	Sun>=16	 2:00u	0	-
- Rule	Eire	1972	1980	-	Oct	Sun>=23	 2:00u	-1:00	-
-@@ -589,7 +589,7 @@
- # predecessor organization, the European Communities.
- # For brevity they are called "EU rules" elsewhere in this file.
- 
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- Rule	EU	1977	1980	-	Apr	Sun>=1	 1:00u	1:00	S
- Rule	EU	1977	only	-	Sep	lastSun	 1:00u	0	-
- Rule	EU	1978	only	-	Oct	 1	 1:00u	0	-
-@@ -629,13 +629,13 @@
- # corrected in version 2008d). The circumstantial evidence is simply the
- # tz database itself, as seen below:
- #
--# Zone Europe/Paris 0:09:21 - LMT 1891 Mar 15  0:01
-+# Zone Europe/Paris ...
- #    0:00 France WE%sT 1945 Sep 16  3:00
- #
--# Zone Europe/Monaco 0:29:32 - LMT 1891 Mar 15
-+# Zone Europe/Monaco ...
- #    0:00 France WE%sT 1945 Sep 16  3:00
- #
--# Zone Europe/Belgrade 1:22:00 - LMT 1884
-+# Zone Europe/Belgrade ...
- #    1:00 1:00 CEST 1945 Sep 16  2:00s
- #
- # Rule France 1945 only - Sep 16  3:00 0 -
-@@ -681,7 +681,7 @@
- #
- # The 1917-1921 decree URLs are from Alexander Belopolsky (2016-08-23).
- 
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- Rule	Russia	1917	only	-	Jul	 1	23:00	1:00	MST  # Moscow Summer Time
- #
- # Decree No. 142 (1917-12-22) http://istmat.info/node/28137
-@@ -795,7 +795,7 @@
- 
- 
- # Albania
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- Rule	Albania	1940	only	-	Jun	16	0:00	1:00	S
- Rule	Albania	1942	only	-	Nov	 2	3:00	0	-
- Rule	Albania	1943	only	-	Mar	29	2:00	1:00	S
-@@ -849,7 +849,7 @@
- # In 1946 the end of DST was on Monday, 7 October 1946, at 3:00 am.
- # Shanks had this right.  Source: Die Weltpresse, 5. Oktober 1946, page 5.
- 
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- Rule	Austria	1920	only	-	Apr	 5	2:00s	1:00	S
- Rule	Austria	1920	only	-	Sep	13	2:00s	0	-
- Rule	Austria	1946	only	-	Apr	14	2:00s	1:00	S
-@@ -936,7 +936,7 @@
- # The 1918 rules are listed for completeness; they apply to unoccupied Belgium.
- # Assume Brussels switched to WET in 1918 when the armistice took effect.
- #
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- Rule	Belgium	1918	only	-	Mar	 9	 0:00s	1:00	S
- Rule	Belgium	1918	1919	-	Oct	Sat>=1	23:00s	0	-
- Rule	Belgium	1919	only	-	Mar	 1	23:00s	1:00	S
-@@ -996,7 +996,7 @@
- # EET -> EETDST is in 03:00 Local time in last Sunday of March ...
- # EETDST -> EET is in 04:00 Local time in last Sunday of October
- #
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- Rule	Bulg	1979	only	-	Mar	31	23:00	1:00	S
- Rule	Bulg	1979	only	-	Oct	 1	 1:00	0	-
- Rule	Bulg	1980	1982	-	Apr	Sat>=1	23:00	1:00	S
-@@ -1028,7 +1028,7 @@
- # We know of no English-language name for historical Czech winter time;
- # abbreviate it as "GMT", as it happened to be GMT.
- #
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- Rule	Czech	1945	only	-	Apr	Mon>=1	2:00s	1:00	S
- Rule	Czech	1945	only	-	Oct	 1	2:00s	0	-
- Rule	Czech	1946	only	-	May	 6	2:00s	1:00	S
-@@ -1084,7 +1084,7 @@
- # Hence the "02:00" of the 1980 law refers to standard time, not
- # wall-clock time, and so the EU rules were in effect in 1980.
- 
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- Rule	Denmark	1916	only	-	May	14	23:00	1:00	S
- Rule	Denmark	1916	only	-	Sep	30	23:00	0	-
- Rule	Denmark	1940	only	-	May	15	 0:00	1:00	S
-@@ -1186,7 +1186,7 @@
- # http://naalakkersuisut.gl/~/media/Nanoq/Files/Attached%20Files/Engelske-tekster/Legislation/Executive%20Order%20National%20Park.rtf
- # It is their only National Park.
- #
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- Rule	Thule	1991	1992	-	Mar	lastSun	2:00	1:00	D
- Rule	Thule	1991	1992	-	Sep	lastSun	2:00	0	S
- Rule	Thule	1993	2006	-	Apr	Sun>=1	2:00	1:00	D
-@@ -1317,7 +1317,7 @@
- # From Paul Eggert (2014-06-14):
- # Go with Oja over Shanks.
- 
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- Rule	Finland	1942	only	-	Apr	2	24:00	1:00	S
- Rule	Finland	1942	only	-	Oct	4	1:00	0	-
- Rule	Finland	1981	1982	-	Mar	lastSun	2:00	1:00	S
-@@ -1349,10 +1349,58 @@
- # Françoise Gauquelin, Problèmes de l'heure résolus en astrologie,
- # Guy Trédaniel, Paris 1987
- 
-+# From Michael Deckers (2020-06-11):
-+# the law of 1891 <https://gallica.bnf.fr/ark:/12148/bpt6k64415343.texteImage>
-+# was published on 1891-03-15, so it could only take force on 1891-03-16.
-+
-+# From Michael Deckers (2020-06-10):
-+# Le Gaulois, 1911-03-11, page 1/6, online at
-+# https://www.retronews.fr/societe/echo-de-presse/2018/01/29/1911-change-lheure-de-paris
-+# ... [ Instantly, all pressure driven clock dials halted...  Nine minutes and
-+#       twenty-one seconds later the hands resumed their circular motion. ]
-+# There are also precise reports about how the change was prepared in train
-+# stations: all the publicly visible clocks stopped at midnight railway time
-+# (or were covered), only the chief of service had a watch, labeled
-+# "Heure ancienne", that he kept running until it reached 00:04:21, when
-+# he announced "Heure nouvelle".  See the "Le Petit Journal 1911-03-11".
-+# https://gallica.bnf.fr/ark:/12148/bpt6k6192911/f1.item.zoom
-+#
-+# From Michael Deckers (2020-06-12):
-+# That "all French clocks stopped" for 00:09:21 is a misreading of French
-+# newspapers; this sort of adjustment applies only to certain
-+# remote-controlled clocks ("pendules pneumatiques", of which there existed
-+# perhaps a dozen in Paris, and which simply could not be set back remotely),
-+# but not to all the clocks in all French towns and villages.  For instance,
-+# the following story in the "Courrier de Saône-et-Loire" 1911-03-11, page 2:
-+# only works if legal time was stepped back (was not monotone): ...
-+#   [One can observe that children who had been born at midnight less 5
-+#    minutes and who had died at midnight of the old time, would turn out to
-+#    be dead before being born, time having been set back and having
-+#    suppressed 9 minutes and 25 seconds of their existence, that is, more
-+#    than they could spend.]
-+#
-+# From Paul Eggert (2020-06-12):
-+# French time in railway stations was legally five minutes behind civil time,
-+# which explains why railway "old time" ran to 00:04:21 instead of to 00:09:21.
-+# The law's text (which Michael Deckers noted is at
-+# <https://gallica.bnf.fr/ark:/12148/bpt6k2022333z/f2>) says only that
-+# at 1911-03-11 00:00 legal time was that of Paris mean time delayed by
-+# nine minutes and twenty-one seconds, and does not say how the
-+# transition from Paris mean time was to occur.
-+#
-+# tzdb has no way to represent stopped clocks.  As the railway practice
-+# was to keep a watch running on "old time" to decide when to restart
-+# the other clocks, this could be modeled as a transition for "old time" at
-+# 00:09:21.  However, since the law was ambiguous and clocks outside railway
-+# stations were probably done haphazardly with the popular impression being
-+# that the transition was done at 00:00 "old time", simply leave the time
-+# blank; this causes zic to default to 00:00 "old time" which is good enough.
-+# Do something similar for the 1891-03-16 transition.  There are similar
-+# problems in Algiers, Monaco and Tunis.
- 
- #
- # Shank & Pottenger seem to use '24:00' ambiguously; resolve it with Whitman.
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- Rule	France	1916	only	-	Jun	14	23:00s	1:00	S
- Rule	France	1916	1919	-	Oct	Sun>=1	23:00s	0	-
- Rule	France	1917	only	-	Mar	24	23:00s	1:00	S
-@@ -1412,13 +1460,11 @@
- # go with Excoffier's 28/3/76 0hUT and 25/9/76 23hUT.
- Rule	France	1976	only	-	Mar	28	 1:00	1:00	S
- Rule	France	1976	only	-	Sep	26	 1:00	0	-
--# Shanks & Pottenger give 0:09:20 for Paris Mean Time, and Whitman 0:09:05,
--# but Howse quotes the actual French legislation as saying 0:09:21.
--# Go with Howse.  Howse writes that the time in France was officially based
-+# Howse writes that the time in France was officially based
- # on PMT-0:09:21 until 1978-08-09, when the time base finally switched to UTC.
- # Zone	NAME		STDOFF	RULES	FORMAT	[UNTIL]
--Zone	Europe/Paris	0:09:21 -	LMT	1891 Mar 15  0:01
--			0:09:21	-	PMT	1911 Mar 11  0:01 # Paris MT
-+Zone	Europe/Paris	0:09:21 -	LMT	1891 Mar 16
-+			0:09:21	-	PMT	1911 Mar 11 # Paris Mean Time
- # Shanks & Pottenger give 1940 Jun 14 0:00; go with Excoffier and Le Corre.
- 			0:00	France	WE%sT	1940 Jun 14 23:00
- # Le Corre says Paris stuck with occupied-France time after the liberation;
-@@ -1447,7 +1493,7 @@
- # this was equivalent to UT +03, not +04.
- 
- 
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- Rule	Germany	1946	only	-	Apr	14	2:00s	1:00	S
- Rule	Germany	1946	only	-	Oct	 7	2:00s	0	-
- Rule	Germany	1947	1949	-	Oct	Sun>=1	2:00s	0	-
-@@ -1499,7 +1545,7 @@
- 			1:00	EU	CE%sT
- 
- # Greece
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- # Whitman gives 1932 Jul 5 - Nov 1; go with Shanks & Pottenger.
- Rule	Greece	1932	only	-	Jul	 7	0:00	1:00	S
- Rule	Greece	1932	only	-	Sep	 1	0:00	0	-
-@@ -1534,38 +1580,69 @@
- 			2:00	EU	EE%sT
- 
- # Hungary
--# From Paul Eggert (2014-07-15):
--# Dates for 1916-1945 are taken from:
--# Oross A. Jelen a múlt jövője: a nyári időszámítás Magyarországon 1916-1945.
--# National Archives of Hungary (2012-10-29).
--# http://mnl.gov.hu/a_het_dokumentuma/a_nyari_idoszamitas_magyarorszagon_19161945.html
--# This source does not always give times, which are taken from Shanks
--# & Pottenger (which disagree about the dates).
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
--Rule	Hungary	1918	only	-	Apr	 1	 3:00	1:00	S
--Rule	Hungary	1918	only	-	Sep	16	 3:00	0	-
--Rule	Hungary	1919	only	-	Apr	15	 3:00	1:00	S
--Rule	Hungary	1919	only	-	Nov	24	 3:00	0	-
-+
-+# From Michael Deckers (2020-06-09):
-+# an Austrian encyclopedia of railroads of 1913, online at
-+# http://www.zeno.org/Roell-1912/A/Eisenbahnzeit
-+# says that the switch [to CET] happened on 1890-11-01.
-+
-+# From Géza Nyáry (2020-06-07):
-+# Data for 1918-1983 are based on the archive database of Library Hungaricana.
-+# The dates are collected from original, scanned governmental orders,
-+# bulletins, instructions and public press.
-+# [See URLs below.]
-+
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
-+# https://library.hungaricana.hu/hu/view/OGYK_RT_1918/?pg=238
-+# https://library.hungaricana.hu/hu/view/OGYK_RT_1919/?pg=808
-+# https://library.hungaricana.hu/hu/view/OGYK_RT_1920/?pg=201
-+Rule	Hungary	1918	1919	-	Apr	15	 2:00	1:00	S
-+Rule	Hungary	1918	1920	-	Sep	Mon>=15	 3:00	0	-
-+Rule	Hungary	1920	only	-	Apr	 5	 2:00	1:00	S
-+# https://library.hungaricana.hu/hu/view/OGYK_RT_1945/?pg=882
- Rule	Hungary	1945	only	-	May	 1	23:00	1:00	S
--Rule	Hungary	1945	only	-	Nov	 1	 0:00	0	-
-+Rule	Hungary	1945	only	-	Nov	 1	 1:00	0	-
-+# https://library.hungaricana.hu/hu/view/Delmagyarorszag_1946_03/?pg=49
- Rule	Hungary	1946	only	-	Mar	31	 2:00s	1:00	S
--Rule	Hungary	1946	1949	-	Oct	Sun>=1	 2:00s	0	-
-+# https://library.hungaricana.hu/hu/view/Delmagyarorszag_1946_09/?pg=54
-+Rule	Hungary	1946	only	-	Oct	 7	 2:00	0	-
-+# https://library.hungaricana.hu/hu/view/KulfBelfHirek_1947_04_1__001-123/?pg=90
-+# https://library.hungaricana.hu/hu/view/DunantuliNaplo_1947_09/?pg=128
-+# https://library.hungaricana.hu/hu/view/KulfBelfHirek_1948_03_3__001-123/?pg=304
-+# https://library.hungaricana.hu/hu/view/Zala_1948_09/?pg=64
-+# https://library.hungaricana.hu/hu/view/SatoraljaujhelyiLeveltar_ZempleniNepujsag_1948/?pg=53
-+# https://library.hungaricana.hu/hu/view/SatoraljaujhelyiLeveltar_ZempleniNepujsag_1948/?pg=160
-+# https://library.hungaricana.hu/hu/view/Delmagyarorszag_1949_09/?pg=94
- Rule	Hungary	1947	1949	-	Apr	Sun>=4	 2:00s	1:00	S
--Rule	Hungary	1950	only	-	Apr	17	 2:00s	1:00	S
--Rule	Hungary	1950	only	-	Oct	23	 2:00s	0	-
--Rule	Hungary	1954	1955	-	May	23	 0:00	1:00	S
--Rule	Hungary	1954	1955	-	Oct	 3	 0:00	0	-
--Rule	Hungary	1956	only	-	Jun	Sun>=1	 0:00	1:00	S
--Rule	Hungary	1956	only	-	Sep	lastSun	 0:00	0	-
--Rule	Hungary	1957	only	-	Jun	Sun>=1	 1:00	1:00	S
--Rule	Hungary	1957	only	-	Sep	lastSun	 3:00	0	-
--Rule	Hungary	1980	only	-	Apr	 6	 1:00	1:00	S
-+Rule	Hungary	1947	1949	-	Oct	Sun>=1	 2:00s	0	-
-+# https://library.hungaricana.hu/hu/view/DTT_KOZL_TanacsokKozlonye_1954/?pg=513
-+Rule	Hungary	1954	only	-	May	23	 0:00	1:00	S
-+Rule	Hungary	1954	only	-	Oct	 3	 0:00	0	-
-+# https://library.hungaricana.hu/hu/view/DTT_KOZL_TanacsokKozlonye_1955/?pg=398
-+Rule	Hungary	1955	only	-	May	22	 2:00	1:00	S
-+Rule	Hungary	1955	only	-	Oct	 2	 3:00	0	-
-+# https://library.hungaricana.hu/hu/view/HevesMegyeiNepujsag_1956_06/?pg=0
-+# https://library.hungaricana.hu/hu/view/EszakMagyarorszag_1956_06/?pg=6
-+# https://library.hungaricana.hu/hu/view/SzolnokMegyeiNeplap_1957_04/?pg=120
-+# https://library.hungaricana.hu/hu/view/PestMegyeiHirlap_1957_09/?pg=143
-+Rule	Hungary	1956	1957	-	Jun	Sun>=1	 2:00	1:00	S
-+Rule	Hungary	1956	1957	-	Sep	lastSun	 3:00	0	-
-+# https://library.hungaricana.hu/hu/view/DTT_KOZL_TanacsokKozlonye_1980/?pg=1227
-+Rule	Hungary	1980	only	-	Apr	 6	 0:00	1:00	S
-+Rule	Hungary	1980	only	-	Sep	28	 1:00	0	-
-+# https://library.hungaricana.hu/hu/view/Delmagyarorszag_1981_01/?pg=79
-+# https://library.hungaricana.hu/hu/view/DTT_KOZL_TanacsokKozlonye_1982/?pg=115
-+# https://library.hungaricana.hu/hu/view/DTT_KOZL_TanacsokKozlonye_1983/?pg=85
-+Rule	Hungary	1981	1983	-	Mar	lastSun	 0:00	1:00	S
-+Rule	Hungary	1981	1983	-	Sep	lastSun	 1:00	0	-
-+#
- # Zone	NAME		STDOFF	RULES	FORMAT	[UNTIL]
--Zone	Europe/Budapest	1:16:20 -	LMT	1890 Oct
-+Zone	Europe/Budapest	1:16:20 -	LMT	1890 Nov  1
- 			1:00	C-Eur	CE%sT	1918
--			1:00	Hungary	CE%sT	1941 Apr  8
-+# https://library.hungaricana.hu/hu/view/OGYK_RT_1941/?pg=1204
-+			1:00	Hungary	CE%sT	1941 Apr  7 23:00
- 			1:00	C-Eur	CE%sT	1945
--			1:00	Hungary	CE%sT	1980 Sep 28  2:00s
-+			1:00	Hungary	CE%sT	1984
- 			1:00	EU	CE%sT
- 
- # Iceland
-@@ -1601,7 +1678,7 @@
- # The information below is taken from the 1988 Almanak; see
- # http://www.almanak.hi.is/klukkan.html
- #
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- Rule	Iceland	1917	1919	-	Feb	19	23:00	1:00	-
- Rule	Iceland	1917	only	-	Oct	21	 1:00	0	-
- Rule	Iceland	1918	1919	-	Nov	16	 1:00	0	-
-@@ -1693,7 +1770,7 @@
- # to 1944-06-04; although Rome was an open city during this period, it
- # was effectively controlled by Germany.
- #
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- Rule	Italy	1916	only	-	Jun	 3	24:00	1:00	S
- Rule	Italy	1916	1917	-	Sep	30	24:00	0	-
- Rule	Italy	1917	only	-	Mar	31	24:00	1:00	S
-@@ -1803,7 +1880,7 @@
- # urged Lithuania and Estonia to adopt a similar time policy, but it
- # appears that they will not do so....
- 
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- Rule	Latvia	1989	1996	-	Mar	lastSun	 2:00s	1:00	S
- Rule	Latvia	1989	1996	-	Sep	lastSun	 2:00s	0	-
- 
-@@ -1896,7 +1973,7 @@
- # Luxembourg
- # Whitman disagrees with most of these dates in minor ways;
- # go with Shanks & Pottenger.
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- Rule	Lux	1916	only	-	May	14	23:00	1:00	S
- Rule	Lux	1916	only	-	Oct	 1	 1:00	0	-
- Rule	Lux	1917	only	-	Apr	28	23:00	1:00	S
-@@ -1937,7 +2014,7 @@
- # From Paul Eggert (2016-10-21):
- # Assume 1900-1972 was like Rome, overriding Shanks.
- #
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- Rule	Malta	1973	only	-	Mar	31	0:00s	1:00	S
- Rule	Malta	1973	only	-	Sep	29	0:00s	0	-
- Rule	Malta	1974	only	-	Apr	21	0:00s	1:00	S
-@@ -2010,7 +2087,7 @@
- # says the 2014-03-30 spring-forward transition was at 02:00 local time.
- # Guess that since 1997 Moldova has switched one hour before the EU.
- 
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- Rule	Moldova	1997	max	-	Mar	lastSun	 2:00	1:00	S
- Rule	Moldova	1997	max	-	Oct	lastSun	 3:00	0	-
- 
-@@ -2028,11 +2105,24 @@
- 			2:00	Moldova	EE%sT
- 
- # Monaco
--# Shanks & Pottenger give 0:09:20 for Paris Mean Time; go with Howse's
--# more precise 0:09:21.
-+#
-+# From Michael Deckers (2020-06-12):
-+# In the "Journal de Monaco" of 1892-05-24, online at
-+# https://journaldemonaco.gouv.mc/var/jdm/storage/original/application/b1c67c12c5af11b41ea888fb048e4fe8.pdf
-+# we read: ...
-+#  [In virtue of a Sovereign Ordinance of the May 13 of the current [year],
-+#   legal time in the Principality will be set to, from the date of June 1,
-+#   1892 onwards, to the meridian of Paris, as in France.]
-+# In the "Journal de Monaco" of 1911-03-28, online at
-+# https://journaldemonaco.gouv.mc/var/jdm/storage/original/application/de74ffb7db53d4f599059fe8f0ed482a.pdf
-+# we read an ordinance of 1911-03-16: ...
-+#  [Legal time in the Principality will be set, from the date of promulgation
-+#   of the present ordinance, to legal time in France....  Consequently, legal
-+#   time will be retarded by 9 minutes and 21 seconds.]
-+#
- # Zone	NAME		STDOFF	RULES	FORMAT	[UNTIL]
--Zone	Europe/Monaco	0:29:32 -	LMT	1891 Mar 15
--			0:09:21	-	PMT	1911 Mar 11 # Paris Mean Time
-+Zone	Europe/Monaco	0:29:32 -	LMT	1892 Jun  1
-+			0:09:21	-	PMT	1911 Mar 29 # Paris Mean Time
- 			0:00	France	WE%sT	1945 Sep 16  3:00
- 			1:00	France	CE%sT	1977
- 			1:00	EU	CE%sT
-@@ -2080,7 +2170,7 @@
- # The data entries before 1945 are taken from
- # https://www.staff.science.uu.nl/~gent0113/wettijd/wettijd.htm
- 
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- Rule	Neth	1916	only	-	May	 1	0:00	1:00	NST	# Netherlands Summer Time
- Rule	Neth	1916	only	-	Oct	 1	0:00	0	AMT	# Amsterdam Mean Time
- Rule	Neth	1917	only	-	Apr	16	2:00s	1:00	NST
-@@ -2117,7 +2207,7 @@
- # Norway
- # http://met.no/met/met_lex/q_u/sommertid.html (2004-01) agrees with Shanks &
- # Pottenger.
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- Rule	Norway	1916	only	-	May	22	1:00	1:00	S
- Rule	Norway	1916	only	-	Sep	30	0:00	0	-
- Rule	Norway	1945	only	-	Apr	 2	2:00s	1:00	S
-@@ -2186,7 +2276,7 @@
- # The 1919 dates and times can be found in Tygodnik Urzędowy nr 1 (1919-03-20),
- # <http://www.wbc.poznan.pl/publication/32156> pp 1-2.
- 
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- Rule	Poland	1918	1919	-	Sep	16	2:00s	0	-
- Rule	Poland	1919	only	-	Apr	15	2:00s	1:00	S
- Rule	Poland	1944	only	-	Apr	 3	2:00s	1:00	S
-@@ -2257,7 +2347,7 @@
- # Guess that the Azores changed to EU rules in 1992 (since that's when Portugal
- # harmonized with EU rules), and that they stayed +0:00 that winter.
- #
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- # DSH writes that despite Decree 1,469 (1915), the change to the clocks was not
- # done every year, depending on what Spain did, because of railroad schedules.
- # Go with Shanks & Pottenger.
-@@ -2370,7 +2460,7 @@
- # assume that Romania and Moldova switched to EU rules in 1997,
- # the same year as Bulgaria.
- #
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- Rule	Romania	1932	only	-	May	21	 0:00s	1:00	S
- Rule	Romania	1932	1939	-	Oct	Sun>=1	 0:00s	0	-
- Rule	Romania	1933	1939	-	Apr	Sun>=2	 0:00s	1:00	S
-@@ -3468,14 +3558,14 @@
- # fallback transition from the next day's 00:59... to 00:00.
- 
- # From Michael Deckers (2016-12-15):
--# The Royal Decree of 1900-06-26 quoted by Planesas, online at
-+# The Royal Decree of 1900-07-26 quoted by Planesas, online at
- # https://www.boe.es/datos/pdfs/BOE//1900/209/A00383-00384.pdf
- # says in its article 5 (my translation):
- # These dispositions will enter into force beginning with the
- # instant at which, according to the time indicated in article 1,
- # the 1st day of January of 1901 will begin.
- 
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- Rule	Spain	1918	only	-	Apr	15	23:00	1:00	S
- Rule	Spain	1918	1919	-	Oct	 6	24:00s	0	-
- Rule	Spain	1919	only	-	Apr	 6	23:00	1:00	S
-@@ -3612,7 +3702,7 @@
- # By the end of the 18th century clocks and watches became commonplace
- # and their performance improved enormously.  Communities began to keep
- # mean time in preference to apparent time - Geneva from 1780 ....
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- # From Whitman (who writes "Midnight?"):
- # Rule	Swiss	1940	only	-	Nov	 2	0:00	1:00	S
- # Rule	Swiss	1940	only	-	Dec	31	0:00	0	-
-@@ -3699,7 +3789,7 @@
- # 1853-07-16, though it probably occurred at some other date in Zurich, and
- # legal civil time probably changed at still some other transition date.
- 
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- Rule	Swiss	1941	1942	-	May	Mon>=1	1:00	1:00	S
- Rule	Swiss	1941	1942	-	Oct	Mon>=1	2:00	0	-
- # Zone	NAME		STDOFF	RULES	FORMAT	[UNTIL]
-@@ -3848,7 +3938,7 @@
- # Although Google Translate misfires on that source, it looks like
- # Turkey reversed last month's decision, and so will stay at +03.
- 
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- Rule	Turkey	1916	only	-	May	 1	0:00	1:00	S
- Rule	Turkey	1916	only	-	Oct	 1	0:00	0	-
- Rule	Turkey	1920	only	-	Mar	28	0:00	1:00	S
-@@ -4006,7 +4096,7 @@
- 			2:00	1:00	EEST	1991 Sep 29  3:00
- 			2:00	E-Eur	EE%sT	1995
- 			2:00	EU	EE%sT
--# Ruthenia used CET 1990/1991.
-+# Transcarpathia used CET 1990/1991.
- # "Uzhhorod" is the transliteration of the Rusyn/Ukrainian pronunciation, but
- # "Uzhgorod" is more common in English.
- Zone Europe/Uzhgorod	1:29:12 -	LMT	1890 Oct
-diff --git a/make/data/tzdata/leapseconds b/make/data/tzdata/leapseconds
---- a/make/data/tzdata/leapseconds
-+++ b/make/data/tzdata/leapseconds
-@@ -91,11 +91,11 @@
- # Any additional leap seconds will come after this.
- # This Expires line is commented out for now,
- # so that pre-2020a zic implementations do not reject this file.
--#Expires 2020	Dec	28	00:00:00
-+#Expires 2021	Jun	28	00:00:00
- 
- # POSIX timestamps for the data in this file:
- #updated 1467936000 (2016-07-08 00:00:00 UTC)
--#expires 1609113600 (2020-12-28 00:00:00 UTC)
-+#expires 1624838400 (2021-06-28 00:00:00 UTC)
- 
--#	Updated through IERS Bulletin C59
--#	File expires on:  28 December 2020
-+#	Updated through IERS Bulletin C60
-+#	File expires on:  28 June 2021
-diff --git a/make/data/tzdata/northamerica b/make/data/tzdata/northamerica
---- a/make/data/tzdata/northamerica
-+++ b/make/data/tzdata/northamerica
-@@ -193,7 +193,7 @@
- # U.S. government action.  So even though the "US" rules have changed
- # in the latest release, other countries won't be affected.
- 
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- Rule	US	1918	1919	-	Mar	lastSun	2:00	1:00	D
- Rule	US	1918	1919	-	Oct	lastSun	2:00	0	S
- Rule	US	1942	only	-	Feb	9	2:00	1:00	W # War
-@@ -370,7 +370,7 @@
- # Eastern time (i.e., -4:56:01.6) just before the 1883 switch.  Round to the
- # nearest second.
- 
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER
- Rule	NYC	1920	only	-	Mar	lastSun	2:00	1:00	D
- Rule	NYC	1920	only	-	Oct	lastSun	2:00	0	S
- Rule	NYC	1921	1966	-	Apr	lastSun	2:00	1:00	D
-@@ -454,7 +454,7 @@
- # The Tennessean 2007-05-11, republished 2015-04-06.
- # https://www.tennessean.com/story/insider/extras/2015/04/06/archives-seigenthaler-for-100-years-the-tennessean-had-it-covered/25348545/
- 
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER
- Rule	Chicago	1920	only	-	Jun	13	2:00	1:00	D
- Rule	Chicago	1920	1921	-	Oct	lastSun	2:00	0	S
- Rule	Chicago	1921	only	-	Mar	lastSun	2:00	1:00	D
-@@ -523,7 +523,7 @@
- # El Paso Times. 2018-10-24 06:40 -06.
- # https://www.elpasotimes.com/story/news/local/el-paso/2018/10/24/el-pasoans-were-time-rebels-fought-stay-mountain-zone/1744509002/
- #
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER
- Rule	Denver	1920	1921	-	Mar	lastSun	2:00	1:00	D
- Rule	Denver	1920	only	-	Oct	lastSun	2:00	0	S
- Rule	Denver	1921	only	-	May	22	2:00	0	S
-@@ -576,7 +576,7 @@
- # https://repository.uchastings.edu/cgi/viewcontent.cgi?article=1501&context=ca_ballot_props
- # https://repository.uchastings.edu/cgi/viewcontent.cgi?article=1636&context=ca_ballot_props
- #
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER
- Rule	CA	1948	only	-	Mar	14	2:01	1:00	D
- Rule	CA	1949	only	-	Jan	 1	2:00	0	S
- Rule	CA	1950	1966	-	Apr	lastSun	1:00	1:00	D
-@@ -934,7 +934,7 @@
- # going to switch from Central to Eastern Time on March 11, 2007....
- # http://www.indystar.com/apps/pbcs.dll/article?AID=/20070207/LOCAL190108/702070524/0/LOCAL
- 
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER
- Rule Indianapolis 1941	only	-	Jun	22	2:00	1:00	D
- Rule Indianapolis 1941	1954	-	Sep	lastSun	2:00	0	S
- Rule Indianapolis 1946	1954	-	Apr	lastSun	2:00	1:00	D
-@@ -953,7 +953,7 @@
- #
- # Eastern Crawford County, Indiana, left its clocks alone in 1974,
- # as well as from 1976 through 2005.
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER
- Rule	Marengo	1951	only	-	Apr	lastSun	2:00	1:00	D
- Rule	Marengo	1951	only	-	Sep	lastSun	2:00	0	S
- Rule	Marengo	1954	1960	-	Apr	lastSun	2:00	1:00	D
-@@ -972,7 +972,7 @@
- # Daviess, Dubois, Knox, and Martin Counties, Indiana,
- # switched from eastern to central time in April 2006, then switched back
- # in November 2007.
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER
- Rule Vincennes	1946	only	-	Apr	lastSun	2:00	1:00	D
- Rule Vincennes	1946	only	-	Sep	lastSun	2:00	0	S
- Rule Vincennes	1953	1954	-	Apr	lastSun	2:00	1:00	D
-@@ -997,7 +997,7 @@
- # The Indianapolis News, Friday 27 October 1967 states that Perry County
- # returned to CST.  It went again to EST on 27 April 1969, as documented by the
- # Indianapolis star of Saturday 26 April.
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER
- Rule Perry	1955	only	-	May	 1	0:00	1:00	D
- Rule Perry	1955	1960	-	Sep	lastSun	2:00	0	S
- Rule Perry	1956	1963	-	Apr	lastSun	2:00	1:00	D
-@@ -1014,7 +1014,7 @@
- #
- # Pike County, Indiana moved from central to eastern time in 1977,
- # then switched back in 2006, then switched back again in 2007.
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER
- Rule	Pike	1955	only	-	May	 1	0:00	1:00	D
- Rule	Pike	1955	1960	-	Sep	lastSun	2:00	0	S
- Rule	Pike	1956	1964	-	Apr	lastSun	2:00	1:00	D
-@@ -1035,7 +1035,7 @@
- # An article on page A3 of the Sunday, 1991-10-27 Washington Post
- # notes that Starke County switched from Central time to Eastern time as of
- # 1991-10-27.
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER
- Rule	Starke	1947	1961	-	Apr	lastSun	2:00	1:00	D
- Rule	Starke	1947	1954	-	Sep	lastSun	2:00	0	S
- Rule	Starke	1955	1956	-	Oct	lastSun	2:00	0	S
-@@ -1052,7 +1052,7 @@
- #
- # Pulaski County, Indiana, switched from eastern to central time in
- # April 2006 and then switched back in March 2007.
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER
- Rule	Pulaski	1946	1960	-	Apr	lastSun	2:00	1:00	D
- Rule	Pulaski	1946	1954	-	Sep	lastSun	2:00	0	S
- Rule	Pulaski	1955	1956	-	Oct	lastSun	2:00	0	S
-@@ -1094,7 +1094,7 @@
- #
- # Part of Kentucky left its clocks alone in 1974.
- # This also includes Clark, Floyd, and Harrison counties in Indiana.
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER
- Rule Louisville	1921	only	-	May	1	2:00	1:00	D
- Rule Louisville	1921	only	-	Sep	1	2:00	0	S
- Rule Louisville	1941	only	-	Apr	lastSun	2:00	1:00	D
-@@ -1208,7 +1208,7 @@
- # election Michigan voters narrowly repealed DST, effective 1969.
- #
- # Most of Michigan observed DST from 1973 on, but was a bit late in 1975.
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER
- Rule	Detroit	1948	only	-	Apr	lastSun	2:00	1:00	D
- Rule	Detroit	1948	only	-	Sep	lastSun	2:00	0	S
- # Zone	NAME		STDOFF	RULES	FORMAT	[UNTIL]
-@@ -1225,7 +1225,7 @@
- #
- # Dickinson, Gogebic, Iron, and Menominee Counties, Michigan,
- # switched from EST to CST/CDT in 1973.
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER
- Rule Menominee	1946	only	-	Apr	lastSun	2:00	1:00	D
- Rule Menominee	1946	only	-	Sep	lastSun	2:00	0	S
- Rule Menominee	1966	only	-	Apr	lastSun	2:00	1:00	D
-@@ -1395,7 +1395,7 @@
- # Oct 31, to Oct 27, 1918 (and Sunday is a more likely transition day
- # than Thursday) in all Canadian rulesets.
- 
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- Rule	Canada	1918	only	-	Apr	14	2:00	1:00	D
- Rule	Canada	1918	only	-	Oct	27	2:00	0	S
- Rule	Canada	1942	only	-	Feb	 9	2:00	1:00	W # War
-@@ -1418,7 +1418,7 @@
- # that follows the rules is the southeast corner, including Port Hope
- # Simpson and Mary's Harbour, but excluding, say, Black Tickle.
- 
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- Rule	StJohns	1917	only	-	Apr	 8	2:00	1:00	D
- Rule	StJohns	1917	only	-	Sep	17	2:00	0	S
- # Whitman gives 1919 Apr 5 and 1920 Apr 5; go with Shanks & Pottenger.
-@@ -1520,7 +1520,7 @@
- # bill say that it is "accommodating the customs and practices" of those
- # regions, which suggests that they have always been in-line with Halifax.
- 
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- Rule	Halifax	1916	only	-	Apr	 1	0:00	1:00	D
- Rule	Halifax	1916	only	-	Oct	 1	0:00	0	S
- Rule	Halifax	1920	only	-	May	 9	0:00	1:00	D
-@@ -1586,7 +1586,7 @@
- # clear that this was the case since at least 1993.
- # For now, assume it started in 1993.
- 
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- Rule	Moncton	1933	1935	-	Jun	Sun>=8	1:00	1:00	D
- Rule	Moncton	1933	1935	-	Sep	Sun>=8	1:00	0	S
- Rule	Moncton	1936	1938	-	Jun	Sun>=1	1:00	1:00	D
-@@ -1795,7 +1795,7 @@
- #   With some exceptions, the use of daylight saving may be said to be limited
- # to those cities and towns lying between Quebec city and Windsor, Ont.
- 
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- Rule	Toronto	1919	only	-	Mar	30	23:30	1:00	D
- Rule	Toronto	1919	only	-	Oct	26	0:00	0	S
- Rule	Toronto	1920	only	-	May	 2	2:00	1:00	D
-@@ -1893,7 +1893,7 @@
- # starting 1966.  Since 02:00s is clearly correct for 1967 on, assume
- # it was also 02:00s in 1966.
- 
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- Rule	Winn	1916	only	-	Apr	23	0:00	1:00	D
- Rule	Winn	1916	only	-	Sep	17	0:00	0	S
- Rule	Winn	1918	only	-	Apr	14	2:00	1:00	D
-@@ -1984,7 +1984,7 @@
- # long and rather painful to read.
- # http://www.qp.gov.sk.ca/documents/English/Statutes/Statutes/T14.pdf
- 
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- Rule	Regina	1918	only	-	Apr	14	2:00	1:00	D
- Rule	Regina	1918	only	-	Oct	27	2:00	0	S
- Rule	Regina	1930	1934	-	May	Sun>=1	0:00	1:00	D
-@@ -2034,7 +2034,7 @@
- # Boyer JP. Forcing Choice: The Risky Reward of Referendums. Dundum. 2017.
- # ISBN 978-1459739123.
- 
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- Rule	Edm	1918	1919	-	Apr	Sun>=8	2:00	1:00	D
- Rule	Edm	1918	only	-	Oct	27	2:00	0	S
- Rule	Edm	1919	only	-	May	27	2:00	0	S
-@@ -2143,7 +2143,7 @@
- # https://searcharchives.vancouver.ca/daylight-saving-1918-starts-again-july-7-1941-start-d-s-sept-27-end-of-d-s-1941
- # We have no further details, so omit them for now.
- 
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- Rule	Vanc	1918	only	-	Apr	14	2:00	1:00	D
- Rule	Vanc	1918	only	-	Oct	27	2:00	0	S
- Rule	Vanc	1942	only	-	Feb	 9	2:00	1:00	W # War
-@@ -2472,7 +2472,19 @@
- # consistency with nearby Dawson Creek, Creston, and Fort Nelson.
- # https://yukon.ca/en/news/yukon-end-seasonal-time-change
- 
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# From Andrew G. Smith (2020-09-24):
-+# Yukon has completed its regulatory change to be on UTC -7 year-round....
-+# http://www.gov.yk.ca/legislation/regs/oic2020_125.pdf
-+# What we have done is re-defined Yukon Standard Time, as we are
-+# authorized to do under section 33 of our Interpretation Act:
-+# http://www.gov.yk.ca/legislation/acts/interpretation_c.pdf
-+#
-+# From Paul Eggert (2020-09-24):
-+# tzdb uses the obsolete YST abbreviation for standard time in Yukon through
-+# about 1970, and uses PST for standard time in Yukon since then.  Consistent
-+# with that, use MST for -07, the new standard time in Yukon effective Nov. 1.
-+
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- Rule	NT_YK	1918	only	-	Apr	14	2:00	1:00	D
- Rule	NT_YK	1918	only	-	Oct	27	2:00	0	S
- Rule	NT_YK	1919	only	-	May	25	2:00	1:00	D
-@@ -2526,12 +2538,12 @@
- Zone America/Whitehorse	-9:00:12 -	LMT	1900 Aug 20
- 			-9:00	NT_YK	Y%sT	1967 May 28  0:00
- 			-8:00	NT_YK	P%sT	1980
--			-8:00	Canada	P%sT	2020 Mar  8  2:00
-+			-8:00	Canada	P%sT	2020 Nov  1
- 			-7:00	-	MST
- Zone America/Dawson	-9:17:40 -	LMT	1900 Aug 20
- 			-9:00	NT_YK	Y%sT	1973 Oct 28  0:00
- 			-8:00	NT_YK	P%sT	1980
--			-8:00	Canada	P%sT	2020 Mar  8  2:00
-+			-8:00	Canada	P%sT	2020 Nov  1
- 			-7:00	-	MST
- 
- 
-@@ -2746,7 +2758,7 @@
- # 5- The islands, reefs and keys shall take their timezone from the
- #    longitude they are located at.
- 
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- Rule	Mexico	1939	only	-	Feb	5	0:00	1:00	D
- Rule	Mexico	1939	only	-	Jun	25	0:00	0	S
- Rule	Mexico	1940	only	-	Dec	9	0:00	1:00	D
-@@ -2951,7 +2963,7 @@
- # rules to sync with the U.S. starting in 2007....
- # http://www.jonesbahamas.com/?c=45&a=10412
- 
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- Rule	Bahamas	1964	1975	-	Oct	lastSun	2:00	0	S
- Rule	Bahamas	1964	1975	-	Apr	lastSun	2:00	1:00	D
- # Zone	NAME		STDOFF	RULES	FORMAT	[UNTIL]
-@@ -2963,7 +2975,7 @@
- 
- # For 1899 Milne gives -3:58:29.2; round that.
- 
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- Rule	Barb	1977	only	-	Jun	12	2:00	1:00	D
- Rule	Barb	1977	1978	-	Oct	Sun>=1	2:00	0	S
- Rule	Barb	1978	1980	-	Apr	Sun>=15	2:00	1:00	D
-@@ -2976,7 +2988,7 @@
- 
- # Belize
- # Whitman entirely disagrees with Shanks; go with Shanks & Pottenger.
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- Rule	Belize	1918	1942	-	Oct	Sun>=2	0:00	0:30	-0530
- Rule	Belize	1919	1943	-	Feb	Sun>=9	0:00	0	CST
- Rule	Belize	1973	only	-	Dec	 5	0:00	1:00	CDT
-@@ -3013,7 +3025,7 @@
- 
- # Milne gives -5:36:13.3 as San José mean time; round to nearest.
- 
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- Rule	CR	1979	1980	-	Feb	lastSun	0:00	1:00	D
- Rule	CR	1979	1980	-	Jun	Sun>=1	0:00	0	S
- Rule	CR	1991	1992	-	Jan	Sat>=15	0:00	1:00	D
-@@ -3187,7 +3199,7 @@
- # From Paul Eggert (2012-11-03):
- # For now, assume the future rule is first Sunday in November.
- 
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- Rule	Cuba	1928	only	-	Jun	10	0:00	1:00	D
- Rule	Cuba	1928	only	-	Oct	10	0:00	0	S
- Rule	Cuba	1940	1942	-	Jun	Sun>=1	0:00	1:00	D
-@@ -3256,7 +3268,7 @@
- # decided to revert.
- 
- 
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- Rule	DR	1966	only	-	Oct	30	0:00	1:00	EDT
- Rule	DR	1967	only	-	Feb	28	0:00	0	EST
- Rule	DR	1969	1973	-	Oct	lastSun	0:00	0:30	-0430
-@@ -3273,7 +3285,7 @@
- 
- # El Salvador
- 
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- Rule	Salv	1987	1988	-	May	Sun>=1	0:00	1:00	D
- Rule	Salv	1987	1988	-	Sep	lastSun	0:00	0	S
- # There are too many San Salvadors elsewhere, so use America/El_Salvador
-@@ -3302,7 +3314,7 @@
- # (2006-04-19), says DST ends at 24:00.  See
- # http://www.sieca.org.gt/Sitio_publico/Energeticos/Doc/Medidas/Cambio_Horario_Nac_190406.pdf
- 
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- Rule	Guat	1973	only	-	Nov	25	0:00	1:00	D
- Rule	Guat	1974	only	-	Feb	24	0:00	0	S
- Rule	Guat	1983	only	-	May	21	0:00	1:00	D
-@@ -3383,7 +3395,7 @@
- # I have not been able to find a more authoritative source:
- # https://www.haitilibre.com/en/news-20319-haiti-notices-time-change-in-haiti.html
- 
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- Rule	Haiti	1983	only	-	May	8	0:00	1:00	D
- Rule	Haiti	1984	1987	-	Apr	lastSun	0:00	1:00	D
- Rule	Haiti	1983	1987	-	Oct	lastSun	0:00	0	S
-@@ -3431,7 +3443,7 @@
- # http://www.laprensahn.com/pais_nota.php?id04962=7386
- # So it seems that Honduras will not enter DST this year....
- 
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- Rule	Hond	1987	1988	-	May	Sun>=1	0:00	1:00	D
- Rule	Hond	1987	1988	-	Sep	lastSun	0:00	0	S
- Rule	Hond	2006	only	-	May	Sun>=1	0:00	1:00	D
-@@ -3522,7 +3534,7 @@
- # The natural sun time is restored in all the national territory, in that the
- # time is returned one hour at 01:00 am of October 1 of 2006.
- #
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- Rule	Nic	1979	1980	-	Mar	Sun>=16	0:00	1:00	D
- Rule	Nic	1979	1980	-	Jun	Mon>=23	0:00	0	S
- Rule	Nic	2005	only	-	Apr	10	0:00	1:00	D
-diff --git a/make/data/tzdata/pacificnew b/make/data/tzdata/pacificnew
-deleted file mode 100644
---- a/make/data/tzdata/pacificnew
-+++ /dev/null
-@@ -1,52 +0,0 @@
--#
--# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
--#
--# This code is free software; you can redistribute it and/or modify it
--# under the terms of the GNU General Public License version 2 only, as
--# published by the Free Software Foundation.  Oracle designates this
--# particular file as subject to the "Classpath" exception as provided
--# by Oracle in the LICENSE file that accompanied this code.
--#
--# This code is distributed in the hope that it will be useful, but WITHOUT
--# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
--# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
--# version 2 for more details (a copy is included in the LICENSE file that
--# accompanied this code).
--#
--# You should have received a copy of the GNU General Public License version
--# 2 along with this work; if not, write to the Free Software Foundation,
--# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
--#
--# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
--# or visit www.oracle.com if you need additional information or have any
--# questions.
--#
--# tzdb data for proposed US election time (this file is obsolete)
--
--# This file is in the public domain, so clarified as of
--# 2009-05-17 by Arthur David Olson.
--
--# From Arthur David Olson (1989-04-05):
--# On 1989-04-05, the U. S. House of Representatives passed (238-154) a bill
--# establishing "Pacific Presidential Election Time"; it was not acted on
--# by the Senate or signed into law by the President.
--# You might want to change the "PE" (Presidential Election) below to
--# "Q" (Quadrennial) to maintain three-character zone abbreviations.
--# If you're really conservative, you might want to change it to "D".
--# Avoid "L" (Leap Year), which won't be true in 2100.
--
--# If Presidential Election Time is ever established, replace "XXXX" below
--# with the year the law takes effect and uncomment the "##" lines.
--
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
--## Rule	Twilite	XXXX	max	-	Apr	Sun>=1	2:00	1:00	D
--## Rule	Twilite	XXXX	max	uspres	Oct	lastSun	2:00	1:00	PE
--## Rule	Twilite	XXXX	max	uspres	Nov	Sun>=7	2:00	0	S
--## Rule	Twilite	XXXX	max	nonpres	Oct	lastSun	2:00	0	S
--
--# Zone	NAME			STDOFF	RULES/SAVE	FORMAT	[UNTIL]
--## Zone	America/Los_Angeles-PET	-8:00	US		P%sT	XXXX
--##				-8:00	Twilite		P%sT
--
--# For now...
--Link	America/Los_Angeles	US/Pacific-New	##
-diff --git a/make/data/tzdata/southamerica b/make/data/tzdata/southamerica
---- a/make/data/tzdata/southamerica
-+++ b/make/data/tzdata/southamerica
-@@ -71,7 +71,7 @@
- # I am sending modifications to the Argentine time zone table...
- # AR was chosen because they are the ISO letters that represent Argentina.
- 
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- Rule	Arg	1930	only	-	Dec	 1	0:00	1:00	-
- Rule	Arg	1931	only	-	Apr	 1	0:00	0	-
- Rule	Arg	1931	only	-	Oct	15	0:00	1:00	-
-@@ -792,7 +792,7 @@
- # From Paul Eggert (2013-10-17):
- # For now, assume western Amazonas will change as well.
- 
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- # Decree 20,466 <http://pcdsh01.on.br/HV20466.htm> (1931-10-01)
- # Decree 21,896 <http://pcdsh01.on.br/HV21896.htm> (1932-01-10)
- Rule	Brazil	1931	only	-	Oct	 3	11:00	1:00	-
-@@ -1281,7 +1281,7 @@
- # For now, assume that they will not revert,
- # since they have extended the expiration date once already.
- 
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- Rule	Chile	1927	1931	-	Sep	 1	0:00	1:00	-
- Rule	Chile	1928	1932	-	Apr	 1	0:00	0	-
- Rule	Chile	1968	only	-	Nov	 3	4:00u	1:00	-
-@@ -1381,7 +1381,7 @@
- # Milne gives 4:56:16.4 for Bogotá time in 1899; round to nearest.  He writes,
- # "A variation of fifteen minutes in the public clocks of Bogota is not rare."
- 
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- Rule	CO	1992	only	-	May	 3	0:00	1:00	-
- Rule	CO	1993	only	-	Apr	 4	0:00	0	-
- # Zone	NAME		STDOFF	RULES	FORMAT	[UNTIL]
-@@ -1441,7 +1441,7 @@
- # (Not one step back), the clocks went back in 1993 and the experiment was not
- # repeated.  For now, assume transitions were at 00:00 local time country-wide.
- #
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- Rule	Ecuador	1992	only	-	Nov	28	0:00	1:00	-
- Rule	Ecuador	1993	only	-	Feb	 5	0:00	0	-
- #
-@@ -1535,7 +1535,7 @@
- # For now we will assume permanent -03 for the Falklands
- # until advised differently (to apply for 2012 and beyond, after the 2011
- # experiment was apparently successful.)
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- Rule	Falk	1937	1938	-	Sep	lastSun	0:00	1:00	-
- Rule	Falk	1938	1942	-	Mar	Sun>=19	0:00	0	-
- Rule	Falk	1939	only	-	Oct	1	0:00	1:00	-
-@@ -1581,7 +1581,7 @@
- # No time of the day is established for the adjustment, so people normally
- # adjust their clocks at 0 hour of the given dates.
- #
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- Rule	Para	1975	1988	-	Oct	 1	0:00	1:00	-
- Rule	Para	1975	1978	-	Mar	 1	0:00	0	-
- Rule	Para	1979	1991	-	Apr	 1	0:00	0	-
-@@ -1674,7 +1674,7 @@
- # From Paul Eggert (2006-03-22):
- # Shanks & Pottenger don't have this transition.  Assume 1986 was like 1987.
- 
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- Rule	Peru	1938	only	-	Jan	 1	0:00	1:00	-
- Rule	Peru	1938	only	-	Apr	 1	0:00	0	-
- Rule	Peru	1938	1939	-	Sep	lastSun	0:00	1:00	-
-@@ -1770,7 +1770,7 @@
- # https://www.impo.com.uy/diariooficial/1926/03/10/2
- # https://www.impo.com.uy/diariooficial/1926/03/18/2
- #
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
-+# Rule	NAME	FROM	TO	-	IN	ON	AT	SAVE	LETTER/S
- Rule	Uruguay	1923	1925	-	Oct	 1	 0:00	0:30	-
- Rule	Uruguay	1924	1926	-	Apr	 1	 0:00	0	-
- # From Tim Parenti (2018-02-15):
-diff --git a/make/data/tzdata/systemv b/make/data/tzdata/systemv
-deleted file mode 100644
---- a/make/data/tzdata/systemv
-+++ /dev/null
-@@ -1,62 +0,0 @@
--#
--# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
--#
--# This code is free software; you can redistribute it and/or modify it
--# under the terms of the GNU General Public License version 2 only, as
--# published by the Free Software Foundation.  Oracle designates this
--# particular file as subject to the "Classpath" exception as provided
--# by Oracle in the LICENSE file that accompanied this code.
--#
--# This code is distributed in the hope that it will be useful, but WITHOUT
--# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
--# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
--# version 2 for more details (a copy is included in the LICENSE file that
--# accompanied this code).
--#
--# You should have received a copy of the GNU General Public License version
--# 2 along with this work; if not, write to the Free Software Foundation,
--# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
--#
--# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
--# or visit www.oracle.com if you need additional information or have any
--# questions.
--#
--# tzdb data for System V rules (this file is obsolete)
--
--# This file is in the public domain, so clarified as of
--# 2009-05-17 by Arthur David Olson.
--
--# Old rules, should the need arise.
--# No attempt is made to handle Newfoundland, since it cannot be expressed
--# using the System V "TZ" scheme (half-hour offset), or anything outside
--# North America (no support for non-standard DST start/end dates), nor
--# the changes in the DST rules in the US after 1976 (which occurred after
--# the old rules were written).
--#
--# If you need the old rules, uncomment ## lines.
--# Compile this *without* leap second correction for true conformance.
--
--# Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
--Rule	SystemV	min	1973	-	Apr	lastSun	2:00	1:00	D
--Rule	SystemV	min	1973	-	Oct	lastSun	2:00	0	S
--Rule	SystemV	1974	only	-	Jan	6	2:00	1:00	D
--Rule	SystemV	1974	only	-	Nov	lastSun	2:00	0	S
--Rule	SystemV	1975	only	-	Feb	23	2:00	1:00	D
--Rule	SystemV	1975	only	-	Oct	lastSun	2:00	0	S
--Rule	SystemV	1976	max	-	Apr	lastSun	2:00	1:00	D
--Rule	SystemV	1976	max	-	Oct	lastSun	2:00	0	S
--
--# Zone	NAME		STDOFF	RULES/SAVE	FORMAT	[UNTIL]
--## Zone	SystemV/AST4ADT	-4:00	SystemV		A%sT
--## Zone	SystemV/EST5EDT	-5:00	SystemV		E%sT
--## Zone	SystemV/CST6CDT	-6:00	SystemV		C%sT
--## Zone	SystemV/MST7MDT	-7:00	SystemV		M%sT
--## Zone	SystemV/PST8PDT	-8:00	SystemV		P%sT
--## Zone	SystemV/YST9YDT	-9:00	SystemV		Y%sT
--## Zone	SystemV/AST4	-4:00	-		AST
--## Zone	SystemV/EST5	-5:00	-		EST
--## Zone	SystemV/CST6	-6:00	-		CST
--## Zone	SystemV/MST7	-7:00	-		MST
--## Zone	SystemV/PST8	-8:00	-		PST
--## Zone	SystemV/YST9	-9:00	-		YST
--## Zone	SystemV/HST10	-10:00	-		HST
-diff --git a/make/gendata/GendataTZDB.gmk b/make/gendata/GendataTZDB.gmk
---- a/make/gendata/GendataTZDB.gmk
-+++ b/make/gendata/GendataTZDB.gmk
-@@ -29,7 +29,7 @@
- # Time zone data file creation
- #
- TZDATA_DIR := $(TOPDIR)/make/data/tzdata
--TZDATA_TZFILE := africa antarctica asia australasia europe northamerica pacificnew southamerica backward etcetera gmt jdk11_backward
-+TZDATA_TZFILE := africa antarctica asia australasia europe northamerica southamerica backward etcetera gmt jdk11_backward
- TZDATA_TZFILES := $(addprefix $(TZDATA_DIR)/,$(TZDATA_TZFILE))
- 
- GENDATA_TZDB_DAT := $(SUPPORT_OUTPUTDIR)/modules_libs/$(MODULE)/tzdb.dat
-diff --git a/src/java.base/aix/conf/tzmappings b/src/java.base/aix/conf/tzmappings
---- a/src/java.base/aix/conf/tzmappings
-+++ b/src/java.base/aix/conf/tzmappings
-@@ -568,7 +568,6 @@
- US/Michigan	America/New_York
- US/Mountain	America/Denver
- US/Pacific	America/Los_Angeles
--US/Pacific-New	America/Los_Angeles
- US/Samoa	Pacific/Pago_Pago
- USAST-2	Africa/Johannesburg
- USAST-2USADT	Europe/Istanbul
-diff --git a/src/java.base/share/classes/sun/util/resources/TimeZoneNames.java b/src/java.base/share/classes/sun/util/resources/TimeZoneNames.java
---- a/src/java.base/share/classes/sun/util/resources/TimeZoneNames.java
-+++ b/src/java.base/share/classes/sun/util/resources/TimeZoneNames.java
-@@ -1063,7 +1063,6 @@
-             {"US/Michigan", EST},
-             {"US/Mountain", MST},
-             {"US/Pacific", PST},
--            {"US/Pacific-New", PST},
-             {"US/Samoa", SAMOA},
-             {"VST", ICT},
-             {"W-SU", MSK},
-diff --git a/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_de.java b/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_de.java
---- a/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_de.java
-+++ b/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_de.java
-@@ -1035,7 +1035,6 @@
-             {"US/Michigan", EST},
-             {"US/Mountain", MST},
-             {"US/Pacific", PST},
--            {"US/Pacific-New", PST},
-             {"US/Samoa", SAMOA},
-             {"VST", ICT},
-             {"W-SU", MSK},
-diff --git a/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_es.java b/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_es.java
---- a/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_es.java
-+++ b/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_es.java
-@@ -1035,7 +1035,6 @@
-             {"US/Michigan", EST},
-             {"US/Mountain", MST},
-             {"US/Pacific", PST},
--            {"US/Pacific-New", PST},
-             {"US/Samoa", SAMOA},
-             {"VST", ICT},
-             {"W-SU", MSK},
-diff --git a/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_fr.java b/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_fr.java
---- a/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_fr.java
-+++ b/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_fr.java
-@@ -1035,7 +1035,6 @@
-             {"US/Michigan", EST},
-             {"US/Mountain", MST},
-             {"US/Pacific", PST},
--            {"US/Pacific-New", PST},
-             {"US/Samoa", SAMOA},
-             {"VST", ICT},
-             {"W-SU", MSK},
-diff --git a/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_it.java b/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_it.java
---- a/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_it.java
-+++ b/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_it.java
-@@ -1035,7 +1035,6 @@
-             {"US/Michigan", EST},
-             {"US/Mountain", MST},
-             {"US/Pacific", PST},
--            {"US/Pacific-New", PST},
-             {"US/Samoa", SAMOA},
-             {"VST", ICT},
-             {"W-SU", MSK},
-diff --git a/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_ja.java b/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_ja.java
---- a/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_ja.java
-+++ b/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_ja.java
-@@ -1035,7 +1035,6 @@
-             {"US/Michigan", EST},
-             {"US/Mountain", MST},
-             {"US/Pacific", PST},
--            {"US/Pacific-New", PST},
-             {"US/Samoa", SAMOA},
-             {"VST", ICT},
-             {"W-SU", MSK},
-diff --git a/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_ko.java b/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_ko.java
---- a/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_ko.java
-+++ b/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_ko.java
-@@ -1035,7 +1035,6 @@
-             {"US/Michigan", EST},
-             {"US/Mountain", MST},
-             {"US/Pacific", PST},
--            {"US/Pacific-New", PST},
-             {"US/Samoa", SAMOA},
-             {"VST", ICT},
-             {"W-SU", MSK},
-diff --git a/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_pt_BR.java b/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_pt_BR.java
---- a/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_pt_BR.java
-+++ b/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_pt_BR.java
-@@ -1035,7 +1035,6 @@
-             {"US/Michigan", EST},
-             {"US/Mountain", MST},
-             {"US/Pacific", PST},
--            {"US/Pacific-New", PST},
-             {"US/Samoa", SAMOA},
-             {"VST", ICT},
-             {"W-SU", MSK},
-diff --git a/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_sv.java b/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_sv.java
---- a/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_sv.java
-+++ b/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_sv.java
-@@ -1035,7 +1035,6 @@
-             {"US/Michigan", EST},
-             {"US/Mountain", MST},
-             {"US/Pacific", PST},
--            {"US/Pacific-New", PST},
-             {"US/Samoa", SAMOA},
-             {"VST", ICT},
-             {"W-SU", MSK},
-diff --git a/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_zh_CN.java b/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_zh_CN.java
---- a/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_zh_CN.java
-+++ b/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_zh_CN.java
-@@ -1035,7 +1035,6 @@
-             {"US/Michigan", EST},
-             {"US/Mountain", MST},
-             {"US/Pacific", PST},
--            {"US/Pacific-New", PST},
-             {"US/Samoa", SAMOA},
-             {"VST", ICT},
-             {"W-SU", MSK},
-diff --git a/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_zh_TW.java b/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_zh_TW.java
---- a/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_zh_TW.java
-+++ b/src/jdk.localedata/share/classes/sun/util/resources/ext/TimeZoneNames_zh_TW.java
-@@ -1037,7 +1037,6 @@
-             {"US/Michigan", EST},
-             {"US/Mountain", MST},
-             {"US/Pacific", PST},
--            {"US/Pacific-New", PST},
-             {"US/Samoa", SAMOA},
-             {"VST", ICT},
-             {"W-SU", MSK},
-diff --git a/test/jdk/java/time/test/java/time/format/ZoneName.java b/test/jdk/java/time/test/java/time/format/ZoneName.java
---- a/test/jdk/java/time/test/java/time/format/ZoneName.java
-+++ b/test/jdk/java/time/test/java/time/format/ZoneName.java
-@@ -589,7 +589,6 @@
-         "US/Michigan", "America_Eastern", "America/New_York",
-         "US/Mountain", "America_Mountain", "America/Denver",
-         "US/Pacific", "America_Pacific", "America/Los_Angeles",
--        "US/Pacific-New", "America_Pacific", "America/Los_Angeles",
-         "US/Samoa", "Samoa", "Pacific/Pago_Pago",
-         "W-SU", "Moscow", "Europe/Moscow",
- 
-@@ -973,7 +972,6 @@
-         "US/Michigan", "America/Detroit",
-         "US/Mountain", "America/Denver",
-         "US/Pacific", "America/Los_Angeles",
--        "US/Pacific-New", "America/Los_Angeles",
-         "US/Samoa", "Pacific/Pago_Pago",
-         "UTC", "Etc/UTC",
-         "Universal", "Etc/UTC",
-diff --git a/test/jdk/java/time/test/java/time/zone/TestZoneRules.java b/test/jdk/java/time/test/java/time/zone/TestZoneRules.java
---- a/test/jdk/java/time/test/java/time/zone/TestZoneRules.java
-+++ b/test/jdk/java/time/test/java/time/zone/TestZoneRules.java
-@@ -88,7 +88,7 @@
-             {CASABLANCA, LocalDate.of(2019, 5, 6), ZoneOffset.ofHours(0), ZoneOffset.ofHours(0), false},
-             {CASABLANCA, LocalDate.of(2037, 10, 5), ZoneOffset.ofHours(0), ZoneOffset.ofHours(0), false},
-             {CASABLANCA, LocalDate.of(2037, 11, 16), ZoneOffset.ofHours(1), ZoneOffset.ofHours(0), true},
--            {CASABLANCA, LocalDate.of(2038, 11, 1), ZoneOffset.ofHours(1), ZoneOffset.ofHours(0), true},
-+            {CASABLANCA, LocalDate.of(2038, 11, 8), ZoneOffset.ofHours(1), ZoneOffset.ofHours(0), true},
-         };
-     }
- 
-diff --git a/test/jdk/sun/util/calendar/zi/TestZoneInfo310.java b/test/jdk/sun/util/calendar/zi/TestZoneInfo310.java
---- a/test/jdk/sun/util/calendar/zi/TestZoneInfo310.java
-+++ b/test/jdk/sun/util/calendar/zi/TestZoneInfo310.java
-@@ -48,7 +48,7 @@
-         String TESTDIR = System.getProperty("test.dir", ".");
-         Path tzdir = Paths.get(System.getProperty("test.root"),
-             "..", "..", "make", "data", "tzdata");
--        String tzfiles = "africa antarctica asia australasia europe northamerica pacificnew southamerica backward etcetera systemv gmt";
-+        String tzfiles = "africa antarctica asia australasia europe northamerica southamerica backward etcetera gmt";
-         Path jdk_tzdir = Paths.get(System.getProperty("test.src"), "tzdata_jdk");
-         String jdk_tzfiles = "jdk11_backward";
-         String zidir = TESTDIR + File.separator + "zi";
-@@ -215,8 +215,9 @@
- 
-         // test getAvailableIDs(raw);
-         zids_new = TimeZone.getAvailableIDs(-8 * 60 * 60 * 1000);
--        //Arrays.sort(zids_new);
-+        Arrays.sort(zids_new);
-         zids_old = ZoneInfoOld.getAvailableIDs(-8 * 60 * 60 * 1000);
-+        Arrays.sort(zids_old);
-         if (!Arrays.equals(zids_new, zids_old)) {
-             System.out.println("------------------------");
-             System.out.println("NEW.getAvailableIDs(-8:00)");
diff --git a/SOURCES/rh1566890-CVE_2018_3639-speculative_store_bypass.patch b/SOURCES/rh1566890-CVE_2018_3639-speculative_store_bypass.patch
deleted file mode 100644
index bd52828..0000000
--- a/SOURCES/rh1566890-CVE_2018_3639-speculative_store_bypass.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-diff --git openjdk/src/hotspot/os/linux/os_linux.cpp openjdk/src/hotspot/os/linux/os_linux.cpp
---- openjdk/src/hotspot/os/linux/os_linux.cpp
-+++ openjdk/src/hotspot/os/linux/os_linux.cpp
-@@ -107,6 +107,8 @@
- # include <inttypes.h>
- # include <sys/ioctl.h>
- 
-+#include <sys/prctl.h>
-+
- #ifndef _GNU_SOURCE
-   #define _GNU_SOURCE
-   #include <sched.h>
-@@ -4984,6 +4986,48 @@
- extern void report_error(char* file_name, int line_no, char* title,
-                          char* format, ...);
- 
-+/* Per task speculation control */
-+#ifndef PR_GET_SPECULATION_CTRL
-+# define PR_GET_SPECULATION_CTRL    52
-+#endif
-+#ifndef PR_SET_SPECULATION_CTRL
-+# define PR_SET_SPECULATION_CTRL    53
-+#endif
-+/* Speculation control variants */
-+#ifndef PR_SPEC_STORE_BYPASS
-+# define PR_SPEC_STORE_BYPASS          0
-+#endif
-+/* Return and control values for PR_SET/GET_SPECULATION_CTRL */
-+
-+#ifndef PR_SPEC_NOT_AFFECTED
-+# define PR_SPEC_NOT_AFFECTED          0
-+#endif
-+#ifndef PR_SPEC_PRCTL
-+# define PR_SPEC_PRCTL                 (1UL << 0)
-+#endif
-+#ifndef PR_SPEC_ENABLE
-+# define PR_SPEC_ENABLE                (1UL << 1)
-+#endif
-+#ifndef PR_SPEC_DISABLE
-+# define PR_SPEC_DISABLE               (1UL << 2)
-+#endif
-+#ifndef PR_SPEC_FORCE_DISABLE
-+# define PR_SPEC_FORCE_DISABLE         (1UL << 3)
-+#endif
-+#ifndef PR_SPEC_DISABLE_NOEXEC
-+# define PR_SPEC_DISABLE_NOEXEC        (1UL << 4)
-+#endif
-+
-+static void set_speculation() __attribute__((constructor));
-+static void set_speculation() {
-+  if ( prctl(PR_SET_SPECULATION_CTRL,
-+             PR_SPEC_STORE_BYPASS,
-+             PR_SPEC_DISABLE_NOEXEC, 0, 0) == 0 ) {
-+    return;
-+  }
-+  prctl(PR_SET_SPECULATION_CTRL, PR_SPEC_STORE_BYPASS, PR_SPEC_DISABLE, 0, 0);
-+}
-+
- // this is called _before_ most of the global arguments have been parsed
- void os::init(void) {
-   char dummy;   // used to get a guess on initial stack address
diff --git a/SOURCES/rh1750419-redhat_alt_java.patch b/SOURCES/rh1750419-redhat_alt_java.patch
new file mode 100644
index 0000000..e6355f2
--- /dev/null
+++ b/SOURCES/rh1750419-redhat_alt_java.patch
@@ -0,0 +1,116 @@
+diff -r 1356affa5e44 make/launcher/Launcher-java.base.gmk
+--- openjdk/make/launcher/Launcher-java.base.gmk      Wed Nov 25 08:27:15 2020 +0100
++++ openjdk/make/launcher/Launcher-java.base.gmk      Tue Dec 01 12:29:30 2020 +0100
+@@ -41,6 +41,16 @@
+     OPTIMIZATION := HIGH, \
+ ))
+ 
++#Wno-error=cpp is present to allow commented warning in ifdef part of main.c
++$(eval $(call SetupBuildLauncher, alt-java, \
++    CFLAGS := -DEXPAND_CLASSPATH_WILDCARDS -DENABLE_ARG_FILES -DREDHAT_ALT_JAVA -Wno-error=cpp, \
++    LDFLAGS_solaris := -R$(OPENWIN_HOME)/lib$(OPENJDK_TARGET_CPU_ISADIR), \
++    LIBS_windows := user32.lib comctl32.lib, \
++    EXTRA_RC_FLAGS := $(JAVA_RC_FLAGS), \
++    VERSION_INFO_RESOURCE := $(JAVA_VERSION_INFO_RESOURCE), \
++    OPTIMIZATION := HIGH, \
++))
++
+ ifeq ($(OPENJDK_TARGET_OS), windows)
+   $(eval $(call SetupBuildLauncher, javaw, \
+       CFLAGS := -DJAVAW -DEXPAND_CLASSPATH_WILDCARDS -DENABLE_ARG_FILES, \
+
+diff -r 25e94aa812b2 src/share/bin/alt_main.h
+--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
++++ openjdk/src/java.base/share/native/launcher/alt_main.h	Tue Jun 02 17:15:28 2020 +0100
+@@ -0,0 +1,73 @@
++/*
++ * Copyright (c) 2019, Red Hat, 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.  Oracle designates this
++ * particular file as subject to the "Classpath" exception as provided
++ * by Oracle in the LICENSE file that accompanied this code.
++ *
++ * This code is distributed in the hope that it will be useful, but WITHOUT
++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
++ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
++ * version 2 for more details (a copy is included in the LICENSE file that
++ * accompanied this code).
++ *
++ * You should have received a copy of the GNU General Public License version
++ * 2 along with this work; if not, write to the Free Software Foundation,
++ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
++ *
++ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
++ * or visit www.oracle.com if you need additional information or have any
++ * questions.
++ */
++
++#ifdef REDHAT_ALT_JAVA
++
++#include <sys/prctl.h>
++
++
++/* Per task speculation control */
++#ifndef PR_GET_SPECULATION_CTRL
++# define PR_GET_SPECULATION_CTRL    52
++#endif
++#ifndef PR_SET_SPECULATION_CTRL
++# define PR_SET_SPECULATION_CTRL    53
++#endif
++/* Speculation control variants */
++#ifndef PR_SPEC_STORE_BYPASS
++# define PR_SPEC_STORE_BYPASS          0
++#endif
++/* Return and control values for PR_SET/GET_SPECULATION_CTRL */
++
++#ifndef PR_SPEC_NOT_AFFECTED
++# define PR_SPEC_NOT_AFFECTED          0
++#endif
++#ifndef PR_SPEC_PRCTL
++# define PR_SPEC_PRCTL                 (1UL << 0)
++#endif
++#ifndef PR_SPEC_ENABLE
++# define PR_SPEC_ENABLE                (1UL << 1)
++#endif
++#ifndef PR_SPEC_DISABLE
++# define PR_SPEC_DISABLE               (1UL << 2)
++#endif
++#ifndef PR_SPEC_FORCE_DISABLE
++# define PR_SPEC_FORCE_DISABLE         (1UL << 3)
++#endif
++#ifndef PR_SPEC_DISABLE_NOEXEC
++# define PR_SPEC_DISABLE_NOEXEC        (1UL << 4)
++#endif
++
++static void set_speculation() __attribute__((constructor));
++static void set_speculation() {
++  if ( prctl(PR_SET_SPECULATION_CTRL,
++             PR_SPEC_STORE_BYPASS,
++             PR_SPEC_DISABLE_NOEXEC, 0, 0) == 0 ) {
++    return;
++  }
++  prctl(PR_SET_SPECULATION_CTRL, PR_SPEC_STORE_BYPASS, PR_SPEC_DISABLE, 0, 0);
++}
++
++#endif // REDHAT_ALT_JAVA
+diff -r 25e94aa812b2 src/share/bin/main.c
+--- openjdk/src/java.base/share/native/launcher/main.c	Wed Feb 05 12:20:36 2020 -0300
++++ openjdk/src/java.base/share/native/launcher/main.c	Tue Jun 02 17:15:28 2020 +0100
+@@ -34,6 +34,14 @@
+ #include "jli_util.h"
+ #include "jni.h"
+ 
++#ifdef REDHAT_ALT_JAVA
++#if defined(__linux__) && defined(__x86_64__)
++#include "alt_main.h"
++#else
++#warning alt-java requested but SSB mitigation not available on this platform.
++#endif
++#endif
++
+ #ifdef _MSC_VER
+ #if _MSC_VER > 1400 && _MSC_VER < 1600
+ 
diff --git a/SOURCES/rh1842572-rsa_default_for_keytool.patch b/SOURCES/rh1842572-rsa_default_for_keytool.patch
index db74cdc..9f1dabc 100644
--- a/SOURCES/rh1842572-rsa_default_for_keytool.patch
+++ b/SOURCES/rh1842572-rsa_default_for_keytool.patch
@@ -1,12 +1,12 @@
 diff --git openjdk.orig/src/java.base/share/classes/sun/security/tools/keytool/Main.java openjdk/src/java.base/share/classes/sun/security/tools/keytool/Main.java
 --- openjdk.orig/src/java.base/share/classes/sun/security/tools/keytool/Main.java
 +++ openjdk/src/java.base/share/classes/sun/security/tools/keytool/Main.java
-@@ -1122,7 +1122,7 @@
+@@ -1135,7 +1135,7 @@
              }
          } else if (command == GENKEYPAIR) {
              if (keyAlgName == null) {
 -                keyAlgName = "DSA";
 +                keyAlgName = "RSA";
              }
-             doGenKeyPair(alias, dname, keyAlgName, keysize, sigAlgName);
+             doGenKeyPair(alias, dname, keyAlgName, keysize, groupName, sigAlgName);
              kssave = true;
diff --git a/SOURCES/s390-8214206_fix.patch b/SOURCES/s390-8214206_fix.patch
deleted file mode 100644
index 1d0c686..0000000
--- a/SOURCES/s390-8214206_fix.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git openjdk.orig/jdk/src/hotspot/share/runtime/os.cpp openjdk/jdk/src/hotspot/share/runtime/os.cpp
---- openjdk.orig/src/hotspot/share/runtime/os.cpp
-+++ openjdk/src/hotspot/share/runtime/os.cpp
-@@ -1368,7 +1368,7 @@
- }
- 
- void os::set_memory_serialize_page(address page) {
--  int count = log2_intptr(sizeof(class JavaThread)) - log2_int(64);
-+  int count = log2_intptr((uintptr_t) sizeof(class JavaThread)) - log2_int(64);
-   _mem_serialize_page = (volatile int32_t *)page;
-   // We initialize the serialization page shift count here
-   // We assume a cache line size of 64 bytes
diff --git a/SPECS/java-11-openjdk.spec b/SPECS/java-11-openjdk.spec
index b2cb131..af9f1cf 100644
--- a/SPECS/java-11-openjdk.spec
+++ b/SPECS/java-11-openjdk.spec
@@ -41,10 +41,11 @@
 %global normal_suffix ""
 
 %global debug_warning This package is unoptimised with full debugging. Install only as needed and remove ASAP.
-%global debug_on with full debug on
+%global debug_on with full debugging on
+%global fastdebug_on with minimal debugging on
 %global fastdebug_warning This package is optimised with full debugging. Install only as needed and remove ASAP.
-%global for_fastdebug_on with minimal debug on
-%global for_debug for packages with debug on
+%global for_fastdebug_on for packages with minimal debugging on
+%global for_debug for packages with debugging on
 
 %if %{with release}
 %global include_normal_build 1
@@ -105,6 +106,8 @@
 %global shenandoah_arches x86_64 %{aarch64}
 # Set of architectures for which we build the Z garbage collector
 %global zgc_arches x86_64
+# Set of architectures for which alt-java has SSB mitigation
+%global ssbd_arches x86_64
 
 # By default, we build a debug build during main build on JIT architectures
 %if %{with slowdebug}
@@ -259,16 +262,18 @@
 %endif
 
 # New Version-String scheme-style defines
-%global majorver 11
-# If you bump majorver, you must also bump vendor_version_string
+%global featurever 11
+%global interimver 0
+%global updatever 10
+%global patchver 0
+# If you bump featurever, you must bump also vendor_version_string
 # Used via new version scheme. JDK 11 was
 # GA'ed in September 2018 => 18.9
 %global vendor_version_string 18.9
-%global securityver 9
-# buildjdkver is usually same as %%{majorver},
-# but in time of bootstrap of next jdk, it is majorver-1, 
+# buildjdkver is usually same as %%{featurever},
+# but in time of bootstrap of next jdk, it is featurever-1,
 # and this it is better to change it here, on single place
-%global buildjdkver %{majorver}
+%global buildjdkver %{featurever}
 # Add LTS designator for RHEL builds
 %if 0%{?rhel}
   %global lts_designator "LTS"
@@ -305,26 +310,37 @@
 %global origin          openjdk
 %global origin_nice     OpenJDK
 %global top_level_dir_name   %{origin}
-%global minorver        0
-%global buildver        11
-%global rpmrelease      4
+%global buildver        1
+%global rpmrelease      1
 #%%global tagsuffix     %%{nil}
-# priority must be 8 digits in total; untill openjdk 1.8 we were using 18..... so when moving to 11 we had to add another digit
+# Priority must be 8 digits in total; up to openjdk 1.8, we were using 18..... so when we moved to 11, we had to add another digit
 %if %is_system_jdk
-%global priority %( printf '%02d%02d%02d%02d' %{majorver} %{minorver} %{securityver} %{buildver} )
+# Using 10 digits may overflow the int used for priority, so we combine the patch and build versions
+# It is very unlikely we will ever have a patch version > 4 or a build version > 20, so we combine as (patch * 20) + build.
+# This means 11.0.9.0+11 would have had a priority of 11000911 as before
+# A 11.0.9.1+1 would have had a priority of 11000921 (20 * 1 + 1), thus ensuring it is bigger than 11.0.9.0+11
+%global combiver $( expr 20 '*' %{patchver} + %{buildver} )
+%global priority %( printf '%02d%02d%02d%02d' %{featurever} %{interimver} %{updatever} %{combiver} )
 %else
 # for techpreview, using 1, so slowdebugs can have 0
 %global priority %( printf '%08d' 1 )
 %endif
-%global newjavaver      %{majorver}.%{minorver}.%{securityver}
+%global newjavaver      %{featurever}.%{interimver}.%{updatever}.%{patchver}
 
-%global javaver         %{majorver}
+# Omit trailing 0 in filenames when the patch version is 0
+%if 0%{?patchver} > 0
+%global filever %{newjavaver}
+%else
+%global filever %{featurever}.%{interimver}.%{updatever}
+%endif
+
+%global javaver         %{featurever}
 
 # Define milestone (EA for pre-releases, GA for releases)
 # Release will be (where N is usually a number starting at 1):
 # - 0.N%%{?extraver}%%{?dist} for EA releases,
 # - N%%{?extraver}{?dist} for GA releases
-%global is_ga           1
+%global is_ga           0
 %if %{is_ga}
 %global ea_designator ""
 %global ea_designator_zip ""
@@ -338,7 +354,7 @@
 %endif
 
 # parametrized macros are order-sensitive
-%global compatiblename  java-%{majorver}-%{origin}
+%global compatiblename  java-%{featurever}-%{origin}
 %global fullversion     %{compatiblename}-%{version}-%{release}
 # images directories from upstream build
 %global jdkimage                jdk
@@ -954,8 +970,7 @@ Requires: ca-certificates
 Requires: javapackages-filesystem
 # Require zone-info data provided by tzdata-java sub-package
 # 2020b required as of JDK-8254177 in October CPU
-# Temporarily held at 2020a until 2020b has shipped
-Requires: tzdata-java >= 2020a
+Requires: tzdata-java >= 2020b
 # for support of kernel stream control
 # libsctp.so.1 is being `dlopen`ed on demand
 Requires: lksctp-tools%{?_isa}
@@ -1094,7 +1109,7 @@ Release: %{?eaprefix}%{rpmrelease}%{?extraver}%{?dist}
 # provides >= 1.6.0 must specify the epoch, "java >= 1:1.6.0".
 
 Epoch:   1
-Summary: %{origin_nice} Runtime Environment %{majorver}
+Summary: %{origin_nice} %{featurever} Runtime Environment
 Group:   Development/Languages
 
 # HotSpot code is licensed under GPLv2
@@ -1117,7 +1132,7 @@ URL:      http://openjdk.java.net/
 
 # to regenerate source0 (jdk) run update_package.sh
 # update_package.sh contains hard-coded repos, revisions, tags, and projects to regenerate the source archives
-Source0: jdk-updates-jdk%{majorver}u-jdk-%{newjavaver}+%{buildver}%{?tagsuffix:-%{tagsuffix}}-4curve.tar.xz
+Source0: jdk-updates-jdk%{featurever}u-jdk-%{filever}+%{buildver}%{?tagsuffix:-%{tagsuffix}}-4curve.tar.xz
 
 # Use 'icedtea_sync.sh' to update the following
 # They are based on code contained in the IcedTea project (3.x).
@@ -1160,6 +1175,8 @@ Patch1:    rh1648242-accessible_toolkit_crash_do_not_break_jvm.patch
 Patch2:    rh1648644-java_access_bridge_privileged_security.patch
 # NSS via SunPKCS11 Provider (disabled due to memory leak).
 Patch1000: rh1648249-add_commented_out_nss_cfg_provider_to_java_security.patch
+# enable build of speculative store bypass hardened alt-java
+Patch600: rh1750419-redhat_alt_java.patch
 # RH1655466: Support RHEL FIPS mode using SunPKCS11 provider
 Patch1001: rh1655466-global_crypto_and_fips.patch
 # RH1818909: No ciphersuites availale for SSLSocket in FIPS mode
@@ -1193,8 +1210,6 @@ Patch1006: rh1883849-cryptoki_access_to_sunjce_with_security_manager.patch
 Patch3:    rh649512-remove_uses_of_far_in_jpeg_libjpeg_turbo_1_4_compat_for_jdk10_and_up.patch
 # PR3694, RH1340845: Add security.useSystemPropertiesFile option to java.security to use system crypto policy
 Patch4: pr3694-rh1340845-support_fedora_rhel_system_crypto_policy.patch
-# RH1566890: CVE-2018-3639
-Patch6:    rh1566890-CVE_2018_3639-speculative_store_bypass.patch
 # PR3695: Allow use of system crypto policy to be disabled by the user
 Patch7: pr3695-toggle_system_crypto_policy.patch
 # RH1868754: FIPS: Ciphers remain in broken state (unusable), after being supplied with wrongly sized buffer
@@ -1209,12 +1224,8 @@ Patch11: rh1868754-pkcs11_cancel_on_failure.patch
 # able to be removed once that release is out
 # and used by this RPM.
 #############################################
-# JDK-8222286: S390 ambiguous log2_intptr call
-Patch8: s390-8214206_fix.patch
-# JDK-8254177: (tz) Upgrade time-zone data to tzdata2020b
-Patch9: jdk8254177-tzdata2020b.patch
-# JDK-8236512: PKCS11 Connection closed after Cipher.doFinal and NoPadding
-Patch10: jdk8236512-pkcs11_incorrrect_session_closure.patch
+# JDK-8250861, RH1895274: Crash in MinINode::Ideal(PhaseGVN*, bool)
+Patch12: jdk8250861-rh1895274-crash_in_MinINode_Ideal.patch
 
 BuildRequires: autoconf
 BuildRequires: automake
@@ -1229,6 +1240,7 @@ BuildRequires: freetype-devel
 BuildRequires: giflib-devel
 BuildRequires: gcc-c++
 BuildRequires: gdb
+BuildRequires: harfbuzz-devel
 BuildRequires: lcms2-devel
 BuildRequires: libjpeg-devel
 BuildRequires: libpng-devel
@@ -1253,8 +1265,7 @@ BuildRequires: java-%{buildjdkver}-openjdk-devel
 BuildRequires: libffi-devel
 %endif
 # 2020b required as of JDK-8254177 in October CPU
-# Temporarily held at 2020a until 2020b has shipped
-BuildRequires: tzdata-java >= 2020a
+BuildRequires: tzdata-java >= 2020b
 # Earlier versions have a bug in tree vectorization on PPC
 BuildRequires: gcc >= 4.8.3-8
 
@@ -1267,241 +1278,241 @@ BuildRequires: systemtap-sdt-devel
 %{java_rpo %{nil}}
 
 %description
-The %{origin_nice} runtime environment.
+The %{origin_nice} %{featurever} runtime environment.
 
 %if %{include_debug_build}
 %package slowdebug
-Summary: %{origin_nice} Runtime Environment %{majorver} %{debug_on}
+Summary: %{origin_nice} %{featurever} Runtime Environment %{debug_on}
 Group:   Development/Languages
 
 %{java_rpo -- %{debug_suffix_unquoted}}
 %description slowdebug
-The %{origin_nice} runtime environment.
+The %{origin_nice} %{featurever} runtime environment.
 %{debug_warning}
 %endif
 
 %if %{include_fastdebug_build}
 %package fastdebug
-Summary: %{origin_nice} Runtime Environment %{majorver} %{fastdebug_on}
+Summary: %{origin_nice} %{featurever} Runtime Environment %{fastdebug_on}
 Group:   Development/Languages
 
 %{java_rpo -- %{fastdebug_suffix_unquoted}}
 %description fastdebug
-The %{origin_nice} runtime environment.
+The %{origin_nice} %{featurever} runtime environment.
 %{fastdebug_warning}
 %endif
 
 %if %{include_normal_build}
 %package headless
-Summary: %{origin_nice} Headless Runtime Environment %{majorver}
+Summary: %{origin_nice} %{featurever} Headless Runtime Environment
 Group:   Development/Languages
 
 %{java_headless_rpo %{nil}}
 
 %description headless
-The %{origin_nice} runtime environment %{majorver} without audio and video support.
+The %{origin_nice} %{featurever} runtime environment without audio and video support.
 %endif
 
 %if %{include_debug_build}
 %package headless-slowdebug
-Summary: %{origin_nice} Runtime Environment %{debug_on}
+Summary: %{origin_nice} %{featurever} Runtime Environment %{debug_on}
 Group:   Development/Languages
 
 %{java_headless_rpo -- %{debug_suffix_unquoted}}
 
 %description headless-slowdebug
-The %{origin_nice} runtime environment %{majorver} without audio and video support.
+The %{origin_nice} %{featurever} runtime environment without audio and video support.
 %{debug_warning}
 %endif
 
 %if %{include_fastdebug_build}
 %package headless-fastdebug
-Summary: %{origin_nice} Runtime Environment %{fastdebug_on}
+Summary: %{origin_nice} %{featurever} Runtime Environment %{fastdebug_on}
 Group:   Development/Languages
 
 %{java_headless_rpo -- %{fastdebug_suffix_unquoted}}
 
 %description headless-fastdebug
-The %{origin_nice} runtime environment %{majorver} without audio and video support.
+The %{origin_nice} %{featurever} runtime environment without audio and video support.
 %{fastdebug_warning}
 %endif
 
 %if %{include_normal_build}
 %package devel
-Summary: %{origin_nice} Development Environment %{majorver}
+Summary: %{origin_nice} %{featurever} Development Environment
 Group:   Development/Tools
 
 %{java_devel_rpo %{nil}}
 
 %description devel
-The %{origin_nice} development tools %{majorver}.
+The %{origin_nice} %{featurever} development tools.
 %endif
 
 %if %{include_debug_build}
 %package devel-slowdebug
-Summary: %{origin_nice} Development Environment %{majorver} %{debug_on}
+Summary: %{origin_nice} %{featurever} Development Environment %{debug_on}
 Group:   Development/Tools
 
 %{java_devel_rpo -- %{debug_suffix_unquoted}}
 
 %description devel-slowdebug
-The %{origin_nice} development tools %{majorver}.
+The %{origin_nice} ${featurever} development tools.
 %{debug_warning}
 %endif
 
 %if %{include_fastdebug_build}
 %package devel-fastdebug
-Summary: %{origin_nice} Development Environment %{majorver} %{fastdebug_on}
+Summary: %{origin_nice} %{featurever} Development Environment %{fastdebug_on}
 Group:   Development/Tools
 
 %{java_devel_rpo -- %{fastdebug_suffix_unquoted}}
 
 %description devel-fastdebug
-The %{origin_nice} development tools %{majorver}.
+The %{origin_nice} %{featurever} development tools.
 %{fastdebug_warning}
 %endif
 
 %if %{include_normal_build}
 %package static-libs
-Summary: %{origin_nice} libraries for static linking %{majorver}
+Summary: %{origin_nice} %{featurever} libraries for static linking
 
 %{java_static_libs_rpo %{nil}}
 
 %description static-libs
-The %{origin_nice} libraries for static linking %{majorver}.
+The %{origin_nice} %{featurever} libraries for static linking.
 %endif
 
 %if %{include_debug_build}
 %package static-libs-slowdebug
-Summary: %{origin_nice} libraries for static linking %{majorver} %{debug_on}
+Summary: %{origin_nice} %{featurever} libraries for static linking %{debug_on}
 
 %{java_static_libs_rpo -- %{debug_suffix_unquoted}}
 
 %description static-libs-slowdebug
-The %{origin_nice} libraries for static linking %{majorver}.
+The %{origin_nice} %{featurever} libraries for static linking.
 %{debug_warning}
 %endif
 
 %if %{include_fastdebug_build}
 %package static-libs-fastdebug
-Summary: %{origin_nice} libraries for static linking %{majorver} %{fastdebug_on}
+Summary: %{origin_nice} %{featurever} libraries for static linking %{fastdebug_on}
 
 %{java_static_libs_rpo -- %{fastdebug_suffix_unquoted}}
 
 %description static-libs-fastdebug
-The %{origin_nice} libraries for static linking %{majorver}.
+The %{origin_nice} %{featurever} libraries for static linking.
 %{fastdebug_warning}
 %endif
 
 %if %{include_normal_build}
 %package jmods
-Summary: JMods for %{origin_nice} %{majorver}
+Summary: JMods for %{origin_nice} %{featurever}
 Group:   Development/Tools
 
 %{java_jmods_rpo %{nil}}
 
 %description jmods
-The JMods for %{origin_nice}.
+The JMods for %{origin_nice} %{featurever}.
 %endif
 
 %if %{include_debug_build}
 %package jmods-slowdebug
-Summary: JMods for %{origin_nice} %{majorver} %{debug_on}
+Summary: JMods for %{origin_nice} %{featurever} %{debug_on}
 Group:   Development/Tools
 
 %{java_jmods_rpo -- %{debug_suffix_unquoted}}
 
 %description jmods-slowdebug
-The JMods for %{origin_nice} %{majorver}.
+The JMods for %{origin_nice} %{featurever}.
 %{debug_warning}
 %endif
 
 %if %{include_fastdebug_build}
 %package jmods-fastdebug
-Summary: JMods for %{origin_nice} %{majorver} %{fastdebug_on}
+Summary: JMods for %{origin_nice} %{featurever} %{fastdebug_on}
 Group:   Development/Tools
 
 %{java_jmods_rpo -- %{fastdebug_suffix_unquoted}}
 
 %description jmods-fastdebug
-The JMods for %{origin_nice} %{majorver}.
+The JMods for %{origin_nice} %{featurever}.
 %{fastdebug_warning}
 %endif
 
 %if %{include_normal_build}
 %package demo
-Summary: %{origin_nice} Demos %{majorver}
+Summary: %{origin_nice} %{featurever} Demos
 Group:   Development/Languages
 
 %{java_demo_rpo %{nil}}
 
 %description demo
-The %{origin_nice} demos %{majorver}.
+The %{origin_nice} %{featurever} demos.
 %endif
 
 %if %{include_debug_build}
 %package demo-slowdebug
-Summary: %{origin_nice} Demos %{majorver} %{debug_on}
+Summary: %{origin_nice} %{featurever} Demos %{debug_on}
 Group:   Development/Languages
 
 %{java_demo_rpo -- %{debug_suffix_unquoted}}
 
 %description demo-slowdebug
-The %{origin_nice} demos %{majorver}.
+The %{origin_nice} %{featurever} demos.
 %{debug_warning}
 %endif
 
 %if %{include_fastdebug_build}
 %package demo-fastdebug
-Summary: %{origin_nice} Demos %{majorver} %{fastdebug_on}
+Summary: %{origin_nice} %{featurever} Demos %{fastdebug_on}
 Group:   Development/Languages
 
 %{java_demo_rpo -- %{fastdebug_suffix_unquoted}}
 
 %description demo-fastdebug
-The %{origin_nice} demos %{majorver}.
+The %{origin_nice} %{featurever} demos.
 %{fastdebug_warning}
 %endif
 
 %if %{include_normal_build}
 %package src
-Summary: %{origin_nice} Source Bundle %{majorver}
+Summary: %{origin_nice} %{featurever} Source Bundle
 Group:   Development/Languages
 
 %{java_src_rpo %{nil}}
 
 %description src
-The java-%{origin}-src sub-package contains the complete %{origin_nice} %{majorver}
+The %{compatiblename}-src sub-package contains the complete %{origin_nice} %{featurever}
 class library source code for use by IDE indexers and debuggers.
 %endif
 
 %if %{include_debug_build}
 %package src-slowdebug
-Summary: %{origin_nice} Source Bundle %{majorver} %{for_debug}
+Summary: %{origin_nice} %{featurever} Source Bundle %{for_debug}
 Group:   Development/Languages
 
 %{java_src_rpo -- %{debug_suffix_unquoted}}
 
 %description src-slowdebug
-The java-%{origin}-src-slowdebug sub-package contains the complete %{origin_nice} %{majorver}
- class library source code for use by IDE indexers and debuggers. Debugging %{for_debug}.
+The %{compatiblename}-src-slowdebug sub-package contains the complete %{origin_nice} %{featurever}
+ class library source code for use by IDE indexers and debuggers, %{for_debug}.
 %endif
 
 %if %{include_fastdebug_build}
 %package src-fastdebug
-Summary: %{origin_nice} Source Bundle %{majorver} %{for_fastdebug}
+Summary: %{origin_nice} %{featurever} Source Bundle %{for_fastdebug}
 Group:   Development/Languages
 
 %{java_src_rpo -- %{fastdebug_suffix_unquoted}}
 
 %description src-fastdebug
-The java-%{origin}-src-fastdebug sub-package contains the complete %{origin_nice} %{majorver}
- class library source code for use by IDE indexers and debuggers. Debugging %{for_fastdebug}.
+The %{compatiblename}-src-fastdebug sub-package contains the complete %{origin_nice} %{featurever}
+ class library source code for use by IDE indexers and debuggers, %{for_fastdebug}.
 %endif
 
 %if %{include_normal_build}
 %package javadoc
-Summary: %{origin_nice} %{majorver} API documentation
+Summary: %{origin_nice} %{featurever} API documentation
 Group:   Documentation
 Requires: javapackages-filesystem
 Obsoletes: javadoc-debug
@@ -1509,10 +1520,10 @@ Obsoletes: javadoc-debug
 %{java_javadoc_rpo %{nil}}
 
 %description javadoc
-The %{origin_nice} %{majorver} API documentation.
+The %{origin_nice} %{featurever} API documentation.
 
 %package javadoc-zip
-Summary: %{origin_nice} %{majorver} API documentation compressed in a single archive
+Summary: %{origin_nice} %{featurever} API documentation compressed in a single archive
 Group:   Documentation
 Requires: javapackages-filesystem
 Obsoletes: javadoc-zip-debug
@@ -1520,7 +1531,7 @@ Obsoletes: javadoc-zip-debug
 %{java_javadoc_rpo %{nil}}
 
 %description javadoc-zip
-The %{origin_nice} %{majorver} API documentation compressed in a single archive.
+The %{origin_nice} %{featurever} API documentation compressed in a single archive.
 %endif
 
 %prep
@@ -1575,15 +1586,13 @@ pushd %{top_level_dir_name}
 %patch2 -p1
 %patch3 -p1
 %patch4 -p1
-%patch6 -p1
 %patch7 -p1
-%patch8 -p1
-%patch9 -p1
-%patch10 -p1
 %patch11 -p1
+%patch12 -p1
 popd # openjdk
 
 %patch1000
+%patch600
 %patch1001
 %patch1002
 %patch1003
@@ -1711,6 +1720,7 @@ bash ../configure \
     --with-giflib=system \
     --with-libpng=system \
     --with-lcms=system \
+    --with-harfbuzz=system \
     --with-stdc++lib=dynamic \
     --with-extra-cxxflags="$EXTRA_CPP_FLAGS" \
     --with-extra-cflags="$EXTRA_CFLAGS" \
@@ -1761,7 +1771,6 @@ ln -s %{_datadir}/javazi-1.8/tzdb.dat $JAVA_HOME/lib/tzdb.dat
 
 # Create fake alt-java as a placeholder for future alt-java
 pushd ${JAVA_HOME}
-cp -a bin/java bin/%{alt_java_name}
 # add alt-java man page
 echo "Hardened java binary recommended for launching untrusted code from the Web e.g. javaws" > man/man1/%{alt_java_name}.1
 cat man/man1/java.1 >> man/man1/%{alt_java_name}.1
@@ -1794,6 +1803,16 @@ $JAVA_HOME/bin/java $(echo $(basename %{SOURCE14})|sed "s|\.java||")
 $JAVA_HOME/bin/javac -d . %{SOURCE16}
 $JAVA_HOME/bin/java $(echo $(basename %{SOURCE16})|sed "s|\.java||") "%{oj_vendor}" %{oj_vendor_url} %{oj_vendor_bug_url}
 
+# Check java launcher has no SSB mitigation
+if ! nm $JAVA_HOME/bin/java | grep set_speculation ; then true ; else false; fi
+
+# Check alt-java launcher has SSB mitigation on supported architectures
+%ifarch %{ssbd_arches}
+nm $JAVA_HOME/bin/%{alt_java_name} | grep set_speculation
+%else
+if ! nm $JAVA_HOME/bin/%{alt_java_name} | grep set_speculation ; then true ; else false; fi
+%endif
+
 # Check debug symbols in static libraries (smoke test)
 export STATIC_LIBS_HOME=$(pwd)/%{buildoutputdir -- $suffix}/images/%{static_libs_image}
 readelf --debug-dump $STATIC_LIBS_HOME/lib/libfdlibm.a | grep w_remainder.c
@@ -1941,8 +1960,9 @@ if ! echo $suffix | grep -q "debug" ; then
   # Install Javadoc documentation
   install -d -m 755 $RPM_BUILD_ROOT%{_javadocdir}
   cp -a %{buildoutputdir $suffix}/images/docs $RPM_BUILD_ROOT%{_javadocdir}/%{uniquejavadocdir $suffix}
-  built_doc_archive=jdk-%{newjavaver}%{ea_designator_zip}+%{buildver}%{lts_designator_zip}-docs.zip
-  cp -a %{buildoutputdir -- $suffix}/bundles/${built_doc_archive} $RPM_BUILD_ROOT%{_javadocdir}/%{uniquejavadocdir -- $suffix}.zip
+  built_doc_archive=jdk-%{filever}%{ea_designator_zip}+%{buildver}%{lts_designator_zip}-docs.zip
+  cp -a %{buildoutputdir -- $suffix}/bundles/${built_doc_archive} \
+     $RPM_BUILD_ROOT%{_javadocdir}/%{uniquejavadocdir -- $suffix}.zip || ls -l %{buildoutputdir -- $suffix}/bundles/
 fi
 
 # Install release notes
@@ -2239,6 +2259,50 @@ end
 %endif
 
 %changelog
+* Tue Jan 12 2021 Andrew John Hughes <gnu.andrew@redhat.com> - 1:11.0.10.0.1-0.1.ea
+- Update to jdk-11.0.10.0+1
+- Update release notes to 11.0.10.0+1
+- Use JEP-322 Time-Based Versioning so we can handle a future 11.0.9.1-like release correctly.
+- Still use 11.0.x rather than 11.0.x.0 for file naming, as the trailing zero is omitted from tags.
+- Revert configure and built_doc_archive hacks to build 11.0.9.1 from 11.0.9.0 sources, and synced with RHEL version.
+- Cleanup debug package descriptions and version number placement.
+- Switch to EA mode for 11.0.10 pre-release builds.
+- Drop JDK-8222286, JDK-8236512 & JDK-8254177 as applied upstream
+- Use system harfbuzz now this is supported.
+- Use system tzdata2020b now it's available.
+- Adjust RH1842572 patch due to context change from JDK-8213400
+- Resolves: rhbz#1903908
+
+* Tue Dec 29 2020 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.9.11-9
+- Introduced ssbd_arches to denote architectures with SSBD mitigation (currently only x86_64)
+- Introduced nm-based check to verify alt-java on ssbd_arches is patched, and no other alt-java or java binaries are patched
+- RH1750419 patch amended to emit a warning on architectures where alt-java is the same as java
+- Resolves: rhbz#1784116
+
+* Tue Dec 29 2020 Jiri Vanek <jvanek@redhat.com> - 1:11.0.9.11-9
+- Redefined linux -> __linux__ and __x86_64 -> __x86_64__ in RH1750419 patch
+- Resolves: rhbz#1784116
+
+* Tue Dec 29 2020 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.9.11-8
+- Update release notes for 11.0.9.1 release.
+- Resolves: rhbz#1895274
+
+* Tue Dec 01 2020 Jiri Vanek <jvanek@redhat.com> - 1:11.0.9.11-7
+- removed patch6, rh1566890-CVE_2018_3639-speculative_store_bypass.patch, surpassed by new patch
+- added patch600, rh1750419-redhat_alt_java.patch, suprassing removed patch
+- no longer copying of java->alt-java as it is created by  patch600
+- Resolves: rhbz#1784116
+
+* Wed Nov 11 2020 Andrew Hughes <gnu.andrew@redhat.com> - 1:11.0.9.11-6
+- Fix typo of build_doc_archive/built_doc_archive
+- Resolves: rhbz#1895274
+
+* Wed Nov 04 2020 Severin Gehwolf <sgehwolf@redhat.com> - 1:11.0.9.11-5
+- Update to jdk-11.0.9.1+1
+- RPM version stays at 11.0.9.11 so as to not break upgrade path.
+- Adds a single patch for JDK-8250861.
+- Resolves: rhbz#1895274
+
 * Thu Oct 29 2020 Jiri Vanek <jvanek@redhat.com> - 1:11.0.9.11-4
 - Move all license files to NVR-specific JVM directory.
 - This bad placement was killing parallel installability and thus having a bad impact on leapp, if used.