Copyright (c) 2017, 2021 Oracle and/or its affiliates. Copyright (c) 2017, 2022 Oracle and/or its affiliates. Copyright (c) 2017, 2023 Oracle and/or its affiliates. Copyright (c) 2017, 2024 Oracle and/or its affiliates. Copyright (c) 2018, 2021 Oracle and/or its affiliates. Copyright (c) 2018, 2024 Oracle and/or its affiliates. Copyright (c) 2019, 2020 Oracle and/or its affiliates. Copyright (c) 2019, 2021 Oracle and/or its affiliates. Copyright (c) 2019, 2022 Oracle and/or its affiliates. Copyright (c) 2019, 2023 Oracle and/or its affiliates. Copyright (c) 2020 Oracle and/or its affiliates. Copyright (c) 2021 Oracle and/or its affiliates. Copyright (c) 2021, 2023 Oracle and/or its affiliates. Copyright (c) 2022 Oracle and/or its affiliates. Copyright (c) 2023 Oracle and/or its affiliates. Copyright (c) 2024 Oracle and/or its affiliates.