1 /* 2 * Copyright 2019-2020 NXP 3 * 4 * SPDX-License-Identifier: BSD-3-Clause 5 */ 6 7 #include "LCD-S401M16KR.h" 8 9 #define __SLCD_1D_COM (1U << 0U) 10 #define __SLCD_1E_COM (1U << 1U) 11 #define __SLCD_1G_COM (1U << 2U) 12 #define __SLCD_1F_COM (1U << 3U) 13 #define __SLCD_DP1_COM (1U << 0U) 14 #define __SLCD_1C_COM (1U << 1U) 15 #define __SLCD_1B_COM (1U << 2U) 16 #define __SLCD_1A_COM (1U << 3U) 17 #define __SLCD_2D_COM (1U << 0U) 18 #define __SLCD_2E_COM (1U << 1U) 19 #define __SLCD_2G_COM (1U << 2U) 20 #define __SLCD_2F_COM (1U << 3U) 21 #define __SLCD_DP2_COM (1U << 0U) 22 #define __SLCD_2C_COM (1U << 1U) 23 #define __SLCD_2B_COM (1U << 2U) 24 #define __SLCD_2A_COM (1U << 3U) 25 #define __SLCD_3D_COM (1U << 0U) 26 #define __SLCD_3E_COM (1U << 1U) 27 #define __SLCD_3G_COM (1U << 2U) 28 #define __SLCD_3F_COM (1U << 3U) 29 #define __SLCD_DP3_COM (1U << 0U) 30 #define __SLCD_3C_COM (1U << 1U) 31 #define __SLCD_3B_COM (1U << 2U) 32 #define __SLCD_3A_COM (1U << 3U) 33 #define __SLCD_4D_COM (1U << 0U) 34 #define __SLCD_4E_COM (1U << 1U) 35 #define __SLCD_4G_COM (1U << 2U) 36 #define __SLCD_4F_COM (1U << 3U) 37 #define __SLCD_COL_COM (1U << 0U) 38 #define __SLCD_4C_COM (1U << 1U) 39 #define __SLCD_4B_COM (1U << 2U) 40 #define __SLCD_4A_COM (1U << 3U) 41 42 #define __SLCD_PIN5 1U 43 #define __SLCD_PIN6 2U 44 #define __SLCD_PIN7 3U 45 #define __SLCD_PIN8 4U 46 #define __SLCD_PIN9 5U 47 #define __SLCD_PIN10 6U 48 #define __SLCD_PIN11 7U 49 #define __SLCD_PIN12 8U 50 51 static const uint16_t SLCD_NumPos1_Num0[] = { 52 SLCD_ENGINE_PIN_VAL(__SLCD_PIN5, __SLCD_1D_COM | __SLCD_1E_COM | __SLCD_1F_COM), 53 SLCD_ENGINE_PIN_VAL(__SLCD_PIN6, __SLCD_1C_COM | __SLCD_1B_COM | __SLCD_1A_COM), 54 0x0, 55 }; 56 57 static const uint16_t SLCD_NumPos1_Num1[] = { 58 SLCD_ENGINE_PIN_VAL(__SLCD_PIN5, 0U), 59 SLCD_ENGINE_PIN_VAL(__SLCD_PIN6, __SLCD_1C_COM | __SLCD_1B_COM), 60 0x0, 61 }; 62 63 static const uint16_t SLCD_NumPos1_Num2[] = { 64 SLCD_ENGINE_PIN_VAL(__SLCD_PIN5, __SLCD_1D_COM | __SLCD_1E_COM | __SLCD_1G_COM), 65 SLCD_ENGINE_PIN_VAL(__SLCD_PIN6, __SLCD_1B_COM | __SLCD_1A_COM), 66 0x0, 67 }; 68 69 static const uint16_t SLCD_NumPos1_Num3[] = { 70 SLCD_ENGINE_PIN_VAL(__SLCD_PIN5, __SLCD_1D_COM | __SLCD_1G_COM), 71 SLCD_ENGINE_PIN_VAL(__SLCD_PIN6, __SLCD_1C_COM | __SLCD_1B_COM | __SLCD_1A_COM), 72 0x0, 73 }; 74 75 static const uint16_t SLCD_NumPos1_Num4[] = { 76 SLCD_ENGINE_PIN_VAL(__SLCD_PIN5, __SLCD_1G_COM | __SLCD_1F_COM), 77 SLCD_ENGINE_PIN_VAL(__SLCD_PIN6, __SLCD_1C_COM | __SLCD_1B_COM), 78 0x0, 79 }; 80 81 static const uint16_t SLCD_NumPos1_Num5[] = { 82 SLCD_ENGINE_PIN_VAL(__SLCD_PIN5, __SLCD_1D_COM | __SLCD_1G_COM | __SLCD_1F_COM), 83 SLCD_ENGINE_PIN_VAL(__SLCD_PIN6, __SLCD_1C_COM | __SLCD_1A_COM), 84 0x0, 85 }; 86 87 static const uint16_t SLCD_NumPos1_Num6[] = { 88 SLCD_ENGINE_PIN_VAL(__SLCD_PIN5, __SLCD_1D_COM | __SLCD_1E_COM | __SLCD_1G_COM | __SLCD_1F_COM), 89 SLCD_ENGINE_PIN_VAL(__SLCD_PIN6, __SLCD_1C_COM | __SLCD_1A_COM), 90 0x0, 91 }; 92 93 static const uint16_t SLCD_NumPos1_Num7[] = { 94 SLCD_ENGINE_PIN_VAL(__SLCD_PIN5, 0U), 95 SLCD_ENGINE_PIN_VAL(__SLCD_PIN6, __SLCD_1C_COM | __SLCD_1B_COM | __SLCD_1A_COM), 96 0x0, 97 }; 98 99 static const uint16_t SLCD_NumPos1_Num8[] = { 100 SLCD_ENGINE_PIN_VAL(__SLCD_PIN5, __SLCD_1D_COM | __SLCD_1E_COM | __SLCD_1G_COM | __SLCD_1F_COM), 101 SLCD_ENGINE_PIN_VAL(__SLCD_PIN6, __SLCD_1C_COM | __SLCD_1B_COM | __SLCD_1A_COM), 102 0x0, 103 }; 104 105 static const uint16_t SLCD_NumPos1_Num9[] = { 106 SLCD_ENGINE_PIN_VAL(__SLCD_PIN5, __SLCD_1D_COM | __SLCD_1G_COM | __SLCD_1F_COM), 107 SLCD_ENGINE_PIN_VAL(__SLCD_PIN6, __SLCD_1C_COM | __SLCD_1B_COM | __SLCD_1A_COM), 108 0x0, 109 }; 110 111 static const uint16_t *SLCD_NumPos1[] = { 112 113 SLCD_NumPos1_Num0, SLCD_NumPos1_Num1, SLCD_NumPos1_Num2, SLCD_NumPos1_Num3, SLCD_NumPos1_Num4, 114 SLCD_NumPos1_Num5, SLCD_NumPos1_Num6, SLCD_NumPos1_Num7, SLCD_NumPos1_Num8, SLCD_NumPos1_Num9, 115 }; 116 117 static const uint16_t SLCD_NumPos2_Num0[] = { 118 SLCD_ENGINE_PIN_VAL(__SLCD_PIN7, __SLCD_2D_COM | __SLCD_2E_COM | __SLCD_2F_COM), 119 SLCD_ENGINE_PIN_VAL(__SLCD_PIN8, __SLCD_2C_COM | __SLCD_2B_COM | __SLCD_2A_COM), 120 0x0, 121 }; 122 123 static const uint16_t SLCD_NumPos2_Num1[] = { 124 SLCD_ENGINE_PIN_VAL(__SLCD_PIN7, 0U), 125 SLCD_ENGINE_PIN_VAL(__SLCD_PIN8, __SLCD_2C_COM | __SLCD_2B_COM), 126 0x0, 127 }; 128 129 static const uint16_t SLCD_NumPos2_Num2[] = { 130 SLCD_ENGINE_PIN_VAL(__SLCD_PIN7, __SLCD_2D_COM | __SLCD_2E_COM | __SLCD_2G_COM), 131 SLCD_ENGINE_PIN_VAL(__SLCD_PIN8, __SLCD_2B_COM | __SLCD_2A_COM), 132 0x0, 133 }; 134 135 static const uint16_t SLCD_NumPos2_Num3[] = { 136 SLCD_ENGINE_PIN_VAL(__SLCD_PIN7, __SLCD_2D_COM | __SLCD_2G_COM), 137 SLCD_ENGINE_PIN_VAL(__SLCD_PIN8, __SLCD_2C_COM | __SLCD_2B_COM | __SLCD_2A_COM), 138 0x0, 139 }; 140 141 static const uint16_t SLCD_NumPos2_Num4[] = { 142 SLCD_ENGINE_PIN_VAL(__SLCD_PIN7, __SLCD_2G_COM | __SLCD_2F_COM), 143 SLCD_ENGINE_PIN_VAL(__SLCD_PIN8, __SLCD_2C_COM | __SLCD_2B_COM), 144 0x0, 145 }; 146 147 static const uint16_t SLCD_NumPos2_Num5[] = { 148 SLCD_ENGINE_PIN_VAL(__SLCD_PIN7, __SLCD_2D_COM | __SLCD_2G_COM | __SLCD_2F_COM), 149 SLCD_ENGINE_PIN_VAL(__SLCD_PIN8, __SLCD_2C_COM | __SLCD_2A_COM), 150 0x0, 151 }; 152 153 static const uint16_t SLCD_NumPos2_Num6[] = { 154 SLCD_ENGINE_PIN_VAL(__SLCD_PIN7, __SLCD_2D_COM | __SLCD_2E_COM | __SLCD_2G_COM | __SLCD_2F_COM), 155 SLCD_ENGINE_PIN_VAL(__SLCD_PIN8, __SLCD_2C_COM | __SLCD_2A_COM), 156 0x0, 157 }; 158 159 static const uint16_t SLCD_NumPos2_Num7[] = { 160 SLCD_ENGINE_PIN_VAL(__SLCD_PIN7, 0U), 161 SLCD_ENGINE_PIN_VAL(__SLCD_PIN8, __SLCD_2C_COM | __SLCD_2B_COM | __SLCD_2A_COM), 162 0x0, 163 }; 164 165 static const uint16_t SLCD_NumPos2_Num8[] = { 166 SLCD_ENGINE_PIN_VAL(__SLCD_PIN7, __SLCD_2D_COM | __SLCD_2E_COM | __SLCD_2G_COM | __SLCD_2F_COM), 167 SLCD_ENGINE_PIN_VAL(__SLCD_PIN8, __SLCD_2C_COM | __SLCD_2B_COM | __SLCD_2A_COM), 168 0x0, 169 }; 170 171 static const uint16_t SLCD_NumPos2_Num9[] = { 172 SLCD_ENGINE_PIN_VAL(__SLCD_PIN7, __SLCD_2D_COM | __SLCD_2G_COM | __SLCD_2F_COM), 173 SLCD_ENGINE_PIN_VAL(__SLCD_PIN8, __SLCD_2C_COM | __SLCD_2B_COM | __SLCD_2A_COM), 174 0x0, 175 }; 176 177 static const uint16_t *SLCD_NumPos2[] = { 178 179 SLCD_NumPos2_Num0, SLCD_NumPos2_Num1, SLCD_NumPos2_Num2, SLCD_NumPos2_Num3, SLCD_NumPos2_Num4, 180 SLCD_NumPos2_Num5, SLCD_NumPos2_Num6, SLCD_NumPos2_Num7, SLCD_NumPos2_Num8, SLCD_NumPos2_Num9, 181 }; 182 183 static const uint16_t SLCD_NumPos3_Num0[] = { 184 SLCD_ENGINE_PIN_VAL(__SLCD_PIN9, __SLCD_3D_COM | __SLCD_3E_COM | __SLCD_3F_COM), 185 SLCD_ENGINE_PIN_VAL(__SLCD_PIN10, __SLCD_3C_COM | __SLCD_3B_COM | __SLCD_3A_COM), 186 0x0, 187 }; 188 189 static const uint16_t SLCD_NumPos3_Num1[] = { 190 SLCD_ENGINE_PIN_VAL(__SLCD_PIN9, 0U), 191 SLCD_ENGINE_PIN_VAL(__SLCD_PIN10, __SLCD_3C_COM | __SLCD_3B_COM), 192 0x0, 193 }; 194 195 static const uint16_t SLCD_NumPos3_Num2[] = { 196 SLCD_ENGINE_PIN_VAL(__SLCD_PIN9, __SLCD_3D_COM | __SLCD_3E_COM | __SLCD_3G_COM), 197 SLCD_ENGINE_PIN_VAL(__SLCD_PIN10, __SLCD_3B_COM | __SLCD_3A_COM), 198 0x0, 199 }; 200 201 static const uint16_t SLCD_NumPos3_Num3[] = { 202 SLCD_ENGINE_PIN_VAL(__SLCD_PIN9, __SLCD_3D_COM | __SLCD_3G_COM), 203 SLCD_ENGINE_PIN_VAL(__SLCD_PIN10, __SLCD_3C_COM | __SLCD_3B_COM | __SLCD_3A_COM), 204 0x0, 205 }; 206 207 static const uint16_t SLCD_NumPos3_Num4[] = { 208 SLCD_ENGINE_PIN_VAL(__SLCD_PIN9, __SLCD_3G_COM | __SLCD_3F_COM), 209 SLCD_ENGINE_PIN_VAL(__SLCD_PIN10, __SLCD_3C_COM | __SLCD_3B_COM), 210 0x0, 211 }; 212 213 static const uint16_t SLCD_NumPos3_Num5[] = { 214 SLCD_ENGINE_PIN_VAL(__SLCD_PIN9, __SLCD_3D_COM | __SLCD_3G_COM | __SLCD_3F_COM), 215 SLCD_ENGINE_PIN_VAL(__SLCD_PIN10, __SLCD_3C_COM | __SLCD_3A_COM), 216 0x0, 217 }; 218 219 static const uint16_t SLCD_NumPos3_Num6[] = { 220 SLCD_ENGINE_PIN_VAL(__SLCD_PIN9, __SLCD_3D_COM | __SLCD_3E_COM | __SLCD_3G_COM | __SLCD_3F_COM), 221 SLCD_ENGINE_PIN_VAL(__SLCD_PIN10, __SLCD_3C_COM | __SLCD_3A_COM), 222 0x0, 223 }; 224 225 static const uint16_t SLCD_NumPos3_Num7[] = { 226 SLCD_ENGINE_PIN_VAL(__SLCD_PIN9, 0U), 227 SLCD_ENGINE_PIN_VAL(__SLCD_PIN10, __SLCD_3C_COM | __SLCD_3B_COM | __SLCD_3A_COM), 228 0x0, 229 }; 230 231 static const uint16_t SLCD_NumPos3_Num8[] = { 232 SLCD_ENGINE_PIN_VAL(__SLCD_PIN9, __SLCD_3D_COM | __SLCD_3E_COM | __SLCD_3G_COM | __SLCD_3F_COM), 233 SLCD_ENGINE_PIN_VAL(__SLCD_PIN10, __SLCD_3C_COM | __SLCD_3B_COM | __SLCD_3A_COM), 234 0x0, 235 }; 236 237 static const uint16_t SLCD_NumPos3_Num9[] = { 238 SLCD_ENGINE_PIN_VAL(__SLCD_PIN9, __SLCD_3D_COM | __SLCD_3G_COM | __SLCD_3F_COM), 239 SLCD_ENGINE_PIN_VAL(__SLCD_PIN10, __SLCD_3C_COM | __SLCD_3B_COM | __SLCD_3A_COM), 240 0x0, 241 }; 242 243 static const uint16_t *SLCD_NumPos3[] = { 244 245 SLCD_NumPos3_Num0, SLCD_NumPos3_Num1, SLCD_NumPos3_Num2, SLCD_NumPos3_Num3, SLCD_NumPos3_Num4, 246 SLCD_NumPos3_Num5, SLCD_NumPos3_Num6, SLCD_NumPos3_Num7, SLCD_NumPos3_Num8, SLCD_NumPos3_Num9, 247 }; 248 249 static const uint16_t SLCD_NumPos4_Num0[] = { 250 SLCD_ENGINE_PIN_VAL(__SLCD_PIN11, __SLCD_4D_COM | __SLCD_4E_COM | __SLCD_4F_COM), 251 SLCD_ENGINE_PIN_VAL(__SLCD_PIN12, __SLCD_4C_COM | __SLCD_4B_COM | __SLCD_4A_COM), 252 0x0, 253 }; 254 255 static const uint16_t SLCD_NumPos4_Num1[] = { 256 SLCD_ENGINE_PIN_VAL(__SLCD_PIN11, 0U), 257 SLCD_ENGINE_PIN_VAL(__SLCD_PIN12, __SLCD_4C_COM | __SLCD_4B_COM), 258 0x0, 259 }; 260 261 static const uint16_t SLCD_NumPos4_Num2[] = { 262 SLCD_ENGINE_PIN_VAL(__SLCD_PIN11, __SLCD_4D_COM | __SLCD_4E_COM | __SLCD_4G_COM), 263 SLCD_ENGINE_PIN_VAL(__SLCD_PIN12, __SLCD_4B_COM | __SLCD_4A_COM), 264 0x0, 265 }; 266 267 static const uint16_t SLCD_NumPos4_Num3[] = { 268 SLCD_ENGINE_PIN_VAL(__SLCD_PIN11, __SLCD_4D_COM | __SLCD_4G_COM), 269 SLCD_ENGINE_PIN_VAL(__SLCD_PIN12, __SLCD_4C_COM | __SLCD_4B_COM | __SLCD_4A_COM), 270 0x0, 271 }; 272 273 static const uint16_t SLCD_NumPos4_Num4[] = { 274 SLCD_ENGINE_PIN_VAL(__SLCD_PIN11, __SLCD_4G_COM | __SLCD_4F_COM), 275 SLCD_ENGINE_PIN_VAL(__SLCD_PIN12, __SLCD_4C_COM | __SLCD_4B_COM), 276 0x0, 277 }; 278 279 static const uint16_t SLCD_NumPos4_Num5[] = { 280 SLCD_ENGINE_PIN_VAL(__SLCD_PIN11, __SLCD_4D_COM | __SLCD_4G_COM | __SLCD_4F_COM), 281 SLCD_ENGINE_PIN_VAL(__SLCD_PIN12, __SLCD_4C_COM | __SLCD_4A_COM), 282 0x0, 283 }; 284 285 static const uint16_t SLCD_NumPos4_Num6[] = { 286 SLCD_ENGINE_PIN_VAL(__SLCD_PIN11, __SLCD_4D_COM | __SLCD_4E_COM | __SLCD_4G_COM | __SLCD_4F_COM), 287 SLCD_ENGINE_PIN_VAL(__SLCD_PIN12, __SLCD_4C_COM | __SLCD_4A_COM), 288 0x0, 289 }; 290 291 static const uint16_t SLCD_NumPos4_Num7[] = { 292 SLCD_ENGINE_PIN_VAL(__SLCD_PIN11, 0U), 293 SLCD_ENGINE_PIN_VAL(__SLCD_PIN12, __SLCD_4C_COM | __SLCD_4B_COM | __SLCD_4A_COM), 294 0x0, 295 }; 296 297 static const uint16_t SLCD_NumPos4_Num8[] = { 298 SLCD_ENGINE_PIN_VAL(__SLCD_PIN11, __SLCD_4D_COM | __SLCD_4E_COM | __SLCD_4G_COM | __SLCD_4F_COM), 299 SLCD_ENGINE_PIN_VAL(__SLCD_PIN12, __SLCD_4C_COM | __SLCD_4B_COM | __SLCD_4A_COM), 300 0x0, 301 }; 302 303 static const uint16_t SLCD_NumPos4_Num9[] = { 304 SLCD_ENGINE_PIN_VAL(__SLCD_PIN11, __SLCD_4D_COM | __SLCD_4G_COM | __SLCD_4F_COM), 305 SLCD_ENGINE_PIN_VAL(__SLCD_PIN12, __SLCD_4C_COM | __SLCD_4B_COM | __SLCD_4A_COM), 306 0x0, 307 }; 308 309 static const uint16_t *SLCD_NumPos4[] = { 310 311 SLCD_NumPos4_Num0, SLCD_NumPos4_Num1, SLCD_NumPos4_Num2, SLCD_NumPos4_Num3, SLCD_NumPos4_Num4, 312 SLCD_NumPos4_Num5, SLCD_NumPos4_Num6, SLCD_NumPos4_Num7, SLCD_NumPos4_Num8, SLCD_NumPos4_Num9, 313 }; 314 315 const uint16_t **SLCD_NumPos[] = {SLCD_NumPos1, SLCD_NumPos2, SLCD_NumPos3, SLCD_NumPos4}; 316 317 const uint16_t SLCD_Icon[] = { 318 /* Number part 1*/ 319 SLCD_ENGINE_PIN_VAL(__SLCD_PIN6, __SLCD_1A_COM), /* A */ 320 SLCD_ENGINE_PIN_VAL(__SLCD_PIN6, __SLCD_1B_COM), /* B */ 321 SLCD_ENGINE_PIN_VAL(__SLCD_PIN6, __SLCD_1C_COM), /* C */ 322 SLCD_ENGINE_PIN_VAL(__SLCD_PIN5, __SLCD_1D_COM), /* D */ 323 SLCD_ENGINE_PIN_VAL(__SLCD_PIN5, __SLCD_1E_COM), /* E */ 324 SLCD_ENGINE_PIN_VAL(__SLCD_PIN5, __SLCD_1F_COM), /* F */ 325 SLCD_ENGINE_PIN_VAL(__SLCD_PIN5, __SLCD_1G_COM), /* G */ 326 327 /* Number part 2*/ 328 SLCD_ENGINE_PIN_VAL(__SLCD_PIN8, __SLCD_2A_COM), /* A */ 329 SLCD_ENGINE_PIN_VAL(__SLCD_PIN8, __SLCD_2B_COM), /* B */ 330 SLCD_ENGINE_PIN_VAL(__SLCD_PIN8, __SLCD_2C_COM), /* C */ 331 SLCD_ENGINE_PIN_VAL(__SLCD_PIN7, __SLCD_2D_COM), /* D */ 332 SLCD_ENGINE_PIN_VAL(__SLCD_PIN7, __SLCD_2E_COM), /* E */ 333 SLCD_ENGINE_PIN_VAL(__SLCD_PIN7, __SLCD_2F_COM), /* F */ 334 SLCD_ENGINE_PIN_VAL(__SLCD_PIN7, __SLCD_2G_COM), /* G */ 335 336 /* Number part 3*/ 337 SLCD_ENGINE_PIN_VAL(__SLCD_PIN10, __SLCD_3A_COM), /* A */ 338 SLCD_ENGINE_PIN_VAL(__SLCD_PIN10, __SLCD_3B_COM), /* B */ 339 SLCD_ENGINE_PIN_VAL(__SLCD_PIN10, __SLCD_3C_COM), /* C */ 340 SLCD_ENGINE_PIN_VAL(__SLCD_PIN9, __SLCD_3D_COM), /* D */ 341 SLCD_ENGINE_PIN_VAL(__SLCD_PIN9, __SLCD_3E_COM), /* E */ 342 SLCD_ENGINE_PIN_VAL(__SLCD_PIN9, __SLCD_3F_COM), /* F */ 343 SLCD_ENGINE_PIN_VAL(__SLCD_PIN9, __SLCD_3G_COM), /* G */ 344 345 /* Number part 4*/ 346 SLCD_ENGINE_PIN_VAL(__SLCD_PIN12, __SLCD_4A_COM), /* A */ 347 SLCD_ENGINE_PIN_VAL(__SLCD_PIN12, __SLCD_4B_COM), /* B */ 348 SLCD_ENGINE_PIN_VAL(__SLCD_PIN12, __SLCD_4C_COM), /* C */ 349 SLCD_ENGINE_PIN_VAL(__SLCD_PIN11, __SLCD_4D_COM), /* D */ 350 SLCD_ENGINE_PIN_VAL(__SLCD_PIN11, __SLCD_4E_COM), /* E */ 351 SLCD_ENGINE_PIN_VAL(__SLCD_PIN11, __SLCD_4F_COM), /* F */ 352 SLCD_ENGINE_PIN_VAL(__SLCD_PIN11, __SLCD_4G_COM), /* G */ 353 354 SLCD_ENGINE_PIN_VAL(__SLCD_PIN6, __SLCD_DP1_COM), /* index 4, DP1 */ 355 SLCD_ENGINE_PIN_VAL(__SLCD_PIN8, __SLCD_DP2_COM), /* index 5, DP2 */ 356 SLCD_ENGINE_PIN_VAL(__SLCD_PIN10, __SLCD_DP3_COM), /* index 6, DP3 */ 357 SLCD_ENGINE_PIN_VAL(__SLCD_PIN12, __SLCD_COL_COM), /* index 7, COL */ 358 }; 359