blob: 989c9ce72902d48f7f732a61909b37a30d0aeac3 [file] [log] [blame]
/*
* 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__nand2_2) {
area : 19.756800 ;
leakage_power() {
related_pg_pin : "VDD" ;
when : "!A1&!A2" ;
value : "1.304154e-05" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "!A1&A2" ;
value : "1.307988e-05" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "A1&!A2" ;
value : "2.17548e-05" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
when : "A1&A2" ;
value : "2.01258e-05" ;
}
leakage_power() {
related_pg_pin : "VDD" ;
value : "2.17548e-05" ;
}
pg_pin(VDD) {
voltage_name : VDD ;
pg_type : primary_power ;
}
pg_pin(VSS) {
voltage_name : VSS ;
pg_type : primary_ground ;
}
pin(A1) {
capacitance : 0.008103 ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 12 ;
related_ground_pin : VSS ;
related_power_pin : VDD ;
internal_power() {
when : "!A2" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
values("0.009282, 0.00926, 0.00922, 0.009194, 0.009191, 0.009177, 0.009174, \
0.009177, 0.009175, 0.009175");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
values("-0.006283, -0.006285, -0.006271, -0.006273, -0.0063, -0.006296, \
-0.006318, -0.006337, -0.006364, -0.006417");
}
}
}
pin(A2) {
capacitance : 0.008436 ;
direction : input ;
driver_waveform_rise : driver_waveform_default_rise ;
driver_waveform_fall : driver_waveform_default_fall ;
input_voltage : default ;
max_transition : 12 ;
related_ground_pin : VSS ;
related_power_pin : VDD ;
internal_power() {
when : "!A1" ;
fall_power(pwr_tin_10) {
index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
values("0.008715, 0.008074, 0.007942, 0.007912, 0.007917, 0.007903, 0.007899, \
0.007904, 0.007897, 0.007895");
}
rise_power(pwr_tin_10) {
index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
values("-0.007926, -0.007925, -0.007903, -0.007885, -0.007892, -0.007878, \
-0.007874, -0.007864, -0.007857, -0.007856");
}
}
}
pin(ZN) {
direction : output ;
function : "((!A1)|(!A2))" ;
max_capacitance : 0.3789 ;
max_transition : 12 ;
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.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
index_2("0.001, 0.003608, 0.01276, 0.03025, 0.05749, 0.09571, 0.146, 0.2094, 0.2867, 0.3789");
values("0.002743, 0.002772, 0.002827, 0.002843, 0.002853, 0.002854, 0.002855, 0.002859, 0.002865, 0.002862",\
"0.002357, 0.002474, 0.002656, 0.002742, 0.002788, 0.002814, 0.002826, 0.002838, 0.002841, 0.002841",\
"0.001623, 0.001813, 0.002178, 0.002452, 0.002616, 0.002696, 0.002752, 0.002775, 0.002801, 0.00281",\
"0.001125, 0.001272, 0.001682, 0.002071, 0.002341, 0.002509, 0.002612, 0.002681, 0.002726, 0.002749",\
"0.001027, 0.001092, 0.001359, 0.001739, 0.002057, 0.002288, 0.00245, 0.002552, 0.002623, 0.00267",\
"0.001236, 0.001243, 0.001333, 0.001553, 0.001856, 0.002105, 0.002291, 0.002424, 0.002521, 0.002589",\
"0.001789, 0.001711, 0.001611, 0.001631, 0.001793, 0.002003, 0.002179, 0.002324, 0.002433, 0.002512",\
"0.002657, 0.002501, 0.002181, 0.001972, 0.001957, 0.002046, 0.002178, 0.002295, 0.002396, 0.002465",\
"0.003825, 0.003592, 0.003079, 0.002629, 0.00237, 0.002276, 0.002291, 0.002353, 0.002424, 0.002454",\
"0.005338, 0.005025, 0.004313, 0.003598, 0.003065, 0.002767, 0.002634, 0.002581, 0.002559, 0.002473");
}
rise_power(pwr_tin_oload_10x10) {
index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
index_2("0.001, 0.003608, 0.01276, 0.03025, 0.05749, 0.09571, 0.146, 0.2094, 0.2867, 0.3789");
values("0.02518, 0.02535, 0.02553, 0.0256, 0.02578, 0.02581, 0.02597, 0.0262, 0.02685, 0.03255",\
"0.02438, 0.02472, 0.02527, 0.02563, 0.02596, 0.02605, 0.02669, 0.02645, 0.02691, 0.03415",\
"0.02323, 0.02354, 0.02425, 0.02497, 0.02547, 0.02578, 0.02608, 0.02654, 0.02786, 0.03342",\
"0.02284, 0.02299, 0.02344, 0.02414, 0.02474, 0.02527, 0.0257, 0.0265, 0.02689, 0.03427",\
"0.02289, 0.02294, 0.02316, 0.02358, 0.0242, 0.02488, 0.02536, 0.02544, 0.02709, 0.03692",\
"0.02326, 0.02322, 0.02315, 0.02345, 0.02382, 0.02435, 0.02503, 0.02566, 0.02721, 0.0422",\
"0.0239, 0.02379, 0.02362, 0.02352, 0.02385, 0.02414, 0.02455, 0.02529, 0.02873, 0.05047",\
"0.0248, 0.02464, 0.02422, 0.02401, 0.024, 0.02423, 0.02453, 0.02552, 0.03203, 0.0711",\
"0.02604, 0.02579, 0.02528, 0.02476, 0.02438, 0.02446, 0.02478, 0.02645, 0.04297, 0.115",\
"0.02758, 0.02724, 0.02653, 0.02575, 0.02524, 0.02489, 0.02546, 0.03285, 0.0794, 0.2019");
}
}
internal_power() {
related_pin : "A2" ;
when : "A1" ;
fall_power(pwr_tin_oload_10x10) {
index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
index_2("0.001, 0.003608, 0.01276, 0.03025, 0.05749, 0.09571, 0.146, 0.2094, 0.2867, 0.3789");
values("0.00277, 0.002783, 0.002823, 0.002843, 0.002846, 0.00285, 0.002848, 0.002852, 0.002854, 0.002854",\
"0.002464, 0.002551, 0.002676, 0.002762, 0.002793, 0.002818, 0.002832, 0.002844, 0.002846, 0.002848",\
"0.001811, 0.001973, 0.002294, 0.002525, 0.002655, 0.00273, 0.002772, 0.002784, 0.002803, 0.00281",\
"0.00127, 0.001419, 0.001815, 0.002179, 0.002421, 0.002568, 0.002659, 0.002712, 0.002753, 0.002771",\
"0.0009877, 0.001105, 0.001424, 0.001817, 0.002128, 0.002342, 0.002486, 0.002582, 0.00265, 0.002692",\
"0.0009267, 0.001003, 0.001222, 0.001554, 0.001881, 0.002141, 0.002325, 0.002456, 0.002547, 0.002607",\
"0.001077, 0.001129, 0.001233, 0.001442, 0.00171, 0.001971, 0.002167, 0.002319, 0.002433, 0.002513",\
"0.001497, 0.001471, 0.001462, 0.00154, 0.001697, 0.00189, 0.002077, 0.002233, 0.002353, 0.002435",\
"0.002206, 0.002117, 0.001946, 0.001855, 0.001862, 0.00196, 0.002085, 0.00222, 0.002323, 0.002386",\
"0.003228, 0.003067, 0.002727, 0.002424, 0.002257, 0.002204, 0.002232, 0.002298, 0.002362, 0.002351");
}
rise_power(pwr_tin_oload_10x10) {
index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
index_2("0.001, 0.003608, 0.01276, 0.03025, 0.05749, 0.09571, 0.146, 0.2094, 0.2867, 0.3789");
values("0.03293, 0.03294, 0.03299, 0.03303, 0.03315, 0.03323, 0.03346, 0.03374, 0.03438, 0.04051",\
"0.03226, 0.03233, 0.03249, 0.0326, 0.03279, 0.03287, 0.03312, 0.03324, 0.03414, 0.04038",\
"0.03138, 0.03151, 0.03183, 0.03212, 0.03244, 0.03262, 0.03287, 0.03322, 0.03387, 0.04081",\
"0.03101, 0.0311, 0.03134, 0.03169, 0.03201, 0.03237, 0.03263, 0.0329, 0.03387, 0.04154",\
"0.03095, 0.031, 0.03115, 0.03136, 0.03171, 0.03212, 0.03251, 0.03292, 0.0339, 0.04408",\
"0.03127, 0.03124, 0.03118, 0.03134, 0.03158, 0.03187, 0.03236, 0.03267, 0.03439, 0.04861",\
"0.03183, 0.03171, 0.03155, 0.03152, 0.03165, 0.0319, 0.03207, 0.03246, 0.03578, 0.05856",\
"0.03262, 0.03251, 0.03217, 0.03192, 0.03185, 0.03201, 0.03213, 0.03289, 0.03951, 0.07916",\
"0.0337, 0.03356, 0.03313, 0.03264, 0.0323, 0.03242, 0.03261, 0.03408, 0.05096, 0.1239",\
"0.03512, 0.03488, 0.03432, 0.03362, 0.03302, 0.03287, 0.03325, 0.04084, 0.08844, 0.2116");
}
}
timing() {
related_pin : "A1" ;
timing_sense : negative_unate ;
timing_type : combinational ;
cell_fall(tmg_ntin_oload_10x10) {
index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
index_2("0.001, 0.003608, 0.01276, 0.03025, 0.05749, 0.09571, 0.146, 0.2094, 0.2867, 0.3789");
values("0.1443, 0.1771, 0.2918, 0.5103, 0.8506, 1.327, 1.955, 2.746, 3.712, 4.861",\
"0.1674, 0.2008, 0.3167, 0.535, 0.875, 1.352, 1.98, 2.77, 3.737, 4.881",\
"0.2494, 0.289, 0.4078, 0.6277, 0.9685, 1.446, 2.072, 2.863, 3.831, 4.975",\
"0.3343, 0.3947, 0.5637, 0.8067, 1.148, 1.625, 2.254, 3.044, 4.008, 5.162",\
"0.3995, 0.4828, 0.7139, 1.04, 1.428, 1.907, 2.535, 3.326, 4.29, 5.441",\
"0.4398, 0.5465, 0.8439, 1.26, 1.752, 2.299, 2.932, 3.721, 4.686, 5.837",\
"0.4515, 0.5829, 0.9481, 1.46, 2.06, 2.725, 3.444, 4.245, 5.208, 6.357",\
"0.4332, 0.5892, 1.024, 1.634, 2.348, 3.136, 3.983, 4.886, 5.869, 7.016",\
"0.3817, 0.5614, 1.068, 1.779, 2.612, 3.527, 4.509, 5.549, 6.646, 7.823",\
"0.2974, 0.5007, 1.077, 1.892, 2.845, 3.893, 5.013, 6.198, 7.44, 8.745");
}
cell_rise(tmg_ntin_oload_10x10) {
index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
index_2("0.001, 0.003608, 0.01276, 0.03025, 0.05749, 0.09571, 0.146, 0.2094, 0.2867, 0.3789");
values("0.1924, 0.2411, 0.4082, 0.7259, 1.219, 1.907, 2.821, 3.967, 5.363, 7.021",\
"0.2207, 0.2719, 0.4425, 0.7622, 1.256, 1.95, 2.858, 4.007, 5.396, 7.07",\
"0.3375, 0.3877, 0.5608, 0.8834, 1.381, 2.072, 2.987, 4.13, 5.531, 7.203",\
"0.5334, 0.6044, 0.7972, 1.121, 1.618, 2.316, 3.228, 4.375, 5.778, 7.446",\
"0.7568, 0.8569, 1.128, 1.496, 1.996, 2.691, 3.606, 4.755, 6.155, 7.829",\
"1.005, 1.136, 1.492, 1.976, 2.528, 3.224, 4.138, 5.286, 6.691, 8.358",\
"1.279, 1.442, 1.888, 2.494, 3.181, 3.928, 4.841, 5.991, 7.393, 9.065",\
"1.583, 1.776, 2.311, 3.047, 3.882, 4.773, 5.731, 6.879, 8.281, 9.952",\
"1.917, 2.142, 2.767, 3.634, 4.622, 5.678, 6.78, 7.967, 9.366, 11.04",\
"2.285, 2.539, 3.256, 4.252, 5.402, 6.63, 7.91, 9.233, 10.66, 12.33");
}
fall_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
index_2("0.001, 0.003608, 0.01276, 0.03025, 0.05749, 0.09571, 0.146, 0.2094, 0.2867, 0.3789");
values("0.1681, 0.2236, 0.4175, 0.7897, 1.364, 2.169, 3.239, 4.58, 6.218, 8.171",\
"0.1684, 0.2239, 0.4185, 0.7872, 1.364, 2.174, 3.235, 4.585, 6.216, 8.161",\
"0.2104, 0.2507, 0.4189, 0.7881, 1.365, 2.17, 3.241, 4.576, 6.219, 8.161",\
"0.3226, 0.3781, 0.5374, 0.818, 1.364, 2.174, 3.241, 4.586, 6.223, 8.162",\
"0.4558, 0.5282, 0.7314, 1.033, 1.456, 2.18, 3.238, 4.581, 6.217, 8.18",\
"0.6038, 0.6954, 0.9522, 1.319, 1.773, 2.356, 3.268, 4.574, 6.211, 8.171",\
"0.76, 0.876, 1.19, 1.633, 2.164, 2.78, 3.541, 4.667, 6.223, 8.169",\
"0.9242, 1.066, 1.444, 1.968, 2.589, 3.294, 4.08, 5.036, 6.382, 8.183",\
"1.096, 1.261, 1.709, 2.32, 3.036, 3.834, 4.723, 5.698, 6.86, 8.438",\
"1.28, 1.465, 1.988, 2.69, 3.508, 4.412, 5.402, 6.476, 7.644, 9.034");
}
rise_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
index_2("0.001, 0.003608, 0.01276, 0.03025, 0.05749, 0.09571, 0.146, 0.2094, 0.2867, 0.3789");
values("0.2374, 0.3179, 0.6025, 1.143, 1.986, 3.171, 4.728, 6.687, 9.074, 11.94",\
"0.2372, 0.3183, 0.602, 1.142, 1.99, 3.17, 4.74, 6.687, 9.081, 11.98",\
"0.2481, 0.3206, 0.6025, 1.146, 1.985, 3.169, 4.73, 6.679, 9.112, 11.93",\
"0.38, 0.4356, 0.6332, 1.145, 1.987, 3.17, 4.727, 6.706, 9.078, 11.93",\
"0.5466, 0.6262, 0.8428, 1.212, 1.991, 3.175, 4.743, 6.692, 9.08, 11.94",\
"0.7284, 0.8334, 1.114, 1.5, 2.093, 3.178, 4.738, 6.706, 9.086, 11.97",\
"0.916, 1.051, 1.409, 1.889, 2.447, 3.312, 4.743, 6.703, 9.106, 11.94",\
"1.111, 1.275, 1.72, 2.305, 2.969, 3.727, 4.906, 6.72, 9.096, 11.98",\
"1.31, 1.51, 2.04, 2.745, 3.524, 4.367, 5.374, 6.906, 9.128, 11.96",\
"1.514, 1.745, 2.369, 3.194, 4.116, 5.082, 6.112, 7.422, 9.334, 12");
}
}
timing() {
related_pin : "A2" ;
timing_sense : negative_unate ;
timing_type : combinational ;
cell_fall(tmg_ntin_oload_10x10) {
index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
index_2("0.001, 0.003608, 0.01276, 0.03025, 0.05749, 0.09571, 0.146, 0.2094, 0.2867, 0.3789");
values("0.1685, 0.2013, 0.3159, 0.5339, 0.8741, 1.35, 1.976, 2.77, 3.735, 4.879",\
"0.1963, 0.2296, 0.3446, 0.5637, 0.9029, 1.381, 2.009, 2.796, 3.764, 4.916",\
"0.2711, 0.3079, 0.4256, 0.6457, 0.9861, 1.464, 2.091, 2.883, 3.848, 4.998",\
"0.3579, 0.4073, 0.5556, 0.7927, 1.135, 1.613, 2.241, 3.033, 3.995, 5.147",\
"0.4333, 0.5013, 0.6947, 0.9839, 1.362, 1.844, 2.473, 3.265, 4.231, 5.378",\
"0.4849, 0.5741, 0.8251, 1.182, 1.625, 2.158, 2.797, 3.59, 4.556, 5.708",\
"0.507, 0.6199, 0.9335, 1.374, 1.897, 2.504, 3.205, 4.016, 4.984, 6.135",\
"0.4957, 0.633, 1.016, 1.546, 2.165, 2.859, 3.642, 4.524, 5.52, 6.674",\
"0.4501, 0.6132, 1.065, 1.69, 2.417, 3.215, 4.091, 5.059, 6.134, 7.326",\
"0.3705, 0.5583, 1.08, 1.806, 2.642, 3.558, 4.542, 5.608, 6.775, 8.053");
}
cell_rise(tmg_ntin_oload_10x10) {
index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
index_2("0.001, 0.003608, 0.01276, 0.03025, 0.05749, 0.09571, 0.146, 0.2094, 0.2867, 0.3789");
values("0.2575, 0.3061, 0.4744, 0.7925, 1.286, 1.977, 2.885, 4.029, 5.425, 7.089",\
"0.287, 0.3364, 0.506, 0.8249, 1.318, 2.01, 2.918, 4.062, 5.458, 7.122",\
"0.407, 0.4569, 0.6281, 0.9489, 1.444, 2.136, 3.045, 4.189, 5.585, 7.25",\
"0.6338, 0.6926, 0.8692, 1.19, 1.686, 2.379, 3.289, 4.433, 5.83, 7.495",\
"0.904, 0.9866, 1.224, 1.57, 2.067, 2.76, 3.67, 4.815, 6.212, 7.877",\
"1.202, 1.31, 1.622, 2.069, 2.602, 3.296, 4.206, 5.351, 6.749, 8.414",\
"1.527, 1.662, 2.054, 2.614, 3.27, 4.003, 4.913, 6.057, 7.454, 9.121",\
"1.881, 2.043, 2.514, 3.195, 3.993, 4.858, 5.805, 6.951, 8.347, 10.01",\
"2.267, 2.456, 3.009, 3.811, 4.755, 5.782, 6.863, 8.041, 9.438, 11.1",\
"2.687, 2.9, 3.535, 4.464, 5.557, 6.751, 8.008, 9.312, 10.74, 12.4");
}
fall_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
index_2("0.001, 0.003608, 0.01276, 0.03025, 0.05749, 0.09571, 0.146, 0.2094, 0.2867, 0.3789");
values("0.1684, 0.2238, 0.4183, 0.7895, 1.362, 2.176, 3.236, 4.571, 6.219, 8.161",\
"0.1682, 0.2237, 0.4177, 0.7891, 1.365, 2.171, 3.235, 4.574, 6.218, 8.159",\
"0.19, 0.2378, 0.4182, 0.7887, 1.362, 2.177, 3.243, 4.58, 6.218, 8.15",\
"0.2654, 0.3177, 0.49, 0.8098, 1.363, 2.174, 3.242, 4.574, 6.222, 8.152",\
"0.3714, 0.432, 0.6178, 0.9424, 1.43, 2.179, 3.238, 4.576, 6.207, 8.172",\
"0.501, 0.5744, 0.7882, 1.13, 1.628, 2.304, 3.268, 4.577, 6.215, 8.165",\
"0.648, 0.7352, 0.9888, 1.368, 1.88, 2.571, 3.457, 4.655, 6.22, 8.163",\
"0.808, 0.9138, 1.208, 1.64, 2.192, 2.896, 3.793, 4.909, 6.355, 8.189",\
"0.9748, 1.099, 1.446, 1.937, 2.54, 3.276, 4.196, 5.323, 6.684, 8.394",\
"1.154, 1.295, 1.698, 2.255, 2.927, 3.715, 4.66, 5.81, 7.18, 8.796");
}
rise_transition(tmg_ntin_oload_10x10) {
index_1("0.02, 0.1027, 0.3929, 0.9472, 1.811, 3.022, 4.617, 6.625, 9.077, 12");
index_2("0.001, 0.003608, 0.01276, 0.03025, 0.05749, 0.09571, 0.146, 0.2094, 0.2867, 0.3789");
values("0.301, 0.3824, 0.6652, 1.206, 2.049, 3.231, 4.786, 6.743, 9.137, 11.98",\
"0.3009, 0.3815, 0.6656, 1.207, 2.049, 3.233, 4.786, 6.75, 9.131, 11.98",\
"0.301, 0.3814, 0.6652, 1.206, 2.05, 3.232, 4.788, 6.744, 9.134, 11.99",\
"0.39, 0.4482, 0.6784, 1.207, 2.05, 3.233, 4.789, 6.75, 9.134, 11.99",\
"0.557, 0.6334, 0.8468, 1.252, 2.051, 3.233, 4.788, 6.745, 9.142, 11.99",\
"0.7394, 0.8416, 1.119, 1.506, 2.133, 3.239, 4.789, 6.744, 9.141, 11.99",\
"0.9358, 1.064, 1.418, 1.893, 2.459, 3.355, 4.802, 6.748, 9.14, 11.99",\
"1.135, 1.293, 1.726, 2.313, 2.972, 3.745, 4.95, 6.77, 9.142, 11.99",\
"1.347, 1.53, 2.051, 2.746, 3.528, 4.378, 5.398, 6.95, 9.176, 11.99",\
"1.555, 1.777, 2.382, 3.2, 4.12, 5.086, 6.116, 7.448, 9.384, 12.04");
}
}
}
}