/*
 * Copyright 2022 GlobalFoundries PDK Authors
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

  cell(gf180mcu_fd_sc_mcu7t5v0__or2_4) {
    area : 39.513600 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2" ;
      value : "0.0001122231" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2" ;
      value : "0.0001178892" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2" ;
      value : "8.91561e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2" ;
      value : "8.91561e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0001178892" ;
    }

    pg_pin(VDD) {
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pg_pin(VSS) {
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(A1) {
      capacitance : 0.009213 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "A2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02398, 0.02396, 0.02397, 0.02397, 0.02395, 0.02402, 0.02399, \
                 0.02395, 0.02393, 0.02387");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01046, -0.01051, -0.01056, -0.0106, -0.01059, -0.01062, -0.01063, \
                 -0.01063, -0.01063, -0.01063");
        }
      }
    }

    pin(A2) {
      capacitance : 0.00947 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "A1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03259, 0.03248, 0.03261, 0.03261, 0.0326, 0.03267, 0.03265, \
                 0.03261, 0.03263, 0.03263");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02693, -0.02926, -0.03127, -0.03162, -0.03182, -0.03196, -0.03199, \
                 -0.03209, -0.03211, -0.03216");
        }
      }
    }

    pin(Z) {
      direction : output ;
      function : "(A1|A2)" ;
      max_capacitance : 1.441 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "A1" ;
        when : "!A2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04583, 0.1125, 0.2163, 0.3619, 0.5536, 0.7951, 1.09, 1.441");
          values("0.2945, 0.2848, 0.2735, 0.2685, 0.2661, 0.2649, 0.264, 0.2633, 0.263, 0.2627",\
                 "0.2916, 0.2817, 0.2706, 0.2659, 0.2634, 0.262, 0.2612, 0.2606, 0.2602, 0.2599",\
                 "0.2927, 0.2828, 0.2713, 0.2663, 0.2641, 0.2629, 0.2621, 0.2614, 0.2612, 0.2609",\
                 "0.3124, 0.3013, 0.2874, 0.2809, 0.2778, 0.2762, 0.2753, 0.2748, 0.2745, 0.274",\
                 "0.353, 0.3395, 0.3209, 0.3112, 0.3063, 0.3037, 0.3021, 0.3011, 0.3004, 0.3",\
                 "0.4093, 0.3936, 0.37, 0.3571, 0.3494, 0.3456, 0.3434, 0.3421, 0.341, 0.3404",\
                 "0.4857, 0.468, 0.439, 0.4213, 0.4106, 0.4047, 0.4012, 0.3989, 0.3974, 0.3965",\
                 "0.5835, 0.5636, 0.5285, 0.505, 0.4908, 0.4826, 0.4772, 0.474, 0.4718, 0.4702",\
                 "0.7028, 0.6811, 0.6394, 0.6105, 0.592, 0.5804, 0.573, 0.5685, 0.5652, 0.5629",\
                 "0.8449, 0.8217, 0.7739, 0.7378, 0.7142, 0.6993, 0.6896, 0.6831, 0.6787, 0.6756");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04583, 0.1125, 0.2163, 0.3619, 0.5536, 0.7951, 1.09, 1.441");
          values("0.1403, 0.1403, 0.1433, 0.1469, 0.1489, 0.1525, 0.1558, 0.1577, 0.1614, 0.1743",\
                 "0.1406, 0.1408, 0.1441, 0.1473, 0.1499, 0.1532, 0.1552, 0.1587, 0.1607, 0.1815",\
                 "0.1465, 0.1453, 0.1455, 0.1484, 0.1507, 0.1552, 0.1572, 0.161, 0.1634, 0.1834",\
                 "0.1643, 0.1606, 0.158, 0.1575, 0.1599, 0.1624, 0.1654, 0.1683, 0.1733, 0.1873",\
                 "0.1966, 0.1909, 0.1836, 0.1812, 0.1818, 0.1825, 0.1849, 0.1887, 0.1918, 0.2072",\
                 "0.2461, 0.2376, 0.2256, 0.2192, 0.218, 0.2198, 0.2205, 0.2221, 0.2255, 0.2449",\
                 "0.3128, 0.3017, 0.2851, 0.2736, 0.2692, 0.2713, 0.2723, 0.2732, 0.2761, 0.2989",\
                 "0.3985, 0.3842, 0.364, 0.3489, 0.339, 0.334, 0.3387, 0.3411, 0.3432, 0.3724",\
                 "0.5035, 0.4858, 0.4606, 0.4418, 0.4291, 0.4208, 0.4192, 0.4256, 0.4296, 0.4697",\
                 "0.6276, 0.6064, 0.577, 0.5536, 0.5369, 0.5257, 0.5185, 0.5193, 0.5315, 0.5925");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04583, 0.1125, 0.2163, 0.3619, 0.5536, 0.7951, 1.09, 1.441");
          values("0.3179, 0.3081, 0.2969, 0.2922, 0.2897, 0.2882, 0.2874, 0.2867, 0.2864, 0.2861",\
                 "0.3151, 0.3052, 0.2941, 0.2893, 0.2868, 0.2854, 0.2846, 0.284, 0.2836, 0.2833",\
                 "0.3129, 0.3032, 0.2915, 0.287, 0.2845, 0.2831, 0.2824, 0.2817, 0.2814, 0.2812",\
                 "0.3286, 0.3175, 0.304, 0.2978, 0.2947, 0.293, 0.292, 0.2915, 0.291, 0.2907",\
                 "0.3656, 0.3531, 0.3363, 0.3275, 0.3232, 0.3209, 0.3196, 0.3188, 0.3182, 0.3176",\
                 "0.4259, 0.4115, 0.3904, 0.3784, 0.372, 0.3685, 0.3664, 0.3652, 0.3643, 0.3638",\
                 "0.511, 0.4947, 0.4684, 0.4519, 0.4426, 0.4373, 0.4341, 0.4321, 0.4307, 0.43",\
                 "0.6204, 0.6021, 0.5697, 0.5482, 0.5355, 0.5282, 0.5231, 0.5201, 0.5181, 0.5166",\
                 "0.7545, 0.7345, 0.6969, 0.669, 0.6517, 0.642, 0.6353, 0.6308, 0.6277, 0.6256",\
                 "0.9139, 0.8924, 0.8489, 0.815, 0.7935, 0.7797, 0.7707, 0.7647, 0.7606, 0.7578");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04583, 0.1125, 0.2163, 0.3619, 0.5536, 0.7951, 1.09, 1.441");
          values("0.1618, 0.1611, 0.1627, 0.1659, 0.1683, 0.171, 0.1737, 0.1775, 0.1789, 0.1924",\
                 "0.1598, 0.1593, 0.1607, 0.1637, 0.1659, 0.1694, 0.1717, 0.1742, 0.1776, 0.1901",\
                 "0.1632, 0.1613, 0.1614, 0.1633, 0.1659, 0.1694, 0.172, 0.1746, 0.1763, 0.192",\
                 "0.182, 0.1778, 0.1753, 0.1741, 0.1756, 0.1786, 0.1819, 0.1851, 0.1892, 0.2011",\
                 "0.2171, 0.2113, 0.2035, 0.2005, 0.1997, 0.202, 0.2034, 0.2066, 0.2104, 0.2267",\
                 "0.2716, 0.2636, 0.2509, 0.2435, 0.2431, 0.2439, 0.2436, 0.2455, 0.2483, 0.2689",\
                 "0.3469, 0.3365, 0.3206, 0.3084, 0.303, 0.3047, 0.3034, 0.3036, 0.3082, 0.3331",\
                 "0.4439, 0.4298, 0.4093, 0.3945, 0.3834, 0.3796, 0.3829, 0.3833, 0.3852, 0.4146",\
                 "0.5639, 0.547, 0.5225, 0.5025, 0.489, 0.4809, 0.4779, 0.484, 0.4854, 0.5272",\
                 "0.7072, 0.687, 0.6578, 0.633, 0.6155, 0.6036, 0.5971, 0.5952, 0.6075, 0.6724");
        }
      }

      timing() {
        related_pin : "A1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04583, 0.1125, 0.2163, 0.3619, 0.5536, 0.7951, 1.09, 1.441");
          values("0.3634, 0.408, 0.5197, 0.6793, 0.8898, 1.166, 1.522, 1.969, 2.515, 3.165",\
                 "0.3717, 0.4164, 0.528, 0.6876, 0.8981, 1.174, 1.53, 1.978, 2.523, 3.174",\
                 "0.4278, 0.4722, 0.5838, 0.7434, 0.9538, 1.23, 1.586, 2.033, 2.579, 3.229",\
                 "0.556, 0.6003, 0.7117, 0.8714, 1.082, 1.358, 1.714, 2.161, 2.707, 3.357",\
                 "0.7308, 0.7777, 0.8928, 1.056, 1.268, 1.545, 1.901, 2.348, 2.893, 3.543",\
                 "0.9488, 0.9989, 1.118, 1.283, 1.499, 1.778, 2.134, 2.581, 3.126, 3.776",\
                 "1.215, 1.268, 1.393, 1.563, 1.78, 2.059, 2.417, 2.865, 3.41, 4.06",\
                 "1.528, 1.585, 1.718, 1.896, 2.119, 2.399, 2.757, 3.204, 3.751, 4.401",\
                 "1.889, 1.95, 2.092, 2.28, 2.511, 2.797, 3.157, 3.604, 4.149, 4.8",\
                 "2.3, 2.365, 2.518, 2.716, 2.956, 3.252, 3.617, 4.067, 4.613, 5.264");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04583, 0.1125, 0.2163, 0.3619, 0.5536, 0.7951, 1.09, 1.441");
          values("0.1759, 0.2147, 0.3361, 0.562, 0.9121, 1.403, 2.05, 2.86, 3.857, 5.04",\
                 "0.191, 0.2299, 0.3512, 0.577, 0.9277, 1.418, 2.064, 2.877, 3.87, 5.053",\
                 "0.2404, 0.2788, 0.3989, 0.6245, 0.9747, 1.466, 2.112, 2.926, 3.916, 5.102",\
                 "0.2836, 0.3242, 0.4451, 0.669, 1.019, 1.51, 2.156, 2.967, 3.963, 5.145",\
                 "0.2995, 0.343, 0.4658, 0.6881, 1.037, 1.526, 2.172, 2.985, 3.979, 5.158",\
                 "0.2821, 0.3291, 0.4561, 0.6787, 1.026, 1.515, 2.159, 2.971, 3.965, 5.143",\
                 "0.227, 0.2772, 0.4106, 0.6347, 0.9827, 1.471, 2.114, 2.926, 3.916, 5.1",\
                 "0.1312, 0.1853, 0.3258, 0.553, 0.9025, 1.392, 2.035, 2.846, 3.836, 5.016",\
                 "-0.0085, 0.0496, 0.1976, 0.4292, 0.7802, 1.274, 1.92, 2.73, 3.72, 4.9",\
                 "-0.1955, -0.1333, 0.023, 0.2594, 0.6133, 1.112, 1.762, 2.576, 3.565, 4.745");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04583, 0.1125, 0.2163, 0.3619, 0.5536, 0.7951, 1.09, 1.441");
          values("0.1156, 0.159, 0.2759, 0.4661, 0.7596, 1.189, 1.773, 2.522, 3.437, 4.535",\
                 "0.1157, 0.1588, 0.2759, 0.4662, 0.7584, 1.19, 1.774, 2.521, 3.439, 4.53",\
                 "0.1161, 0.1593, 0.2758, 0.4659, 0.7591, 1.19, 1.772, 2.522, 3.44, 4.535",\
                 "0.1204, 0.163, 0.279, 0.468, 0.7604, 1.19, 1.774, 2.521, 3.439, 4.535",\
                 "0.137, 0.1798, 0.2934, 0.4798, 0.7678, 1.193, 1.773, 2.522, 3.436, 4.535",\
                 "0.1538, 0.1978, 0.3088, 0.494, 0.7788, 1.201, 1.779, 2.523, 3.439, 4.534",\
                 "0.175, 0.2212, 0.331, 0.5102, 0.7888, 1.208, 1.786, 2.526, 3.441, 4.532",\
                 "0.1988, 0.2486, 0.3616, 0.5376, 0.8098, 1.217, 1.79, 2.531, 3.441, 4.529",\
                 "0.225, 0.2786, 0.3962, 0.5728, 0.8418, 1.24, 1.801, 2.537, 3.445, 4.533",\
                 "0.2532, 0.3104, 0.4358, 0.6148, 0.8824, 1.28, 1.831, 2.548, 3.451, 4.54");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04583, 0.1125, 0.2163, 0.3619, 0.5536, 0.7951, 1.09, 1.441");
          values("0.07642, 0.1306, 0.3295, 0.7243, 1.34, 2.207, 3.344, 4.782, 6.532, 8.611",\
                 "0.07668, 0.1305, 0.3305, 0.7243, 1.34, 2.207, 3.341, 4.773, 6.531, 8.611",\
                 "0.07862, 0.1324, 0.33, 0.7246, 1.34, 2.204, 3.342, 4.779, 6.532, 8.615",\
                 "0.0896, 0.1424, 0.3332, 0.7245, 1.34, 2.204, 3.342, 4.784, 6.526, 8.608",\
                 "0.1032, 0.1556, 0.3394, 0.7266, 1.341, 2.204, 3.344, 4.775, 6.525, 8.626",\
                 "0.1204, 0.173, 0.3508, 0.73, 1.342, 2.204, 3.343, 4.768, 6.519, 8.607",\
                 "0.1386, 0.1926, 0.3682, 0.7412, 1.35, 2.206, 3.34, 4.779, 6.519, 8.603",\
                 "0.1576, 0.2136, 0.3882, 0.753, 1.365, 2.217, 3.345, 4.771, 6.526, 8.622",\
                 "0.1804, 0.2378, 0.4124, 0.7692, 1.379, 2.234, 3.356, 4.778, 6.518, 8.606",\
                 "0.2028, 0.2624, 0.4406, 0.7874, 1.397, 2.26, 3.382, 4.792, 6.525, 8.6");
        }
      }

      timing() {
        related_pin : "A2" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04583, 0.1125, 0.2163, 0.3619, 0.5536, 0.7951, 1.09, 1.441");
          values("0.3998, 0.4444, 0.5563, 0.7158, 0.9262, 1.202, 1.559, 2.006, 2.551, 3.201",\
                 "0.4106, 0.4553, 0.567, 0.7264, 0.937, 1.213, 1.569, 2.016, 2.562, 3.212",\
                 "0.4487, 0.4931, 0.6047, 0.7644, 0.9748, 1.251, 1.607, 2.054, 2.6, 3.25",\
                 "0.5306, 0.5757, 0.6876, 0.8478, 1.058, 1.335, 1.691, 2.138, 2.683, 3.334",\
                 "0.6556, 0.7027, 0.8196, 0.984, 1.197, 1.474, 1.83, 2.277, 2.822, 3.472",\
                 "0.8286, 0.878, 0.9989, 1.168, 1.385, 1.664, 2.02, 2.467, 3.013, 3.663",\
                 "1.041, 1.093, 1.221, 1.398, 1.62, 1.901, 2.258, 2.706, 3.251, 3.901",\
                 "1.288, 1.344, 1.48, 1.667, 1.9, 2.187, 2.546, 2.994, 3.539, 4.189",\
                 "1.571, 1.631, 1.776, 1.974, 2.219, 2.518, 2.885, 3.334, 3.879, 4.529",\
                 "1.89, 1.954, 2.108, 2.317, 2.575, 2.888, 3.269, 3.727, 4.274, 4.924");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04583, 0.1125, 0.2163, 0.3619, 0.5536, 0.7951, 1.09, 1.441");
          values("0.1968, 0.236, 0.3576, 0.5838, 0.9344, 1.424, 2.07, 2.883, 3.875, 5.056",\
                 "0.2106, 0.2496, 0.3711, 0.5973, 0.9476, 1.439, 2.083, 2.897, 3.888, 5.069",\
                 "0.2617, 0.3003, 0.4208, 0.6465, 0.9971, 1.488, 2.133, 2.946, 3.936, 5.12",\
                 "0.3175, 0.3577, 0.4786, 0.7029, 1.053, 1.543, 2.187, 3.001, 3.993, 5.172",\
                 "0.3492, 0.3925, 0.5151, 0.7372, 1.086, 1.576, 2.22, 3.034, 4.025, 5.208",\
                 "0.3537, 0.3996, 0.5258, 0.748, 1.095, 1.585, 2.228, 3.041, 4.032, 5.214",\
                 "0.327, 0.3767, 0.5088, 0.7321, 1.08, 1.568, 2.211, 3.022, 4.013, 5.193",\
                 "0.2683, 0.3213, 0.4599, 0.6866, 1.036, 1.525, 2.168, 2.978, 3.968, 5.149",\
                 "0.176, 0.2328, 0.3782, 0.6081, 0.9603, 1.454, 2.098, 2.908, 3.897, 5.077",\
                 "0.0476, 0.1092, 0.2619, 0.4959, 0.851, 1.347, 1.997, 2.809, 3.799, 4.979");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04583, 0.1125, 0.2163, 0.3619, 0.5536, 0.7951, 1.09, 1.441");
          values("0.1158, 0.1591, 0.2755, 0.4655, 0.758, 1.189, 1.773, 2.522, 3.435, 4.535",\
                 "0.1157, 0.1588, 0.2758, 0.4661, 0.7594, 1.189, 1.774, 2.52, 3.435, 4.535",\
                 "0.1157, 0.1591, 0.2763, 0.4663, 0.7585, 1.19, 1.775, 2.522, 3.435, 4.535",\
                 "0.1223, 0.1645, 0.2796, 0.4682, 0.7596, 1.189, 1.773, 2.522, 3.437, 4.535",\
                 "0.1322, 0.1778, 0.2946, 0.4808, 0.7674, 1.192, 1.774, 2.521, 3.438, 4.534",\
                 "0.146, 0.192, 0.3104, 0.4966, 0.7798, 1.199, 1.779, 2.522, 3.439, 4.532",\
                 "0.1654, 0.2152, 0.335, 0.5216, 0.7976, 1.211, 1.782, 2.524, 3.44, 4.532",\
                 "0.1884, 0.2396, 0.3666, 0.5578, 0.8328, 1.234, 1.795, 2.527, 3.438, 4.53",\
                 "0.2122, 0.268, 0.4012, 0.5994, 0.8804, 1.277, 1.823, 2.541, 3.444, 4.529",\
                 "0.238, 0.297, 0.4372, 0.6438, 0.9352, 1.337, 1.879, 2.581, 3.462, 4.536");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04583, 0.1125, 0.2163, 0.3619, 0.5536, 0.7951, 1.09, 1.441");
          values("0.07826, 0.1326, 0.3311, 0.725, 1.34, 2.204, 3.341, 4.774, 6.52, 8.609",\
                 "0.07874, 0.1328, 0.3311, 0.725, 1.34, 2.203, 3.341, 4.771, 6.52, 8.608",\
                 "0.07912, 0.1333, 0.331, 0.7246, 1.34, 2.204, 3.34, 4.773, 6.525, 8.607",\
                 "0.08956, 0.1425, 0.334, 0.7249, 1.34, 2.204, 3.339, 4.774, 6.524, 8.601",\
                 "0.102, 0.1546, 0.339, 0.7278, 1.342, 2.202, 3.34, 4.772, 6.517, 8.602",\
                 "0.1174, 0.1708, 0.3496, 0.7302, 1.343, 2.205, 3.338, 4.769, 6.521, 8.599",\
                 "0.1348, 0.1886, 0.3654, 0.7398, 1.349, 2.206, 3.34, 4.78, 6.519, 8.607",\
                 "0.1552, 0.2086, 0.3846, 0.7538, 1.362, 2.215, 3.343, 4.771, 6.524, 8.607",\
                 "0.1734, 0.23, 0.4062, 0.7684, 1.379, 2.233, 3.357, 4.775, 6.519, 8.608",\
                 "0.1968, 0.2528, 0.4314, 0.786, 1.398, 2.26, 3.379, 4.795, 6.522, 8.601");
        }
      }
    }
  }

