From 800c4937aa016eb3c217544cd39505f88e1b0743 Mon Sep 17 00:00:00 2001 From: Mirek Date: Wed, 18 Feb 2026 23:08:29 +0100 Subject: [PATCH] Pierwsza wersja wygenerowana automatycznie przez SI minmax-m2.5 --- .claude/settings.local.json | 15 +- ZDistA_komp.c | 1994 ++++++++++++++++++++++++++++++++ ZDistA_komp.h | 465 ++++++++ ZDistL_komp.c | 1589 +++++++++++++++++++++++++ ZDistL_komp.h | 413 +++++++ rezultat.md | 17 + src/cfg_var.c | 35 + src/cfg_var.h | 14 + src/comm.c | 790 +++++++++++++ src/comm.h | 150 +++ src/config.h | 41 + src/hw_psc_OMAPL138.h | 285 +++++ src/hw_syscfg0_OMAPL138.h | 2167 +++++++++++++++++++++++++++++++++++ src/logman.c | 430 +++++++ src/logman.h | 94 ++ src/main.c | 533 +++++++++ src/misc.c | 349 ++++++ src/misc.h | 351 ++++++ src/omapl138_eth_driver.h | 353 ++++++ src/psc.c | 114 ++ src/psc.h | 69 ++ src/soc_OMAPL138.h | 595 ++++++++++ src/spi.c | 198 ++++ src/spi.h | 23 + src/tdefs.h | 16 + src/version.h | 16 + test_result.png | Bin 319984 -> 324419 bytes 27 files changed, 11115 insertions(+), 1 deletion(-) create mode 100644 ZDistA_komp.c create mode 100644 ZDistA_komp.h create mode 100644 ZDistL_komp.c create mode 100644 ZDistL_komp.h create mode 100644 rezultat.md create mode 100644 src/cfg_var.c create mode 100644 src/cfg_var.h create mode 100644 src/comm.c create mode 100644 src/comm.h create mode 100644 src/config.h create mode 100644 src/hw_psc_OMAPL138.h create mode 100644 src/hw_syscfg0_OMAPL138.h create mode 100644 src/logman.c create mode 100644 src/logman.h create mode 100644 src/main.c create mode 100644 src/misc.c create mode 100644 src/misc.h create mode 100644 src/omapl138_eth_driver.h create mode 100644 src/psc.c create mode 100644 src/psc.h create mode 100644 src/soc_OMAPL138.h create mode 100644 src/spi.c create mode 100644 src/spi.h create mode 100644 src/tdefs.h create mode 100644 src/version.h diff --git a/.claude/settings.local.json b/.claude/settings.local.json index 6ea7866..4572f40 100644 --- a/.claude/settings.local.json +++ b/.claude/settings.local.json @@ -3,7 +3,20 @@ "allow": [ "Bash(pip install:*)", "Bash(python:*)", - "Bash(taskkill:*)" + "Bash(taskkill:*)", + "Bash(git add:*)", + "Bash(git commit:*)", + "Bash(ls:*)", + "Bash(git -C D:/Mirek/ZPrAE/Distance status)", + "Bash(git -C D:/Mirek/ZPrAE/Distance ls-files)", + "Bash(git -C D:/Mirek/ZPrAE/Distance check-ignore D:/Mirek/ZPrAE/Distance/tester.py D:/Mirek/ZPrAE/Distance/distance_algorithm.py)", + "Bash(git -C D:/Mirek/ZPrAE/Distance status:*)", + "Bash(git -C D:/Mirek/ZPrAE/Distance ls-files:*)", + "Bash(git -C D:/Mirek/ZPrAE/Distance add tester.py distance_algorithm.py)", + "Bash(git -C D:/Mirek/ZPrAE/Distance log --oneline -3)", + "Bash(git -C D:/Mirek/ZPrAE/Distance log --oneline -5)", + "Bash(git -C D:/Mirek/ZPrAE/Distance show --stat HEAD)", + "Bash(git -C D:/Mirek/ZPrAE/Distance show --stat 46a3283)" ] } } diff --git a/ZDistA_komp.c b/ZDistA_komp.c new file mode 100644 index 0000000..44a810b --- /dev/null +++ b/ZDistA_komp.c @@ -0,0 +1,1994 @@ +/* + * ZDistA.c + * + * Created on: 09-03-2017 + * Author: Krzysztof Jakubczyk + */ + +#include + + +#include "../tdefs.h" +#include "../misc.h" +#include "helper.h" +#include "analog_in.h" +#include "e_phi.h" + +#include "ZDistA_komp.h" + +#define RnaS (3.141593 / 180) +#define filtr_P 5,5 + +struct nast_pomoc +{ + float R1W_Zf1W_LE; + float R1W_Zf1W_LL; + float R1_Zf1_LE; + float R1_Zf1_LL; + float R2_Zf2_LE; + float R2_Zf2_LL; + float R3_Zf3_LE; + float R3_Zf3_LL; + float R4_Zf4_LE; + float R4_Zf4_LL; + float R5_Zf5_LE; + float R5_Zf5_LL; + float X1W_Zr1W_LE; + float X1W_Zr1W_LL; + float X1_Zr1_LE; + float X1_Zr1_LL; + float X2_Zr2_LE; + float X2_Zr2_LL; + float X3_Zr3_LE; + float X3_Zr3_LL; + float X4_Zr4_LE; + float X4_Zr4_LL; + float X5_Zr5_LE; + float X5_Zr5_LL; +}; + +static float KI0_I2_Re,KI0_I2_Im,M,KI0_I2;//,Z_Z1min_old,Zmf_Z1min_old; + +static int blok_do_szyn = 0; +static int blok_do_linii = 0; +static int blokada_od_spz=0; + +int ZDistA_komp_initlog(void *arguments, void *logic) +{ + struct ZDistA_komp_args *args = (struct ZDistA_komp_args *)arguments; + struct ZDistA_komp_logic *log = (struct ZDistA_komp_logic *)logic; + float locX1,locX2,locR1,locR2; + float sink,cosk; + u16 i; + + if(set_bit_ptr_struct(args->io.bl_in,&log->stan_bl)) + return -1; + + if(set_bit_ptr_struct(args->io.bl_k_in,&log->Bl_K)) + return -1; + + if(set_float_ptr(args->io.i1_orta_float_in,&log->I1_orta)) + return -1; + if(set_float_ptr(args->io.i1_ortb_float_in,&log->I1_ortb)) + return -1; + if(set_float_ptr(args->io.i1_float_in,&log->I1)) + return -1; + if(set_float_ptr(args->io.i2_orta_float_in,&log->I2_orta)) + return -1; + if(set_float_ptr(args->io.i2_ortb_float_in,&log->I2_ortb)) + return -1; + if(set_float_ptr(args->io.i2_float_in,&log->I2)) + return -1; + if(set_float_ptr(args->io.i3_orta_float_in,&log->I3_orta)) + return -1; + if(set_float_ptr(args->io.i3_ortb_float_in,&log->I3_ortb)) + return -1; + if(set_float_ptr(args->io.i3_float_in,&log->I3)) + return -1; + + if(set_float_ptr(args->io.u1_orta_float_in,&log->U1_orta)) + return -1; + if(set_float_ptr(args->io.u1_ortb_float_in,&log->U1_ortb)) + return -1; + if(set_float_ptr(args->io.u1_float_in,&log->U1)) + return -1; + if(set_float_ptr(args->io.u2_orta_float_in,&log->U2_orta)) + return -1; + if(set_float_ptr(args->io.u2_ortb_float_in,&log->U2_ortb)) + return -1; + if(set_float_ptr(args->io.u2_float_in,&log->U2)) + return -1; + if(set_float_ptr(args->io.u3_orta_float_in,&log->U3_orta)) + return -1; + if(set_float_ptr(args->io.u3_ortb_float_in,&log->U3_ortb)) + return -1; + if(set_float_ptr(args->io.u3_float_in,&log->U3)) + return -1; + + if(set_float_ptr(args->io.u12_orta_float_in,&log->U12_orta)) + return -1; + if(set_float_ptr(args->io.u12_ortb_float_in,&log->U12_ortb)) + return -1; + if(set_float_ptr(args->io.u12_float_in,&log->U12)) + return -1; + if(set_float_ptr(args->io.u23_orta_float_in,&log->U23_orta)) + return -1; + if(set_float_ptr(args->io.u23_ortb_float_in,&log->U23_ortb)) + return -1; + if(set_float_ptr(args->io.u23_float_in,&log->U23)) + return -1; + if(set_float_ptr(args->io.u31_orta_float_in,&log->U31_orta)) + return -1; + if(set_float_ptr(args->io.u31_ortb_float_in,&log->U31_ortb)) + return -1; + if(set_float_ptr(args->io.u31_float_in,&log->U31)) + return -1; + + if(set_float_ptr(args->io.i1_zg_orta_float_in,&log->sI1_orta)) + return -1; + if(set_float_ptr(args->io.i1_zg_ortb_float_in,&log->sI1_ortb)) + return -1; + if(set_float_ptr(args->io.i1_zg_float_in,&log->sI1)) + return -1; + + if(set_float_ptr(args->io.i2_pr_orta_float_in,&log->sI2_orta)) + return -1; + if(set_float_ptr(args->io.i2_pr_ortb_float_in,&log->sI2_ortb)) + return -1; + if(set_float_ptr(args->io.i2_pr_float_in,&log->sI2)) + return -1; + + if(set_float_ptr(args->io.io_orta_float_in,&log->sI0_orta)) + return -1; + if(set_float_ptr(args->io.io_ortb_float_in,&log->sI0_ortb)) + return -1; + if(set_float_ptr(args->io.io_float_in,&log->sI0)) + return -1; + + if(set_float_ptr(args->io.u1_zg_orta_float_in,&log->sU1_orta)) + return -1; + if(set_float_ptr(args->io.u1_zg_ortb_float_in,&log->sU1_ortb)) + return -1; + if(set_float_ptr(args->io.u1_zg_float_in,&log->sU1)) + return -1; + + if(set_float_ptr(args->io.u2_pr_orta_float_in,&log->sU2_orta)) + return -1; + if(set_float_ptr(args->io.u2_pr_ortb_float_in,&log->sU2_ortb)) + return -1; + if(set_float_ptr(args->io.u2_pr_float_in,&log->sU2)) + return -1; + + if(set_float_ptr(args->io.uo_orta_float_in,&log->sU0_orta)) + return -1; + if(set_float_ptr(args->io.uo_ortb_float_in,&log->sU0_ortb)) + return -1; + if(set_float_ptr(args->io.uo_float_in,&log->sU0)) + return -1; + + if(set_pointer_in_ptr(args->io.i_param_an_ptr_in,(u32 *)&log->param_I)) + return -1; + + if(set_pointer_in_ptr(args->io.u_param_an_ptr_in,(u32 *)&log->param_U)) + return -1; + + if(set_bit_ptr_struct(args->io.test_in,&log->test)) + return -1; + + if(set_bit_ptr_struct(args->io.deakt_in,&log->deakt)) + return -1; + + //kompensacja pradu linii rownoleglej + if(set_float_ptr(args->io.i_rown_orta_float_in,&log->I_row_orta)) + return -1; + if(set_float_ptr(args->io.i_rown_ortb_float_in,&log->I_row_ortb)) + return -1; + if(set_pointer_in_ptr(args->io.i_rown_an_ptr_in,(u32 *)&log->param_I_rown)) + return -1; + + if(set_bit_ptr_struct(args->io.wyl_in,&log->wyl)) + return -1; + + if(set_bit_ptr_struct(args->io.P1W_L1E_out,&log->P1W_L1E)) + return -1; + if(set_bit_ptr_struct(args->io.P1W_L2E_out,&log->P1W_L2E)) + return -1; + if(set_bit_ptr_struct(args->io.P1W_L3E_out,&log->P1W_L3E)) + return -1; + + if(set_bit_ptr_struct(args->io.P1W_L1L2_out,&log->P1W_L1L2)) + return -1; + if(set_bit_ptr_struct(args->io.P1W_L2L3_out,&log->P1W_L2L3)) + return -1; + if(set_bit_ptr_struct(args->io.P1W_L3L1_out,&log->P1W_L3L1)) + return -1; + + if(set_bit_ptr_struct(args->io.P1_L1E_out,&log->P1_L1E)) + return -1; + if(set_bit_ptr_struct(args->io.P1_L2E_out,&log->P1_L2E)) + return -1; + if(set_bit_ptr_struct(args->io.P1_L3E_out,&log->P1_L3E)) + return -1; + + if(set_bit_ptr_struct(args->io.P1_L1L2_out,&log->P1_L1L2)) + return -1; + if(set_bit_ptr_struct(args->io.P1_L2L3_out,&log->P1_L2L3)) + return -1; + if(set_bit_ptr_struct(args->io.P1_L3L1_out,&log->P1_L3L1)) + return -1; + + if(set_bit_ptr_struct(args->io.P2_L1E_out,&log->P2_L1E)) + return -1; + if(set_bit_ptr_struct(args->io.P2_L2E_out,&log->P2_L2E)) + return -1; + if(set_bit_ptr_struct(args->io.P2_L3E_out,&log->P2_L3E)) + return -1; + + if(set_bit_ptr_struct(args->io.P2_L1L2_out,&log->P2_L1L2)) + return -1; + if(set_bit_ptr_struct(args->io.P2_L2L3_out,&log->P2_L2L3)) + return -1; + if(set_bit_ptr_struct(args->io.P2_L3L1_out,&log->P2_L3L1)) + return -1; + + if(set_bit_ptr_struct(args->io.P3_L1E_out,&log->P3_L1E)) + return -1; + if(set_bit_ptr_struct(args->io.P3_L2E_out,&log->P3_L2E)) + return -1; + if(set_bit_ptr_struct(args->io.P3_L3E_out,&log->P3_L3E)) + return -1; + + if(set_bit_ptr_struct(args->io.P3_L1L2_out,&log->P3_L1L2)) + return -1; + if(set_bit_ptr_struct(args->io.P3_L2L3_out,&log->P3_L2L3)) + return -1; + if(set_bit_ptr_struct(args->io.P3_L3L1_out,&log->P3_L3L1)) + return -1; + + if(set_bit_ptr_struct(args->io.P4_L1E_out,&log->P4_L1E)) + return -1; + if(set_bit_ptr_struct(args->io.P4_L2E_out,&log->P4_L2E)) + return -1; + if(set_bit_ptr_struct(args->io.P4_L3E_out,&log->P4_L3E)) + return -1; + + if(set_bit_ptr_struct(args->io.P4_L1L2_out,&log->P4_L1L2)) + return -1; + if(set_bit_ptr_struct(args->io.P4_L2L3_out,&log->P4_L2L3)) + return -1; + if(set_bit_ptr_struct(args->io.P4_L3L1_out,&log->P4_L3L1)) + return -1; + + if(set_bit_ptr_struct(args->io.P5_L1E_out,&log->P5_L1E)) + return -1; + if(set_bit_ptr_struct(args->io.P5_L2E_out,&log->P5_L2E)) + return -1; + if(set_bit_ptr_struct(args->io.P5_L3E_out,&log->P5_L3E)) + return -1; + + if(set_bit_ptr_struct(args->io.P5_L1L2_out,&log->P5_L1L2)) + return -1; + if(set_bit_ptr_struct(args->io.P5_L2L3_out,&log->P5_L2L3)) + return -1; + if(set_bit_ptr_struct(args->io.P5_L3L1_out,&log->P5_L3L1)) + return -1; + + if(set_pointer_out_ptr(args->io.wy_ptr_out,(u32 *)&log->nast_.wyjscie)) + return -1; + + //debug + if(set_float_ptr(args->io.z1_float_out,&log->z[0])) + return -1; + if(set_float_ptr(args->io.z2_float_out,&log->z[1])) + return -1; + if(set_float_ptr(args->io.z3_float_out,&log->z[2])) + return -1; + if(set_float_ptr(args->io.z4_float_out,&log->z[3])) + return -1; + if(set_float_ptr(args->io.z5_float_out,&log->z[4])) + return -1; + if(set_float_ptr(args->io.z6_float_out,&log->z[5])) + return -1; + + log->nast_.on_ = (args->params.bity & 0x0001)?1:0; + log->nast_.bl_ = (args->params.bity & 0x0002)?1:0; + log->nast_.Bl_L[1] = (args->params.bity & 0x0004)?1:0; + log->nast_.Bl_L[2] = (args->params.bity & 0x0008)?1:0; + log->nast_.Bl_L[3] = (args->params.bity & 0x0010)?1:0; + log->nast_.Bl_L[4] = (args->params.bity & 0x0020)?1:0; + log->nast_.Bl_L[5] = (args->params.bity & 0x0040)?1:0; + log->nast_.Bl_L[0] = (args->params.bity & 0x0080)?1:0; + + log->nast_.z6_kolo = (args->params.bity & 0x0100)?1:0; + +#define ZDISTA_POPRAWKA_1 (1) //(args->params.bity & 0x0200) // 150% imp +#define ZDISTA_POPRAWKA_2 (0) //(args->params.bity & 0x0400) // PUSTY +#define ZDISTA_POPRAWKA_3 (1) //(args->params.bity & 0x0800) // Michala P. +#define ZDISTA_POPRAWKA_4 (0) //(args->params.bity & 0x1000) // Radka +#define ZDISTA_POPRAWKA_5 (1) //(args->params.bity & 0x2000) // 150% imp miedzyfazowych - blokuj mfazowe petle +#define ZDISTA_POPRAWKA_6 (0) //(args->params.bity & 0x4000) // 150% imp miedzyfazowych - blokuj fazowe petle +#define ZDISTA_POPRAWKA_7 (0) //(args->params.bity & 0x8000) // KJ rodzaj zwarcia + energia +#define ZDISTA_POPRAWKA_4C (0) //(args->params.bity & 0x10000) // 4C Radka +#define ZDISTA_POPRAWKA_8 (1) //(args->params.bity & 0x20000) // filtr wylacznikowy + + //wyliczenie przekladni impedancyjnej + log->nast_.wyjscie.przekladnia = log->param_I->znam_wtor / log->param_U->znam_wtor; + log->nast_.wyjscie.Zdist_dw = &log->dw; + log->nast_.wyjscie.on = &log->nast_.on_; + + //wyliczenie wektorow kompensacji ziemnozwarciowej + log->nast_.ReK1 = 3 * args->params.Kk1 * cos(RnaS * -args->params.Kk1_kat); + log->nast_.ImK1 = 3 * args->params.Kk1 * sin(RnaS * -args->params.Kk1_kat); + log->nast_.ReKr = 3 * args->params.KkC * cos(RnaS * -args->params.KkC_kat); + log->nast_.ImKr = 3 * args->params.KkC * sin(RnaS * -args->params.KkC_kat); + + log->nast_.kp = args->params.kp; + log->nast_.kpp = 1/args->params.kp; + log->nast_.kpk = log->nast_.kpp * log->nast_.kpp; + + log->nast_.kp_obc = args->params.kp_obc; + log->nast_.kpp_obc = 1 / log->nast_.kp_obc; + + log->nast_.typ[0] = args->params.Typ0; + log->nast_.typ[1] = args->params.Typ1; + log->nast_.typ[2] = args->params.Typ2; + log->nast_.typ[3] = args->params.Typ3; + log->nast_.typ[4] = args->params.Typ4; + log->nast_.typ[5] = args->params.Typ5; + + sink = sin(RnaS * args->params.fi1); + cosk = cos(RnaS * args->params.fi1); + + log->nast_.tanfi2 = tan(RnaS * args->params.fi2); + log->nast_.tanfi1 = tan(RnaS * args->params.fi1); + + + struct nast_pomoc n_pomoc; + + n_pomoc.R1W_Zf1W_LE = (float)args->params.R1W_Zf1W_LE; + n_pomoc.R1W_Zf1W_LL = (float)args->params.R1W_Zf1W_LL; + n_pomoc.R1_Zf1_LE = (float)args->params.R1_Zf1_LE; + n_pomoc.R1_Zf1_LL = (float)args->params.R1_Zf1_LL; + n_pomoc.R2_Zf2_LE = (float)args->params.R2_Zf2_LE; + n_pomoc.R2_Zf2_LL = (float)args->params.R2_Zf2_LL; + n_pomoc.R3_Zf3_LE = (float)args->params.R3_Zf3_LE; + n_pomoc.R3_Zf3_LL = (float)args->params.R3_Zf3_LL; + n_pomoc.R4_Zf4_LE = (float)args->params.R4_Zf4_LE; + n_pomoc.R4_Zf4_LL = (float)args->params.R4_Zf4_LL; + n_pomoc.R5_Zf5_LE = (float)args->params.R5_Zf5_LE; + n_pomoc.R5_Zf5_LL = (float)args->params.R5_Zf5_LL; + n_pomoc.X1W_Zr1W_LE = (float)args->params.X1W_Zr1W_LE; + n_pomoc.X1W_Zr1W_LL = (float)args->params.X1W_Zr1W_LL; + n_pomoc.X1_Zr1_LE = (float)args->params.X1_Zr1_LE; + n_pomoc.X1_Zr1_LL = (float)args->params.X1_Zr1_LL; + n_pomoc.X2_Zr2_LE = (float)args->params.X2_Zr2_LE; + n_pomoc.X2_Zr2_LL = (float)args->params.X2_Zr2_LL; + n_pomoc.X3_Zr3_LE = (float)args->params.X3_Zr3_LE; + n_pomoc.X3_Zr3_LL = (float)args->params.X3_Zr3_LL; + n_pomoc.X4_Zr4_LE = (float)args->params.X4_Zr4_LE; + n_pomoc.X4_Zr4_LL = (float)args->params.X4_Zr4_LL; + n_pomoc.X5_Zr5_LE = (float)args->params.X5_Zr5_LE; + n_pomoc.X5_Zr5_LL = (float)args->params.X5_Zr5_LL; + + + //Impedancja konca pierwszej strefy + //dopisalem 28.01.2026 KI0/I2 + M = _rcpsp((1+log->nast_.ImK1)* (1+log->nast_.ImK1) + (log->nast_.ReK1 * log->nast_.ReK1)); + KI0_I2_Re = - log->nast_.ImK1 * M; + KI0_I2_Im = (1+log->nast_.ReK1) * M; + KI0_I2 = sqrtf((KI0_I2_Re*KI0_I2_Re) + (KI0_I2_Im*KI0_I2_Im)); + + float A,B; + A = 1.0f + 3.0f * log->nast_.ReK1; + B = 3.0f * log->nast_.ImK1; + KI0_I2 = _rcpsp(sqrtf((A*A) + (B*B))); + + if(args->params.K0 <= 1) + { + log->dw.modul_zf[0] = ((args->params.R1W_Zf1W_LE * args->params.R1W_Zf1W_LE) + (args->params.X1W_Zr1W_LE * args->params.X1W_Zr1W_LE))* (log->nast_.wyjscie.przekladnia*log->nast_.wyjscie.przekladnia) *(0.15f*0.15f) ; + log->dw.modul_zmf[0] = ((args->params.R1W_Zf1W_LL * args->params.R1W_Zf1W_LL) + (args->params.X1W_Zr1W_LL * args->params.X1W_Zr1W_LL))* (log->nast_.wyjscie.przekladnia*log->nast_.wyjscie.przekladnia) *(0.15f*0.15f) ; + } + else + { + log->dw.modul_zf[0]=9999.9f; + log->dw.modul_zmf[0]=9999.9f; + } + + if(args->params.K1 <= 1) + { + log->dw.modul_zf[1] = ((args->params.R1_Zf1_LE * args->params.R1_Zf1_LE) + (args->params.X1_Zr1_LE * args->params.X1_Zr1_LE))* (log->nast_.wyjscie.przekladnia*log->nast_.wyjscie.przekladnia) *(0.15f*0.15f) ; + log->dw.modul_zmf[1] = ((args->params.R1_Zf1_LL * args->params.R1_Zf1_LL) + (args->params.X1_Zr1_LL * args->params.X1_Zr1_LL))* (log->nast_.wyjscie.przekladnia*log->nast_.wyjscie.przekladnia) *(0.15f*0.15f) ; + } + else + { + log->dw.modul_zf[1]=9999.9f; + log->dw.modul_zmf[1]=9999.9f; + } + + if(args->params.K2 <= 1) + { + log->dw.modul_zf[2] = ((args->params.R2_Zf2_LE * args->params.R2_Zf2_LE) + (args->params.X2_Zr2_LE * args->params.X2_Zr2_LE))* (log->nast_.wyjscie.przekladnia*log->nast_.wyjscie.przekladnia) *(0.15f*0.15f) ; + log->dw.modul_zmf[2] = ((args->params.R2_Zf2_LL * args->params.R2_Zf2_LL) + (args->params.X2_Zr2_LL * args->params.X2_Zr2_LL))* (log->nast_.wyjscie.przekladnia*log->nast_.wyjscie.przekladnia) *(0.15f*0.15f) ; + } + else + { + log->dw.modul_zf[2]=9999.9f; + log->dw.modul_zmf[2]=9999.9f; + } + + if(args->params.K3 <= 1) + { + log->dw.modul_zf[3] = ((args->params.R3_Zf3_LE * args->params.R3_Zf3_LE) + (args->params.X3_Zr3_LE * args->params.X3_Zr3_LE))* (log->nast_.wyjscie.przekladnia*log->nast_.wyjscie.przekladnia) *(0.15f*0.15f) ; + log->dw.modul_zmf[3] = ((args->params.R3_Zf3_LL * args->params.R3_Zf3_LL) + (args->params.X3_Zr3_LL * args->params.X3_Zr3_LL))* (log->nast_.wyjscie.przekladnia*log->nast_.wyjscie.przekladnia) *(0.15f*0.15f) ; + } + else + { + log->dw.modul_zf[3]=9999.9f; + log->dw.modul_zmf[3]=9999.9f; + } + + if(args->params.K4 <= 1) + { + log->dw.modul_zf[4] = ((args->params.R4_Zf4_LE * args->params.R4_Zf4_LE) + (args->params.X4_Zr4_LE * args->params.X4_Zr4_LE))* (log->nast_.wyjscie.przekladnia*log->nast_.wyjscie.przekladnia) *(0.15f*0.15f) ; + log->dw.modul_zmf[4] = ((args->params.R4_Zf4_LL * args->params.R4_Zf4_LL) + (args->params.X4_Zr4_LL * args->params.X4_Zr4_LL))* (log->nast_.wyjscie.przekladnia*log->nast_.wyjscie.przekladnia) *(0.15f*0.15f) ; + } + else + { + log->dw.modul_zf[4]=9999.9f; + log->dw.modul_zmf[4]=9999.9f; + } + + if(args->params.K5 <= 1) + { + log->dw.modul_zf[5] = ((args->params.R5_Zf5_LE * args->params.R5_Zf5_LE) + (args->params.X5_Zr5_LE * args->params.X5_Zr5_LE))* (log->nast_.wyjscie.przekladnia*log->nast_.wyjscie.przekladnia) *(0.15f*0.15f) ; + log->dw.modul_zmf[5] = ((args->params.R5_Zf5_LL * args->params.R5_Zf5_LL) + (args->params.X5_Zr5_LL * args->params.X5_Zr5_LL))* (log->nast_.wyjscie.przekladnia*log->nast_.wyjscie.przekladnia) *(0.15f*0.15f) ; + } + else + { + log->dw.modul_zf[5]=9999.9f; + log->dw.modul_zmf[5]=9999.9f; + } + + log->dw.Z_min=9999.9f; + log->dw.Z_min_mf=9999.9f; + +// Z_Z1min_old = ((args->params.R1_Zf1_LE * args->params.R1_Zf1_LE) + (args->params.X1_Zr1_LE * args->params.X1_Zr1_LE))* (log->nast_.wyjscie.przekladnia*log->nast_.wyjscie.przekladnia) *(0.15f*0.15f) ; + // Zmf_Z1min_old = ((args->params.R1_Zf1_LL * args->params.R1_Zf1_LL) + (args->params.X1_Zr1_LL * args->params.X1_Zr1_LL)) * (log->nast_.wyjscie.przekladnia*log->nast_.wyjscie.przekladnia) *(0.15f*0.15f) ; + //---------------------------------------------------------------------------------------------- + + + for (i=0;i<12;i++) + { + if (log->nast_.typ[i/2]) + { + log->nast_.n_pol[i/2][i%2].Z = (*(float*)(&n_pomoc.R1W_Zf1W_LE + i) + *(float*)(&n_pomoc.X1W_Zr1W_LE + i)) * log->nast_.wyjscie.przekladnia / 2; + log->nast_.n_pol[i/2][i%2].Zp = log->nast_.n_pol[i/2][i%2].Z * args->params.kp; + log->nast_.n_pol[i/2][i%2].Z *= log->nast_.n_pol[i/2][i%2].Z; + log->nast_.n_pol[i/2][i%2].Zp *= log->nast_.n_pol[i/2][i%2].Zp; + locR1 = *(float*)(&n_pomoc.R1W_Zf1W_LE + i) * cosk; + locR2 = *(float*)(&n_pomoc.X1W_Zr1W_LE + i) * cosk; + locX1 = *(float*)(&n_pomoc.R1W_Zf1W_LE + i) * sink; + locX2 = *(float*)(&n_pomoc.X1W_Zr1W_LE + i) * sink; + log->nast_.n_pol[i/2][i%2].Rr = (locR1 - (locR1 + locR2 ) / 2) * log->nast_.wyjscie.przekladnia; + log->nast_.n_pol[i/2][i%2].Xr = (locX1 - (locX1 + locX2 ) / 2) * log->nast_.wyjscie.przekladnia; + locR1 = *(float*)(&n_pomoc.R1W_Zf1W_LE + i) * cosk * args->params.kp; + locR2 = *(float*)(&n_pomoc.X1W_Zr1W_LE + i) * cosk * args->params.kp; + locX1 = *(float*)(&n_pomoc.R1W_Zf1W_LE + i) * sink * args->params.kp; + locX2 = *(float*)(&n_pomoc.X1W_Zr1W_LE + i) * sink * args->params.kp; + log->nast_.n_pol[i/2][i%2].Rp = (locR1 - (locR1 + locR2 ) / 2) * log->nast_.wyjscie.przekladnia; + log->nast_.n_pol[i/2][i%2].Xp = (locX1 - (locX1 + locX2 ) / 2) * log->nast_.wyjscie.przekladnia; + + + } else { + log->nast_.n_pol[i/2][i%2].Rr = *(float *)(&n_pomoc.R1W_Zf1W_LE + i) * log->nast_.wyjscie.przekladnia; + log->nast_.n_pol[i/2][i%2].Xr = *(float *)(&n_pomoc.X1W_Zr1W_LE + i) * log->nast_.wyjscie.przekladnia; + log->nast_.n_pol[i/2][i%2].Rp = log->nast_.n_pol[i/2][i%2].Rr * args->params.kp; + log->nast_.n_pol[i/2][i%2].Xp = log->nast_.n_pol[i/2][i%2].Xr * args->params.kp; + + log->nast_.n_pol[i/2][i%2].Rrtanfi1 = log->nast_.n_pol[i/2][i%2].Rr * log->nast_.tanfi1; + log->nast_.n_pol[i/2][i%2].Rptanfi1 = log->nast_.n_pol[i/2][i%2].Rp * log->nast_.tanfi1; + + } + } + + + log->nast_.Xr1f = args->params.X1_Zr1_LE * (1 + log->nast_.tanfi2 / log->nast_.tanfi1) * log->nast_.wyjscie.przekladnia; + log->nast_.Xr1fp = log->nast_.Xr1f * args->params.kp; + log->nast_.Xr1Wf = args->params.X1W_Zr1W_LE * (1 + log->nast_.tanfi2 / log->nast_.tanfi1) * log->nast_.wyjscie.przekladnia; + log->nast_.Xr1Wfp = log->nast_.Xr1Wf * args->params.kp; + log->nast_.Igr = args->params.I_min * args->params.I_min; + log->nast_.Igrp = log->nast_.Igr * log->nast_.kpk; + + log->nast_.Zgr = 0.01f * log->nast_.wyjscie.przekladnia * log->nast_.wyjscie.przekladnia; + log->nast_.kierunek[0] = args->params.K0; + log->nast_.kierunek[1] = args->params.K1; + log->nast_.kierunek[2] = args->params.K2; + log->nast_.kierunek[3] = args->params.K3; + log->nast_.kierunek[4] = args->params.K4; + log->nast_.kierunek[5] = args->params.K5; + +//szukanie Zmin w kier przod lub w tyl +// for (i=0;i<6;i++) +// { +// if (log->nast_.kierunek[i]==0)||(log->nast_.kierunek[i]==1) +// {//kierunek do linii lub bez kier +// +// } +// } + + +//Z_ZminPrzod = sqrtf((args->params.R1_Zf1_LE * args->params.R1_Zf1_LE) + (args->params.X1_Zr1_LE * args->params.X1_Zr1_LE))*1.25f; +//Z_ZminTyl = sqrtf((args->params.R3_Zf3_LE * args->params.R3_Zf3_LE) + (args->params.X3_Zr3_LE * args->params.X3_Zr3_LE))*1.25f; + + + +//A2 + + log->nast_.XKR = -tan(RnaS * args->params.fi4); + log->nast_.XKX = -tan(RnaS * (90 - args->params.fi3)); + log->nast_.KL = tan(RnaS * args->params.fi5); + log->nast_.RLf = args->params.RLf; + log->nast_.RLr = - args->params.RLr; + log->nast_.Iogr = args->params.Iomin * args->params.Iomin * 0.11111f; + log->nast_.khio = args->params.Iokh * args->params. Iokh * 0.11111f; + log->nast_.Uomin = args->params.Uomin * args->params.Uomin * 0.11111f; + + log->dw.log_ptr = log; + log->nast_.wyjscie.SOTF_zwrotnie = 0xFF; + + log->l_nieustalony = 5; + + log->nast_.ReKrown = args->params.Krown * cos(RnaS * -args->params.Krown_kat); + log->nast_.ImKrown = args->params.Krown * sin(RnaS * -args->params.Krown_kat); + + log->nast_.Krown_ignac = (log->param_I_rown->znam_pierw / log->param_I->znam_wtor) /(log->param_I->znam_pierw/ log->param_I->znam_wtor); + + return 0; +} + +void ZDistA_komp(void *arguments, void *logic) +{ + struct ZDistA_komp_logic *log = (struct ZDistA_komp_logic *)logic; + struct ZDistA_komp_args *args = (struct ZDistA_komp_args *)arguments; + float KIoorta,KIoortb,Iorta,Iortb,I,Uorta,Uortb; + u8 wk1,wk2,wk1p,wk2p; + u16 i,j; + float local,localp,local0,local0p; + float local1,local1p,local2,local2p,local3,local3p; + float KRownorta,KRownotrb; + + log->dw.I1 = *log->I1; + log->dw.I2 = *log->I2; + log->dw.I3 = *log->I3; + log->dw.U1 = *log->U1; + log->dw.U2 = *log->U2; + log->dw.U3 = *log->U3; + + if(log->nast_.on_ && !check_struct(&log->deakt)) // jesli zabezpieczenie aktywne + { + int wydl_po_wyl = 0; + + //poprawka + u8 blok_szpilki=0; + + if(ZDISTA_POPRAWKA_8) + { + if(*log->U1 < (0.15f*0.15f) && *log->U2 < (0.15f*0.15f) && *log->U3 < (0.15f*0.15f)) + { + blok_szpilki=1; + if(*log->U1 > (0.01f*0.01f) && *log->U2 > (0.01f*0.01f) && *log->U3 > (0.01f*0.01f)) + { + float phi,phi1,phi2,phi3; + blok_szpilki=2; + phi1=get_phase(*log->U1_ortb,*log->U1_orta); + phi2=get_phase(*log->U2_ortb,*log->U2_orta); + phi3=get_phase(*log->U3_ortb,*log->U3_orta); + phi=get_phase_diff(phi1,phi2); + phi1=get_phase_diff(phi2,phi3); + if(fabs(phi)<5 && fabs(phi1)<5) + { + blok_szpilki=3; + } + } + } + } + + if (check_struct(&log->wyl) != 0 /*|| blok_szpilki==3*/) + { + wydl_po_wyl = 10;//10; //zmieniono 09.02.2026 + } + else + { + wydl_po_wyl = 0; + } + + //wyliczenie impedancji petli zwarciowych + //-------------------------------------------------------------------------------- + //wyliczenie K * 3Io dla strefy pierwszej + KIoorta = *log->sI0_orta * log->nast_.ReK1 - + *log->sI0_ortb * log->nast_.ImK1; + KIoortb = *log->sI0_orta * log->nast_.ImK1 + + *log->sI0_ortb * log->nast_.ReK1; + + //wspolczynnik + KRownorta = *log->I_row_orta * log->nast_.ReKrown - + *log->I_row_ortb * log->nast_.ImKrown; + + KRownotrb = *log->I_row_orta * log->nast_.ImKrown + + *log->I_row_ortb * log->nast_.ReKrown; + + KRownorta *= log->nast_.Krown_ignac; + KRownotrb *= log->nast_.Krown_ignac; + + //petla zwarciowa L1-E strefa pierwsza + // I = I1 - k * 3 Io + Iorta = *log->I1_orta + KIoorta - KRownorta; + Iortb = *log->I1_ortb + KIoortb - KRownotrb; + + I = _rcpsp(Iorta * Iorta + Iortb * Iortb); + // Z = U / (I1 - k * 3Io) + log->dw.Z.R[0] = (*log->U1_orta * Iorta + + *log->U1_ortb * Iortb) * I; + log->dw.Z.X[0] = (*log->U1_orta * Iortb - + *log->U1_ortb * Iorta) * I; + log->dw.Z.Z[0] = log->dw.Z.X[0] * log->dw.Z.X[0] + log->dw.Z.R[0] * log->dw.Z.R[0]; + +// log->dw.Z.E[0] = (Iorta*Iorta) + (Iortb*Iortb); + + //petla zwarciowa L2-E strefa pierwsza + // I = I2 - k * 3 Io + Iorta = *log->I2_orta + KIoorta- KRownorta; + Iortb = *log->I2_ortb + KIoortb - KRownotrb; + I = _rcpsp(Iorta * Iorta + Iortb * Iortb); + // Z = U / (I2 - k * 3Io) + log->dw.Z.R[1] = (*log->U2_orta * Iorta + + *log->U2_ortb * Iortb) * I; + log->dw.Z.X[1] = (*log->U2_orta * Iortb - + *log->U2_ortb * Iorta) * I; + log->dw.Z.Z[1] = log->dw.Z.X[1] * log->dw.Z.X[1] + log->dw.Z.R[1] * log->dw.Z.R[1]; + +// log->dw.Z.E[1] = (Iorta*Iorta) + (Iortb*Iortb); + + //petla zwarciowa L3-E strefa pierwsza + // I = I3 - k * 3 Io + Iorta = *log->I3_orta + KIoorta- KRownorta; + Iortb = *log->I3_ortb + KIoortb - KRownotrb; + I = _rcpsp(Iorta * Iorta + Iortb * Iortb); + // Z = U / (I3 - k * 3Io) + log->dw.Z.R[2] = (*log->U3_orta * Iorta + + *log->U3_ortb * Iortb) * I; + log->dw.Z.X[2] = (*log->U3_orta * Iortb - + *log->U3_ortb * Iorta) * I; + log->dw.Z.Z[2] = log->dw.Z.X[2] * log->dw.Z.X[2] + log->dw.Z.R[2] * log->dw.Z.R[2]; + +// log->dw.Z.E[2] = (Iorta*Iorta) + (Iortb*Iortb); + + //wyliczenie K * 3Io dla pozostalych stref + KIoorta = *log->sI0_orta * log->nast_.ReKr - + *log->sI0_ortb * log->nast_.ImKr; + KIoortb = *log->sI0_orta * log->nast_.ImKr + + *log->sI0_ortb * log->nast_.ReKr; + + //petla zwarciowa L1-E pozostale strefy + // I = I1 - k * 3 Io + Iorta = *log->I1_orta + KIoorta; + Iortb = *log->I1_ortb + KIoortb; + I = _rcpsp(Iorta * Iorta + Iortb * Iortb); + // Z = U / (I1 - k * 3Io) + log->dw.Z.R[3] = (*log->U1_orta * Iorta + + *log->U1_ortb * Iortb) * I; + log->dw.Z.X[3] = (*log->U1_orta * Iortb - + *log->U1_ortb * Iorta) * I; + log->dw.Z.Z[3] = log->dw.Z.X[3] * log->dw.Z.X[3] + log->dw.Z.R[3] * log->dw.Z.R[3]; + +// log->dw.Z.E[3] = (Iorta*Iorta) + (Iortb*Iortb); + + //petla zwarciowa L2-E pozostale strefy + // I = I2 - k * 3 Io + Iorta = *log->I2_orta + KIoorta; + Iortb = *log->I2_ortb + KIoortb; + I = _rcpsp(Iorta * Iorta + Iortb * Iortb); + // Z = U / (I2 - k * 3Io) + log->dw.Z.R[4] = (*log->U2_orta * Iorta + + *log->U2_ortb * Iortb) * I; + log->dw.Z.X[4] = (*log->U2_orta * Iortb - + *log->U2_ortb * Iorta) * I; + log->dw.Z.Z[4] = log->dw.Z.X[4] * log->dw.Z.X[4] + log->dw.Z.R[4] * log->dw.Z.R[4]; + +// log->dw.Z.E[4] = (Iorta*Iorta) + (Iortb*Iortb); + + //petla zwarciowa L3-E pozostale strefy + // I = I3 - k * 3 Io + Iorta = *log->I3_orta + KIoorta; + Iortb = *log->I3_ortb + KIoortb; + I = _rcpsp(Iorta * Iorta + Iortb * Iortb); + // Z = U / (I3 - k * 3Io) + log->dw.Z.R[5] = (*log->U3_orta * Iorta + + *log->U3_ortb * Iortb) * I; + log->dw.Z.X[5] = (*log->U3_orta * Iortb - + *log->U3_ortb * Iorta) * I; + log->dw.Z.Z[5] = log->dw.Z.X[5] * log->dw.Z.X[5] + log->dw.Z.R[5] * log->dw.Z.R[5]; + +// log->dw.Z.E[5] = (Iorta*Iorta) + (Iortb*Iortb); + + //petla zwarciowa L1-L2 wszystkie strefy + // I = I1 - I2 + Iorta = *log->I1_orta - *log->I2_orta; + Iortb = *log->I1_ortb - *log->I2_ortb; + I = _rcpsp(Iorta * Iorta + Iortb * Iortb); + // Z = U / (I1 - I2) + log->dw.Z.R[6] = (*log->U12_orta * Iorta + + *log->U12_ortb * Iortb) * I; + log->dw.Z.X[6] = (*log->U12_orta * Iortb - + *log->U12_ortb * Iorta) * I; + log->dw.Z.Z[6] = log->dw.Z.X[6] * log->dw.Z.X[6] + log->dw.Z.R[6] * log->dw.Z.R[6]; + +// log->dw.Z.E[6] = (Iorta*Iorta) + (Iortb*Iortb); + + //petla zwarciowa L2-L3 wszystkie strefy + // I = I2 - I3 + Iorta = *log->I2_orta - *log->I3_orta; + Iortb = *log->I2_ortb - *log->I3_ortb; + I = _rcpsp(Iorta * Iorta + Iortb * Iortb); + // Z = U / (I1 - I2) + log->dw.Z.R[7] = (*log->U23_orta * Iorta + + *log->U23_ortb * Iortb) * I; + log->dw.Z.X[7] = (*log->U23_orta * Iortb - + *log->U23_ortb * Iorta) * I; + log->dw.Z.Z[7] = log->dw.Z.X[7] * log->dw.Z.X[7] + log->dw.Z.R[7] * log->dw.Z.R[7]; + +// log->dw.Z.E[7] = (Iorta*Iorta) + (Iortb*Iortb); + + //petla zwarciowa L3-L1 wszystkie strefy + // I = I3 - I1 + Iorta = *log->I3_orta - *log->I1_orta; + Iortb = *log->I3_ortb - *log->I1_ortb; + I = _rcpsp(Iorta * Iorta + Iortb * Iortb); + // Z = U / (I1 - I2) + log->dw.Z.R[8] = (*log->U31_orta * Iorta + + *log->U31_ortb * Iortb) * I; + log->dw.Z.X[8] = (*log->U31_orta * Iortb - + *log->U31_ortb * Iorta) * I; + log->dw.Z.Z[8] = log->dw.Z.X[8] * log->dw.Z.X[8] + log->dw.Z.R[8] * log->dw.Z.R[8]; + +// log->dw.Z.E[8] = (Iorta*Iorta) + (Iortb*Iortb); + + *log->z[0]=log->dw.Z.R[0] /log->nast_.wyjscie.przekladnia; // L1-E s 0 1 + *log->z[1]=log->dw.Z.X[0] /log->nast_.wyjscie.przekladnia; // L1-E s 0 1 + + *log->z[2]=log->dw.Z.R[1] /log->nast_.wyjscie.przekladnia; // L2-E s 0 1 + *log->z[3]=log->dw.Z.X[1] /log->nast_.wyjscie.przekladnia; // L2-E s 0 1 + + *log->z[4]=log->dw.Z.R[6] /log->nast_.wyjscie.przekladnia; //L1L2 + *log->z[5]=log->dw.Z.X[6] /log->nast_.wyjscie.przekladnia; //L1L2 + + //-------------------------------------------------------------------------------- + //Kryterium impedancji petli miedzyfazowych: musi byc mniejsze niz 1,5 najsilnieszego zwarcia jednofaz. + + // wybor najmniejszej impedancji faza -zero + // sa wyliczane dwie: dla stref 1 i 1W oraz dla 2,3,4,5 + float Z_L1, Z_L2, Z_L3, Z_min; + + if (log->dw.Z.Z[0] < log->dw.Z.Z[3]) // petla L1-E + Z_L1 = log->dw.Z.Z[0]; + else + Z_L1 = log->dw.Z.Z[3]; + + if (log->dw.Z.Z[1] < log->dw.Z.Z[4]) // petla L2-E + Z_L2 = log->dw.Z.Z[1]; + else + Z_L2 = log->dw.Z.Z[4]; + + if (log->dw.Z.Z[2] < log->dw.Z.Z[5]) // petla L3-E + Z_L3 = log->dw.Z.Z[2]; + else + Z_L3 = log->dw.Z.Z[5]; + + u8 faza = 1; + //szukanie najmniejszej impedancji + if ((Z_L1 <= Z_L2) && (Z_L1 <= Z_L3)) + faza = 1; + else if ((Z_L2 <= Z_L1) && (Z_L2 <= Z_L3)) + faza = 2; + else + faza = 3; + + //sprawdzenie krtyerium miedzy fazowych + //log->dw.Z.Z[6] - L1L2 + //log->dw.Z.Z[7] - L2L3 + //log->dw.Z.Z[8] - L3L1 + //szukanie najmniejszej mfazowej + u8 mfaza = 1; + + if ((log->dw.Z.Z[6]dw.Z.Z[7])&&(log->dw.Z.Z[6]dw.Z.Z[8])) + mfaza = 1; + else if ((log->dw.Z.Z[7]dw.Z.Z[6])&&(log->dw.Z.Z[7]dw.Z.Z[8])) + mfaza = 2; + else + mfaza = 3; + + + // kryteria sa dodane do kryteriow pradowych + u8 zezwol_L1L2 = 1; + u8 zezwol_L2L3 = 1; + u8 zezwol_L1L3 = 1; + + #define kwadrat_15 2.25f // 1,5 do kwadratu + float Z_Z1min; + Z_Z1min=log->dw.Z_min; +// *log->z[0]=Z_Z1min_old; +// *log->z[1]=Z_Z1min; + + switch (faza) + { + case 1: + Z_min=Z_L1dw.Z.Z[6]) // L1_L2 + zezwol_L1L2 = 0; + if ((Z_min * kwadrat_15) < log->dw.Z.Z[8]) // L1_L3 + zezwol_L1L3 = 0; + break; + case 2: + Z_min=Z_L2dw.Z.Z[6]) // L1_L2 + zezwol_L1L2 = 0; + if ((Z_min * kwadrat_15) < log->dw.Z.Z[7]) // L2_L3 + zezwol_L2L3 = 0; + break; + case 3: + Z_min=Z_L3dw.Z.Z[8]) // L1_L3 + zezwol_L1L3 = 0; + if ((Z_min * kwadrat_15) < log->dw.Z.Z[7]) // L2_L3 + zezwol_L2L3 = 0; + break; + default: + break; + } +// *log->z[2]=(Z_min * kwadrat_15); + // *log->z[3]=log->dw.Z.Z[8]; + //*log->z[4]=faza; +// *log->z[2]=Z_Z1min; + // *log->z[3]=Z_L1; + + u8 zezwol_mL1L2 = 1; + u8 zezwol_mL2L3 = 1; + u8 zezwol_mL1L3 = 1; + float Zmf_Z1min; + Zmf_Z1min=log->dw.Z_min_mf; +// *log->z[2]=Zmf_Z1min_old; + // *log->z[3]=Zmf_Z1min; + + if (ZDISTA_POPRAWKA_5) + { + switch (mfaza) + { + case 1: + Z_min=log->dw.Z.Z[6]dw.Z.Z[6]; + + if ((Z_min * kwadrat_15) dw.Z.Z[7]) //L1L2*1.5 < L2L3 + zezwol_mL2L3 = 0; + if ((Z_min * kwadrat_15) dw.Z.Z[8]) //L1L2*1.5 < L3L1 + zezwol_mL1L3 = 0; + break; + case 2: + Z_min=log->dw.Z.Z[7]dw.Z.Z[7]; + + if ((Z_min * kwadrat_15) dw.Z.Z[6]) //L2L3*1.5 < L1L2 + zezwol_mL1L2 = 0; + if ((Z_min * kwadrat_15) dw.Z.Z[8]) //L2L3*1.5 < L3L1 + zezwol_mL1L3 = 0; + break; + case 3: + Z_min=log->dw.Z.Z[8]dw.Z.Z[8]; + + if ((Z_min * kwadrat_15) dw.Z.Z[6]) //L3L1*1.5 < L1L2 + zezwol_mL1L2 = 0; + if ((Z_min * kwadrat_15) dw.Z.Z[7]) //L3L1*1.5 < L2L3 + zezwol_mL2L3 = 0; + break; + default: + break; + } + } + + u8 zezwol_L1 = 1; + u8 zezwol_L2 = 1; + u8 zezwol_L3 = 1; + + if (ZDISTA_POPRAWKA_6) + switch (mfaza) + { + case 1: + Z_min=log->dw.Z.Z[6]dw.Z.Z[6]; + + if ((Z_min * kwadrat_15) dw.Z.Z[7]dw.Z.Z[7]; + + if ((Z_min * kwadrat_15) dw.Z.Z[8]dw.Z.Z[8]; + + if ((Z_min * kwadrat_15) dw.Z.Z[6],log->dw.Z.Z[7],log->dw.Z.Z[8] }; // Impedancje + u8 sort_num_z[6] = { 0, 1, 2, 3, 4, 5 }; + + float sort_tbl_e[6] = {log->dw.Z.E[0]>log->dw.Z.E[3]?log->dw.Z.E[0]:log->dw.Z.E[3], + log->dw.Z.E[1]>log->dw.Z.E[4]?log->dw.Z.E[1]:log->dw.Z.E[4], + log->dw.Z.E[2]>log->dw.Z.E[5]?log->dw.Z.E[2]:log->dw.Z.E[5], + log->dw.Z.E[6],log->dw.Z.E[7],log->dw.Z.E[8]}; + + u8 sort_num_e[6] = { 0, 1, 2, 3, 4, 5 }; + + + for(i = 0; i < 5; i++) + { + for(j = 0; j < 5 - i; j++) + { + if(sort_tbl_z[j] > sort_tbl_z[j+1]) + { + float tmp = sort_tbl_z[j]; + u8 tmp2 = sort_num_z[j]; + + sort_num_z[j] = sort_num_z[j+1]; + sort_num_z[j+1] = tmp2; + sort_tbl_z[j] = sort_tbl_z[j+1]; + sort_tbl_z[j+1] = tmp; + } + + if(sort_tbl_e[j] > sort_tbl_e[j+1]) + { + float tmp = sort_tbl_e[j]; + u8 tmp2 = sort_num_e[j]; + + sort_num_e[j] = sort_num_e[j+1]; + sort_num_e[j+1] = tmp2; + sort_tbl_e[j] = sort_tbl_e[j+1]; + sort_tbl_e[j+1] = tmp; + } + + } + } + + Zmin = sort_tbl_z[0]; + Zmin_idx = sort_num_z[0]; + Zsecond = sort_tbl_z[1]; + Zsecond_idx = sort_num_z[1]; + + if((Zmin * _rcpsp(Z_Z1_2)) < 0.5f) + near_end=1; + + Emax = sort_tbl_e[5]; + Emax_idx = sort_num_e[5]; + Esecond = sort_tbl_e[4]; + Esecond_idx = sort_num_e[4]; + + Zratio = _rcpsp(Zsecond) * Zmin; + Eratio = _rcpsp(Esecond) * Emax; + + if(*log->sI1<0.00001) + *log->sI1=0.00001f; + if(*log->sI2<0.00001) + *log->sI2=0.00001f; + + k2 = _rcpsp(*log->sI1); + k0 = *log->sI0 * k2; // |I0|/|I1| + k2 *= *log->sI2; // |I2|/|I1| + kdiff = *log->sI0 * _rcpsp(*log->sI2); // |I0|/|I2| + +//#define K0_MIN = 0.08; +//#define K2_MIN = 0.12; +//#define K_SMALL = 0.03; +//energia dla wlasciwej petli >= 0.7...0.9 maksymalnej? Kluczowa w near-end, mniej znaczaca w far-end +//mozna dodatkowo sprobowac porownania kata impedancji? max 40..60stopni roznicy? +//wykryć near-end można przez Z<0.15 Zlinii oraz I1>5...10*Inom + + + if(k0>(0.2f*0.2f) && /*k2<0.12 dodać? &&*/ Eratio>2.0f && (Zratio < 0.25f/* || near_end*/)) // 1ph-G... moznaby blokować Pob_G gdy Zratio duży? + { + typ_zw=1; // blokowac miedzyfazowe? + // zezwol_L1L2=0; + // zezwol_L2L3=0; + // zezwol_L1L3=0; + } + else if(k0<0.05f && k2>0.2f && Eratio>1.85f) // L-L [brak I0 za to pojawia się I2] + { + typ_zw=2; // blokowac fazowe? + zezwol_L1=0; + zezwol_L2=0; + zezwol_L3=0; + } + else if(k0>0.05f && k2>0.2f && (Eratio>0.9f && Eratio<1.1f)) // LLG kilka petli o podobnej Energii + { + zezwol_L1=0; + zezwol_L2=0; + zezwol_L3=0; + typ_zw=3; + } + else if(k0<0.02 && k2<0.02/* && (Eratio>0.9f && Eratio<1.1f)*/) // LLL + { + typ_zw=4; // blokowac fazowe? + } + else + typ_zw=0; + + *log->z[0]=k0; + *log->z[1]=k2; + *log->z[2]=Zratio; + *log->z[3]=Eratio; + *log->z[4]=typ_zw; + //*log->z[5]=near_end; + } +#endif + // kryterium kata I2 U2 + float phi1,phi2,phi; + + if(ZDISTA_POPRAWKA_3||ZDISTA_POPRAWKA_4) // poprawka Michala, a Radka bierze z niej kierunek + { + + if( (*log->I1 < (0.1f*0.1f) && *log->U1 < (0.25f * 0.25f)) + ||(*log->I2 < (0.1f*0.1f) && *log->U2 < (0.25f * 0.25f)) + ||(*log->I3 < (0.1f*0.1f) && *log->U3 < (0.25f * 0.25f)) ) + blokada_od_spz=2; + else + if(blokada_od_spz) + blokada_od_spz--; + + if(*log->sI2>(0.2f*0.2f) && *log->sU2>(0.02f*0.02f) && !blokada_od_spz) //przed zmiana 09.02 + //if(*log->sI2>(0.1f*0.1f) && *log->sU2>(0.02f*0.02f)) + { + //sprawdzenie kata I2 U2 + phi1=get_phase(*log->sI2_ortb,*log->sI2_orta); + phi2=get_phase(*log->sU2_ortb,*log->sU2_orta); + + phi=get_phase_diff(phi1,phi2); +// if(phi>5.0f && phi<175.0f) Przed zmianami 09.02.2026 + if(phi>45.0f && phi<135.0f) + blok_do_szyn=wydl_po_wyl?7:2; + else + if(blok_do_szyn) + blok_do_szyn--; + +// if(phi<-5.0f && phi>-175.0f) Przed zmianami 09.02.2026 + if(phi<-45.0f && phi>-135.0f) + blok_do_linii=wydl_po_wyl?7:2; + else + if(blok_do_linii) + blok_do_linii--; + } + else + { + if(blok_do_linii) + blok_do_linii--; + if(blok_do_szyn) + blok_do_szyn--; + } + } + + + + + + u8 blokady_michal=0; + blokady_michal|=blok_do_szyn?1:0; + blokady_michal|=blok_do_linii?2:0; + blokady_michal|=blokada_od_spz?3:0; + //*log->z[0]=blok_szpilki; + /* *log->z[1]=*log->U1; + *log->z[2]=*log->sI2; + *log->z[3]=*log->sU2; +*/ + + u8 zezwol_RL1L2 = 1; + u8 zezwol_RL2L3 = 1; + u8 zezwol_RL1L3 = 1; + + if(ZDISTA_POPRAWKA_4) + { + //---------------------------------------------------------------------------------- + // Kryterium Radka + + u8 zezwol_Radka = 0; + float I0_I1; + float fiI0_I2; + + + #define KRYT_I0_I1 0x01 + #define KRYT_U0 0x02 + #define KRYT_katI0I2 0x04 + #define KRYT_zakrI0I2 0x08 + + // 1. |I0/I1|>0.2 + if ((*log->sI1 > 0.0005f) ) + { + //I0/I1 + I0_I1 = *log->sI0 * _rcpsp(*log->sI1); + if(I0_I1>0.04f) + zezwol_Radka|=KRYT_I0_I1; + } + + // Kryterium Radka + // 2. |U0|>U0min + if((*log->sU0 > log->nast_.Uomin)) + zezwol_Radka|=KRYT_U0; + + + float phi1,phi2; + // Kryterium Radka + // 4. Kąt (I0-I2) |fiI0_I2| + phi1=get_phase(*log->sI0_ortb,*log->sI0_orta); + phi2=get_phase(*log->sI2_ortb,*log->sI2_orta); + fiI0_I2=get_phase_diff(phi1,phi2); + + phi1=fiI0_I2; + + // sprawdzenie ktora faza L ma zwarcie + switch (faza) + { + case 1: + break; + case 2: + fiI0_I2 = fiI0_I2 - 120; + + break; + case 3: + fiI0_I2 = fiI0_I2 + 120; + + break; + default: + break; + } + + float zakr_I0_I2; + float A,B; + + if((fiI0_I2 < 30) && (fiI0_I2 > -30)) + zezwol_Radka|=KRYT_katI0I2; + //sprawdzanie zakresu |I0/I2| + if ((*log->sI2 > 0.0005f) ) + zakr_I0_I2 = *log->sI0 * _rcpsp(*log->sI2); + + //if(Z_Z1<0.9f) + //jak sprawdzić że impedancja Z_L1/2/3 jest w przód lub w tył + ///??? + + if(1/*blok_do_szyn*/)//zwarcie w przod + { + //ponizej chyba nie pasuje do wzoru Radka ze wzgledu na czesc wartosci w kwadracie + //A=1.0f/*25f*/ - ((1-KI0_I2)/Z_Z1) * sqrtf((faza==1?Z_L1:faza==2?Z_L2:Z_L3)/(log->nast_.wyjscie.przekladnia*log->nast_.wyjscie.przekladnia)); //f(Zw) + //if (A>0.9f) + // A=0.9f; + A = KI0_I2; + //ponizej chyba nie pasuje do wzoru Radka ze wzgledu na czesc wartosci w kwadracie + if((zakr_I0_I2>(A * A)) && (zakr_I0_I2<(2.5f * 2.5f))) + zezwol_Radka|=KRYT_zakrI0I2; + } + else if(0/*blok_do_linii*/)//zwarcie w tyl + { + //ponizej chyba nie pasuje do wzoru Radka ze wzgledu na czesc wartosci w kwadracie + //B=1.0f/*25f*/ - ((1-KI0_I2)/Z_Z1) * sqrtf((faza==1?Z_L1:faza==2?Z_L2:Z_L3)/(log->nast_.wyjscie.przekladnia*log->nast_.wyjscie.przekladnia)) *(0.4f); //f(Zwt) + //if (KI0_I2>B) + // B=KI0_I2; + //if(B>1.1f) + // B=1.1f; + B = KI0_I2; + + //w tyl + //ponizej chyba nie pasuje do wzoru Radka ze wzgledu na czesc wartosci w kwadracie + if((zakr_I0_I2>(B * B)) && (zakr_I0_I2<(1.1f * 1.1f))) + zezwol_Radka|=KRYT_zakrI0I2; + + } + + if (zezwol_Radka==(KRYT_I0_I1|KRYT_U0|KRYT_katI0I2|KRYT_zakrI0I2)) + { + //ZWARCIE_1F_ZABLOKUJ_2F; + //Blokuj i + zezwol_RL1L2 =0; + zezwol_RL2L3 =0; + zezwol_RL1L3 =0; + } + //-------------------------------------------------------------------------------- + //*log->z[0]=zezwol_Radka; + //*log->z[1]=I0_I1; + //*log->z[2]=fiI0_I2; + //*log->z[3]=KI0_I2; + //*log->z[4]=A; + } +//Kryterium Radka B +//Blokada fałszywych zwarć doziemnych podczas poprawnego zwarcia doziemnego +/* float fiI0_I2; + if((ZDISTA_POPRAWKA_4)&&(ZDISTA_POPRAWKA_5)) + { + float phi3,phi4; + // Kryterium Radka + // 4. Kąt (I0-I2) |fiI0_I2| + phi3=get_phase(*log->sI0_ortb,*log->sI0_orta); + phi4=get_phase(*log->sI2_ortb,*log->sI2_orta); + fiI0_I2=get_phase_diff(phi3,phi4); + //sprzwdzanie BRAK aktywnych pętli zwarć międzyfazowych LL + //???????????? + //czy tylko w 1 strefie, czy we wszystkich trzeba sprawdzić zwarcia LL + + + + //sprawdzenie fi + // dla każdej fazy + if (((fabs(fiI0_I2)>30) && (fabs(fiI0_I2-120)<25)) ||(fabs(fiI0_I2+120)<25)) + zezwol_L1 =0; + if (((fabs(fiI0_I2-120)>30) && (fabs(fiI0_I2)<25)) ||(fabs(fiI0_I2+120)<25)) + zezwol_L2 =0; + if (((fabs(fiI0_I2+120)>30) && (fabs(fiI0_I2)<25)) ||(fabs(fiI0_I2-120)<25)) + zezwol_L3 =0; + + } +*/ + u8 zezwol_RCL1 = 1; + u8 zezwol_RCL2 = 1; + u8 zezwol_RCL3 = 1; + + + if(ZDISTA_POPRAWKA_4C) + { + //---------------------------------------------------------------------------------- + //Blokada fałszywych zwarć doziemnych podczas zwarcia międzyfazowego + // 1. |I0/I2|<0.25 + float kdiff; + kdiff = *log->sI0 * _rcpsp(*log->sI2); // |I0|/|I2| + //*log->z[5]=sqrtf(kdiff); + + if ((*log->sI0)<(0.25f*0.25f * *log->sI2)) + { + //2. |U2|/|U0| > 8 + if ((*log->sU2)>(*log->sU0 * 8*8)) + { + //3. I2>0.3 + if (*log->sI2 > (0.3f*0.3f)) + { + //4.|U0|<4 + if (*log->sU0 < (0.04f*0.04f)) + { + //5. 3I0<3I0nast *1.2 + if (*log->sI0 < (log->nast_.Iogr * 1.2f *1.2f)) + { + //blokada pobudzen zwarc doziemnych + zezwol_RCL1 = 0; + zezwol_RCL2 = 0; + zezwol_RCL3 = 0; + } + + } + } + + } + } + } + + //-------------------------------------------------------------------------------- + + //Sprawdzenie wielkosci pradow fazowych + + if (log->dw.I1 > log->nast_.Igr) log->dw.Igr[0] = 1; + if (log->dw.I1 < log->nast_.Igrp) log->dw.Igr[0] = 0; + + if (log->dw.I2 > log->nast_.Igr) log->dw.Igr[1] = 1; + if (log->dw.I2 < log->nast_.Igrp) log->dw.Igr[1] = 0; + + if (log->dw.I3 > log->nast_.Igr) log->dw.Igr[2] = 1; + if (log->dw.I3 < log->nast_.Igrp) log->dw.Igr[2] = 0; + + //do kryteriow pradowych dodane jest kryterium impedancji ponizej 1,5 najmniejszej + log->dw.Igr[3] = log->dw.Igr[0] && log->dw.Igr[1] && (!ZDISTA_POPRAWKA_1 || zezwol_L1L2) && (!ZDISTA_POPRAWKA_7 || zezwol_L1L2) && (!ZDISTA_POPRAWKA_5 || zezwol_mL1L2) &&(!ZDISTA_POPRAWKA_4|| zezwol_RL1L2); + log->dw.Igr[4] = log->dw.Igr[1] && log->dw.Igr[2] && (!ZDISTA_POPRAWKA_1 || zezwol_L2L3) && (!ZDISTA_POPRAWKA_7 || zezwol_L2L3) && (!ZDISTA_POPRAWKA_5 || zezwol_mL2L3) &&(!ZDISTA_POPRAWKA_4|| zezwol_RL2L3); + log->dw.Igr[5] = log->dw.Igr[2] && log->dw.Igr[0] && (!ZDISTA_POPRAWKA_1 || zezwol_L1L3) && (!ZDISTA_POPRAWKA_7 || zezwol_L1L3) && (!ZDISTA_POPRAWKA_5 || zezwol_mL1L3) &&(!ZDISTA_POPRAWKA_4|| zezwol_RL1L3); + + //do kryteriow pradowych dodane jest kryterium impedancji mfazowej ponizej 1,5 najmniejszej + log->dw.Igr[0] = log->dw.Igr[0] && (!ZDISTA_POPRAWKA_6 || zezwol_L1) && (!ZDISTA_POPRAWKA_7 || zezwol_L1) && (!ZDISTA_POPRAWKA_4C || zezwol_RCL1); + log->dw.Igr[1] = log->dw.Igr[1] && (!ZDISTA_POPRAWKA_6 || zezwol_L2) && (!ZDISTA_POPRAWKA_7 || zezwol_L2) && (!ZDISTA_POPRAWKA_4C || zezwol_RCL2); + log->dw.Igr[2] = log->dw.Igr[2] && (!ZDISTA_POPRAWKA_6 || zezwol_L3) && (!ZDISTA_POPRAWKA_7 || zezwol_L3) && (!ZDISTA_POPRAWKA_4C || zezwol_RCL3); + + //dodatkowe kryterium blokady po pojawieniu sie pradu +// if ((log->dw.I1 < 0.1) && (log->dw.I2 < 0.1) && (log->dw.I3 < 0.1)) + if ((log->dw.I1 < 0.01) && (log->dw.I2 < 0.01) && (log->dw.I3 < 0.01)) + { + log->l_nieustalony = 5; + } + else + { + if (log->l_nieustalony > 0) + log->l_nieustalony--; + } + + //identyfikacja zwarc z udzialem ziemi + local = log->nast_.Iogr; + localp = local * log->nast_.kpk; + wk1p = ((*log->sI0 > local) + && (*log->sU0 > log->nast_.Uomin))?1:0; + + wk2p = ((*log->sI0 < localp) + || (*log->sU0 < log->nast_.Uomin))?1:0; + + + + if (log->dw.I1 > log->dw.I2) local = log->dw.I1; + else local = log->dw.I2; + if (log->dw.I3 > local) local = log->dw.I3; + + + local = local * log->nast_.khio; + localp = local * log->nast_.kpk; + + + wk1 = (wk1p && + (*log->sI0 > local))?1:0; + wk2 = (wk2p || + (*log->sI0 < localp))?1:0; + + + sprawdz_P( + &log->dw.Iogr, + wk1, + wk2, + &log->dw.liczpIo, + 3,3 + ); + + + // impedancyjne kryterium kierunkowe i sprawdzenie obszaru obciazenia + + local = log->nast_.XKR; + localp = local * log->nast_.kp; + local0 = log->nast_.XKX; + local0p = local0 * log->nast_.kpp; + + + + local1 = log->nast_.RLf * log->nast_.wyjscie.przekladnia; + local1p = local1 * log->nast_.kpp_obc; + local2 = log->nast_.RLr * log->nast_.wyjscie.przekladnia; + local2p = local2 * log->nast_.kpp_obc; + local3 = log->nast_.KL; + local3p = local3 * log->nast_.kp_obc; + + for(i=0;i<9;i++) + { + + wk1 = log->dw.Z.X[i] > local * log->dw.Z.R[i]; + wk1p = log->dw.Z.X[i] < localp * log->dw.Z.R[i]; + wk2 = log->dw.Z.X[i] > local0 * log->dw.Z.R[i]; + wk2p = log->dw.Z.X[i] < local0p * log->dw.Z.R[i]; + + for (j = 0; j < 6; j++) + { + int k = 0; + if (i < 3 ) + k = i; + else + k = i - 3; + + sprawdz_P( //kierunek do przodu + &log->dw.XKp[j][i], + wk1 && wk2 && log->dw.P_sss[j][k], + wk1p || wk2p, + &log->dw.liczp11[j][i], + 7+wydl_po_wyl, + 3 + ); + + + sprawdz_P( //kierunek do tylu + &log->dw.XKm[j][i], + !wk1 && !wk2 && log->dw.P_sss[j][k], + !wk1p || !wk2p, + &log->dw.liczp12[j][i], + 7+wydl_po_wyl, + 3 + ); + } + + sprawdz_P( // blokada od pradow obciażenia + &log->dw.BL_Load[i], + (log->dw.Z.R[i] > local1 || log->dw.Z.R[i] < local2) && + fabs(log->dw.Z.X[i]) < fabs(local3 * log->dw.Z.R[i]), + (log->dw.Z.R[i] < local1p && log->dw.Z.R[i] > local2p) || + fabs(log->dw.Z.X[i]) > fabs(local3p * log->dw.Z.R[i]), + &log->dw.liczp10[i], + filtr_P + ); + + + } + + + //-------------------------------------------------------------------------------- + // identyfikacja bardzo bliskich zwarc + if (log->nast_.z6_kolo != 0) + { + log->dw.Zm[0] = log->dw.Z.Z[0] < log->nast_.Zgr || log->dw.U1 < (0.01f*0.01f) ; // przed 09.02.2026 bylo 0.005f + log->dw.Zm[1] = log->dw.Z.Z[1] < log->nast_.Zgr || log->dw.U2 < (0.01f*0.01f) ; + log->dw.Zm[2] = log->dw.Z.Z[2] < log->nast_.Zgr || log->dw.U3 < (0.01f*0.01f) ; + log->dw.Zm[3] = log->dw.Z.Z[3] < log->nast_.Zgr || log->dw.U1 < (0.01f*0.01f) ; + log->dw.Zm[4] = log->dw.Z.Z[4] < log->nast_.Zgr || log->dw.U2 < (0.01f*0.01f) ; + log->dw.Zm[5] = log->dw.Z.Z[5] < log->nast_.Zgr || log->dw.U3 < (0.01f*0.01f) ; + log->dw.Zm[6] = log->dw.Z.Z[6] < log->nast_.Zgr || *log->U12 < (0.01f*0.01f) ; + log->dw.Zm[7] = log->dw.Z.Z[7] < log->nast_.Zgr || *log->U23 < (0.01f*0.01f) ; + log->dw.Zm[8] = log->dw.Z.Z[8] < log->nast_.Zgr || *log->U31 < (0.01f*0.01f) ; + + } + else + { + log->dw.Zm[0] = 0; + log->dw.Zm[1] = 0; + log->dw.Zm[2] = 0; + log->dw.Zm[3] = 0; + log->dw.Zm[4] = 0; + log->dw.Zm[5] = 0; + log->dw.Zm[6] = 0; + log->dw.Zm[7] = 0; + log->dw.Zm[8] = 0; + + } + + //-------------------------------------------------------------------------------- + //Wyliczenie wartosci rozruchowych dla charakterystyki poligonalnej + + i = 0; + while(i<3) + { + log->dw.Z.absR[i] = fabs(log->dw.Z.R[i]); + log->dw.Z.absX[i] = fabs(log->dw.Z.X[i]); + log->dw.Z.XRtanfi1_noabs[i] = log->dw.Z.X[i] - log->dw.Z.R[i] * log->nast_.tanfi1; + // log->dw.Z.XRtanfi1[i] = fabs(log->dw.Z.XRtanfi1_noabs[i]); + log->dw.Z.XRtanfi2[i] = log->dw.Z.X[i] + log->dw.Z.R[i] * log->nast_.tanfi2; + i++; + } + + while(i<9) + { + log->dw.Z.absR[i] = fabs(log->dw.Z.R[i]); + log->dw.Z.absX[i] = fabs(log->dw.Z.X[i]); + log->dw.Z.XRtanfi1_noabs[i] = log->dw.Z.X[i] - log->dw.Z.R[i] * log->nast_.tanfi1; + // log->dw.Z.XRtanfi1[i] = fabs(log->dw.Z.XRtanfi1_noabs[i]); + i++; + } + + + //----------------------------------------------------------------------------- + // sprawdzenie spelnienia warunku impedancji strefy + //----------------------------------------------------------------------------- + // sprawdzenie strefy 1 zwarcia jednofazowe z ziemia strefa 1W + int l_powt = 5; + if (log->nast_.kierunek[0] == 0) + l_powt = 10 + wydl_po_wyl; + else + l_powt = 5 + wydl_po_wyl; + + if(log->nast_.wyjscie.SOTF_zwrotnie == 0) + l_powt = 5 + wydl_po_wyl; + + + for(i=0;i<3;i++) + { + if (log->nast_.typ[0]) + { + Iorta = log->dw.Z.R[i] - log->nast_.n_pol[0][0].Rr; + Iortb = log->dw.Z.X[i] - log->nast_.n_pol[0][0].Xr; + I = Iorta * Iorta + Iortb * Iortb; + wk1 = I < log->nast_.n_pol[0][0].Z && log->dw.Igr[i]; + Iorta = log->dw.Z.R[i] - log->nast_.n_pol[0][0].Rp; + Iortb = log->dw.Z.X[i] - log->nast_.n_pol[0][0].Xp; + I = Iorta * Iorta + Iortb * Iortb; + wk2 = I > log->nast_.n_pol[0][0].Zp || !log->dw.Igr[i]; + } else { + wk1 = (/*log->dw.Z.absR[i] < log->nast_.n_pol[0][0].Rr ||*/ + ((log->dw.Z.X[i]>=0.0f)?((log->dw.Z.XRtanfi1_noabs[i] > -log->nast_.n_pol[0][0].Rrtanfi1) && (log->dw.Z.R[i] > - log->nast_.n_pol[0][0].Rr)):((log->dw.Z.XRtanfi1_noabs[i] < log->nast_.n_pol[0][0].Rrtanfi1)&&(log->dw.Z.R[i] < log->nast_.n_pol[0][0].Rr))) ) //here + && log->dw.Z.XRtanfi2[i] < log->nast_.Xr1Wf + && log->dw.Igr[i] + && log->dw.Z.absX[i] < log->nast_.n_pol[0][0].Xr + && log->l_nieustalony == 0; + + wk2 = ( + ((log->dw.Z.X[i]>=0.0f)?((log->dw.Z.XRtanfi1_noabs[i] < -log->nast_.n_pol[0][0].Rptanfi1) || (log->dw.Z.R[i] < - log->nast_.n_pol[0][0].Rp)):((log->dw.Z.XRtanfi1_noabs[i] > log->nast_.n_pol[0][0].Rptanfi1)||(log->dw.Z.R[i] > log->nast_.n_pol[0][0].Rp))) + /*&& log->dw.Z.absR[i] > log->nast_.n_pol[0][0].Rp*/) + || !log->dw.Igr[i] + || log->dw.Z.XRtanfi2[i] > log->nast_.Xr1Wfp + || log->dw.Z.absX[i] > log->nast_.n_pol[0][0].Xp + || log->l_nieustalony != 0; + } + sprawdz_P( + &log->dw.P_s[0][i], + wk1, + wk2, + &log->dw.liczps[0][i], + l_powt, 5 + ); + log->dw.Pbk[0][i] = log->dw.P_s[0][i] && log->dw.Iogr && !(log->nast_.Bl_L[0] && log->dw.BL_Load[i]); // uwzglednienie blokady od pradow obciażenia oraz kryterium zwarc z udzialem ziemi + log->dw.P_sss[0][i]= wk1; + } + + // sprawdzenie strefy 1 zwarcia jednofazowe z ziemia strefa 1 + if (log->nast_.kierunek[1] == 0) + l_powt = 10 + wydl_po_wyl; + else + l_powt = 5 + wydl_po_wyl; + + if (log->nast_.wyjscie.SOTF_zwrotnie == 1) + l_powt = 5 + wydl_po_wyl; + + for(i=0;i<3;i++) + { + if (log->nast_.typ[1]) + { + Iorta = log->dw.Z.R[i] - log->nast_.n_pol[1][0].Rr; + Iortb = log->dw.Z.X[i] - log->nast_.n_pol[1][0].Xr; + I = Iorta * Iorta + Iortb * Iortb; + wk1 = I < log->nast_.n_pol[1][0].Z && log->dw.Igr[i]; + Iorta = log->dw.Z.R[i] - log->nast_.n_pol[1][0].Rp; + Iortb = log->dw.Z.X[i] - log->nast_.n_pol[1][0].Xp; + I = Iorta * Iorta + Iortb * Iortb; + wk2 = I > log->nast_.n_pol[1][0].Zp || !log->dw.Igr[i]; + } else { + wk1 = (((log->dw.Z.X[i]>=0.0f)?((log->dw.Z.XRtanfi1_noabs[i] > -log->nast_.n_pol[1][0].Rrtanfi1) && (log->dw.Z.R[i] > - log->nast_.n_pol[1][0].Rr)):((log->dw.Z.XRtanfi1_noabs[i] < log->nast_.n_pol[1][0].Rrtanfi1)&&(log->dw.Z.R[i] < log->nast_.n_pol[1][0].Rr))) ) + +// (log->dw.Z.absR[i] < log->nast_.n_pol[1][0].Rr || log->dw.Z.XRtanfi1[i] < log->nast_.n_pol[1][0].Rrtanfi1) + && log->dw.Z.XRtanfi2[i] < log->nast_.Xr1f + && log->dw.Igr[i] + && log->dw.Z.absX[i] < log->nast_.n_pol[1][0].Xr + && log->l_nieustalony == 0; + wk2 = ((log->dw.Z.X[i]>=0.0f)?((log->dw.Z.XRtanfi1_noabs[i] < -log->nast_.n_pol[1][0].Rptanfi1) || (log->dw.Z.R[i] < - log->nast_.n_pol[1][0].Rp)):((log->dw.Z.XRtanfi1_noabs[i] > log->nast_.n_pol[1][0].Rptanfi1)||(log->dw.Z.R[i] > log->nast_.n_pol[1][0].Rp))) + + //(log->dw.Z.absR[i] > log->nast_.n_pol[1][0].Rp && log->dw.Z.XRtanfi1[i] > log->nast_.n_pol[1][0].Rptanfi1) + || log->dw.Z.XRtanfi2[i] > log->nast_.Xr1fp + || !log->dw.Igr[i] + || log->dw.Z.absX[i] > log->nast_.n_pol[1][0].Xp + || log->l_nieustalony != 0; + } + sprawdz_P( + &log->dw.P_s[1][i], + wk1, + wk2, + &log->dw.liczps[1][i], + l_powt, 5 + ); + log->dw.Pbk[1][i] = log->dw.P_s[1][i] && log->dw.Iogr && !(log->nast_.Bl_L[1] && log->dw.BL_Load[i]); // uwzglednienie blokady od pradow obciażenia oraz kryterium zwarc z udzialem ziemi + log->dw.P_sss[1][i]= wk1; + } + + + //sprawdzenie pozostalych stref zwarcie jednofazowe z ziemia + for(j=2;j<6;j++) + { + if (log->nast_.kierunek[j] == 0) + l_powt = 10 + wydl_po_wyl; + else + l_powt = 5 + wydl_po_wyl; + + if (log->nast_.wyjscie.SOTF_zwrotnie == j) + l_powt = 5 + wydl_po_wyl; + + for(i=3;i<6;i++) + { + if (log->nast_.typ[j]) + { + Iorta = log->dw.Z.R[i] - log->nast_.n_pol[j][0].Rr; + Iortb = log->dw.Z.X[i] - log->nast_.n_pol[j][0].Xr; + I = Iorta * Iorta + Iortb * Iortb; + wk1 = I < log->nast_.n_pol[j][0].Z && log->dw.Igr[i-3]; + Iorta = log->dw.Z.R[i] - log->nast_.n_pol[j][0].Rp; + Iortb = log->dw.Z.X[i] - log->nast_.n_pol[j][0].Xp; + I = Iorta * Iorta + Iortb * Iortb; + wk2 = I > log->nast_.n_pol[j][0].Zp || !log->dw.Igr[i-3]; + } else { + wk1 = //(log->dw.Z.absR[i] < log->nast_.n_pol[j][0].Rr || log->dw.Z.XRtanfi1[i] < log->nast_.n_pol[j][0].Rrtanfi1) + (((log->dw.Z.X[i]>=0.0f)?((log->dw.Z.XRtanfi1_noabs[i] > -log->nast_.n_pol[j][0].Rrtanfi1) && (log->dw.Z.R[i] > - log->nast_.n_pol[j][0].Rr)):((log->dw.Z.XRtanfi1_noabs[i] < log->nast_.n_pol[j][0].Rrtanfi1)&&(log->dw.Z.R[i] < log->nast_.n_pol[j][0].Rr))) ) + + && log->dw.Igr[i-3] + && log->dw.Z.absX[i] < log->nast_.n_pol[j][0].Xr + && log->l_nieustalony == 0; + wk2 =// (log->dw.Z.absR[i] > log->nast_.n_pol[j][0].Rp && log->dw.Z.XRtanfi1[i] > log->nast_.n_pol[j][0].Rptanfi1) + ((log->dw.Z.X[i]>=0.0f)?((log->dw.Z.XRtanfi1_noabs[i] < -log->nast_.n_pol[j][0].Rptanfi1) || (log->dw.Z.R[i] < - log->nast_.n_pol[j][0].Rp)):((log->dw.Z.XRtanfi1_noabs[i] > log->nast_.n_pol[j][0].Rptanfi1)||(log->dw.Z.R[i] > log->nast_.n_pol[j][0].Rp))) + + || !log->dw.Igr[i-3] + || log->dw.Z.absX[i] > log->nast_.n_pol[j][0].Xp + || log->l_nieustalony != 0; + } + sprawdz_P( + &log->dw.P_s[j][i-3], + wk1, + wk2, + &log->dw.liczps[j][i-3], + l_powt, 5 + ); + + log->dw.Pbk[j][i-3] = log->dw.P_s[j][i-3] && log->dw.Iogr && !(log->nast_.Bl_L[j] && log->dw.BL_Load[i]); // uwzglednienie blokady od pradow obciażenia oraz kryterium zwarc z udzialem ziemi + log->dw.P_sss[j][i-3]= wk1; + } + + } + + //sprawdzenie petli miedzyfazowych + for(j=0;j<6;j++) + { + if (log->nast_.kierunek[j] == 0) + l_powt = 10 + wydl_po_wyl; + else + l_powt = 5 + wydl_po_wyl; + + if (log->nast_.wyjscie.SOTF_zwrotnie == j) + l_powt = 5 + wydl_po_wyl; + + for(i=6;i<9;i++) + { + if (log->nast_.typ[j]) + { + Iorta = log->dw.Z.R[i] - log->nast_.n_pol[j][1].Rr; + Iortb = log->dw.Z.X[i] - log->nast_.n_pol[j][1].Xr; + I = Iorta * Iorta + Iortb * Iortb; + wk1 = (I < log->nast_.n_pol[j][1].Z && log->dw.Igr[i-3])?1:0; + Iorta = log->dw.Z.R[i] - log->nast_.n_pol[j][1].Rp; + Iortb = log->dw.Z.X[i] - log->nast_.n_pol[j][1].Xp; + I = Iorta * Iorta + Iortb * Iortb; + wk2 = (I > log->nast_.n_pol[j][1].Zp || !log->dw.Igr[i-3])?1:0; + } else { + wk1 = //(log->dw.Z.absR[i] < log->nast_.n_pol[j][1].Rr || log->dw.Z.XRtanfi1[i] < log->nast_.n_pol[j][1].Rrtanfi1) + ( ((log->dw.Z.X[i]>=0.0f)?((log->dw.Z.XRtanfi1_noabs[i] > -log->nast_.n_pol[j][1].Rrtanfi1) && (log->dw.Z.R[i] > - log->nast_.n_pol[j][1].Rr)):((log->dw.Z.XRtanfi1_noabs[i] < log->nast_.n_pol[j][1].Rrtanfi1)&&(log->dw.Z.R[i] < log->nast_.n_pol[j][1].Rr))) ) + && log->dw.Igr[i-3] + && log->dw.Z.absX[i] < log->nast_.n_pol[j][1].Xr + && log->l_nieustalony == 0; + wk2 = //(log->dw.Z.absR[i] > log->nast_.n_pol[j][1].Rp && log->dw.Z.XRtanfi1[i] > log->nast_.n_pol[j][1].Rptanfi1) + ((log->dw.Z.X[i]>=0.0f)?((log->dw.Z.XRtanfi1_noabs[i] < -log->nast_.n_pol[j][1].Rptanfi1) || (log->dw.Z.R[i] < - log->nast_.n_pol[j][1].Rp)):((log->dw.Z.XRtanfi1_noabs[i] > log->nast_.n_pol[j][1].Rptanfi1)||(log->dw.Z.R[i] > log->nast_.n_pol[j][1].Rp))) + + || !log->dw.Igr[i-3] + || log->dw.Z.absX[i] > log->nast_.n_pol[j][1].Xp + || log->l_nieustalony != 0; + } + sprawdz_P( + &log->dw.P_s[j][i-3], + wk1, + wk2, + &log->dw.liczps[j][i-3], + l_powt, 5 + ); + log->dw.Pbk[j][i-3] = log->dw.P_s[j][i-3] && !(log->nast_.Bl_L[j] && log->dw.BL_Load[i]); // uwzglednienie blokady od pradow obciażenia oraz minimalnej wartosci pradu + log->dw.P_sss[j][i-3]= wk1; + } + } + + + //----------------------------------------------------------------------------- + // sprawdzenie dodatkowego kryterium kierunkowego + +// *log->z[1]=0; + if (*log->sU1 < (0.05*0.05f) && *log->sU2 > 0.002f) // ok 4V // dodano zeby jednak uzywac skladowej przeciwnej gdy brak zgodnej (zalaczenie linii) + { +//*log->z[1]=1; + // kryterium skladowych przeciwnych + //przesuniecia skladowych napiecia o 45 stopni + if (*log->sI2 > 0.0003f) + { +//*log->z[1]=2; + Uorta = (*log->sU2_orta - *log->sU2_ortb) * 0.7071f; // + Uortb = (*log->sU2_orta + *log->sU2_ortb) * 0.7071f; + I = *log->sI2_orta * Uorta + + *log->sI2_ortb * Uortb; + + wk1 = I < 0; + sprawdz_P ( + &log->dw.Kp, + wk1, + !wk1, + &log->dw.liczKdod, + 3,3 + ); + log->dw.Km = !log->dw.Kp; + } else { + log->dw.Km = log->dw.Kp = 0; + } + } else { + // kryterium skladowych zgodnych + //przesuniecia skladowych napiecia o 45 stopni +//*log->z[1]=3; + + if ((*log->sI1 > 0.0001f) &&//przed poprawka 09.02.2026 + //if ((*log->sI1 > (0.001f*0.001f)) && + (*log->sU1 > 0.00001f) /*&& !blok_szpilki *//*&& !wydl_po_wyl*/) + { +//*log->z[1]=4; + Uorta = (*log->sU1_orta - *log->sU1_ortb) * 0.7071f; // + Uortb = (*log->sU1_orta + *log->sU1_ortb) * 0.7071f; + I = *log->sI1_orta * Uorta + + *log->sI1_ortb * Uortb; + wk1 = I > 0; + sprawdz_P ( + &log->dw.Kp, + wk1, + !wk1, + &log->dw.liczKdod, + 3,3 + ); + log->dw.Km = !log->dw.Kp; + } else { + log->dw.Km = log->dw.Kp = 0; + } + } + + //*log->z[0]=blok_do_szyn?65535:0; + //*log->z[1]=phi1; + //*log->z[2]=phi2; + //*log->z[3]=phi; + + //----------------------------------------------------------------------------- + //Ustalenie pobudzen stref + //okreslenie warunkow kierunkowych + //zwarcie jednofazowe z ziemia strefa 1 i 1W + +// u16 Zm_vect=0; + // for(i=0;i<9;i++) + // Zm_vect|=log->dw.Zm[i]?(1<dw.P[i][1] || log->dw.P[i][3] || log->dw.P[i][4]) + // Zm_vect|=(1<z[4]=Zm_vect; +// Zm_vect=0; + // for(i=0;i<6;i++) + // if(log->dw.XKp[i][1] || log->dw.XKp[i][1+3] || log->dw.XKp[i][3+3] || log->dw.XKp[i][4+3]) + // Zm_vect|=(1<z[5]=Zm_vect; + + if (!check_struct(&log->Bl_K))//jeśli nie ma blokady kierunku + { + for(j=0;j<2;j++) + { + + switch(log->nast_.kierunek[j]) + { + case 0: //bezkierunku + for(i=0;i<3;i++) + { + log->dw.P[j][i] = log->dw.Pbk[j][i]; + } + break; + case 1: //do linii + if(blok_szpilki!=3) + for(i=0;i<3;i++) + { + if(ZDISTA_POPRAWKA_3) + log->dw.P[j][i] = log->dw.Pbk[j][i] && (log->dw.Zm[i]?log->dw.Kp:log->dw.XKp[j][i]) && !blok_do_linii; + else + log->dw.P[j][i] = log->dw.Pbk[j][i] && (log->dw.Zm[i]?log->dw.Kp:log->dw.XKp[j][i]); + } + break; + case 2: // do szyn + if(blok_szpilki!=3) + for(i=0;i<3;i++) + { + if(ZDISTA_POPRAWKA_3) + log->dw.P[j][i] = log->dw.Pbk[j][i] && (log->dw.Zm[i]?log->dw.Km:log->dw.XKm[j][i]) && !blok_do_szyn; + else + log->dw.P[j][i] = log->dw.Pbk[j][i] && (log->dw.Zm[i]?log->dw.Km:log->dw.XKm[j][i]); + } + break; + } + } + + //zwarcie jednofazowe z ziemia - pozostale + for(j=2;j<6;j++) + { + switch(log->nast_.kierunek[j]) + { + case 0: //bezkierunku + for(i=3;i<6;i++) + { + log->dw.P[j][i-3] = log->dw.Pbk[j][i-3]; + } + break; + case 1: //do linii + if(blok_szpilki!=3) + for(i=3;i<6;i++) + { + if(ZDISTA_POPRAWKA_3) + log->dw.P[j][i-3] = log->dw.Pbk[j][i-3] && (log->dw.Zm[i]?log->dw.Kp:log->dw.XKp[j][i]) && !blok_do_linii; + else + log->dw.P[j][i-3] = log->dw.Pbk[j][i-3] && (log->dw.Zm[i]?log->dw.Kp:log->dw.XKp[j][i]); + } + break; + case 2: // do szyn + if(blok_szpilki!=3) + for(i=3;i<6;i++) + { + if(ZDISTA_POPRAWKA_3) + log->dw.P[j][i-3] = log->dw.Pbk[j][i-3] && (log->dw.Zm[i]?log->dw.Km : log->dw.XKm[j][i]) && !blok_do_szyn; + else + log->dw.P[j][i-3] = log->dw.Pbk[j][i-3] && (log->dw.Zm[i]?log->dw.Km : log->dw.XKm[j][i]); + } + break; + } + } + + //zwarcie miedzyfazowe + for(j=0;j<6;j++) + { + switch(log->nast_.kierunek[j]) + { + case 0: //bezkierunku + for(i=6;i<9;i++) + { + log->dw.P[j][i-3] = log->dw.Pbk[j][i-3]; + } + break; + case 1: //do linii + if(blok_szpilki!=3) + for(i=6;i<9;i++) + { + if(ZDISTA_POPRAWKA_3) + log->dw.P[j][i-3] = log->dw.Pbk[j][i-3] && (log->dw.Zm[i]?log->dw.Kp:log->dw.XKp[j][i]) && !blok_do_linii; + else + log->dw.P[j][i-3] = log->dw.Pbk[j][i-3] && (log->dw.Zm[i]?log->dw.Kp:log->dw.XKp[j][i]); + } + break; + case 2: // do szyn + if(blok_szpilki!=3) + for(i=6;i<9;i++) + { + if(ZDISTA_POPRAWKA_3) + log->dw.P[j][i-3] = log->dw.Pbk[j][i-3] && (log->dw.Zm[i]?log->dw.Km:log->dw.XKm[j][i]) && !blok_do_szyn; + else + log->dw.P[j][i-3] = log->dw.Pbk[j][i-3] && (log->dw.Zm[i]?log->dw.Km:log->dw.XKm[j][i]); + } + break; + } + } + } else { + for(j=0;j<6;j++) + { + for(i=6;i<9;i++) + { + log->dw.P[j][i-3] = log->dw.Pbk[j][i-3]; //poprawiony strzal z boku? + } + + } + } + + //----------------------------------------------------------------------------- + + + //obsluga wejscia testu przekaznika + if (czy_test_R()) + { + for(i=0;i<36;i++) + { + *(&log->dw.P[0][0] + i) = check_struct(&log->test)?1:0; + } + } + // + + // realizacja blokady dzialania przekaznika + if((log->nast_.bl_ && check_struct(&log->stan_bl))/* | czy_start()*/) + { + for(i=0;i<36;i++) + { + *(&log->dw.P[0][0] + i) = 0; + } + } + + check_and_set_struct(log->dw.P[0][0], &log->P1W_L1E); + check_and_set_struct(log->dw.P[0][1], &log->P1W_L2E); + check_and_set_struct(log->dw.P[0][2], &log->P1W_L3E); + check_and_set_struct(log->dw.P[0][3], &log->P1W_L1L2); + check_and_set_struct(log->dw.P[0][4], &log->P1W_L2L3); + check_and_set_struct(log->dw.P[0][5], &log->P1W_L3L1); + check_and_set_struct(log->dw.P[1][0], &log->P1_L1E); + check_and_set_struct(log->dw.P[1][1], &log->P1_L2E); + check_and_set_struct(log->dw.P[1][2], &log->P1_L3E); + check_and_set_struct(log->dw.P[1][3], &log->P1_L1L2); + check_and_set_struct(log->dw.P[1][4], &log->P1_L2L3); + check_and_set_struct(log->dw.P[1][5], &log->P1_L3L1); + check_and_set_struct(log->dw.P[2][0], &log->P2_L1E); + check_and_set_struct(log->dw.P[2][1], &log->P2_L2E); + check_and_set_struct(log->dw.P[2][2], &log->P2_L3E); + check_and_set_struct(log->dw.P[2][3], &log->P2_L1L2); + check_and_set_struct(log->dw.P[2][4], &log->P2_L2L3); + check_and_set_struct(log->dw.P[2][5], &log->P2_L3L1); + check_and_set_struct(log->dw.P[3][0], &log->P3_L1E); + check_and_set_struct(log->dw.P[3][1], &log->P3_L2E); + check_and_set_struct(log->dw.P[3][2], &log->P3_L3E); + check_and_set_struct(log->dw.P[3][3], &log->P3_L1L2); + check_and_set_struct(log->dw.P[3][4], &log->P3_L2L3); + check_and_set_struct(log->dw.P[3][5], &log->P3_L3L1); + check_and_set_struct(log->dw.P[4][0], &log->P4_L1E); + check_and_set_struct(log->dw.P[4][1], &log->P4_L2E); + check_and_set_struct(log->dw.P[4][2], &log->P4_L3E); + check_and_set_struct(log->dw.P[4][3], &log->P4_L1L2); + check_and_set_struct(log->dw.P[4][4], &log->P4_L2L3); + check_and_set_struct(log->dw.P[4][5], &log->P4_L3L1); + check_and_set_struct(log->dw.P[5][0], &log->P5_L1E); + check_and_set_struct(log->dw.P[5][1], &log->P5_L2E); + check_and_set_struct(log->dw.P[5][2], &log->P5_L3E); + check_and_set_struct(log->dw.P[5][3], &log->P5_L1L2); + check_and_set_struct(log->dw.P[5][4], &log->P5_L2L3); + check_and_set_struct(log->dw.P[5][5], &log->P5_L3L1); + + /*debug + check_and_set_struct(log->dw.Igr[0], &log->P5_L2E); + check_and_set_struct(log->dw.XKp[2][0], &log->P5_L3E); + check_and_set_struct(log->dw.Pbk[2][0], &log->P5_L1L2); + check_and_set_struct(log->dw.Km, &log->P5_L2L3); + check_and_set_struct(log->dw.Kp, &log->P5_L3L1); + */ + } + else + { + /*for(i=0;i<36;i++) + { + //clear_struct((struct binary_io *)((u8 *)&log->P1W_L1E+(sizeof(struct binary_io)*i))); + }*/ + clear_struct(&log->P1W_L1E); + clear_struct(&log->P1W_L2E); + clear_struct(&log->P1W_L3E); + clear_struct(&log->P1W_L1L2); + clear_struct(&log->P1W_L2L3); + clear_struct(&log->P1W_L3L1); + clear_struct(&log->P1_L1E); + clear_struct(&log->P1_L2E); + clear_struct(&log->P1_L3E); + clear_struct(&log->P1_L1L2); + clear_struct(&log->P1_L2L3); + clear_struct(&log->P1_L3L1); + clear_struct(&log->P2_L1E); + clear_struct(&log->P2_L2E); + clear_struct(&log->P2_L3E); + clear_struct(&log->P2_L1L2); + clear_struct(&log->P2_L2L3); + clear_struct(&log->P2_L3L1); + clear_struct(&log->P3_L1E); + clear_struct(&log->P3_L2E); + clear_struct(&log->P3_L3E); + clear_struct(&log->P3_L1L2); + clear_struct(&log->P3_L2L3); + clear_struct(&log->P3_L3L1); + clear_struct(&log->P4_L1E); + clear_struct(&log->P4_L2E); + clear_struct(&log->P4_L3E); + clear_struct(&log->P4_L1L2); + clear_struct(&log->P4_L2L3); + clear_struct(&log->P4_L3L1); + clear_struct(&log->P5_L1E); + clear_struct(&log->P5_L2E); + clear_struct(&log->P5_L3E); + clear_struct(&log->P5_L1L2); + clear_struct(&log->P5_L2L3); + clear_struct(&log->P5_L3L1); + } +} diff --git a/ZDistA_komp.h b/ZDistA_komp.h new file mode 100644 index 0000000..a04201a --- /dev/null +++ b/ZDistA_komp.h @@ -0,0 +1,465 @@ +/* + * ZDistA.h + * + * + * Created on: 21-07-2023 + * Author: PS + */ + +#ifndef ZDISTA_H_KOMP +#define ZDISTA_H_KOMP + +//#include "pawel_usun_to.h" + +#include "../tdefs.h" +#include "helper.h" +#include "ZDistL.h" + + + struct impedancja_ZDistA_komp + { + float R[9]; // czesc rzeczywista impedancji + float X[9]; // czesc urojona impedancji + float Z[9]; //kwadrat impedancji + float absR[9]; // wartosc bezwzgledna impedancji czesc rzeczywista + float absX[9]; // wartosc bezwzgledna impedancji czesc urojona + float XRtanfi2[9]; // abs(X+R*tan(fi2)) + // float XRtanfi1[9]; // abs(X-R*tan(fi1)) + //[0] petla L1-E strefa 1 + //[1] petla L2-E strefa 1 + //[2] petla L3-E strefa 1 + //[3] petla L1-E strefa 2,3,4,5 + //[4] petla L2-E strefa 2,3,4,5 + //[5] petla L3-E strefa 2,3,4,5 + //[6] petla L1-L2 + //[7] petla L2-L3 + //[8] petla L3-L1 + float XRtanfi1_noabs[9]; + //float E[9]; + }; + + struct dane_wewnetrzne_ZDistA_komp + { + struct impedancja_ZDistA_komp Z; + u8 Km; + u8 Kp; + u8 Igr[6]; // przekroczenie wartosci granicznej pradu + u8 Iogr; // zwarcie z udzialem ziemi + u8 P_s[6][6];//pobudzenie kryterium impedacyjnego (obszar) [numer strefy][L1E,L2E,L3E,L1L2,L2L3,L3L1] + u8 P_sss[6][6]; + u8 Pbk[6][6];//pobudzenie w strefie [numer strefy][L1E,L2E,L3E,L1L2,L2L3,L3L1] bezkierunkowe + u8 P[6][6];//pobudzenie w strefie [numer strefy][L1E,L2E,L3E,L1L2,L2L3,L3L1] + u8 BL_Load[9]; ///< impedancja w obszrze pradow roboczych + u8 XKp[6][9]; ///< impedancyjne kryterium kierunku "do przodu" + u8 XKm[6][9]; ///< impedancyjne kryterium kierunku "do tylu" + u8 Zm[9];///< impedancyjne kryterium bardzo bliskiego zwarcia + short liczp10[9]; /// licznik pobudzen + short liczp11[6][9]; /// licznik pobudzen + short liczp12[6][9]; /// licznik pobudzen + //[0] petla L1-E strefa 1 + //[1] petla L2-E strefa 1 + //[2] petla L3-E strefa 1 + //[3] petla L1-E strefa 2,3,4,5 + //[4] petla L2-E strefa 2,3,4,5 + //[5] petla L3-E strefa 2,3,4,5 + //[6] petla L1-L2 + //[7] petla L2-L3 + //[8] petla L3-L1 + short liczps[6][6]; //liczniki pobudzen dla pobudzen stref [numer strefy][L1E,L2E,L3E,L1L2,L2L3,L3L1] + short liczpIo; //licznik pobudzen dla identyfikacji zwarc z udzialem ziemi + short liczKdod; + float U1; + float U2; + float U3; + float I1; + float I2; + float I3; + struct ZDistA_komp_logic *log_ptr; + + //wyliczenie dl wektora + float modul_zf[6]; + float modul_zmf[6]; + float Z_min; + float Z_min_mf; + }; + + struct nast_w_poligon_komp + { + float Xr; // zasieg dla poligonu i srodek okregu dla kolowej wspolrzedna X + float Rr; // zasieg dla dla poligonu i srodek okregu dla kolowej wspolrzedna R + float Z; // srednica kola charakterystyki kolowej + float Xp; // zasieg dla poligonu i srodek okregu dla kolowej wspolrzedna X dla powrotu + float Rp; // zasieg dla dla poligonu i srodek okregu dla kolowej wspolrzedna R dla powrotu + float Zp; // srednica kola charakterystyki kolowej dla powrotu + float Rrtanfi1;// wartość rozruchowa prostej nachylonej kątem linii + float Rptanfi1;// wartość powrotowa prostej nachylonej kątem linii + }; + + struct Wyjscia_ZDistA_komp // struktura wyjsc przekaznika + { + struct dane_wewnetrzne_ZDistA_komp *Zdist_dw; + float przekladnia; + u8 *on; + u8 SOTF_zwrotnie; + }; + + + struct Nastawy_przeliczone_ZDistA_komp + { + struct Wyjscia_ZDistA_komp wyjscie; + u8 on_; + u8 bl_; + u8 z6_kolo; + u8 Bl_L[6]; + u8 typ[6];// typ charakterystyki 0 - poligonalna, 1- kolowa + float ReK1; // skladowa rzeczywista wspolczynnika kompensacji ziemnozwarciowej dla strefy 1 + float ImK1;// skladowa urojona wspolczynnika kompensacji ziemnozwarciowej dla strefy 1 + float ReKr;// skladowa rzeczywista wspolczynnika kompensacji ziemnozwarciowej dla stref 2,3,4,5 + float ImKr;// skladowa urojona wspolczynnika kompensacji ziemnozwarciowej dla stref 2,3,4,5 + + struct nast_w_poligon_komp n_pol[6][2]; // nastawy stref dla charakterystyki poligonalnej [numer strefy][LE/LL] + float tanfi1; // tangens kata linii + float tanfi2; //tangens kata dodatkowej prostej dla charakterystyki poligonalnej strefa 1 + float Xr1f; // wartosc rozruchowa dodatkowej prostej dla charakterystyki poligonalnej + float Xr1fp; // wartosc powrotowa dodatkowej prostej dla charakterystyki poligonalnej + float Xr1Wf; // wartosc rozruchowa dodatkowej prostej dla charakterystyki poligonalnej + float Xr1Wfp; // wartosc powrotowa dodatkowej prostej dla charakterystyki poligonalnej + float Igr; // wartosc kwadratu pradu granicznego warunku dzialania przekaznika + float Igrp; // wartosc kwadratu pradu granicznego warunku dzialania przekaznika (powrot) + + float Zgr;// minimalna wartosc impedancji kryteriunkierunkowego w kwadracie + float kp;//współczynnik powrotu dla niedomiarówek + float kpp;//współczynnik powrotu dla nadmiarówek + float kpk; //kwadrat współczynnika powrotu + short kierunek[6]; + + //A2 + float XKR; // wspolczynnik prostej R kierunku kryterium impedancyjnego + float XKX; // wspolczynnik prostej R kierunku kryterium impedancyjnego + float KL;//wspolczynnik prostej dla blokady od obszaru obciażenia + float RLf; // wartosc rozruchowa blokady Load do przodu + float RLr; // wartosc rozruchowa blokady Load do tylu + float Iogr; // wartosc graniczna skladowej zerowej identyfikacji zwarc z udzialem ziemi + float khio; // wspolczynnik stabilizacji dla przekaznika identyfikacji zwarc z udzialem ziemi + float Uomin; ///< minimalna wartość napięcia składowej zerowej + + float ReKrown; // skladowa rzeczywista wspolczynnika dla linii rownoleglej + float ImKrown;// skladowa urojona wspolczynnika dla linii rownoleglej + float Krown_ignac; + + float kp_obc; //wspolczynnik powrotu krzywych obciazenia + float kpp_obc; //kwadrat współczynnika powrotu krzywych obciazenia + + }; + +struct ZDistA_komp_logic +{ + struct binary_io stan_bl; + struct binary_io Bl_K; + float *I1_orta; ///< Skladowa ortogonalna a pradu faza L1 + float *I1_ortb; ///< Skladowa ortogonalna b pradu faza L1 + float *I1; ///< Prad mierzony faza 1 + float *I2_orta; ///< Skladowa ortogonalna a pradu faza L2 + float *I2_ortb; ///< Skladowa ortogonalna b pradu faza L2 + float *I2; ///< Prad mierzony faza 2 + float *I3_orta; ///< Skladowa ortogonalna a pradu faza L3 + float *I3_ortb; ///< Skladowa ortogonalna b pradu faza L3 + float *I3; ///< Prad mierzony faza 3 + float *U1_orta; ///< Skladowa ortogonalna a napiecia faza L1 + float *U1_ortb; ///< Skladowa ortogonalna b napiecia faza L1 + float *U1; ///< Napiecie mierzone faza 1 + float *U2_orta; ///< Skladowa ortogonalna a napiecia faza L2 + float *U2_ortb; ///< Skladowa ortogonalna b napiecia faza L2 + float *U2; ///< Napiecie mierzone faza 2 + float *U3_orta; ///< Skladowa ortogonalna a napiecia faza L3 + float *U3_ortb; ///< Skladowa ortogonalna b napiecia faza L3 + float *U3; ///< Napiecie mierzone faza 3 + float *U12_orta; ///< Skladowa ortogonalna a napiecia L1-L2 + float *U12_ortb; ///< Skladowa ortogonalna b napiecia L1-L2 + float *U12; ///< Napiecie mierzone L1-L2 + float *U23_orta; ///< Skladowa ortogonalna a napiecia L2-L3 + float *U23_ortb; ///< Skladowa ortogonalna b napiecia L2-L3 + float *U23; ///< Napiecie mierzone L2-L3 + float *U31_orta; ///< Skladowa ortogonalna a napiecia L3-L1 + float *U31_ortb; ///< Skladowa ortogonalna b napiecia L3-L1 + float *U31; ///< Napiecie mierzone L3-L1 + float *sI1_orta; ///< Skladowa ortogonalna a skladowej zgodnej pradu + float *sI1_ortb; ///< Skladowa ortogonalna b skladowej zgodnej pradu + float *sI1; ///< Skladowa zgodna pradu + float *sI2_orta; ///< Skladowa ortogonalna a skladowej przeciwnej pradu + float *sI2_ortb; ///< Skladowa ortogonalna b skladowej przeciwnej pradu + float *sI2; ///< Skladowa przeciwna pradu + float *sI0_orta; ///< Skladowa ortogonalna a skladowej zerowej pradu + float *sI0_ortb; ///< Skladowa ortogonalna b skladowej zerowej pradu + float *sI0; ///< Skladowa zerowa pradu + float *sU1_orta; ///< Skladowa ortogonalna a skladowej zgodnej napiecia + float *sU1_ortb; ///< Skladowa ortogonalna b skladowej zgodnej napiecia + float *sU1; ///< Skladowa zgodna napiecia + float *sU2_orta; ///< Skladowa ortogonalna a skladowej przeciwnej napiecia + float *sU2_ortb; ///< Skladowa ortogonalna b skladowej przeciwnej napiecia + float *sU2; ///< Skladowa przeciwna napiecia + float *sU0_orta; ///< Skladowa ortogonalna a skladowej zerowej napiecia + float *sU0_ortb; ///< Skladowa ortogonalna b skladowej zerowej napiecia + float *sU0; ///< Skladowa zerowa napiecia + struct analog_in_params *param_I; ///< Parametry wejscia pradowego + struct analog_in_params *param_U; /// < Parametry kanalu napieciowego + struct binary_io test; + struct binary_io P1W_L1E; ///< Pobudzenie strefy 1W zwarcie L1-E + struct binary_io P1W_L2E; ///< Pobudzenie strefy 1W zwarcie L2-E + struct binary_io P1W_L3E; ///< Pobudzenie strefy 1W zwarcie L3-E + struct binary_io P1W_L1L2; ///< Pobudzenie strefy 1W zwarcie L1-L2 + struct binary_io P1W_L2L3; ///< Pobudzenie strefy 1W zwarcie L2-L3 + struct binary_io P1W_L3L1; ///< Pobudzenie strefy 1W zwarcie L3-L1 + struct binary_io P1_L1E; ///< Pobudzenie strefy 1 zwarcie L1-E + struct binary_io P1_L2E; ///< Pobudzenie strefy 1 zwarcie L2-E + struct binary_io P1_L3E; ///< Pobudzenie strefy 1 zwarcie L3-E + struct binary_io P1_L1L2; ///< Pobudzenie strefy 1 zwarcie L1-L2 + struct binary_io P1_L2L3; ///< Pobudzenie strefy 1 zwarcie L2-L3 + struct binary_io P1_L3L1; ///< Pobudzenie strefy 1 zwarcie L3-L1 + struct binary_io P2_L1E; ///< Pobudzenie strefy 2 zwarcie L1-E + struct binary_io P2_L2E; ///< Pobudzenie strefy 2 zwarcie L2-E + struct binary_io P2_L3E; ///< Pobudzenie strefy 2 zwarcie L3-E + struct binary_io P2_L1L2; ///< Pobudzenie strefy 2 zwarcie L1-L2 + struct binary_io P2_L2L3; ///< Pobudzenie strefy 2 zwarcie L2-L3 + struct binary_io P2_L3L1; ///< Pobudzenie strefy 2 zwarcie L3-L1 + struct binary_io P3_L1E; ///< Pobudzenie strefy 3 zwarcie L1-E + struct binary_io P3_L2E; ///< Pobudzenie strefy 3 zwarcie L2-E + struct binary_io P3_L3E; ///< Pobudzenie strefy 3 zwarcie L3-E + struct binary_io P3_L1L2; ///< Pobudzenie strefy 3 zwarcie L1-L2 + struct binary_io P3_L2L3; ///< Pobudzenie strefy 3 zwarcie L2-L3 + struct binary_io P3_L3L1; ///< Pobudzenie strefy 3 zwarcie L3-L1 + struct binary_io P4_L1E; ///< Pobudzenie strefy 4 zwarcie L1-E + struct binary_io P4_L2E; ///< Pobudzenie strefy 4 zwarcie L2-E + struct binary_io P4_L3E; ///< Pobudzenie strefy 4 zwarcie L3-E + struct binary_io P4_L1L2; ///< Pobudzenie strefy 4 zwarcie L1-L2 + struct binary_io P4_L2L3; ///< Pobudzenie strefy 4 zwarcie L2-L3 + struct binary_io P4_L3L1; ///< Pobudzenie strefy 4 zwarcie L3-L1 + struct binary_io P5_L1E; ///< Pobudzenie strefy 5 zwarcie L1-E + struct binary_io P5_L2E; ///< Pobudzenie strefy 5 zwarcie L2-E + struct binary_io P5_L3E; ///< Pobudzenie strefy 5 zwarcie L3-E + struct binary_io P5_L1L2; ///< Pobudzenie strefy 5 zwarcie L1-L2 + struct binary_io P5_L2L3; ///< Pobudzenie strefy 5 zwarcie L2-L3 + struct binary_io P5_L3L1; ///< Pobudzenie strefy 5 zwarcie L3-L1 + struct binary_io deakt; /// deaktywacja + struct binary_io wyl; ///wejscie zwrotne info o wylacenia + float *I_row_orta; ///< Skladowa ortogonalna a skladowej zgodnej napiecia + float *I_row_ortb; ///< Skladowa ortogonalna a skladowej zgodnej napiecia + struct analog_in_params *param_I_rown; ///< Parametry wejscia pradowego + struct dane_wewnetrzne_ZDistA_komp dw; + struct Nastawy_przeliczone_ZDistA_komp nast_;// struktura z parametrami + + u8 l_nieustalony; + + float *z[6]; /// debug +}; + +struct ZDistA_komp_io +{ + u32 bl_in; + u32 bl_k_in; + u32 i1_orta_float_in; + u32 i1_ortb_float_in; + u32 i1_float_in; + u32 i2_orta_float_in; + u32 i2_ortb_float_in; + u32 i2_float_in; + u32 i3_orta_float_in; + u32 i3_ortb_float_in; + u32 i3_float_in; + u32 u1_orta_float_in; + u32 u1_ortb_float_in; + u32 u1_float_in; + u32 u2_orta_float_in; + u32 u2_ortb_float_in; + u32 u2_float_in; + u32 u3_orta_float_in; + u32 u3_ortb_float_in; + u32 u3_float_in; + u32 u12_orta_float_in; + u32 u12_ortb_float_in; + u32 u12_float_in; + u32 u23_orta_float_in; + u32 u23_ortb_float_in; + u32 u23_float_in; + u32 u31_orta_float_in; + u32 u31_ortb_float_in; + u32 u31_float_in; + u32 i1_zg_orta_float_in; + u32 i1_zg_ortb_float_in; + u32 i1_zg_float_in; + u32 i2_pr_orta_float_in; + u32 i2_pr_ortb_float_in; + u32 i2_pr_float_in; + u32 io_orta_float_in; + u32 io_ortb_float_in; + u32 io_float_in; + u32 u1_zg_orta_float_in; + u32 u1_zg_ortb_float_in; + u32 u1_zg_float_in; + u32 u2_pr_orta_float_in; + u32 u2_pr_ortb_float_in; + u32 u2_pr_float_in; + u32 uo_orta_float_in; + u32 uo_ortb_float_in; + u32 uo_float_in; + u32 i_param_an_ptr_in; + u32 u_param_an_ptr_in; + u32 test_in; + u32 deakt_in; + u32 wyl_in; + + u32 i_rown_orta_float_in; + u32 i_rown_ortb_float_in; + u32 i_rown_an_ptr_in; + + u32 wy_ptr_out; //zainicjowac + u32 P1W_L1E_out; + u32 P1W_L2E_out; + u32 P1W_L3E_out; + u32 P1W_L1L2_out; + u32 P1W_L2L3_out; + u32 P1W_L3L1_out; + u32 P1_L1E_out; + u32 P1_L2E_out; + u32 P1_L3E_out; + u32 P1_L1L2_out; + u32 P1_L2L3_out; + u32 P1_L3L1_out; + u32 P2_L1E_out; + u32 P2_L2E_out; + u32 P2_L3E_out; + u32 P2_L1L2_out; + u32 P2_L2L3_out; + u32 P2_L3L1_out; + u32 P3_L1E_out; + u32 P3_L2E_out; + u32 P3_L3E_out; + u32 P3_L1L2_out; + u32 P3_L2L3_out; + u32 P3_L3L1_out; + u32 P4_L1E_out; + u32 P4_L2E_out; + u32 P4_L3E_out; + u32 P4_L1L2_out; + u32 P4_L2L3_out; + u32 P4_L3L1_out; + u32 P5_L1E_out; + u32 P5_L2E_out; + u32 P5_L3E_out; + u32 P5_L1L2_out; + u32 P5_L2L3_out; + u32 P5_L3L1_out; + + //debug + u32 z1_float_out; + u32 z2_float_out; + u32 z3_float_out; + u32 z4_float_out; + u32 z5_float_out; + u32 z6_float_out; + +}__attribute__((__packed__)); + +struct ZDistA_komp_params +{ + u32 bity; ///< nastawy bitowe; + + long Typ1; ///< Typ charakterystyki strefa 1 + long Typ2; ///< Typ charakterystyki strefa 2 + long Typ3; ///< Typ charakterystyki strefa 3 + long Typ4; ///< Typ charakterystyki strefa 4 + long Typ5; ///< Typ charakterystyki strefa 5 + long K1; ///< Kierunek dzialania strefa 1 + long K2; ///< Kierunek dzialania strefa 2 + long K3; ///< Kierunek dzialania strefa 3 + long K4; ///< Kierunek dzialania strefa 4 + long K5; ///< Kierunek dzialania strefa 5 + + double I_min; ///< Graniczna wartosc pradu + double Kk1; ///< Wspolczynnik kompensacji ziemnozwarciowej strefa 1 + double Kk1_kat; ///< Kat wektora kompensacji ziemnozwarciowej strefa 1 + double KkC; ///< Wspolczynnik kompensacji ziemnozwarciowej stref 2,3,4,5 + double KkC_kat; ///< Kat wektora kompensacji ziemnozwarciowej stref 2,3,4,5 + double fi1; ///< Kat linii + double fi2; ///< Kat nachylenia prostej korekcji strefy pierwszej dla zwarc jednofazowych z ziemia + double R1W_Zf1W_LE; ///< Zasieg rezystancyjny strefy 1 dla charakterystyki poligonalnej zwarcie jednofazowe z ziemia + ///< Zasieg „do przodu” wydluzenie strefy 1 charakterystyki kolowej zwarcie jednofazowe z ziemia + double R1W_Zf1W_LL; ///< Zasieg rezystancyjny strefy 1 dla charakterystyki poligonalnej zwarcie miedzyfazowe + ///< Zasieg „do przodu” wyduzenie strefy 1 charakterystyki kolowej zwarcie miedzyfazowe + double R1_Zf1_LE; ///< Zasieg rezystancyjny strefy 1 dla charakterystyki poligonalnej zwarcie jednofazowe z ziemia + ///< Zasieg „do przodu” strefy 1 charakterystyki kolowej zwarcie jednofazowe z ziemia + double R1_Zf1_LL; ///< Zasieg rezystancyjny strefy 1 dla charakterystyki poligonalnej zwarcie miedzyfazowe + ///< Zasieg „do przodu” strefy 1 charakterystyki kolowej zwarcie miedzyfazowe + double R2_Zf2_LE; ///< Zasieg rezystancyjny strefy 2 dla charakterystyki poligonalnej zwarcie jednofazowe z ziemia + ///< Zasieg „do przodu” strefy 2 charakterystyki kolowej zwarcie jednofazowe z ziemia + double R2_Zf2_LL; ///< Zasieg rezystancyjny strefy 2 dla charakterystyki poligonalnej zwarcie miedzyfazowe + ///< Zasieg „do przodu” strefy 2 charakterystyki kolowej zwarcie miedzyfazowe + double R3_Zf3_LE; ///< Zasieg rezystancyjny strefy 3 dla charakterystyki poligonalnej zwarcie jednofazowe z ziemia + ///< Zasieg „do przodu” strefy 3 charakterystyki kolowej zwarcie jednofazowe z ziemia + double R3_Zf3_LL; ///< Zasieg rezystancyjny strefy 3 dla charakterystyki poligonalnej zwarcie miedzyfazowe + ///< Zasieg „do przodu” strefy 3 charakterystyki kolowej zwarcie miedzyfazowe + double R4_Zf4_LE; ///< Zasieg rezystancyjny strefy 4 dla charakterystyki poligonalnej zwarcie jednofazowe z ziemia + ///< Zasieg „do przodu” strefy 4 charakterystyki kolowej zwarcie jednofazowe z ziemia + double R4_Zf4_LL; ///< Zasieg rezystancyjny strefy 4 dla charakterystyki poligonalnej zwarcie miedzyfazowe + ///< Zasieg „do przodu” strefy 4 charakterystyki kolowej zwarcie miedzyfazowe + double R5_Zf5_LE; ///< Zasieg rezystancyjny strefy 5 dla charakterystyki poligonalnej zwarcie jednofazowe z ziemia + ///< Zasieg „do przodu” strefy 5 charakterystyki kolowej zwarcie jednofazowe z ziemia + double R5_Zf5_LL; ///< Zasieg rezystancyjny strefy 5 dla charakterystyki poligonalnej zwarcie miedzyfazowe + ///< Zasieg „do przodu” strefy 5 charakterystyki kolowej zwarcie miedzyfazowe + double X1W_Zr1W_LE; ///< Zasieg reaktancyjny wydluzenie strefy 1 dla charakterystyki poligonalnej zwarcie jednofazowe z ziemia + ///< Zasieg „do tylu” wydluzenie strefy 1 charakterystyki kolowej zwarcie jednofazowe z ziemia + double X1W_Zr1W_LL; ///< Zasieg reaktancyjny wydluzenie strefy 1 dla charakterystyki poligonalnej zwarcie miedzyfazowe + ///< Zasieg „do tylu” wydluzenie strefy 1 charakterystyki kolowej zwarcie miedzyfazowe + double X1_Zr1_LE; ///< Zasieg reaktancyjny strefy 1 dla charakterystyki poligonalnej zwarcie jednofazowe z ziemia + ///< Zasieg „do tylu” strefy 1 charakterystyki kolowej zwarcie jednofazowe z ziemia + double X1_Zr1_LL; ///< Zasieg reaktancyjny strefy 1 dla charakterystyki poligonalnej zwarcie miedzyfazowe + ///< Zasieg „do tylu” strefy 1 charakterystyki kolowej zwarcie miedzyfazowe + double X2_Zr2_LE; ///< Zasieg reaktancyjny strefy 2 dla charakterystyki poligonalnej zwarcie jednofazowe z ziemia + ///< Zasieg „do tylu” strefy 2 charakterystyki kolowej zwarcie jednofazowe z ziemia + double X2_Zr2_LL; ///< Zasieg reaktancyjny strefy 2 dla charakterystyki poligonalnej zwarcie miedzyfazowe + ///< Zasieg „do tylu” strefy 2 charakterystyki kolowej zwarcie miedzyfazowe + double X3_Zr3_LE; ///< Zasieg reaktancyjny strefy 3 dla charakterystyki poligonalnej zwarcie jednofazowe z ziemia + ///< Zasieg „do tylu” strefy 3 charakterystyki kolowej zwarcie jednofazowe z ziemia + double X3_Zr3_LL; ///< Zasieg reaktancyjny strefy 3 dla charakterystyki poligonalnej zwarcie miedzyfazowe + ///< Zasieg „do tylu” strefy 3 charakterystyki kolowej zwarcie miedzyfazowe + double X4_Zr4_LE; ///< Zasieg reaktancyjny strefy 4 dla charakterystyki poligonalnej zwarcie jednofazowe z ziemia + ///< Zasieg „do tylu” strefy 4 charakterystyki kolowej zwarcie jednofazowe z ziemia + double X4_Zr4_LL; ///< Zasieg reaktancyjny strefy 4 dla charakterystyki poligonalnej zwarcie miedzyfazowe + ///< Zasieg „do tylu” strefy 4 charakterystyki kolowej zwarcie miedzyfazowe + double X5_Zr5_LE; ///< Zasieg reaktancyjny strefy 5 dla charakterystyki poligonalnej zwarcie jednofazowe z ziemia + ///< Zasieg „do tylu” strefy 5 charakterystyki kolowej zwarcie jednofazowe z ziemia + double X5_Zr5_LL; ///< Zasieg reaktancyjny strefy 5 dla charakterystyki poligonalnej zwarcie miedzyfazowe + ///< Zasieg „do tylu” strefy 5 charakterystyki kolowej zwarcie miedzyfazowe + double kp; ///< wspolczynnik powrotu +//A2 +// double U_min; ///< Minimalna wartosc napiecia + double fi3; ///< Kat kierunkowy od osi X impedancyjnego kryterium kierunku + double fi4; ///< Kat kierunkowy od osi R impedancyjnego kryterium kierunku + double RLf; ///< Zasieg „ do przodu” kryterium blokady dzialania w zakresie pradow obciażenia + double RLr; ///< Zasieg „ do tylu” kryterium blokady dzialania w zakresie pradow obciażenia + double fi5; ///< Kat kierunkowy blokady dzialania w zakresie pradow obciażenia + double Iomin; ///< Minimalna wartosc rozruchowa pradu zerowego przekaznika identyfikacji zwarc z udzialem ziemi + double Iokh; ///< Wspolczynnik stabilizacji charakterystyki przekaznika identyfikacji zwarc z udzialem ziemi + double Uomin; ///< minimalna wartość napięcia składowej zerowej + + long Typ0; ///< Typ charakterystyki strefa 1W + long K0; ///< Kierunek dzialania strefa 1W + + double Krown; ///< Wspolczynnik kompensacji linii rown + double Krown_kat; ///< Kat wektora kompensacji lnii rown + + double kp_obc; ///< Współczynnik powrotu dla blokady od prądu obciążenia + +}__attribute__((__packed__)); + +struct ZDistA_komp_args +{ + struct ZDistA_komp_io io; + struct ZDistA_komp_params params; +// u16 crc; +}__attribute__((__packed__)); + +extern void ZDistA_komp(void *args, void *logic); +extern int ZDistA_komp_initlog(void *arguments, void *logic); + +#endif /* ZDISTA_H_KOMP */ diff --git a/ZDistL_komp.c b/ZDistL_komp.c new file mode 100644 index 0000000..b192f93 --- /dev/null +++ b/ZDistL_komp.c @@ -0,0 +1,1589 @@ +/* + * ZDistL.c + * + * Created on: 07-03-2017 + * Author: Krzysztof Jakubczyk + */ + +#include + +#include "../tdefs.h" +#include "../misc.h" +#include "helper.h" + +#include "ZDistL_komp.h" +#include "ZDistA_komp.h" + + +struct ZDistL_nast_komp +{ + double ts0LE;///< Czas wyłączenia strefy 1W zwarcia jednofazowe z ziemią + double ts0LL;///< Czas wyłączenia strefy 1W zwarcia miedzyfazowe + double ts1LE;///< Czas wyłączenia strefy 1 zwarcia jednofazowe z ziemią + double ts1LL;///< Czas wyłączenia strefy 1 zwarcia miedzyfazowe + double ts2LE;///< Czas wyłączenia strefy 2 zwarcia jednofazowe z ziemią + double ts2LL;///< Czas wyłączenia strefy 2 zwarcia miedzyfazowe + double ts3LE;///< Czas wyłączenia strefy 3 zwarcia jednofazowe z ziemią + double ts3LL;///< Czas wyłączenia strefy 3 zwarcia miedzyfazowe + double ts4LE;///< Czas wyłączenia strefy 4 zwarcia jednofazowe z ziemią + double ts4LL;///< Czas wyłączenia strefy 4 zwarcia miedzyfazowe + double ts5LE;///< Czas wyłączenia strefy 5 zwarcia jednofazowe z ziemią + double ts5LL;///< Czas wyłączenia strefy 5 zwarcia miedzyfazowe + + long Stf0; ///< Sposób działania strefy 1W + long Stf1; ///< Sposób działania strefy 1 + long Stf2; ///< Sposób działania strefy 2 + long Stf3; ///< Sposób działania strefy 3 + long Stf4; ///< Sposób działania strefy 4 + long Stf5; ///< Sposób działania strefy 5 +}; + +int ZDistL_initlog_komp(void *arguments, void *logic) +{ + struct ZDistL_args_komp *args = (struct ZDistL_args_komp *)arguments; + struct ZDistL_logic_komp *log = (struct ZDistL_logic_komp *)logic; + struct ZDistL_nast_komp znast; + + if(set_bit_ptr_struct(args->io.stan_bl_in,&log->stan_bl)) + return -1; + if(set_pointer_in_ptr(args->io.we_zdist_ptr_in,(u32 *)&log->WE_Zdist)) + return -1; + if(set_bit_ptr_struct(args->io.Bl_PS_in,&log->Bl_PS)) + return -1; + if(set_bit_ptr_struct(args->io.lacze_OK_in,&log->lacze_OK)) + return -1; + if(set_bit_ptr_struct(args->io.lacze_odb_in,&log->lacze_odb)) + return -1; + if(set_bit_ptr_struct(args->io.W_ON_in,&log->W_ON)) + return -1; + if(set_bit_ptr_struct(args->io.zgoda_1f_in,&log->zgoda_1f)) + return -1; + if(set_bit_ptr_struct(args->io.Z_in,&log->Z)) + return -1; + if(set_bit_ptr_struct(args->io.test_in,&log->test)) + return -1; + if(set_bit_ptr_struct(args->io.blok_1_in,&log->blok_1)) + return -1; + if(set_bit_ptr_struct(args->io.blok_1W_in,&log->blok_1W)) + return -1; + if(set_bit_ptr_struct(args->io.blok_2_in,&log->blok_2)) + return -1; + if(set_bit_ptr_struct(args->io.blok_3_in,&log->blok_3)) + return -1; + if(set_bit_ptr_struct(args->io.blok_4_in,&log->blok_4)) + return -1; + if(set_bit_ptr_struct(args->io.blok_5_in,&log->blok_5)) + return -1; + if(set_bit_ptr_struct(args->io.deakt_in,&log->deakt)) + return -1; + + if(set_bit_ptr_struct(args->io.P_out,&log->P)) + return -1; + if(set_bit_ptr_struct(args->io.P1W_out,&log->P1W)) + return -1; + if(set_bit_ptr_struct(args->io.P1_out,&log->P1)) + return -1; + if(set_bit_ptr_struct(args->io.P2_out,&log->P2)) + return -1; + if(set_bit_ptr_struct(args->io.P3_out,&log->P3)) + return -1; + if(set_bit_ptr_struct(args->io.P4_out,&log->P4)) + return -1; + if(set_bit_ptr_struct(args->io.P5_out,&log->P5)) + return -1; + if(set_bit_ptr_struct(args->io.R_out,&log->R)) + return -1; + if(set_bit_ptr_struct(args->io.S_out,&log->S)) + return -1; + if(set_bit_ptr_struct(args->io.T_out,&log->T)) + return -1; + if(set_bit_ptr_struct(args->io.E_out,&log->E)) + return -1; + if(set_bit_ptr_struct(args->io.Z1W_out,&log->Z1W)) + return -1; + if(set_bit_ptr_struct(args->io.Z1_out,&log->Z1)) + return -1; + if(set_bit_ptr_struct(args->io.Z2_out,&log->Z2)) + return -1; + if(set_bit_ptr_struct(args->io.Z3_out,&log->Z3)) + return -1; + if(set_bit_ptr_struct(args->io.Z4_out,&log->Z4)) + return -1; + if(set_bit_ptr_struct(args->io.Z5_out,&log->Z5)) + return -1; + if(set_bit_ptr_struct(args->io.W_out,&log->W)) + return -1; + if(set_bit_ptr_struct(args->io.W1_out,&log->W1)) + return -1; + if(set_bit_ptr_struct(args->io.W2_out,&log->W2)) + return -1; + if(set_bit_ptr_struct(args->io.W3_out,&log->W3)) + return -1; + if(set_bit_ptr_struct(args->io.bl_LRC_out,&log->bl_LRC)) + return -1; + if(set_bit_ptr_struct(args->io.log_odbl_out,&log->log_odbl)) + return -1; + if(set_bit_ptr_struct(args->io.lacze_nad_out,&log->lacze_nad)) + return -1; + if(set_bit_ptr_struct(args->io.zzw_akt_out,&log->zzw_akt)) + return -1; + if(set_bit_ptr_struct(args->io.blk_lacz_out,&log->blk_lacz)) + return -1; + if(set_bit_ptr_struct(args->io.zadz_echa_out,&log->zadz_echa)) + return -1; + if(set_bit_ptr_struct(args->io.zezw_lacz_out,&log->zezw_lacz)) + return -1; + if(set_bit_ptr_struct(args->io.skr_czas_lacz_out,&log->skr_czas_lacz)) + return -1; + if(set_bit_ptr_struct(args->io.wyl_lacz_out,&log->wyl_lacz)) + return -1; + if(set_bit_ptr_struct(args->io.blok_lacz_out,&log->blok_lacz)) + return -1; + if(set_bit_ptr_struct(args->io.wydl_czas_lacz_out,&log->wydl_czas_lacz)) + return -1; + if(set_bit_ptr_struct(args->io.z_zwarcie_out,&log->z_zwarcie)) + return -1; + + if(set_bit_ptr_struct(args->io.P_L1_out,&log->P_L1)) + return -1; + if(set_bit_ptr_struct(args->io.P_L2_out,&log->P_L2)) + return -1; + if(set_bit_ptr_struct(args->io.P_L3_out,&log->P_L3)) + return -1; + if(set_bit_ptr_struct(args->io.P_E_out,&log->P_E)) + return -1; + + if(set_bit_ptr_struct(args->io.WS1_out,&log->WS1)) + return -1; + if(set_bit_ptr_struct(args->io.WS1W_out,&log->WS1W)) + return -1; + if(set_bit_ptr_struct(args->io.WS2_out,&log->WS2)) + return -1; + if(set_bit_ptr_struct(args->io.WS3_out,&log->WS3)) + return -1; + if(set_bit_ptr_struct(args->io.WS4_out,&log->WS4)) + return -1; + if(set_bit_ptr_struct(args->io.WS5_out,&log->WS5)) + return -1; + + if(set_bit_ptr_struct(args->io.W_1f_out,&log->W_1f)) + return -1; + + log->nast_.echo_on = (args->params.bity & 0x0001)?1:0; + log->nast_.wyl_od_echa = (args->params.bity & 0x0002)?1:0; + log->nast_.log_odbl_on = (args->params.bity & 0x0004)?1:0; + log->nast_.LCR_on = (args->params.bity & 0x0008)?1:0; + log->nast_.Bl_PS[1] = (args->params.bity & 0x0010)?1:0; + log->nast_.Bl_PS[2] = (args->params.bity & 0x0020)?1:0; + log->nast_.Bl_PS[3] = (args->params.bity & 0x0040)?1:0; + log->nast_.Bl_PS[4] = (args->params.bity & 0x0080)?1:0; + log->nast_.Bl_PS[5] = (args->params.bity & 0x0100)?1:0; + log->nast_.ZZw_ON = (args->params.bity & 0x0200)?1:0; + log->nast_.bl_ = (args->params.bity & 0x0400)?1:0; + log->nast_.LRC_s[0] = (args->params.bity & 0x0800)?1:0; + log->nast_.LRC_s[1] = (args->params.bity & 0x1000)?1:0; + log->nast_.LRC_s[2] = (args->params.bity & 0x2000)?1:0; + log->nast_.LRC_s[3] = (args->params.bity & 0x4000)?1:0; + log->nast_.LRC_s[4] = (args->params.bity & 0x8000)?1:0; + log->nast_.LRC_s[5] = (args->params.bity & 0x10000)?1:0; + log->nast_.lacze_on = (args->params.bity & 0x20000)?1:0; + log->nast_.zgoda_1faz_s[0] = (args->params.bity & 0x40000)?1:0; + log->nast_.zgoda_1faz_s[1] = (args->params.bity & 0x80000)?1:0; + log->nast_.zgoda_1faz_s[2] = (args->params.bity & 0x100000)?1:0; + log->nast_.zgoda_1faz_s[3] = (args->params.bity & 0x200000)?1:0; + log->nast_.zgoda_1faz_s[4] = (args->params.bity & 0x400000)?1:0; + log->nast_.zgoda_1faz_s[5] = (args->params.bity & 0x800000)?1:0; + log->nast_.Bl_PS[0] = (args->params.bity & 0x1000000)?1:0; + log->nast_.rozwij = (args->params.bity & 0x2000000)?1:0; + log->nast_.kryt_IU_ZZW = (args->params.bity & 0x4000000)?1:0; + +#define POPRAWKA_1 (0)// (args->params.bity & 0x08000000) +#define POPRAWKA_2 (0)// (args->params.bity & 0x10000000) +#define POPRAWKA_3 (0)// (args->params.bity & 0x20000000) +#define POPRAWKA_4 (1)// (args->params.bity & 0x40000000) +#define POPRAWKA_5 (0)// (args->params.bity & 0x80000000) + + log->nast_.ZdistA = log->WE_Zdist; + + unsigned short i; + + znast.ts0LE=args->params.ts1LE;///< Czas wyłączenia strefy 1W zwarcia jednofazowe z ziemią + znast.ts0LL=args->params.ts1LL;///< Czas wyłączenia strefy 1W zwarcia miedzyfazowe + znast.ts1LE=args->params.ts1LE;///< Czas wyłączenia strefy 1 zwarcia jednofazowe z ziemią + znast.ts1LL=args->params.ts1LL;///< Czas wyłączenia strefy 1 zwarcia miedzyfazowe + znast.ts2LE=args->params.ts2LE;///< Czas wyłączenia strefy 2 zwarcia jednofazowe z ziemią + znast.ts2LL=args->params.ts2LL;///< Czas wyłączenia strefy 2 zwarcia miedzyfazowe + znast.ts3LE=args->params.ts3LE;///< Czas wyłączenia strefy 3 zwarcia jednofazowe z ziemią + znast.ts3LL=args->params.ts3LL;///< Czas wyłączenia strefy 3 zwarcia miedzyfazowe + znast.ts4LE=args->params.ts4LE;///< Czas wyłączenia strefy 4 zwarcia jednofazowe z ziemią + znast.ts4LL=args->params.ts4LL;///< Czas wyłączenia strefy 4 zwarcia miedzyfazowe + znast.ts5LE=args->params.ts5LE;///< Czas wyłączenia strefy 5 zwarcia jednofazowe z ziemią + znast.ts5LL=args->params.ts5LL;///< Czas wyłączenia strefy 5 zwarcia miedzyfazowe + + znast.Stf0=args->params.Stf0; + znast.Stf1=args->params.Stf1; + znast.Stf2=args->params.Stf2; + znast.Stf3=args->params.Stf3; + znast.Stf4=args->params.Stf4; + znast.Stf5=args->params.Stf5; + + log->nast_.tryb_lacza = (enum _tryb_lacza)args->params.tryb_lacza; + log->nast_.tryb_zezw = (enum _tryb_zezwalajacy)args->params.tryb_zezw; + log->nast_.tryb_blok = (enum _tryb_blokujacy)args->params.tryb_blokujacy; + + log->nast_.ktora_strefa = args->params.strefa_dzial; + log->nast_.ktora_strefa_nad = args->params.strefa_nad; + log->nast_.strefa_pradu_wstecznego = args->params.lrc_strefa; + + log->dw.blok_lacza[0] = 0; + log->dw.blok_lacza[1] = 0; + log->dw.blok_lacza[2] = 0; + log->dw.blok_lacza[3] = 0; + log->dw.blok_lacza[4] = 0; + log->dw.blok_lacza[5] = 0; + + log->dw.wydl_czas = 0; + log->dw.wylacz_od_lacza = 0; + log->dw.wylacz_od_echa = 0; + log->dw.wylacz_od_lacza_suma = 0; + + log->dw.wy_bl_LRC = 0; + log->dw.wy_log_odbl = 0; + log->dw.wy_lacze_nad = 0; + + log->dw.wy_blk_lacz = 0; + + log->dw.wy_zadz_echa = 0; + log->dw.wy_zezw_lacz = 0; + log->dw.wy_skr_czas_lacz = 0; + log->dw.wy_wyl_lacz = 0; + log->dw.wy_blok_lacz = 0; + log->dw.wy_wydl_czas_lacz = 0; + + log->dw.dodaj_rozw[0] = 0; + log->dw.dodaj_rozw[1] = 0; + log->dw.dodaj_rozw[2] = 0; + log->dw.dodaj_rozw[3] = 0; + log->dw.dodaj_rozw[4] = 0; + log->dw.dodaj_rozw[5] = 0; + + log->dw.ZZwP = 0; + + if (log->nast_.tryb_lacza == ZEZWALAJACY && log->nast_.tryb_zezw == ZGODA) + { + log->dw.blok_lacza[log->nast_.ktora_strefa] = 1; + } + + if (args->params.ts0LE < 0.01) + { + log->nast_.Zbz[0][0] = 1; + log->nast_.t_stf[0][0] = 0; + + } + else + { + log->nast_.Zbz[0][0] = 0; + log->nast_.t_stf[0][0] = (int16_t)(100 * (args->params.ts0LE - 0.01f)); + + if (log->nast_.t_stf[0][0] < 0) log->nast_.t_stf[0][0] = 0; + } + + if (args->params.ts0LL < 0.01) + { + log->nast_.Zbz[0][1] = 1; + log->nast_.t_stf[0][1] = 0; + } + else + { + log->nast_.Zbz[0][1] = 0; + log->nast_.t_stf[0][1] = (int16_t)(100 * (args->params.ts0LL - 0.01f)); + + if (log->nast_.t_stf[0][1] < 0) log->nast_.t_stf[0][1] = 0; + } + + + if (args->params.ts1LE < 0.01) + { + log->nast_.Zbz[1][0] = 1; + log->nast_.t_stf[1][0] = 0; + } + else + { + log->nast_.Zbz[1][0] = 0; + log->nast_.t_stf[1][0] = (int16_t)(100 * (args->params.ts1LE - 0.01f)); + + if (log->nast_.t_stf[1][0] < 0) log->nast_.t_stf[1][0] = 0; + } + + if (args->params.ts1LL < 0.01) + { + log->nast_.Zbz[1][1] = 1; + log->nast_.t_stf[1][1] = 0; + } + else + { + log->nast_.Zbz[1][1] = 0; + log->nast_.t_stf[1][1] = (int16_t)(100 * (args->params.ts1LL - 0.01f)); + + if (log->nast_.t_stf[1][1] < 0) log->nast_.t_stf[1][1] = 0; + } + + + if (args->params.ts2LE < 0.01) + { + log->nast_.Zbz[2][0] = 1; + log->nast_.t_stf[2][0] = 0; + } + else + { + log->nast_.Zbz[2][0] = 0; + log->nast_.t_stf[2][0] = (int16_t)(100 * (args->params.ts2LE - 0.01f)); + + if (log->nast_.t_stf[2][0] < 0) log->nast_.t_stf[2][0] = 0; + } + + if (args->params.ts2LL < 0.01) + { + log->nast_.Zbz[2][1] = 1; + log->nast_.t_stf[2][1] = 0; + } + else + { + log->nast_.Zbz[2][1] = 0; + log->nast_.t_stf[2][1] = (int16_t)(100 * (args->params.ts2LL - 0.01f)); + + if (log->nast_.t_stf[2][1] < 0) log->nast_.t_stf[2][1] = 0; + } + + if (args->params.ts3LE < 0.01) + { + log->nast_.Zbz[3][0] = 1; + log->nast_.t_stf[3][0] = 0; + } + else + { + log->nast_.Zbz[3][0] = 0; + log->nast_.t_stf[3][0] = (int16_t)(100 * (args->params.ts3LE - 0.01f)); + + if (log->nast_.t_stf[3][0] < 0) log->nast_.t_stf[3][0] = 0; + } + + if (args->params.ts3LL < 0.01) + { + log->nast_.Zbz[3][1] = 1; + log->nast_.t_stf[3][1] = 0; + } + else + { + log->nast_.Zbz[3][1] = 0; + log->nast_.t_stf[3][1] = (int16_t)(100 * (args->params.ts3LL - 0.01f)); + + if (log->nast_.t_stf[3][1] < 0) log->nast_.t_stf[3][1] = 0; + } + + if (args->params.ts4LE < 0.01) + { + log->nast_.Zbz[4][0] = 1; + log->nast_.t_stf[4][0] = 0; + } + else + { + log->nast_.Zbz[4][0] = 0; + log->nast_.t_stf[4][0] = (int16_t)(100 * (args->params.ts4LE - 0.01f)); + + if (log->nast_.t_stf[4][0] < 0) log->nast_.t_stf[4][0] = 0; + } + + if (args->params.ts4LL < 0.01) + { + log->nast_.Zbz[4][1] = 1; + log->nast_.t_stf[4][1] = 0; + } + else + { + log->nast_.Zbz[4][1] = 0; + log->nast_.t_stf[4][1] = (int16_t)(100 * (args->params.ts4LL - 0.01f)); + + if (log->nast_.t_stf[4][1] < 0) log->nast_.t_stf[4][1] = 0; + } + + + if (args->params.ts5LE < 0.01) + { + log->nast_.Zbz[5][0] = 1; + log->nast_.t_stf[5][0] = 0; + } + else + { + log->nast_.Zbz[5][0] = 0; + log->nast_.t_stf[5][0] = (int16_t)(100 * (args->params.ts5LE - 0.01f)); + + if (log->nast_.t_stf[5][0] < 0) log->nast_.t_stf[5][0] = 0; + } + + if (args->params.ts5LL < 0.01) + { + log->nast_.Zbz[5][1] = 1; + log->nast_.t_stf[5][1] = 0; + } + else + { + log->nast_.Zbz[5][1] = 0; + log->nast_.t_stf[5][1] = (int16_t)(100 * (args->params.ts5LL - 0.01f)); + + if (log->nast_.t_stf[5][1] < 0) log->nast_.t_stf[5][1] = 0; + } + + + log->nast_.ZZw_st = args->params.ZZw_st; + + switch(log->nast_.ZZw_st) + { + case 0: + log->PZZw=log->P1W; + log->ZZZw=log->Z1W; + break; + case 1: + log->PZZw=log->P1; + log->ZZZw=log->Z1; + break; + case 2: + log->PZZw=log->P2; + log->ZZZw=log->Z2; + break; + case 3: + log->PZZw=log->P3; + log->ZZZw=log->Z3; + break; + case 4: + log->PZZw=log->P4; + log->ZZZw=log->Z4; + break; + case 5: + log->PZZw=log->P5; + log->ZZZw=log->Z5; + break; + default: + log->PZZw=log->P1W; + log->ZZZw=log->Z1W; + break; + } + + long *temp_e = &znast.Stf0; + + for (i=0;i<6;i++) + { + + //ustawienie bitow sposobu dzialania stref + switch (*(temp_e)) + { + case 0: + log->nast_.Stf_ON[i] = 0; + log->nast_.Stf_W[i] = 0; + break; + case 1: + log->nast_.Stf_ON[i] = 1; + log->nast_.Stf_W[i] = 0; + break; + case 2: + log->nast_.Stf_ON[i] = 1; + log->nast_.Stf_W[i] = 1; + break; + default: + break; + } + temp_e++; + + //-------------------------- + } + + log->nast_.ZZw_ta = (short)(100 * (args->params.ZZw_ta + 0.005f)); + log->nast_.ZZw_to = (short)(100 * (args->params.ZZw_to + 0.005f)); + + log->nast_.ZZw_Ir = args->params.ZZw_Ir * args->params.ZZw_Ir; + log->nast_.ZZw_Ur = args->params.ZZw_Ur * args->params.ZZw_Ur; + + log->nast_.Uecho_pob = args->params.U_echa * args->params.U_echa; + log->nast_.Uecho_odp = 1.02 * 1.02 * log->nast_.Uecho_pob; + + log->nast_.t_LRC = (int16_t)(100 * (args->params.t_LRC + 0.005f)); + log->nast_.t_lacze_nad = (int16_t)(100 * (args->params.t_lacze_nad + 0.005f)); + log->nast_.t_pod_odbl = (int16_t)(100 * (args->params.t_pod_odbl + 0.005f)); + + log->nast_.ts_plus = (int16_t)(100 * (args->params.ts_plus - 0.01f)); + if (log->nast_.ts_plus < 0) log->nast_.ts_plus = 0; + + log->nast_.czas_wyl_echa = (int16_t)(100 * (args->params.czas_wyl_echa + 0.005f));; + log->nast_.max_t_nadawania = (int16_t)(100 * (args->params.max_t_nadawania + 0.005f)); + + for (i = 0; i < 6; i++) + { + log->dw.Pf[i][0] = 0; + log->dw.Pf[i][1] = 0; + log->dw.Zf[i][0] = 0; + log->dw.Zf[i][1] = 0; + + log->dw.Pzf[i] = 0; + log->dw.Z[i] = 0; + log->dw.Ws[i] = 0; + + log->dw.blok_LRC[i] = 0; + + log->dw.liczt_eldz[i][0] = 0; + log->dw.liczt_eldz[i][1] = 0; + + log->dw.liczts_rozwij[i] = 0; + log->dw.Zf_rozwij[i] = 0; + log->dw.liczt_eldz_rozwij[i] = 0; + //liczts_rozwij + + } + log->dw.lacze_odb_old = 0; + log->dw.skrocil_strefa = 0; + log->dw.skrocil_echo = 0; + + for (i = 0; i < 6; i++) + { + log->P_L1_lub_L2[i] = 0; + log->P_L2_lub_L3[i] = 0; + log->P_L3_lub_L1[i] = 0; + } +// + + for (i=0;i<6;i++) + { + if(log->nast_.Stf_ON[i]) + { + log->WE_Zdist->Zdist_dw->Z_min = log->WE_Zdist->Zdist_dw->modul_zf[i]WE_Zdist->Zdist_dw->Z_min?log->WE_Zdist->Zdist_dw->modul_zf[i]:log->WE_Zdist->Zdist_dw->Z_min; + log->WE_Zdist->Zdist_dw->Z_min_mf = log->WE_Zdist->Zdist_dw->modul_zmf[i]WE_Zdist->Zdist_dw->Z_min_mf?log->WE_Zdist->Zdist_dw->modul_zmf[i]:log->WE_Zdist->Zdist_dw->Z_min_mf; + } + } + + return 0; +} + +/** +Funkcja okraślania petli zwarciwej przy wyłaczeniu +\param nr_strefy - numer strefy wyłaczającej +*/ +void wybiornik_f_komp(struct ZDistL_logic_komp *log,unsigned short nr_strefy) +{ + log->dw.R = log->pobudzenia[nr_strefy][0] + || log->pobudzenia[nr_strefy][3] + || log->pobudzenia[nr_strefy][5]; + + log->dw.S = log->pobudzenia[nr_strefy][1] + || log->pobudzenia[nr_strefy][3] + || log->pobudzenia[nr_strefy][4]; + + log->dw.T = log->pobudzenia[nr_strefy][2] + || log->pobudzenia[nr_strefy][4] + || log->pobudzenia[nr_strefy][5]; + + log->dw.E = log->nast_.ZdistA->Zdist_dw->Iogr; + + log->dw.jedfaz = (log->dw.R && !(log->dw.S||log->dw.T)) + || (log->dw.S && !(log->dw.T||log->dw.R)) + || (log->dw.T && !(log->dw.R||log->dw.S)) + || (!log->dw.R && !log->dw.S && !log->dw.T); //zeby po wyl 1 fazowym nie robil na krotko 3 faz +} + +/** +Funkcja okraślania petli zwarciwej przy wyłaczeniu - działanie bezkierunkowe +\param nr_strefy - numer strefy wyłaczającej +*/ + +void wybiornik_fbk_komp(struct ZDistL_logic_komp *log, unsigned short nr_strefy) +{ + log->dw.Rbk = log->nast_.ZdistA->Zdist_dw->Pbk[nr_strefy][0] + || log->nast_.ZdistA->Zdist_dw->Pbk[nr_strefy][3] + || log->nast_.ZdistA->Zdist_dw->Pbk[nr_strefy][5]; + + log->dw.Sbk = log->nast_.ZdistA->Zdist_dw->Pbk[nr_strefy][1] + || log->nast_.ZdistA->Zdist_dw->Pbk[nr_strefy][3] + || log->nast_.ZdistA->Zdist_dw->Pbk[nr_strefy][4]; + + log->dw.Tbk = log->nast_.ZdistA->Zdist_dw->Pbk[nr_strefy][2] + || log->nast_.ZdistA->Zdist_dw->Pbk[nr_strefy][4] + || log->nast_.ZdistA->Zdist_dw->Pbk[nr_strefy][5]; + + log->dw.E = log->nast_.ZdistA->Zdist_dw->Iogr; +} + + +void +wylacz_P_komp(struct ZDistL_logic_komp *log, u8 zgoda_1f) +{ +int i; + + for(i=0;i<6;i++) + { + if (log->dw.Ws[i]) + { + wybiornik_f_komp(log,i); + + if(log->dw.jedfaz && zgoda_1f && log->nast_.zgoda_1faz_s[i]) + { + if(log->dw.R) + log->dw.W1 = 1; + if(log->dw.S) + log->dw.W2 = 1; + if(log->dw.T) + log->dw.W3 = 1; + + log->dw.wyl_1f = 1; + } + else + { + log->dw.W1 = log->dw.W2 = log->dw.W3 = log->dw.W = 1; + } + } + } + + if (log->dw.wylacz_od_lacza_suma == 1) + { + log->dw.W1 = log->dw.W2 = log->dw.W3 = log->dw.W = 1; + } +} + + +void ZDistL_komp(void *arguments, void *logic) +{ + struct ZDistL_logic_komp *log = (struct ZDistL_logic_komp *)logic; + struct ZDistL_args_komp *args = (struct ZDistL_args_komp *)arguments; + + u16 i,j; + log->dw.P = 0; + log->dw.Zz = 0; + + u8 temp_Bl,temp_Zezwolenie, pob_zab_echo; + + u8 we_stan_bl = check_struct(&log->stan_bl)?1:0; + u8 we_Bl_PS = check_struct(&log->Bl_PS)?1:0; + u8 we_lacze_OK = check_struct(&log->lacze_OK)?1:0; + u8 we_lacze_odb = check_struct(&log->lacze_odb)?1:0; + u8 we_zgoda_1f = check_struct(&log->zgoda_1f)?1:0; + u8 we_test = check_struct(&log->test)?1:0; + u8 we_Z = check_struct(&log->Z)?1:0; + u8 b_blok[6]; + + b_blok[0] = check_struct(&log->blok_1W)?1:0;; + b_blok[1] = check_struct(&log->blok_1)?1:0;; + b_blok[2] = check_struct(&log->blok_2)?1:0;; + b_blok[3] = check_struct(&log->blok_3)?1:0;; + b_blok[4] = check_struct(&log->blok_4)?1:0;; + b_blok[5] = check_struct(&log->blok_5)?1:0;; + +// u8 poprawka_pawla[6] = {0,0,0,0,0,0}; + + if (*log->nast_.ZdistA->on && !(check_struct(&log->deakt))) + { + //**************\/********* Poprawka na bledne wylaczenie 3 fazowe przy zwarciu 1 fazowym ************\/*************************** + + #define L1 0 + #define L2 1 + #define L3 2 + #define L1L2 3 + #define L2L3 4 + #define L3L1 5 + #define faz_0_85 0.24f + u8 UL1, UL2, UL3; + + #define st_075kw 0.5625f + #define st_133kw 1.7689f + u8 IL1L2, IL2L3, IL3L1; + + //kryteria podanpięciowe + if (log->nast_.ZdistA->Zdist_dw->U1 < faz_0_85) + UL1 = 1; + else + UL1 = 0; + + if (log->nast_.ZdistA->Zdist_dw->U2 < faz_0_85) + UL2 = 1; + else + UL2 = 0; + + if (log->nast_.ZdistA->Zdist_dw->U3 < faz_0_85) + UL3 = 1; + else + UL3 = 0; + + //kryteria prądowe + if (log->nast_.ZdistA->Zdist_dw->I1 > 0.1) //zeby nie dzielic przez 0 + { + float k = log->nast_.ZdistA->Zdist_dw->I2/ log->nast_.ZdistA->Zdist_dw->I1; + if ((k > st_075kw) && (k < st_133kw)) + IL1L2 = 1; + else + IL1L2 = 0; + } + else + IL1L2 = 0; + + if (log->nast_.ZdistA->Zdist_dw->I2 > 0.1) //zeby nie dzielic przez 0 + { + float k = log->nast_.ZdistA->Zdist_dw->I3/ log->nast_.ZdistA->Zdist_dw->I2; + if ((k > st_075kw) && (k < st_133kw)) + IL2L3 = 1; + else + IL2L3 = 0; + } + else + IL2L3 = 0; + + if (log->nast_.ZdistA->Zdist_dw->I3 > 0.1) //zeby nie dzielic przez 0 + { + float k = log->nast_.ZdistA->Zdist_dw->I1/ log->nast_.ZdistA->Zdist_dw->I3; + if ((k > st_075kw) && (k < st_133kw)) + IL3L1 = 1; + else + IL3L1 = 0; + } + else + IL3L1 = 0; + + + //kryteria pobudzenia doziemnego jednofazowego w opoznieniem odpadu + for (i=0; i<6; i++) + { + + if((log->nast_.ZdistA->Zdist_dw->P[i][L1]) || (log->nast_.ZdistA->Zdist_dw->P[i][L2])) + { + log->P_L1_lub_L2[i] = 3; + } + else + { + if (log->P_L1_lub_L2[i] > 0) + log->P_L1_lub_L2[i]--; + + } + + if ((log->nast_.ZdistA->Zdist_dw->P[i][L2]) || (log->nast_.ZdistA->Zdist_dw->P[i][L3])) + { + log->P_L2_lub_L3[i] = 3; + } + else + { + if (log->P_L2_lub_L3[i] > 0) + log->P_L2_lub_L3[i]--; + } + + if ((log->nast_.ZdistA->Zdist_dw->P[i][L3]) || (log->nast_.ZdistA->Zdist_dw->P[i][L1])) + { + log->P_L3_lub_L1[i] = 3; + } + else + { + if (log->P_L3_lub_L1[i] > 0) + log->P_L3_lub_L1[i]--; + } + + for (j=0; j<3; j++) + { + log->pobudzenia[i][j] = log->nast_.ZdistA->Zdist_dw->P[i][j]; + } + + //blokowanie pobudzen miedzyfazowych gdy strefa moze wylaczyc 1-fazowo a napiecia nie przysiadly + + if (((/*we_zgoda_1f && */log->nast_.zgoda_1faz_s[i]) && (log->nast_.ZdistA->Zdist_dw->P[i][L1L2]) && (log->P_L1_lub_L2[i] > 0) && !POPRAWKA_2) + || (POPRAWKA_2 && ((log->nast_.ZdistA->Zdist_dw->P[i][L1L2]) && ((log->nast_.ZdistA->Zdist_dw->P[1][L1]) || (log->nast_.ZdistA->Zdist_dw->P[1][L2])) && (log->P_L1_lub_L2[i] > 0))) + ) + { + if ((UL1 && UL2) || (IL1L2)) + log->pobudzenia[i][L1L2] = 1; + else + { + + // poprawka_pawla[i]=1; + log->pobudzenia[i][L1L2] = POPRAWKA_4?0:1; + } + } + else + log->pobudzenia[i][L1L2] = log->nast_.ZdistA->Zdist_dw->P[i][L1L2]; + + + if (((/*we_zgoda_1f && */log->nast_.zgoda_1faz_s[i]) && (log->nast_.ZdistA->Zdist_dw->P[i][L2L3]) && (log->P_L2_lub_L3[i] > 0) && !POPRAWKA_2) + || (POPRAWKA_2 && ((log->nast_.ZdistA->Zdist_dw->P[i][L2L3]) && ((log->nast_.ZdistA->Zdist_dw->P[1][L2]) || (log->nast_.ZdistA->Zdist_dw->P[1][L3])) && (log->P_L2_lub_L3[i] > 0)))) + { + if ((UL2 && UL3) || (IL2L3)) + log->pobudzenia[i][L2L3] = 1; + else + { +// poprawka_pawla[i]=1; + log->pobudzenia[i][L2L3] = POPRAWKA_4?0:1; + } + } + else + log->pobudzenia[i][L2L3] = log->nast_.ZdistA->Zdist_dw->P[i][L2L3]; + + if (((/*we_zgoda_1f && */log->nast_.zgoda_1faz_s[i]) && (log->nast_.ZdistA->Zdist_dw->P[i][L3L1]) && (log->P_L3_lub_L1[i] > 0) && !POPRAWKA_2) + || (POPRAWKA_2 && ((log->nast_.ZdistA->Zdist_dw->P[i][L3L1]) && ((log->nast_.ZdistA->Zdist_dw->P[1][L3]) || (log->nast_.ZdistA->Zdist_dw->P[1][L1])) && (log->P_L3_lub_L1[i] > 0)))) + { + if ((UL3 && UL1) || (IL3L1)) + log->pobudzenia[i][L3L1] = 1; + else + { + // poprawka_pawla[i]=1; + log->pobudzenia[i][L3L1] = POPRAWKA_4?0:1; + } + } + else + log->pobudzenia[i][L3L1] = log->nast_.ZdistA->Zdist_dw->P[i][L3L1]; + + } + //*************/\******** Poprawka na bledne wylaczenie 3 fazowe przy zwarciu 1 fazowym ***************/\*********************** + + //Lacze + + if ((log->nast_.tryb_lacza == BLOKUJACY) && (log->nast_.tryb_blok == BLOKUJ_PRZEKAZNIK) && (we_lacze_odb == 1) && (we_lacze_OK)) + { + log->dw.wy_blk_lacz = 1; + } + else + { + log->dw.wy_blk_lacz = 0; + } + + + if (log->nast_.tryb_lacza == ZEZWALAJACY) + { + + if (log->nast_.tryb_zezw == ZGODA ) + { + if (((we_lacze_odb == 1)&& (we_lacze_OK)) || (log->dw.logika_dblokowania)) + { + log->dw.blok_lacza[log->nast_.ktora_strefa] = 0; + log->dw.wy_zezw_lacz = 1; + } + else + { + log->dw.blok_lacza[log->nast_.ktora_strefa] = 1; + log->dw.wy_zezw_lacz = 0; + } + } + else if (log->nast_.tryb_zezw == SKROC_CZAS) + { + if ((we_lacze_odb == 1)&& (we_lacze_OK)) + { + log->dw.liczts[log->nast_.ktora_strefa][0] = 0; + log->dw.liczts[log->nast_.ktora_strefa][1] = 0; + log->dw.wy_skr_czas_lacz = 1; + } + else + { + log->dw.wy_skr_czas_lacz = 0; + } + } + else if (log->nast_.tryb_zezw == WYLACZ) + { + if ((we_lacze_odb == 1)&& (we_lacze_OK) && !we_stan_bl) + { + log->dw.wylacz_od_lacza = 1; + log->dw.wy_wyl_lacz = 1; + } + else + { + log->dw.wylacz_od_lacza = 0; + log->dw.wy_wyl_lacz = 0; + } + + } + } + else if (log->nast_.tryb_lacza == BLOKUJACY)//tryb blokujący + { + if (log->nast_.tryb_blok == BLOKUJ) + { + if ((we_lacze_odb == 1)&& (we_lacze_OK)) + { + log->dw.blok_lacza[log->nast_.ktora_strefa] = 1; + log->dw.wy_blok_lacz = 1; + } + else + { + log-> dw.blok_lacza[log->nast_.ktora_strefa] = 0; + log->dw.wy_blok_lacz = 0; + } + } + else if (log->nast_.tryb_blok == WYDLUZ_CZAS) + { + if ((we_lacze_odb == 1)&& (we_lacze_OK)) + { + log->dw.wy_wydl_czas_lacz = 1; + } + else + { + log->dw.wy_wydl_czas_lacz = 0; + } + + //funkcja wykonywana jest w kodzie ponizej + } + else if (log->nast_.tryb_blok == BLOKUJ_PRZEKAZNIK) + { + + } + } + else //tryb wylaczony + { + log->dw.blok_lacza[0] = 0; + log->dw.blok_lacza[1] = 0; + log->dw.blok_lacza[2] = 0; + log->dw.blok_lacza[3] = 0; + log->dw.blok_lacza[4] = 0; + log->dw.blok_lacza[5] = 0; + } + //------------------------------------------------------------------------- + + //logika pradu wstecznego + + if ((log->dw.Pzf[log->nast_.strefa_pradu_wstecznego] == 1) && (log->nast_.LCR_on)) + { + log->dw.blokada_pradu_wstecznego = 1; + log->dw.t_pod_blok_wst = log->nast_.t_LRC; + log->dw.wy_bl_LRC = 1; + } + + if (log->dw.blokada_pradu_wstecznego == 1) + { + for (i = 0; i < 6; i++) + { + if (log->nast_.LRC_s[i] == 1) + log->dw.blok_LRC[i] = 1; + } + } + else + { + for (i = 0; i < 6; i++) + log->dw.blok_LRC[i] = 0; + } + + //------------------------------------------------------------------------- + //logika słabego zasialnia - echa + + pob_zab_echo = 0; + + u8 U_echo_pob_b = log->nast_.ZdistA->Zdist_dw->U1 < log->nast_.Uecho_pob || + log->nast_.ZdistA->Zdist_dw->U2 nast_.Uecho_pob || + log->nast_.ZdistA->Zdist_dw->U3 nast_.Uecho_pob; + + u8 U_echo_odp_b = log->nast_.ZdistA->Zdist_dw->U1 > log->nast_.Uecho_odp && + log->nast_.ZdistA->Zdist_dw->U2 > log->nast_.Uecho_odp && + log->nast_.ZdistA->Zdist_dw->U3 > log->nast_.Uecho_odp; + + sprawdz_P(&log->dw.pob_echo, U_echo_pob_b, U_echo_odp_b, &log->dw.licznik_Uecho, 3, 3); + + for (i=0;i<6;i++) + { + if (log->dw.Pzf[i] != 0) + pob_zab_echo = 1; + } + + if (log->nast_.echo_on && !we_stan_bl) + { + if (!pob_zab_echo && log->dw.pob_echo && (we_lacze_odb == 1) && (we_lacze_OK == 1)) + { + if ((log->nast_.wyl_od_echa) && (log->dw.wylacz_od_echa == 0)) //poprawka hazardu + { + log->dw.wylacz_od_echa = 1; + log->dw.t_wyl_od_echa = log->nast_.czas_wyl_echa; + } + // i odbij echo + if (log->dw.skrocil_echo == 0) + { + log->dw.lacze_nad = 1; + log->dw.t_lacze_nad = log->nast_.t_lacze_nad; + log->dw.wy_lacze_nad = 1; + } + } + + if (log->dw.wylacz_od_echa) + { + log->dw.wy_zadz_echa = 1; + } + else + { + log->dw.wy_zadz_echa = 0; + } + + if (we_lacze_odb == 0) + log->dw.skrocil_echo = 0; + + } + + log->dw.wylacz_od_lacza_suma = log->dw.wylacz_od_lacza || log->dw.wylacz_od_echa; + //------------------------------------------------------------------------- + //logika odblokowania + + if ((log->nast_.log_odbl_on) && (log->nast_.tryb_lacza == ZEZWALAJACY) && (log->nast_.tryb_zezw == ZGODA)) + { + if ((log->dw.kopia_lacze_ok == 1) && (we_lacze_OK == 0)) //urwanie lacza ok + { + log->dw.wy_log_odbl = 1; + log->dw.logika_dblokowania = 1; + log->dw.t_log_odblokowania = log->nast_.t_pod_odbl; + } + } + + log->dw.kopia_lacze_ok = we_lacze_OK; + + + temp_Bl = (we_stan_bl & log->nast_.bl_); + + for (i=0;i<6;i++) + { + if (log->nast_.Stf_ON[i]) //jesli strefa wlaczona + { + temp_Zezwolenie = !(temp_Bl | (log->nast_.Bl_PS[i] & we_Bl_PS)); + + if (b_blok[i] == 1) + temp_Zezwolenie = 0; + + //obsluga wejscia testu przekaznika + if (czy_test_R()) + { + log->dw.Pf[i][0] = log->dw.Pf[i][1] = temp_Zezwolenie & we_test; + } + else + { + //ustawienie pobudzen + log->dw.Pf[i][0] = (log->pobudzenia[i][0] | + log->pobudzenia[i][1] | + log->pobudzenia[i][2]) + & temp_Zezwolenie; + log->dw.Pf[i][1] = (log->pobudzenia[i][3] | + log->pobudzenia[i][4] | + log->pobudzenia[i][5]) + & temp_Zezwolenie; + } + log->dw.Pzf[i] = log->dw.Pf[i][0] | log->dw.Pf[i][1]; + + //ustawienie zadzialan jesli bezzwloczny + + + + if ((log->nast_.tryb_lacza == BLOKUJACY) && (log->nast_.tryb_blok == WYDLUZ_CZAS) && (log->nast_.ktora_strefa == i)) + { + if ((log->dw.Pzf[log->nast_.ktora_strefa] == 1) && (log->dw.wydl_czas == 0) && ( we_lacze_odb == 1) && (we_lacze_OK)) + { + log->dw.wydl_czas = 1; + log->dw.liczts[log->nast_.ktora_strefa][0] += log->nast_.ts_plus; + log->dw.liczts[log->nast_.ktora_strefa][1] += log->nast_.ts_plus; + log->nast_.Zbz[log->nast_.ktora_strefa][0] = 0; + log->nast_.Zbz[log->nast_.ktora_strefa][1] = 0; + log->dw.dodaj_rozw[log->nast_.ktora_strefa] = log->nast_.ts_plus; + } + + if (log->dw.Pzf[log->nast_.ktora_strefa] == 0) + { + log->dw.wydl_czas = 0; + + if (log->nast_.t_stf[log->nast_.ktora_strefa][0] < 0.01) + log->nast_.Zbz[log->nast_.ktora_strefa][0] = 1; + + if (log->nast_.t_stf[log->nast_.ktora_strefa][1] < 0.01) + log->nast_.Zbz[log->nast_.ktora_strefa][1] = 1; + } + } + + + if (log->nast_.Zbz[i][0]) + { + if (log->dw.Pf[i][0] != 0) + log->dw.Zf[i][0] = 1; + + + } + if (log->nast_.Zbz[i][1]) + { + if (log->dw.Pf[i][1] != 0) + log->dw.Zf[i][1] = 1; + } + + + + //ustawienie zadzialania strefy + log->dw.Z[i] = log->dw.Zf[i][0] | log->dw.Zf[i][1]; + + + } else { + log->dw.Pzf[i] = 0; + log->dw.Z[i] = 0; + } + + log->dw.P |= log->dw.Pzf[i]; + log->dw.Zz |= log->dw.Z[i]; //zadzialanie zabezpieczenia + } + + //lacze nadawanie + if (log->nast_.lacze_on == 0) + { + log->dw.wy_lacze_nad = 0; + } + else + { + if (log->dw.skrocil_strefa == 0) + { + if ((log->dw.Pzf[log->nast_.ktora_strefa_nad] == 1) && !log->dw.blokada_pradu_wstecznego) + { + log->dw.lacze_nad = 1; + log->dw.t_lacze_nad = log->nast_.t_lacze_nad; + log->dw.wy_lacze_nad = 1; + } + } + + if (log->dw.Pzf[log->nast_.ktora_strefa_nad] == 0) + { + log->dw.skrocil_strefa = 0; //kasowanie flagi skrocil czas gdy zanikl odpad + } + } + + //------------------------------------------------------------------------- + + log->dw.lacze_odb_old = we_lacze_odb && we_lacze_OK; //jesli jest jedae ale nie ok to zero + + //------------------------------------------------------------------------------------------------------- + //automatyka załaczenia na zwarcie + + if (we_Z && log->nast_.ZZw_ON) { + log->dw.ZZw |= 1; + } + if (log->dw.ZZw && log->nast_.ZZw_ON) //jeseli jest właczony i jest spełnione kryterium załączenia na zwarcie + { + wybiornik_fbk_komp(log, log->nast_.ZZw_st); + + log->dw.bl_WSPZ = 1; + + if (log->dw.Rbk | log->dw.Sbk | log->dw.Tbk) + { + if (!temp_Bl) + { + log->dw.W1 = log->dw.W2 = log->dw.W3 = log->dw.W = 1; + log->dw.ZZwP = 1; + } + } else log->dw.ZZwP = 0; + + } else { + log->dw.Rbk = log->dw.Sbk = log->dw.Tbk = 0; + log->dw.ZZwP = 0; + } + + //------------------------------------------------------------------------------------------------------- + + for(i=0;i<6;i++) + { + log->dw.Ws[i] = log->dw.Z[i] && log->nast_.Stf_W[i] && !log->dw.blok_lacza[i] && !log->dw.blok_LRC[i]; + } + + wylacz_P_komp(log, we_zgoda_1f); + + //------------------------------------------------------------------------------------------------------- + + + if (log->dw.ZZw && log->nast_.ZZw_ON) + log->nast_.ZdistA->SOTF_zwrotnie = log->nast_.ZZw_st; + else + log->nast_.ZdistA->SOTF_zwrotnie = 0xFF; + + + + u8 pob_L1 = 0; + u8 pob_L2 = 0; + u8 pob_L3 = 0; + u8 pob_E = 0; + + u8 bylo_pob = 0; + + u8 nr_strefy[6]={1,0,2,3,4,5}; // renumeracja -> 1,1w,2,3,4,5 + + for (i = 0; i < 6; i++) + { + if ((log->nast_.Stf_ON[nr_strefy[i]] != 0) && (b_blok[nr_strefy[i]] == 0)) + { + if (log->pobudzenia[nr_strefy[i]][0] || log->pobudzenia[nr_strefy[i]][3] || log->pobudzenia[nr_strefy[i]][5]) + { + if(!bylo_pob)// || log->dw.Z[nr_strefy[i]] /*|| poprawka_pawla[nr_strefy[i]]*/) + pob_L1 = 1; + } + if (log->pobudzenia[nr_strefy[i]][1] || log->pobudzenia[nr_strefy[i]][3] || log->pobudzenia[nr_strefy[i]][4]) + { + if(!bylo_pob) //|| log->dw.Z[nr_strefy[i]]/* || poprawka_pawla[nr_strefy[i]]*/) + pob_L2 = 1; + } + if (log->pobudzenia[nr_strefy[i]][2] || log->pobudzenia[nr_strefy[i]][4] || log->pobudzenia[nr_strefy[i]][5]) + { + if(!bylo_pob) // || log->dw.Z[nr_strefy[i]]/* || poprawka_pawla[nr_strefy[i]]*/) + pob_L3 = 1; + } + if (log->pobudzenia[nr_strefy[i]][0] || log->pobudzenia[nr_strefy[i]][1] || log->pobudzenia[nr_strefy[i]][2]) + { +// if(!bylo_pob || log->dw.Z[nr_strefy[i]]/* || poprawka_pawla[nr_strefy[i]]*/) + pob_E = 1; + } + } + + if(POPRAWKA_1) + { + + if((pob_L1||pob_L2||pob_L3)/*&&poprawka_pawla[nr_strefy[i]]*/) + { + bylo_pob=1; + break; + } + } + } + + //wyprowadzenie wyjść + check_and_set_struct(log->dw.P,&log->P); + check_and_set_struct(log->dw.Pzf[0],&log->P1W); + check_and_set_struct(log->dw.Pzf[1],&log->P1); + check_and_set_struct(log->dw.Pzf[2],&log->P2); + check_and_set_struct(log->dw.Pzf[3],&log->P3); + check_and_set_struct(log->dw.Pzf[4],&log->P4); + check_and_set_struct(log->dw.Pzf[5],&log->P5); + + check_and_set_struct(log->dw.Z[0],&log->Z1W); + check_and_set_struct(log->dw.Z[1],&log->Z1); + check_and_set_struct(log->dw.Z[2],&log->Z2); + check_and_set_struct(log->dw.Z[3],&log->Z3); + check_and_set_struct(log->dw.Z[4],&log->Z4); + check_and_set_struct(log->dw.Z[5],&log->Z5); + + check_and_set_struct(log->dw.R || log->dw.Rbk,&log->R); + check_and_set_struct(log->dw.S || log->dw.Sbk,&log->S); + check_and_set_struct(log->dw.T || log->dw.Tbk,&log->T); + check_and_set_struct(log->dw.E,&log->E); + + check_and_set_struct(log->dw.W,&log->W); + check_and_set_struct(log->dw.W1,&log->W1); + check_and_set_struct(log->dw.W2,&log->W2); + check_and_set_struct(log->dw.W3,&log->W3); + + if(log->dw.ZZwP) + { + set_struct(&log->ZZZw); + set_struct(&log->PZZw); + } + + check_and_set_struct(log->dw.wy_bl_LRC, &log->bl_LRC); + check_and_set_struct(log->dw.wy_log_odbl,&log->log_odbl); + check_and_set_struct(log->dw.wy_lacze_nad,&log->lacze_nad); + check_and_set_struct(log->dw.ZZw,&log->zzw_akt); + check_and_set_struct(log->dw.wy_blk_lacz,&log->blk_lacz); + + check_and_set_struct(log->dw.wy_zadz_echa,&log->zadz_echa); + check_and_set_struct(log->dw.wy_zezw_lacz,&log->zezw_lacz); + check_and_set_struct(log->dw.wy_skr_czas_lacz,&log->skr_czas_lacz); + check_and_set_struct(log->dw.wy_wyl_lacz,&log->wyl_lacz); + check_and_set_struct(log->dw.wy_blok_lacz,&log->blok_lacz); + check_and_set_struct(log->dw.wy_wydl_czas_lacz,&log->wydl_czas_lacz); + check_and_set_struct(log->dw.ZZwP,&log->z_zwarcie); + + if(POPRAWKA_3) + { + sprawdz_P(&log->pob1_flt,pob_L1, !pob_L1, &log->pob1_flt_cnt, 6, 4); + sprawdz_P(&log->pob2_flt,pob_L2, !pob_L2, &log->pob2_flt_cnt, 6, 4); + sprawdz_P(&log->pob3_flt,pob_L3, !pob_L3, &log->pob3_flt_cnt, 6, 4); + sprawdz_P(&log->pob4_flt,pob_E, !pob_E, &log->pob4_flt_cnt, 6, 4); + check_and_set_struct(log->pob1_flt, &log->P_L1); + check_and_set_struct(log->pob2_flt, &log->P_L2); + check_and_set_struct(log->pob3_flt, &log->P_L3); + check_and_set_struct(log->pob4_flt, &log->P_E); + } + else + { + check_and_set_struct(pob_L1, &log->P_L1); + check_and_set_struct(pob_L2, &log->P_L2); + check_and_set_struct(pob_L3, &log->P_L3); + check_and_set_struct(pob_E, &log->P_E); + } + + check_and_set_struct(log->dw.Ws[0],&log->WS1W); + check_and_set_struct(log->dw.Ws[1],&log->WS1); + check_and_set_struct(log->dw.Ws[2],&log->WS2); + check_and_set_struct(log->dw.Ws[3],&log->WS3); + check_and_set_struct(log->dw.Ws[4],&log->WS4); + check_and_set_struct(log->dw.Ws[5],&log->WS5); + + check_and_set_struct(log->dw.wyl_1f,&log->W_1f); + } + else + { + clear_struct(&log->P); + clear_struct(&log->P1W); + clear_struct(&log->P1); + clear_struct(&log->P2); + clear_struct(&log->P3); + clear_struct(&log->P4); + clear_struct(&log->P5); + clear_struct(&log->Z1W); + clear_struct(&log->Z1); + clear_struct(&log->Z2); + clear_struct(&log->Z3); + clear_struct(&log->Z4); + clear_struct(&log->Z5); + clear_struct(&log->R); + clear_struct(&log->S); + clear_struct(&log->T); + clear_struct(&log->E); + clear_struct(&log->W); + clear_struct(&log->W1); + clear_struct(&log->W2); + clear_struct(&log->W3); + + clear_struct(&log->PZZw); + clear_struct(&log->ZZZw); + clear_struct(&log->bl_LRC); + clear_struct(&log->log_odbl); + clear_struct(&log->lacze_nad); + clear_struct(&log->blk_lacz); + + clear_struct(&log->zadz_echa); + clear_struct(&log->zezw_lacz); + clear_struct(&log->skr_czas_lacz); + clear_struct(&log->wyl_lacz); + clear_struct(&log->blok_lacz); + clear_struct(&log->wydl_czas_lacz); + clear_struct(&log->z_zwarcie); + + clear_struct(&log->P_L1); + clear_struct(&log->P_L2); + clear_struct(&log->P_L3); + clear_struct(&log->P_E); + + clear_struct(&log->WS1); + clear_struct(&log->WS1W); + clear_struct(&log->WS2); + clear_struct(&log->WS3); + clear_struct(&log->WS4); + clear_struct(&log->WS5); + + clear_struct(&log->W_1f); + } + +} + +void ZDistL_100hz_komp(void *arguments, void *logic) +{ +struct ZDistL_logic_komp *log = (struct ZDistL_logic_komp *)logic; + +u16 i; +u8 tempbool = 0; + +u8 we_W_ON = check_struct(&log->W_ON)?1:0; +u8 we_Z = check_struct(&log->Z)?1:0; + + if (*log->nast_.ZdistA->on) + { + //lacze nad + if (log->dw.lacze_nad == 1) + { + if (--log->dw.t_lacze_nad == 0) + { + log->dw.wy_lacze_nad = 0; + log->dw.lacze_nad = 0; + } + } + //logika pradu wstecznego + if (log->dw.blokada_pradu_wstecznego == 1) + { + if (--log->dw.t_pod_blok_wst == 0) + { + log->dw.wy_bl_LRC = 0; + log->dw.blokada_pradu_wstecznego = 0; + } + } + + //logika odblokowania + if (log->dw.logika_dblokowania == 1) + { + if (--log->dw.t_log_odblokowania == 0) + { + log->dw.logika_dblokowania = 0; + log->dw.wy_log_odbl = 0; + } + } + + //echo + if (log->dw.wylacz_od_echa == 1) + { + if (--log->dw.t_wyl_od_echa == 0) + log->dw.wylacz_od_echa = 0; + } + + //urwanie imp nadawania + if (log->dw.lacze_nad == 1) + { + if (++log->dw.trwanie_nad > log->nast_.max_t_nadawania) + { + log->dw.wy_lacze_nad = 0; + log->dw.lacze_nad = 0; + log->dw.skrocil_strefa = 1; + log->dw.skrocil_echo = 1; + } + } + else + { + log->dw.trwanie_nad = 0; + } + + //wczytanie danych o stanie wyłącznika + log->dw.W_ON = we_W_ON; + + if (we_W_ON) + log->dw.W_OFF = 2; + else + if (log->dw.W_OFF > 0) + log->dw.W_OFF--; + + for (i=0;i<6;i++) + { + + //realizacja przekaznikow czasowych + if (log->nast_.Stf_ON[i]) //jesli strefa wlaczona + { + + if (log->dw.Pf[i][0]) + { + if(!log->nast_.Zbz[i][0]) // jesli nie bezzwloczny + { + if (!log->dw.liczts[i][0]) + { + log->dw.Zf[i][0] = 1; + log->dw.liczts[i][0]++; + } + log->dw.liczts[i][0]--; + } + log->dw.liczt_eldz[i][0] = 2; + } + else//wylaczenie zadzialania (odpad) + { + if (log->dw.liczt_eldz[i][0] > 0) + log->dw.liczt_eldz[i][0]--; + else + { + log->dw.liczts[i][0] = log->nast_.t_stf[i][0]; + log->dw.Zf[i][0] = 0; + } + } + if (log->dw.Pf[i][1]) + { + if(!log->nast_.Zbz[i][1]) // jesli nie bezzwloczny + { + if (!log->dw.liczts[i][1]) + { + log->dw.Zf[i][1] = 1; + log->dw.liczts[i][1]++; + } + log->dw.liczts[i][1]--; + } + log->dw.liczt_eldz[i][1] = 2; + } + else//wylaczenie zadzialania (odpad) + { + if (log->dw.liczt_eldz[i][1] > 0) + log->dw.liczt_eldz[i][1]--; + else + { + log->dw.liczts[i][1] = log->nast_.t_stf[i][1]; + log->dw.Zf[i][1] = 0; + } + } + } + //----------------------------------------------------------- + + + if ((log->dw.Pf[i][0]) || (log->dw.Pf[i][1])) + { + log->dw.liczts_rozwij[i]++; + log->dw.liczt_eldz_rozwij[i] = 2; + if ((log->dw.Pf[i][0]) && (log->dw.liczts_rozwij[i] > (log->nast_.t_stf[i][0] + log->dw.dodaj_rozw[i]))) + { + log->dw.Zf_rozwij[i] = 1; + } + + if ((log->dw.Pf[i][1]) && (log->dw.liczts_rozwij[i] > (log->nast_.t_stf[i][1]+ log->dw.dodaj_rozw[i]))) + { + log->dw.Zf_rozwij[i] = 1; + } + } + else + { + if (log->dw.liczt_eldz_rozwij[i] > 0) + log->dw.liczt_eldz_rozwij[i]--; + else + { + log->dw.dodaj_rozw[i] = 0; + log->dw.Zf_rozwij[i] = 0; + log->dw.liczts_rozwij[i] = 0; + } + } + + if (log->nast_.rozwij) + { + log->dw.Zf[i][1] |= log->dw.Zf_rozwij[i]; + log->dw.Zf[i][0] |= log->dw.Zf_rozwij[i]; + } + + + } + + //odpad wylaczen + + for(i=0;i<6;i++) + { + tempbool |= log->dw.Ws[i]; + } + tempbool |= log->dw.wylacz_od_lacza_suma; + + if (!tempbool) + { + log->dw.W = log->dw.W1 = log->dw.W2 = log->dw.W3 = log->dw.R = log->dw.S = log->dw.T = log->dw.E = 0; + log->dw.wyl_1f = 0; + } + //automatyka załaczenia na zwarcie - identyfikacja stanu załączenia na zwarcie + + if (log->nast_.ZZw_ON) + { + //właczenie od otwarcia wyłącznika + if (log->nast_.kryt_IU_ZZW |= 0) + { + tempbool = (log->nast_.ZdistA->Zdist_dw->I1< log->nast_.ZZw_Ir) & + (log->nast_.ZdistA->Zdist_dw->I2 < log->nast_.ZZw_Ir) & + (log->nast_.ZdistA->Zdist_dw->I3 < log->nast_.ZZw_Ir) & + (log->nast_.ZdistA->Zdist_dw->U1 < log->nast_.ZZw_Ur) & + (log->nast_.ZdistA->Zdist_dw->U2 < log->nast_.ZZw_Ur) & + (log->nast_.ZdistA->Zdist_dw->U3 < log->nast_.ZZw_Ur); + + sprawdz_P_100(&log->dw.ZZw_PIU,tempbool,!tempbool,&log->dw.licznik_PIU,log->nast_.ZZw_to,2); + } + else + { + log->dw.ZZw_PIU = 0; + } + + log->dw.ZZw_start = log->dw.ZZw_PIU | //włączenie ZZw jeśli brak napięcia i prądu + we_Z | //włączenie ZZw jeśli aktywny sygnał zamknięcia wyłącznika + (log->dw.W_OFF == 0); //włączenie ZZw jeśli otwarte styki + + log->dw.ZZw |= log->dw.ZZw_start; + if(log->dw.ZZw_start) + { + log->dw.licznik_ZZwa = 0; + } + else + { + log->dw.licznik_ZZwa++; + if(log->dw.licznik_ZZwa > log->nast_.ZZw_ta) + { + if (!log->dw.ZZwP) log->dw.ZZw = 0; + log->dw.licznik_ZZwa--; + } + } + } + else + { + log->dw.ZZw = 0; + } + } + +} diff --git a/ZDistL_komp.h b/ZDistL_komp.h new file mode 100644 index 0000000..1680e9c --- /dev/null +++ b/ZDistL_komp.h @@ -0,0 +1,413 @@ +/* + * ZDistL.h + * + * + * Created on: 29-11-2016 + * Author: KJ + */ + +#ifndef ZDISTL_H_KOMP_ +#define ZDISTL_H_KOMP_ +//#include "pawel_usun_to.h" + +#include "../tdefs.h" +#include "helper.h" +#include "ZDistL.h" + + +struct Wyjscie1_zdistl_komp +{ + u8 dbl_Com[7]; ///deblokowanie działania stref w zależności od stanu łącza + u8 PSPZ;//pobudzenie SPZ +}; + +struct dane_wewnetrzne_ZDistL_komp +{ + u8 blok_lacza[6]; + u8 wydl_czas; + u8 wylacz_od_lacza; + u8 wylacz_od_echa; + u8 wylacz_od_lacza_suma; + //lacze nad + u16 t_lacze_nad; + u8 lacze_nad; + + u16 trwanie_nad; + u8 skrocil_strefa; + u8 skrocil_echo; + + + //logika pradu wstecznego + u8 blokada_pradu_wstecznego; + u16 t_pod_blok_wst; + u8 kopia_lacze_ok; + u8 lacze_odb_old; + + + //logika odblokowania + u8 logika_dblokowania; + u16 t_log_odblokowania; + + u8 blok_LRC[6]; + + + u16 t_wyl_od_echa; + + float RL1Em; ///< Rezystancja pÄ™tli zwarciowej fazy L1 z ziemia (rejestracja) + float XL1Em; ///< Rezaktancja pÄ™tli zwarciowej fazy L1 z ziemia (rejestracja) + float RL2Em; ///< Rezystancja pÄ™tli zwarciowej fazy L2 z ziemia (rejestracja) + float XL2Em; ///< Rezaktancja pÄ™tli zwarciowej fazy L2 z ziemia (rejestracja) + float RL3Em; ///< Rezystancja pÄ™tli zwarciowej fazy L3 z ziemia (rejestracja) + float XL3Em; ///< Rezaktancja pÄ™tli zwarciowej fazy L3 z ziemia (rejestracja) + float RL1L2m; ///< Rezystancja pÄ™tli zwarciowej fazy L1 z L2 (rejestracja) + float XL1L2m; ///< Rezaktancja pÄ™tli zwarciowej fazy L1 z L2 (rejestracja) + float RL2L3m; ///< Rezystancja pÄ™tli zwarciowej fazy L2 z L3 (rejestracja) + float XL2L3m; ///< Rezaktancja pÄ™tli zwarciowej fazy L2 z L3 (rejestracja) + float RL3L1m; ///< Rezystancja pÄ™tli zwarciowej fazy L3 z L1 (rejestracja) + float XL3L1m; ///< Rezaktancja pÄ™tli zwarciowej fazy L3 z L1 (rejestracja) + short liczts[6][2]; /// + +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include +#include +#include +#include + +#include "version.h" +#include "comm.h" +#include "misc.h" +#include "cfg_var.h" +#include "tdefs.h" +#include "logman.h" +#include "spi.h" +#include "logic_elements/elements.h" +#include "logic_elements/events_reg.h" +#include "logic_elements/dfr.h" +#include "logic_elements/ddr.h" +#include "logic_elements/measurand.h" +#include "logic_elements/leds_drv.h" +#include "logic_elements/virt_in_drv.h" +#include "logic_elements/dfr_drv.h" +#include "logic_elements/ddr_drv.h" +#include "logic_elements/rec_float.h" +#include "logic_elements/rec_an.h" +#include "logic_elements/rec_buf.h" +#include "logic_elements/analog_in.h" +#include "logic_elements/event.h" +#include "logic_elements/events_reg.h" +#include "logic_elements/dev_ctrl.h" +#include "logic_elements/an_gen.h" +#include "logic_elements/events_reg.h" +#include "logic_elements/mki7.h" +#include "logic_elements/mki7_2.h" +#include "config.h" +/// ethernet +#include "ethernet/ports/am1808/include/lwiplib.h" +#include "ethernet/emac.h" +#include "ports/am1808/include/netif/sitaraif.h" +#include +/// + +Timer_Handle tick_timer_handle; +u32 tick_timer_period; +static MessageQ_Handle msgqueue_local; +struct notify_data notify; +struct broadcast_info bcast_nfo; +volatile struct ping_info ping_nfo; + +struct eth_data eth = { .flags = 0 }; + +volatile u8 saved_bank = 0; + +//u8 time_good=0; + +Void commFxn(UArg a0, UArg a1) +{ + struct timeval cur_time_old; + int status = 0; + UInt16 remoteProcId; + MessageQ_Params msgqParams; + struct msg_data *msg; + int ret; + u8 may_sync_hw; + u8 may_sync_sw; + MessageQ_QueueId msgqueue_id_remote; + int offset; + struct parsed_cfg_transport_line *line = (struct parsed_cfg_transport_line *)shared_buf; + int i; + float tmp; + int tmpstate; + u8 *off; + char firm_ver[40]; + u8 first_tsync=1; + u16 kob_bin=0; + + snprintf(firm_ver,sizeof(firm_ver),SW_VER" %u",(u32)ic->fpga_verl|((u32)ic->fpga_verh<<16)); + + tick_timer_handle = Clock_getTimerHandle(); + tick_timer_period = Timer_getPeriod(tick_timer_handle); + dbg.tick_period = tick_timer_period; + dbg.logman_buf_capacity = sizeof(log_manager.buf); + + do + { + Task_sleep(1); + status = Ipc_start(); + } + while(status == Ipc_E_NOTREADY); + + remoteProcId = MultiProc_getId("HOST"); + + do + { + Task_sleep(1); + status = Ipc_attach(remoteProcId); + } while(status == Ipc_E_NOTREADY); + + MessageQ_Params_init(&msgqParams); + + msgqueue_local = MessageQ_create("MsgQdsp", &msgqParams); + + if(msgqueue_local == NULL) + System_printf("queue failed\n"); + else + System_printf("queue succ\n"); + +// notify subsystem from dsp to arm + + notify.lineId = 0; + notify.eventId = 7; + notify.remoteProcId = remoteProcId; + + do + { + status = Notify_sendEvent(notify.remoteProcId,notify.lineId,notify.eventId, NOTIFY_INIT, TRUE); + + if (status == Notify_E_EVTNOTREGISTERED) + Task_sleep(10); + + } while (status == Notify_E_EVTNOTREGISTERED); + + for(;;) + { + status = MessageQ_get(msgqueue_local, (MessageQ_Msg *)&msg, MessageQ_FOREVER); + if(status == 0) + { + msgqueue_id_remote = MessageQ_getReplyQueue(msg); + switch(msg->cmd) + { + case DSP_CMD_INIT_COMM: + msg->p1 = CMD_ACK; + if(msg->p2 == 0xAA55AA55) // neg pps + ic->sync_reg=0; + + while(!spi_fram_restored) + Task_sleep(100); // wait for spi first read + + msg->p3 = saved_bank; + + break; + + case DSP_CMD_GET_ANALOG_BUF: + analog_buf_card = msg->p1; + analog_buf_channel = msg->p2; + + for(i=0;i<127;i++) + analog_buf[i]=(short)bus_an_samples_buf[analog_buf_card][analog_buf_channel][(bus_an_cur_sample_num+i)%(SAMPLES_PER_MS*MAIN_FREQ_PERIOD_MS*2)] - 32767; + + memcpy((char*)shared_buf,(char*)analog_buf,sizeof(analog_buf)); + msg->p1 = (Uint32)shared_buf; + msg->p2 = sizeof(analog_buf); + break; + + case DSP_CMD_GET_MEASURANDS: + + switch(msg->p1) + { + case 0: + for(i=0;ip2 = sizeof(shared_buf); + msg->p3 = measurands.count; + + break; + + case DSP_CMD_GET_FWVER: + memcpy((char *)shared_buf,firm_ver,40); + msg->p1 = (Uint32)shared_buf; + msg->p2 = sizeof(shared_buf); + break; + + case DSP_CMD_GET_NET_BUF: + offset=0; + // maybe use semaphore to avoid race condition + memcpy((char*)shared_buf,(char*)&log_manager.nets_data[msg->p1],256); + msg->p1 = (Uint32)shared_buf; + msg->p2 = offset; + break; + + case DSP_CMD_GET_IO_BUF: + offset=0; + // maybe use semaphore to avoid race condition + //memcpy((char*)shared_buf,(char*)ic->bin_in,sizeof(ic->bin_in)); + //offset=sizeof(ic->bin_in); + memcpy((char*)shared_buf,(char*)bus_bin_data,sizeof(bus_bin_data)); + offset=sizeof(bus_bin_data); + memcpy((char*)shared_buf+offset,(char *)ic->out_set,sizeof(ic->out_set)); + offset+=sizeof(ic->out_set); + memcpy((char*)shared_buf+offset,(char *)&ic->kob_an,12); // kobs and errs + offset+=2; + + kob_bin=ic->kob_bin; + for(i=0;i<8;i++) + { + if(mwd32_mask & (1<kob_out,8); // kobs and errs + offset+=8; + + + + + memcpy((char*)shared_buf+offset,(char *)&samples_dropped,2); + offset+=2; + memcpy((char*)shared_buf+offset,(char*)bus_bin_data_ench,sizeof(bus_bin_data_ench)); + offset+=sizeof(bus_bin_data_ench); + + + for(i=0;i<8;i++) + { + if(mwd32_mask & (1<kob_bin & (1<p1 = (Uint32)shared_buf; + msg->p2 = offset; + break; + + case DSP_CMD_GET_LEDS_VIRT_IN: + msg->p1 = (Uint32)shared_buf; + msg->p2 = 16+MAX_BIN_CARDS+(MAX_OUT_CARDS*2)+8;//+MAX_BIN_CARDS; + memcpy((char*)shared_buf+0,(char *)&led_states,4); + memcpy((char*)shared_buf+4,(char *)&led_blink_states,4); + memcpy((char*)shared_buf+8,(char *)&virt_in_mask,4); + memcpy((char*)shared_buf+12,(char *)&virt_in_states,4); + memcpy((u8*)shared_buf+16,(u8*)force_bus_bin_data,MAX_BIN_CARDS); + memcpy((u8*)shared_buf+16+MAX_BIN_CARDS,(u8*)force_bus_out_data,MAX_OUT_CARDS*2); + memcpy((char*)shared_buf+16+MAX_BIN_CARDS+(MAX_OUT_CARDS*2),(char *)&virt_in2_mask,4); + memcpy((char*)shared_buf+16+MAX_BIN_CARDS+(MAX_OUT_CARDS*2)+4,(char *)&virt_in2_states,4); + +// memcpy((char*)shared_buf+16+MAX_BIN_CARDS+(MAX_OUT_CARDS*2)+4+4,(char *)&force_bus_bin_data_ench,MAX_BIN_CARDS); + + break; + + case DSP_CMD_GET_GI: + msg->p1 = (Uint32)shared_buf; + msg->p2 = sizeof(shared_buf); + + if(ev_reg_log==NULL) + { + msg->p3 = 0; + break; + } + else + msg->p3 = ev_reg_log->events_count; + + if(msg->p3>1024) + msg->p3=1024; + + for(i=0;ip3;i++) + { + struct event_args *ev_args; + struct event_logic *ev_log; + u32 data; + + ev_args = (struct event_args *)log_manager.log_element[ev_reg_log->element_num[i]].fun_args_ptr; + ev_log = (struct event_logic *)log_manager.log_element[ev_reg_log->element_num[i]].fun_log_ptr; + + data=((u32)ev_args->params.fun<<16)|((u32)ev_args->params.inf<<8)|ev_log->prev_state; + memcpy((char*)shared_buf+(i<<2),(char *)&data,4); + } + break; + + case DSP_CMD_SET_VIRT_IN: + tmpstate=virt_in_states & ~msg->p1; + virt_in_states = tmpstate|(msg->p1 & msg->p2); + break; + + case DSP_CMD_SET_VIRT_IN2: + tmpstate=virt_in2_states & ~msg->p1; + virt_in2_states = tmpstate|(msg->p1 & msg->p2); + break; + + case DSP_CMD_FORCE_OUT_STATES: + msg->p1 = CMD_ACK; + msg->p2 = dev_ctrl_state; + memcpy((u8*)force_bus_out_data,(u8*)shared_buf,MAX_OUT_CARDS*2); + break; + + case DSP_CMD_FORCE_BIN_STATES: + memcpy((u8*)force_bus_bin_data,(u8*)shared_buf,MAX_BIN_CARDS); + if(msg->p1==0xBEEF) + memcpy((u8*)force_bus_bin_data_ench,(u8*)shared_buf+MAX_BIN_CARDS,MAX_BIN_CARDS); + msg->p1 = CMD_ACK; + msg->p2 = dev_ctrl_state; + break; + + case DSP_CMD_FORCE_AN_STATES: + msg->p1 = CMD_ACK; + msg->p2 = dev_ctrl_state; + memcpy((u8*)&genpar,(u8*)shared_buf,sizeof(genpar)); + break; + + case DSP_CMD_GET_AN_STATES: + msg->p1 = (Uint32)shared_buf; + msg->p2 = sizeof(genpar); + memcpy((u8*)shared_buf,(u8*)&genpar,sizeof(genpar)); + break; + + case DSP_CMD_GET_SHARED_BUF: + msg->p1 = (Uint32)shared_buf; + msg->p2 = sizeof(shared_buf); + break; + + case DSP_CMD_UPDATE_CFG: + msg->p1 = CMD_ERR; + + for(i=0;iname)) + { + if(cfg_lut[i].type == line->type) + { + switch(line->type) + { + case ARG_TYPE_BOOL: + switch(cfg_lut[i].size) + { + case sizeof(unsigned char): + if(line->bool_val) + *((unsigned char*)cfg_lut[i].addr)|=cfg_lut[i].bit_mask; + else + *((unsigned char*)cfg_lut[i].addr)&=~cfg_lut[i].bit_mask; + msg->p1=CMD_ACK; + break; + + case sizeof(unsigned short): + if(line->bool_val) + *((unsigned short*)cfg_lut[i].addr)|=cfg_lut[i].bit_mask; + else + *((unsigned short*)cfg_lut[i].addr)&=~cfg_lut[i].bit_mask; + msg->p1=CMD_ACK; + break; + + case sizeof(unsigned int): + if(line->bool_val) + *((unsigned int*)cfg_lut[i].addr)|=cfg_lut[i].bit_mask; + else + *((unsigned int*)cfg_lut[i].addr)&=~cfg_lut[i].bit_mask; + msg->p1=CMD_ACK; + break; + + default: + msg->p1=CMD_ERR; + break; + } + break; + + case ARG_TYPE_DOUBLE: + msg->p1=CMD_ACK; + memcpy((char *)cfg_lut[i].addr,(char *)&line->double_val,cfg_lut[i].size); + break; + case ARG_TYPE_LONG: + msg->p1=CMD_ACK; + memcpy((char *)cfg_lut[i].addr,(char *)&line->long_val,cfg_lut[i].size); + break; + case ARG_TYPE_TEXT: + msg->p1=CMD_ACK; + memcpy((char *)cfg_lut[i].addr,(char *)line->text_val,cfg_lut[i].size); + break; + default: + msg->p1=CMD_ERR; + break; + } + + if(msg->p1==CMD_ACK && (cfg_lut[i].flags & NEED_RELOAD_IC)) + reload_ic_cfg(); + + break; + + } + else + { + msg->p1=CMD_ERR; + break; + } + } + } + break; + + case DSP_CMD_GET_REG_INF: + memcpy((u8*)shared_buf,(u8*)®s,sizeof(regs)); + msg->p1 = (Uint32)shared_buf; + msg->p2 = offset; + break; + + case DSP_CMD_GET_DDR_REG_INF: + memcpy((u8*)shared_buf,(u8*)&ddr_regs,sizeof(ddr_regs)); + msg->p1 = (Uint32)shared_buf; + msg->p2 = offset; + break; + + case DSP_CMD_GET_REG_MULTIPLIERS: + if(dfr_drv_log_ptr == NULL) // dfr driver not initialized? + { + msg->p1 = CMD_ERR; + break; + } + + msg->p1 = CMD_ACK; + off = (u8 *)shared_buf; + + msg->p2 = dfr_drv_log_ptr->an_count; + + + for(i=0;ian_count;i++) + { + struct rec_an_logic *an_log; + struct rec_buf_logic *an_buf_log; + struct rec_float_args *float_args; + struct rec_float_logic *float_log; + struct dfr_an_comtrade_params an_comtrade_params; + + if(dfr_drv_log_ptr->element_num[i] & ELEMENT_IS_REC_FLOAT) + { + float_args = (struct rec_float_args *)log_manager.log_element[dfr_drv_log_ptr->element_num[i] & 0x3FFF].fun_args_ptr; + float_log = (struct rec_float_logic *)log_manager.log_element[dfr_drv_log_ptr->element_num[i] & 0x3FFF].fun_log_ptr; + an_comtrade_params.multiplier=float_log->mul; + an_comtrade_params.primary=float_args->params.pierw; + an_comtrade_params.secondary=float_args->params.wtor; + an_comtrade_params.unit=float_args->params.jednostka | AN_IS_FLOAT; + } + else if(dfr_drv_log_ptr->element_num[i] & ELEMENT_IS_REC_BUF) + { + an_buf_log = (struct rec_buf_logic *)log_manager.log_element[dfr_drv_log_ptr->element_num[i] & 0x3FFF].fun_log_ptr; + an_comtrade_params.multiplier=an_buf_log->an_params->multiplier; + an_comtrade_params.primary=an_buf_log->an_params->znam_pierw; + an_comtrade_params.secondary=an_buf_log->an_params->znam_wtor; + an_comtrade_params.unit=an_buf_log->an_params->jednostka & 0x7FFFFFFF; + } + else + { + an_log = (struct rec_an_logic *)log_manager.log_element[dfr_drv_log_ptr->element_num[i] & 0x3FFF].fun_log_ptr; + an_comtrade_params.multiplier=an_log->an_params->multiplier; + an_comtrade_params.primary=an_log->an_params->znam_pierw; + an_comtrade_params.secondary=an_log->an_params->znam_wtor; + an_comtrade_params.unit=an_log->an_params->jednostka & 0x7FFFFFFF; + } + + memcpy(off,(u8 *)&an_comtrade_params,sizeof(an_comtrade_params)); + off+=sizeof(an_comtrade_params); + } + break; + + case DSP_CMD_GET_REG_MULTIPLIERS_DDR: + if(ddr_drv_log_ptr == NULL) // ddr driver not initialized? + { + msg->p1 = CMD_ERR; + break; + } + + msg->p1 = CMD_ACK; + off = (u8 *)shared_buf; + + msg->p2 = ddr_drv_log_ptr->an_count; + + for(i=0;ian_count;i++) + { + struct rec_float_args *float_args; + struct rec_float_logic *float_log; + struct dfr_an_comtrade_params an_comtrade_params; + + if(ddr_drv_log_ptr->element_num[i] & ELEMENT_IS_REC_FLOAT) + { + float_args = (struct rec_float_args *)log_manager.log_element[ddr_drv_log_ptr->element_num[i] & 0x3FFF].fun_args_ptr; + float_log = (struct rec_float_logic *)log_manager.log_element[ddr_drv_log_ptr->element_num[i] & 0x3FFF].fun_log_ptr; + an_comtrade_params.multiplier=float_log->mul; + an_comtrade_params.primary=float_args->params.pierw; + an_comtrade_params.secondary=float_args->params.wtor; + an_comtrade_params.unit=float_args->params.jednostka | AN_IS_FLOAT; + } + memcpy(off,(u8 *)&an_comtrade_params,sizeof(an_comtrade_params)); + off+=sizeof(an_comtrade_params); + } + break; + + case DSP_CMD_ACK_REG: + if(msg->p1p1].state == BANK_FILLED) + regs.bank[msg->p1].state = BANK_EMPTY; + } + break; + + case DSP_CMD_ACK_DDR_REG: + if(msg->p1p1].state == BANK_FILLED) + ddr_regs.bank[msg->p1].state = BANK_EMPTY; + } + break; + + case DSP_CMD_CLEAR_RELAYS: + for(i=0;iout_set[i]=0; + msg->p1 = CMD_ACK; + break; + + case DSP_CMD_TIME_SYNC: + may_sync_hw = (first_tsync || (msg->p2<=950000 && msg->p2>=50000 && cur_time.tv_usec>=10 && cur_time.tv_usec<=990))?1:0; + may_sync_sw = (first_tsync || (msg->p2<=950000 && msg->p2>=50000 && cur_time_sw.tv_usec>=10 && cur_time_sw.tv_usec<=990))?1:0; + + timesync_method=msg->p3 & 0xFF; + timesync_bits=(msg->p3>>8) & 0xFF; + + if(timesync_bits & CFG_TSYNC_USE_SWCLK) + cur_time_old = cur_time_sw; + else + cur_time_old = cur_time; + + if((timesync_method!=SYNC_METHOD_IRIG_B && timesync_method!=SYNC_METHOD_IRIG_B_ZPRAE && (timesync_method!=SYNC_METHOD_CUSTOM || !(timesync_bits & CFG_TSYNC_FROM_DSP)))||first_tsync) + { + if(may_sync_sw) + { + cur_time_sw.tv_sec = msg->p1; + if(!(timesync_bits & CFG_TSYNC_USE_SWPPS) || pps3_timeout_cnt>60000) + cur_time_sw.tv_usec = msg->p2 / 1000; + } + + if(may_sync_hw) + { + cur_time.tv_sec=msg->p1; + first_tsync=0; + if(!ext_sync) + cur_time.tv_usec=msg->p2 / 1000; + } + } + + msg->p1=cur_time_old.tv_sec; + msg->p2=cur_time_old.tv_usec; + msg->p3=(dev_ctrl_state&DEV_CTRL_STATE_IRIGB_FIX_OK)?1:0; + + break; + + case DSP_CMD_CFG_STATE: + if(msg->p1==SET_CFG_CHANGE) + dev_ctrl_state|=DEV_CTRL_STATE_CFG_CHANGE; + else if(msg->p1==SET_CFG_ERR) + dev_ctrl_state|=DEV_CTRL_STATE_CFG_ERR; + else if(msg->p1==SET_CFG_OK) + dev_ctrl_state&=~DEV_CTRL_STATE_CFG_ERR; + + if(msg->p2 & 0x01) + dev_ctrl_state|=DEV_CTRL_STATE_PTP_OK; + else + dev_ctrl_state&=~DEV_CTRL_STATE_PTP_OK; + if(msg->p2 & 0x02) + dev_ctrl_state|=DEV_CTRL_STATE_NTP_OK; + else + dev_ctrl_state&=~DEV_CTRL_STATE_NTP_OK; + + mki7_sfplinks=msg->p3; + mki7_2_sfplinks=msg->p3>>8; + + break; + + case DSP_CMD_SET_EVENT_FILTER: + events_reg_filter_act = msg->p1 ? 1 : 0; + events_reg_filter_period = msg->p2 > 65535 ? 65535 : msg->p2; + events_reg_filter_trans_limit = msg->p3 > 127 ? 127 : msg->p3; + break; + + case DSP_CMD_LOGMAN_STOP: + logman_stop(); + msg->p1 = CMD_ACK; + break; + + case DSP_CMD_LOGMAN_RESET: + logman_reset(); + msg->p1 = CMD_ACK; + break; + + case DSP_CMD_LOGMAN_PUSHFUN: + if(!(ret=logman_pushfunc(msg->p2,(void*)shared_buf,msg->p3))) + msg->p1 = CMD_ACK; + else + { + msg->p1 = CMD_ERR; + msg->p2 = ret; + } + + msg->p3 = (u32)log_manager.cur_buf_ptr; + break; + + case DSP_CMD_LOGMAN_START: + saved_bank = msg->p1>5?0:msg->p1; + if(!(ret = logman_start())) + msg->p1 = CMD_ACK; + else + { + msg->p1 = CMD_ERR; + msg->p2 = ret; + } + + break; + + case DSP_CMD_DEBUGLOG: + if(msg->p1) + dev_ctrl_state|=DEV_CTRL_STATE_SD_ERR; + else if(dev_ctrl_state & DEV_CTRL_STATE_SD_ERR) + dev_ctrl_state&=~DEV_CTRL_STATE_SD_ERR; + + dev_ctrl_state&=0x0000FFFF; + dev_ctrl_state|=(msg->p2&0xFFFF)<<16; + + msg->p1 = CMD_ACK; + dbg.delta_period = ic->delta_period_50M; + dbg.phase_corr = ic->phase_corr; + dbg.sync_reg = ic->sync_reg; + dbg.max_elements = MAX_LOG_ELEMENTS; + dbg.nets_bufsize = LOGMAN_NETSDATA_SIZE; + memcpy((u8*)shared_buf,(u8*)&dbg,sizeof(dbg)); + break; + + case DSP_CMD_GET_EV_BUF: + msg->p1 = CMD_ACK; + memcpy((u8*)shared_buf,(u8*)&ev_db,sizeof(ev_db)); + break; + + case DSP_CMD_GET_PROFILE_BUF: + msg->p1 = (Uint32)shared_buf; + memcpy((u8*)shared_buf,(u8*)&log_profile,sizeof(log_profile)); + break; + + case DSP_CMD_GET_LOGIC_EL_PARAMS: + msg->p1 = (Uint32)shared_buf; + + i=0; + while(log_elements[i].id!=EOF_ELEMENT && log_elements[i].id<1024 && i<2048) + { + shared_buf[i]=((u32)log_elements[i].log_size<<16) |(u32)log_elements[i].args_size; + i++; + } + + msg->p2=i; + break; + + case DSP_CMD_START_PROFILER: + memset(&log_profile,0,sizeof(log_profile)); + dbg.logman_cycle_time_max=0; + log_manager.status|=LOGMAN_STATUS_PROFILING; + msg->p1 = CMD_ACK; + break; + + case DSP_CMD_STOP_PROFILER: + log_manager.status&=~LOGMAN_STATUS_PROFILING; + msg->p1 = CMD_ACK; + break; + + case DSP_CMD_ETH_ON: + memcpy(eth.hwaddr,(char*)shared_buf,sizeof(eth.hwaddr)); + memcpy(eth.name,(char*)shared_buf+sizeof(eth.hwaddr),sizeof(eth.name)); + memcpy((char *)ð.dev_no,(char*)shared_buf+sizeof(eth.hwaddr)+sizeof(eth.name),sizeof(eth.dev_no)); + memcpy((char *)ð.unicast_ip,(char*)shared_buf+sizeof(eth.hwaddr)+sizeof(eth.name)+sizeof(eth.dev_no),sizeof(eth.unicast_ip)); + + eth.ip=msg->p1; + eth.netmask=msg->p2; + eth.gateway=msg->p3; + eth.flags|=ETH_GOT_SETTINGS; + + lwIPInit(0, eth.hwaddr, eth.ip, eth.netmask, eth.gateway, IPADDR_USE_STATIC); + + memcpy((u8 *)bcast_nfo.id,"ZP6",3); + memcpy((u8 *)bcast_nfo.dev_name,"DSP ",4); + memcpy((u8 *)bcast_nfo.dev_name+4,eth.name,16); + bcast_nfo.dev_name[20]=0; + bcast_nfo.mlb_type=ZPRAE_MLB12_TYPE; + bcast_nfo.dev_type=0; + bcast_nfo.dev_num=eth.dev_no; + memcpy((u8 *)bcast_nfo.mac,eth.hwaddr,6); + + eth.flags|=ETH_INITIALIZED; + Hwi_enableInterrupt(10); + Hwi_enableInterrupt(11); +/* + EMACTxIntPulseDisable(EMAC_0_BASE, EMAC_CTRL_0_BASE, 0, 0); + EMACRxIntPulseDisable(EMAC_0_BASE, EMAC_CTRL_0_BASE, 0, 0); + Hwi_disableInterrupt(10); + Hwi_disableInterrupt(11); + sitaraif_save_descriptors(); +*/ + msg->p1 = CMD_ACK; + break; + + case DSP_CMD_ETH_OFF: + msg->p1 = CMD_ACK; + //if(eth.flags & ETH_ACTIVE) + { + //EMACTxIntPulseDisable(EMAC_0_BASE, EMAC_CTRL_0_BASE, 1, 1); + //EMACRxIntPulseDisable(EMAC_0_BASE, EMAC_CTRL_0_BASE, 1, 1); + Hwi_disableInterrupt(10); + Hwi_disableInterrupt(11); + eth.flags&=~ETH_ACTIVE; + } + + break; + + case DSP_CMD_ETH_OFF_ACK: + msg->p1 = CMD_ACK; + eth.flags|=ETH_OFF_ACK; + + break; + + default: + msg->cmd = CMD_ERR; + msg->p1 = CMD_ERR; + break; + } + + MessageQ_put(msgqueue_id_remote, (MessageQ_Msg)msg); + } + + } +} + diff --git a/src/comm.h b/src/comm.h new file mode 100644 index 0000000..f98e566 --- /dev/null +++ b/src/comm.h @@ -0,0 +1,150 @@ +/* + * comm.h + * + * Created on: 01-08-2013 + * Author: Krzysztof Jakubczyk + */ + +#ifndef COMM_H_ +#define COMM_H_ + +#include +#include +#include "tdefs.h" + +#define DSP_CMD_INIT_COMM 0x01 +#define DSP_CMD_GET_ANALOG_BUF 0x02 +#define DSP_CMD_GET_IO_BUF 0x03 +#define DSP_CMD_GET_SHARED_BUF 0x04 +#define DSP_CMD_UPDATE_CFG 0x05 +#define DSP_CMD_GET_REG_INF 0x06 +#define DSP_CMD_ACK_REG 0x07 +#define DSP_CMD_TIME_SYNC 0x08 +#define DSP_CMD_LOGMAN_STOP 0x09 +#define DSP_CMD_LOGMAN_RESET 0x0A +#define DSP_CMD_LOGMAN_PUSHFUN 0x0B +#define DSP_CMD_LOGMAN_START 0x0C +#define DSP_CMD_LOGMAN_STATS 0x0D +#define DSP_CMD_GET_REG_MULTIPLIERS 0x0E +#define DSP_CMD_GET_REG_MULTIPLIERS_DDR 0x0F +#define DSP_CMD_GET_EV_BUF 0x10 +#define DSP_CMD_GET_MEASURANDS 0x11 +#define DSP_CMD_GET_LEDS_VIRT_IN 0x12 +#define DSP_CMD_SET_VIRT_IN 0x13 +#define DSP_CMD_GET_NET_BUF 0x14 +#define DSP_CMD_GET_GI 0x15 +#define DSP_CMD_GET_FWVER 0x16 +#define DSP_CMD_FORCE_OUT_STATES 0x17 +#define DSP_CMD_FORCE_BIN_STATES 0x18 +#define DSP_CMD_GET_DDR_REG_INF 0x19 +#define DSP_CMD_ACK_DDR_REG 0x1A +#define DSP_CMD_FORCE_AN_STATES 0x1B +#define DSP_CMD_GET_AN_STATES 0x1C +#define DSP_CMD_SET_EVENT_FILTER 0x1D +#define DSP_CMD_CFG_STATE 0x1E +#define DSP_CMD_CLEAR_RELAYS 0x1F +#define DSP_CMD_SET_VIRT_IN2 0x20 +#define DSP_CMD_ETH_ON 0x21 +#define DSP_CMD_ETH_OFF 0x22 +#define DSP_CMD_GET_PROFILE_BUF 0x23 +#define DSP_CMD_START_PROFILER 0x24 +#define DSP_CMD_STOP_PROFILER 0x25 +#define DSP_CMD_ETH_OFF_ACK 0x26 +#define DSP_CMD_GET_LOGIC_EL_PARAMS 0x27 +#define DSP_CMD_DEBUGLOG 0xFE + +#define SET_CFG_CHANGE 0x01 +#define SET_CFG_OK 0x02 +#define SET_CFG_ERR 0x03 + +#define CMD_ACK 0xD5 +#define CMD_ERR 0xE0 + +struct msg_data +{ + MessageQ_MsgHeader hdr; + UInt32 cmd; + UInt32 p1; + UInt32 p2; + UInt32 p3; +}; + +struct notify_data +{ + UInt16 remoteProcId; + UInt16 lineId; + UInt32 eventId; +}; + +struct dfr_an_comtrade_params +{ + double multiplier; + double primary; + double secondary; + long unit; +}__attribute__((__packed__)); + +extern struct notify_data notify; +extern struct broadcast_info bcast_nfo; +extern volatile struct ping_info ping_nfo; +extern volatile u8 saved_bank; + +#define ZPRAE_MLB12_TYPE 43 + +struct broadcast_info { + u8 id[3]; + u8 mlb_type; + u8 dev_name[21]; + u8 dev_type; + u16 dev_num; + u8 mac[6]; +}__attribute__((__packed__)); + +struct ping_info { + u8 adr; + u8 seq; + u16 tstamp; + u32 pwmval; +}__attribute__((__packed__)); + +struct eth_data +{ + u32 ip; + u32 netmask; + u32 gateway; + u8 hwaddr[6]; + u32 flags; + u8 name[21]; + u16 dev_no; + u32 unicast_ip; +}__attribute__((__packed__)); + +// eth flags +#define ETH_NOT_INITIALIZED 0x00 +#define ETH_INITIALIZED 0x01 +#define ETH_ACTIVE 0x02 +#define ETH_GOT_SETTINGS 0x04 +#define ETH_UDP_INITIALIZED 0x08 +#define ETH_OFF_ACK 0x10 + +extern struct eth_data eth; + +#define NOTIFY_INIT 0x00000001 +#define NOTIFY_NEW_EVENTS 0x00000002 +#define NOTIFY_NEW_DFR_REG 0x00000003 +#define NOTIFY_SEL_BANK0 0x00000004 +#define NOTIFY_SEL_BANK1 0x00000005 +#define NOTIFY_SEL_BANK2 0x00000006 +#define NOTIFY_SEL_BANK3 0x00000007 +#define NOTIFY_SEL_BANK4 0x00000008 +#define NOTIFY_NEW_DDR_REG 0x00000009 +#define NOTIFY_ETH_ON 0x0000000a +#define NOTIFY_ETH_OFF 0x0000000b +#define NOTIFY_SEL_BANK5 0x0000000c + +extern Timer_Handle tick_timer_handle; +extern u32 tick_timer_period; + +extern Void commFxn(UArg a0, UArg a1); + +#endif /* COMM_H_ */ diff --git a/src/config.h b/src/config.h new file mode 100644 index 0000000..f253c9c --- /dev/null +++ b/src/config.h @@ -0,0 +1,41 @@ +/* + * config.h + * + * Created on: 12-01-2021 + * Author: kjakubczyk + */ + +#ifndef CONFIG_H_ +#define CONFIG_H_ + +#define MAX_LOG_ELEMENTS 1050+10+20 // max logman elements // 20 dodano 26.08.2024 przy TZL + +#define LOOP_CYCLE_MS 2 // how many ms between main logman loops +#define SAMPLES_PER_MS 4 // samples per ms -> 3 = 3kHz +#define MAIN_FREQ_PERIOD_MS 20 +#define SAMPLES_INTERPOLATION 1 // middle samples config in DFR => 0=sample_duplication, 1=linear interpolation, 2=NAN between + // WARNING! linear interpolation needs disable extmem caching for DFR in app.cfg + +#define IEC61850_ACTIVE 1 // activate IEC61850 recv GOOSE/SV +#define SV_I_CARD_ADDR 14 +#define SV_U_CARD_ADDR 15 +#define SV_WAIT_LOOP_CYCLES 1 // delay by x main loop cycles to wait for SV samples +#if IEC61850_ACTIVE==1 +#define IEC61850_MIN_FR_SIZE 64 +#define GOOSE_MAX_FR_SIZE 1100//bylo 1024 przed KAE +#define GOOSE_MAX_FR_OUT_SIZE 256 +#define GOOSE_QUEUE_DEPTH 16 +#define SV_MIN_FR_SIZE 64 +#define SV_MAX_FR_SIZE 256 +#define SV_QUEUE_DEPTH 16 +#else +#define IEC61850_MIN_FR_SIZE 1 +#define GOOSE_MAX_FR_SIZE 1 +#define GOOSE_QUEUE_DEPTH 1 +#define SV_MIN_FR_SIZE 1 +#define SV_MAX_FR_SIZE 1 +#define SV_QUEUE_DEPTH 1 +#endif + + +#endif /* CONFIG_H_ */ diff --git a/src/hw_psc_OMAPL138.h b/src/hw_psc_OMAPL138.h new file mode 100644 index 0000000..3371571 --- /dev/null +++ b/src/hw_psc_OMAPL138.h @@ -0,0 +1,285 @@ +/** + * \file hw_psc_OMAPL138.h + * + * \brief Hardware definitions for OMAPL138 + */ + +/* +* Copyright (C) 2010 Texas Instruments Incorporated - http://www.ti.com/ +*/ +/* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* +* Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the +* distribution. +* +* Neither the name of Texas Instruments Incorporated nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ + + +#ifndef _HW_PSC_H_ +#define _HW_PSC_H_ + +/* NOTE1 + * The actual number of MDCTL and MDSTAT register depend on number of + * LPSC modules in a PSC. The number of MDCTL/MDSTAT registers defined + * here would be a superset + * e.g. PSC0 has 16 MDCTL/MDSTAT register, PSC1 has 32 MDCTL/MDSTAT + * registers */ + + +/* NOTE2 + * Please refer to the device specific PSC user guide to see what + * register bit fields apply to individual registers + * e.g. For PSC0 MERRPR0 bits 14,15 exist but for PSC1 MERRPR0 + * these bits are RESERVED */ + +typedef enum { + HW_PSC_CC0 = 0, + HW_PSC_TC0 = 1, + HW_PSC_TC1 = 2, + HW_PSC_EMIFA = 3, + HW_PSC_SPI0 = 4, + HW_PSC_MMCSD0 = 5, + HW_PSC_AINTC = 6, + HW_PSC_ARM_RAMROM = 7, + HW_PSC_UART0 = 9, + HW_PSC_SCR0_SS = 10, + HW_PSC_SCR1_SS = 11, + HW_PSC_SCR2_SS = 12, + HW_PSC_PRU = 13, + HW_PSC_ARM = 14, + HW_PSC_DSP = 15 + +} Psc0Peripheral; + +typedef enum { + HW_PSC_CC1 = 0, + HW_PSC_USB0 = 1, + HW_PSC_USB1 = 2, + HW_PSC_GPIO = 3, + HW_PSC_UHPI = 4, + HW_PSC_EMAC = 5, + HW_PSC_DDR2_MDDR = 6, + HW_PSC_MCASP0 = 7, + HW_PSC_SATA = 8, + HW_PSC_VPIF = 9, + HW_PSC_SPI1 = 10, + HW_PSC_I2C1 = 11, + HW_PSC_UART1 = 12, + HW_PSC_UART2 = 13, + HW_PSC_MCBSP0 = 14, + HW_PSC_MCBSP1 = 15, + HW_PSC_LCDC = 16, + HW_PSC_EHRPWM = 17, + HW_PSC_MMCSD1 = 18, + HW_PSC_UPP = 19, + HW_PSC_ECAP0_1_2 = 20, + HW_PSC_TC2 = 21, + HW_PSC_SCRF0_SS = 24, + HW_PSC_SCRF1_SS = 25, + HW_PSC_SCRF2_SS = 26, + HW_PSC_SCRF6_SS = 27, + HW_PSC_SCRF7_SS = 28, + HW_PSC_SCRF8_SS = 29, + HW_PSC_BR_F7 = 30, + HW_PSC_SHRAM = 31 +} Psc1Peripheral; + +#define PSC_POWERDOMAIN_ALWAYS_ON 0 +#define PSC_POWERDOMAIN_PD_DSP 1 + +#define PSC_REVID (0x0) +#define PSC_INTEVAL (0x18) +#define PSC_MERRPR0 (0x40) +#define PSC_MERRCR0 (0x50) +#define PSC_PERRPR (0x60) +#define PSC_PERRCR (0x68) +#define PSC_PTCMD (0x120) +#define PSC_PTSTAT (0x128) +#define PSC_PDSTAT0 (0x200) +#define PSC_PDSTAT1 (0x204) +#define PSC_PDCTL0 (0x300) +#define PSC_PDCTL1 (0x304) +#define PSC_PDCFG0 (0x400) +#define PSC_PDCFG1 (0x404) +#define PSC_MDSTAT(n) (0x800 + (n * 4)) +#define PSC_MDCTL(n) (0xA00 + (n * 4)) + +/**************************************************************************\ +* Field Definition Macros +\**************************************************************************/ + +/* REVID */ + +#define PSC_REVID_REV (0xFFFFFFFFu) +#define PSC_REVID_REV_SHIFT (0x00000000u) + +/* INTEVAL */ + +#define PSC_INTEVAL_ALLEV (0x00000001u) +#define PSC_INTEVAL_ALLEV_SHIFT (0x00000000u) + +/* MERRPR0 */ +#define PSC_MERRPR0_M15 (0x0000C000u) +#define PSC_MERRPR0_M15_SHIFT (0x0000000Eu) +#define PSC_MERRPR0_M14 (0x00006000u) +#define PSC_MERRPR0_M14_SHIFT (0x0000000Du) + +/* MERRCR0 */ +#define PSC_MERRCR0_M15 (0x0000C000u) +#define PSC_MERRCR0_M15_SHIFT (0x0000000Eu) +#define PSC_MERRCR0_M14 (0x00006000u) +#define PSC_MERRCR0_M14_SHIFT (0x0000000Du) + +/* PERRPR */ +#define PSC_PERRPR_P1 (0x00000002u) +#define PSC_PERRPR_P1_SHIFT (0x00000001u) +#define PSC_PERRPR_P0 (0x00000001u) +#define PSC_PERRPR_P0_SHIFT (0x00000000u) + +/* PERRCR */ +#define PSC_PERRCR_P1 (0x00000002u) +#define PSC_PERRCR_P1_SHIFT (0x00000001u) +#define PSC_PERRCR_P0 (0x00000001u) +#define PSC_PERRCR_P0_SHIFT (0x00000000u) + +/* PTCMD */ +#define PSC_PTCMD_GO1 (0x00000002u) +#define PSC_PTCMD_GO1_SHIFT (0x00000001u) +#define PSC_PTCMD_GO0 (0x00000001u) +#define PSC_PTCMD_GO0_SHIFT (0x00000000u) + +/* PTSTAT */ +#define PSC_PTSTAT_GOSTAT1 (0x00000002u) +#define PSC_PTSTAT_GOSTAT1_SHIFT (0x00000001u) +#define PSC_PTSTAT_GOSTAT0 (0x00000001u) +#define PSC_PTSTAT_GOSTAT0_SHIFT (0x00000000u) + +/* PDSTAT0 */ +#define PSC_PDSTAT0_EMUIHB (0x00000800u) +#define PSC_PDSTAT0_EMUIHB_SHIFT (0x0000000Bu) +#define PSC_PDSTAT0_STATE (0x0000001Fu) +#define PSC_PDSTAT0_STATE_SHIFT (0x00000000u) + +/* PDSTAT1 */ +#define PSC_PDSTAT1_EMUIHB (0x00000800u) +#define PSC_PDSTAT1_EMUIHB_SHIFT (0x0000000Bu) +#define PSC_PDSTAT1_STATE (0x0000001Fu) +#define PSC_PDSTAT1_STATE_SHIFT (0x00000000u) + +/* PDCTL0 */ +#define PSC_PDCTL0_WAKECNT (0x00FF0000u) +#define PSC_PDCTL0_WAKECNT_SHIFT (0x00000010u) +#define PSC_PDCTL0_PDMODE (0x0000F000u) +#define PSC_PDCTL0_PDMODE_SHIFT (0x0000000Cu) +#define PSC_PDCTL0_EMUIHBIE (0x00000200u) +#define PSC_PDCTL0_EMUIHBIE_SHIFT (0x00000009u) +#define PSC_PDCTL0_NEXT (0x00000001u) +#define PSC_PDCTL0_NEXT_SHIFT (0x00000000u) + +/* PDCTL1 */ +#define PSC_PDCTL1_WAKECNT (0x00FF0000u) +#define PSC_PDCTL1_WAKECNT_SHIFT (0x00000010u) +#define PSC_PDCTL1_PDMODE (0x0000F000u) +#define PSC_PDCTL1_PDMODE_SHIFT (0x0000000Cu) +/*----PDMODE Tokens----*/ +#define PSC_PDCTL1_PDMODE_OFF (0x00000000u) +#define PSC_PDCTL1_PDMODE_RAM_OFF (0x00000008u) +#define PSC_PDCTL1_PDMODE_DEEP_SLEEP (0x00000009u) +#define PSC_PDCTL1_PDMODE_LIGHT_SLEEP (0x0000000Au) +#define PSC_PDCTL1_PDMODE_RETENTION (0x0000000Bu) +#define PSC_PDCTL1_PDMODE_ON (0x0000000Fu) + +#define PSC_PDCTL1_EMUIHBIE (0x00000200u) +#define PSC_PDCTL1_EMUIHBIE_SHIFT (0x00000009u) +#define PSC_PDCTL1_NEXT (0x00000001u) +#define PSC_PDCTL1_NEXT_SHIFT (0x00000000u) + +/* PDCFG0 */ +#define PSC_PDCFG0_PDLOCK (0x00000008u) +#define PSC_PDCFG0_PDLOCK_SHIFT (0x00000003u) +#define PSC_PDCFG0_ICEPICK (0x00000004u) +#define PSC_PDCFG0_ICEPICK_SHIFT (0x00000002u) +#define PSC_PDCFG0_RAM_PSM (0x00000002u) +#define PSC_PDCFG0_RAM_PSM_SHIFT (0x00000001u) +#define PSC_PDCFG0_ALWAYSON (0x00000001u) +#define PSC_PDCFG0_ALWAYSON_SHIFT (0x00000000u) + +/* PDCFG1 */ +#define PSC_PDCFG1_PDLOCK (0x00000008u) +#define PSC_PDCFG1_PDLOCK_SHIFT (0x00000003u) +#define PSC_PDCFG1_ICEPICK (0x00000004u) +#define PSC_PDCFG1_ICEPICK_SHIFT (0x00000002u) +#define PSC_PDCFG1_RAM_PSM (0x00000002u) +#define PSC_PDCFG1_RAM_PSM_SHIFT (0x00000001u) +#define PSC_PDCFG1_ALWAYSON (0x00000001u) +#define PSC_PDCFG1_ALWAYSON_SHIFT (0x00000000u) + +/* MDSTAT */ +#define PSC_MDSTAT_EMUIHB (0x00020000u) +#define PSC_MDSTAT_EMUIHB_SHIFT (0x00000011u) +#define PSC_MDSTAT_EMURST (0x00010000u) +#define PSC_MDSTAT_EMURST_SHIFT (0x00000010u) +#define PSC_MDSTAT_MCKOUT (0x00001000u) +#define PSC_MDSTAT_MCKOUT_SHIFT (0x0000000Cu) +#define PSC_MDSTAT_MRSTDONE (0x00000800u) +#define PSC_MDSTAT_MRSTDONE_SHIFT (0x0000000Bu) +#define PSC_MDSTAT_MRST (0x00000400u) +#define PSC_MDSTAT_MRST_SHIFT (0x0000000Au) +#define PSC_MDSTAT_LRSTDONE (0x00000200u) +#define PSC_MDSTAT_LRSTDONE_SHIFT (0x00000009u) +#define PSC_MDSTAT_LRST (0x00000100u) +#define PSC_MDSTAT_LRST_SHIFT (0x00000008u) +#define PSC_MDSTAT_STATE (0x0000003Fu) +#define PSC_MDSTAT_STATE_SHIFT (0x00000000u) +/*----STATE Tokens----*/ +#define PSC_MDSTAT_STATE_SWRSTDISABLE (0x00000000u) +#define PSC_MDSTAT_STATE_SYNCRST (0x00000001u) +#define PSC_MDSTAT_STATE_AUTOSLEEP (0x00000004u) +#define PSC_MDSTAT_STATE_AUTOWAKE (0x00000005u) + +/* MDCTL */ +#define PSC_MDCTL_FORCE (0x80000000u) +#define PSC_MDCTL_FORCE_SHIFT (0x0000001Fu) + +#define PSC_MDCTL_EMUIHBIE (0x00000400u) +#define PSC_MDCTL_EMUIHBIE_SHIFT (0x0000000Au) + +#define PSC_MDCTL_EMURSTIE (0x00000200u) +#define PSC_MDCTL_EMURSTIE_SHIFT (0x00000009u) + +#define PSC_MDCTL_LRST (0x00000100u) +#define PSC_MDCTL_LRST_SHIFT (0x00000008u) +#define PSC_MDCTL_NEXT (0x0000001Fu) +#define PSC_MDCTL_NEXT_SHIFT (0x00000000u) +/*----NEXT Tokens----*/ +#define PSC_MDCTL_NEXT_SWRSTDISABLE (0x00000000u) +#define PSC_MDCTL_NEXT_SYNCRST (0x00000001u) +#define PSC_MDCTL_NEXT_DISABLE (0x00000002u) +#define PSC_MDCTL_NEXT_ENABLE (0x00000003u) +#define PSC_MDCTL_NEXT_AUTOWAKE (0x00000005u) + +#endif diff --git a/src/hw_syscfg0_OMAPL138.h b/src/hw_syscfg0_OMAPL138.h new file mode 100644 index 0000000..8d5cab0 --- /dev/null +++ b/src/hw_syscfg0_OMAPL138.h @@ -0,0 +1,2167 @@ +/** + * \name hw_syscfg0_OMAPL138.h + * + * \brief Hardware definitions for OMAPL138 + */ + +/* +* Copyright (C) 2010 Texas Instruments Incorporated - http://www.ti.com/ +*/ +/* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* +* Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the +* distribution. +* +* Neither the name of Texas Instruments Incorporated nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ + + +#ifndef _HW_SYSCFG0_H_ +#define _HW_SYSCFG0_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +#define SYSCFG0_REVID (0x0) +#define SYSCFG0_DIEIDR0 (0x8) +#define SYSCFG0_DIEIDR1 (0xC) +#define SYSCFG0_DIEIDR2 (0x10) +#define SYSCFG0_DIEIDR3 (0x14) +#define SYSCFG0_DEVIDR0 (0x18) +#define SYSCFG0_BOOTCFG (0x20) +#define SYSCFG0_KICK0R (0x38) +#define SYSCFG0_KICK1R (0x3C) +#define SYSCFG0_HOST0CFG (0x40) +#define SYSCFG0_HOST1CFG (0x44) +#define SYSCFG0_IRAWSTAT (0xE0) +#define SYSCFG0_IENSTAT (0xE4) +#define SYSCFG0_IENSET (0xE8) +#define SYSCFG0_IENCLR (0xEC) +#define SYSCFG0_EOI (0xF0) +#define SYSCFG0_FLTADDRR (0xF4) +#define SYSCFG0_FLTSTAT (0xF8) +#define SYSCFG0_MSTPRI0 (0x110) +#define SYSCFG0_MSTPRI1 (0x114) +#define SYSCFG0_MSTPRI2 (0x118) +#define SYSCFG0_PINMUX(n) (0x120 + (n * 4)) +#define SYSCFG0_SUSPSRC (0x170) +#define SYSCFG0_CHIPSIG (0x174) +#define SYSCFG0_CHIPSIG_CLR (0x178) +#define SYSCFG0_CFGCHIP0 (0x17C) +#define SYSCFG0_CFGCHIP1 (0x180) +#define SYSCFG0_CFGCHIP2 (0x184) +#define SYSCFG0_CFGCHIP3 (0x188) +#define SYSCFG0_CFGCHIP4 (0x18C) + +/**************************************************************************\ +* Field Definition Macros +\**************************************************************************/ + +/* REVID */ + +#define SYSCFG_REVID_REVID (0xFFFFFFFFu) +#define SYSCFG_REVID_REVID_SHIFT (0x00000000u) + + +/* DIEIDR0 */ + +#define SYSCFG_DIEIDR0_DIEID0 (0xFFFFFFFFu) +#define SYSCFG_DIEIDR0_DIEID0_SHIFT (0x00000000u) + + +/* DIEIDR1 */ + +#define SYSCFG_DIEIDR1_DIEID1 (0xFFFFFFFFu) +#define SYSCFG_DIEIDR1_DIEID1_SHIFT (0x00000000u) + + +/* DIEIDR2 */ + +#define SYSCFG_DIEIDR2_DIEID2 (0xFFFFFFFFu) +#define SYSCFG_DIEIDR2_DIEID2_SHIFT (0x00000000u) + + +/* DIEIDR3 */ + +#define SYSCFG_DIEIDR3_DIEID3 (0xFFFFFFFFu) +#define SYSCFG_DIEIDR3_DIEID3_SHIFT (0x00000000u) + + +/* DEVIDR0 */ + +#define SYSCFG_DEVIDR0_DEVID0 (0xFFFFFFFFu) +#define SYSCFG_DEVIDR0_DEVID0_SHIFT (0x00000000u) + + +/* BOOTCFG */ + + +#define SYSCFG_BOOTCFG_SMARTRFLX (0x0FFF0000u) +#define SYSCFG_BOOTCFG_SMARTRFLX_SHIFT (0x00000010u) + +#define SYSCFG_BOOTCFG_BOOTMODE (0x0000FFFFu) +#define SYSCFG_BOOTCFG_BOOTMODE_SHIFT (0x00000000u) + + +/* CHIPREVIDR */ + + +#define SYSCFG_CHIPREVIDR_CHIPREVID (0x0000003Fu) +#define SYSCFG_CHIPREVIDR_CHIPREVID_SHIFT (0x00000000u) + + +/* KICK0R */ + +#define SYSCFG_KICK0R_KICK0 (0xFFFFFFFFu) +#define SYSCFG_KICK0R_KICK0_SHIFT (0x00000000u) + +/* Unlock/Lock code for KICK0 */ +#define SYSCFG_KICK0R_UNLOCK (0x83E70B13u) + + +/* KICK1R */ + +#define SYSCFG_KICK1R_KICK1 (0xFFFFFFFFu) +#define SYSCFG_KICK1R_KICK1_SHIFT (0x00000000u) + +/* Unlock/Lock code for KICK1 */ +#define SYSCFG_KICK1R_UNLOCK (0x95A4F1E0u) + +/* HOST0CFG */ + +#define SYSCFG_HOST0CFG_BOOTRDY (0x80000000u) +#define SYSCFG_HOST0CFG_BOOTRDY_SHIFT (0x0000001Fu) + + + +/* HOST1CFG */ + +#define SYSCFG_HOST1CFG_DSP_ISTP_RST_VAL (0x003FFFFFu) +#define SYSCFG_HOST1CFG_DSP_ISTP_RST_VAL_SHIFT (0x0000000Au) + + +/* IRAWSTAT */ + + +#define SYSCFG_IRAWSTAT_ADDRERR (0x00000002u) +#define SYSCFG_IRAWSTAT_ADDRERR_SHIFT (0x00000001u) + +#define SYSCFG_IRAWSTAT_PROTERR (0x00000001u) +#define SYSCFG_IRAWSTAT_PROTERR_SHIFT (0x00000000u) + + +/* IENSTAT */ + + +#define SYSCFG_IENSTAT_ADDRERR (0x00000002u) +#define SYSCFG_IENSTAT_ADDRERR_SHIFT (0x00000001u) + +#define SYSCFG_IENSTAT_PROTERR (0x00000001u) +#define SYSCFG_IENSTAT_PROTERR_SHIFT (0x00000000u) + + +/* IENSET */ + + +#define SYSCFG_IENSET_ADDRERR_EN (0x00000002u) +#define SYSCFG_IENSET_ADDRERR_EN_SHIFT (0x00000001u) + +#define SYSCFG_IENSET_PROTERR_EN (0x00000001u) +#define SYSCFG_IENSET_PROTERR_EN_SHIFT (0x00000000u) + + +/* IENCLR */ + + +#define SYSCFG_IENCLR_ADDRERR_CLR (0x00000002u) +#define SYSCFG_IENCLR_ADDRERR_CLR_SHIFT (0x00000001u) + +#define SYSCFG_IENCLR_PROTERR_CLR (0x00000001u) +#define SYSCFG_IENCLR_PROTERR_CLR_SHIFT (0x00000000u) + + +/* EOI */ + + +#define SYSCFG_EOI_EOIVECT (0x000000FFu) +#define SYSCFG_EOI_EOIVECT_SHIFT (0x00000000u) + + +/* FLTADDRR */ + +#define SYSCFG_FLTADDRR_FLTADDR (0xFFFFFFFFu) +#define SYSCFG_FLTADDRR_FLTADDR_SHIFT (0x00000000u) + + +/* FLTSTAT */ + +#define SYSCFG_FLTSTAT_ID (0xFF000000u) +#define SYSCFG_FLTSTAT_ID_SHIFT (0x00000018u) + +#define SYSCFG_FLTSTAT_MSTID (0x00FF0000u) +#define SYSCFG_FLTSTAT_MSTID_SHIFT (0x00000010u) + + +#define SYSCFG_FLTSTAT_PRIVID (0x00001E00u) +#define SYSCFG_FLTSTAT_PRIVID_SHIFT (0x00000009u) + + +#define SYSCFG_FLTSTAT_NOSECACC (0x00000080u) +#define SYSCFG_FLTSTAT_NOSECACC_SHIFT (0x00000007u) + + +#define SYSCFG_FLTSTAT_TYPE (0x0000003Fu) +#define SYSCFG_FLTSTAT_TYPE_SHIFT (0x00000000u) +/*----TYPE Tokens----*/ +#define SYSCFG_FLTSTAT_TYPE_NOFLT (0x00000000u) +#define SYSCFG_FLTSTAT_TYPE_USREXE (0x00000001u) +#define SYSCFG_FLTSTAT_TYPE_USRWR (0x00000002u) +#define SYSCFG_FLTSTAT_TYPE_USRRD (0x00000004u) +#define SYSCFG_FLTSTAT_TYPE_SPREXE (0x00000008u) +#define SYSCFG_FLTSTAT_TYPE_SPRWR (0x00000010u) +#define SYSCFG_FLTSTAT_TYPE_SPRRD (0x00000020u) + + +/* MSTPRI0 */ + + +#define SYSCFG_MSTPRI0_SATA (0x00700000u) +#define SYSCFG_MSTPRI0_SATA_SHIFT (0x00000014u) + + +#define SYSCFG_MSTPRI0_UPP (0x00070000u) +#define SYSCFG_MSTPRI0_UPP_SHIFT (0x00000010u) + + +#define SYSCFG_MSTPRI0_DSP_CFG (0x00007000u) +#define SYSCFG_MSTPRI0_DSP_CFG_SHIFT (0x0000000Cu) + + +#define SYSCFG_MSTPRI0_DSP_MDMA (0x00000700u) +#define SYSCFG_MSTPRI0_DSP_MDMA_SHIFT (0x00000008u) + + +#define SYSCFG_MSTPRI0_ARM_D (0x00000070u) +#define SYSCFG_MSTPRI0_ARM_D_SHIFT (0x00000004u) + + +#define SYSCFG_MSTPRI0_ARM_I (0x00000007u) +#define SYSCFG_MSTPRI0_ARM_I_SHIFT (0x00000000u) + + +/* MSTPRI1 */ + + +#define SYSCFG_MSTPRI1_VPIF_DMA_1 (0x70000000u) +#define SYSCFG_MSTPRI1_VPIF_DMA_1_SHIFT (0x0000001Cu) + + +#define SYSCFG_MSTPRI1_VPIF_DMA_0 (0x07000000u) +#define SYSCFG_MSTPRI1_VPIF_DMA_0_SHIFT (0x00000018u) + + +#define SYSCFG_MSTPRI1_EDMA31TC0 (0x00070000u) +#define SYSCFG_MSTPRI1_EDMA31TC0_SHIFT (0x00000010u) + + +#define SYSCFG_MSTPRI1_EDMA30TC1 (0x00007000u) +#define SYSCFG_MSTPRI1_EDMA30TC1_SHIFT (0x0000000Cu) + + +#define SYSCFG_MSTPRI1_EDMA30TC0 (0x00000700u) +#define SYSCFG_MSTPRI1_EDMA30TC0_SHIFT (0x00000008u) + + +#define SYSCFG_MSTPRI1_PRU1 (0x00000070u) +#define SYSCFG_MSTPRI1_PRU1_SHIFT (0x00000004u) + + +#define SYSCFG_MSTPRI1_PRU0 (0x00000007u) +#define SYSCFG_MSTPRI1_PRU0_SHIFT (0x00000000u) + + +/* MSTPRI2 */ + + +#define SYSCFG_MSTPRI2_LCDC (0x70000000u) +#define SYSCFG_MSTPRI2_LCDC_SHIFT (0x0000001Cu) + + +#define SYSCFG_MSTPRI2_USB1 (0x07000000u) +#define SYSCFG_MSTPRI2_USB1_SHIFT (0x00000018u) + + +#define SYSCFG_MSTPRI2_UHPI (0x00700000u) +#define SYSCFG_MSTPRI2_UHPI_SHIFT (0x00000014u) + + +#define SYSCFG_MSTPRI2_USB0CDMA (0x00007000u) +#define SYSCFG_MSTPRI2_USB0CDMA_SHIFT (0x0000000Cu) + + +#define SYSCFG_MSTPRI2_USB0CFG (0x00000700u) +#define SYSCFG_MSTPRI2_USB0CFG_SHIFT (0x00000008u) + + +#define SYSCFG_MSTPRI2_EMAC (0x00000007u) +#define SYSCFG_MSTPRI2_EMAC_SHIFT (0x00000000u) + + +/* PINMUX0 */ + +#define SYSCFG_PINMUX0_PINMUX0_31_28 (0xF0000000u) +#define SYSCFG_PINMUX0_PINMUX0_31_28_SHIFT (0x0000001Cu) +/*----PINMUX0_31_28 Tokens----*/ +#define SYSCFG_PINMUX0_PINMUX0_31_28_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX0_PINMUX0_31_28_RESERVED1 (0x00000001u) +#define SYSCFG_PINMUX0_PINMUX0_31_28_ALARM (0x00000002u) +#define SYSCFG_PINMUX0_PINMUX0_31_28_UART2_CTS (0x00000004u) +#define SYSCFG_PINMUX0_PINMUX0_31_28_GPIO0_8 (0x00000008u) + +#define SYSCFG_PINMUX0_PINMUX0_27_24 (0x0F000000u) +#define SYSCFG_PINMUX0_PINMUX0_27_24_SHIFT (0x00000018u) +/*----PINMUX0_27_24 Tokens----*/ +#define SYSCFG_PINMUX0_PINMUX0_27_24_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX0_PINMUX0_27_24_AMUTE0 (0x00000001u) +#define SYSCFG_PINMUX0_PINMUX0_27_24_PRU0_R30_16 (0x00000002u) +#define SYSCFG_PINMUX0_PINMUX0_27_24_UART2_RTS (0x00000004u) +#define SYSCFG_PINMUX0_PINMUX0_27_24_GPIO0_9 (0x00000008u) + +#define SYSCFG_PINMUX0_PINMUX0_23_20 (0x00F00000u) +#define SYSCFG_PINMUX0_PINMUX0_23_20_SHIFT (0x00000014u) +/*----PINMUX0_23_20 Tokens----*/ +#define SYSCFG_PINMUX0_PINMUX0_23_20_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX0_PINMUX0_23_20_AHCLKX0 (0x00000001u) +#define SYSCFG_PINMUX0_PINMUX0_23_20_USB_REFCLKIN (0x00000002u) +#define SYSCFG_PINMUX0_PINMUX0_23_20_UART1_CTS (0x00000004u) +#define SYSCFG_PINMUX0_PINMUX0_23_20_GPIO0_10 (0x00000008u) + +#define SYSCFG_PINMUX0_PINMUX0_19_16 (0x000F0000u) +#define SYSCFG_PINMUX0_PINMUX0_19_16_SHIFT (0x00000010u) +/*----PINMUX0_19_16 Tokens----*/ +#define SYSCFG_PINMUX0_PINMUX0_19_16_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX0_PINMUX0_19_16_AHCLKR0 (0x00000001u) +#define SYSCFG_PINMUX0_PINMUX0_19_16_PRU0_R30_18 (0x00000002u) +#define SYSCFG_PINMUX0_PINMUX0_19_16_UART1_RTS (0x00000004u) +#define SYSCFG_PINMUX0_PINMUX0_19_16_GPIO0_11 (0x00000008u) + +#define SYSCFG_PINMUX0_PINMUX0_15_12 (0x0000F000u) +#define SYSCFG_PINMUX0_PINMUX0_15_12_SHIFT (0x0000000Cu) +/*----PINMUX0_15_12 Tokens----*/ +#define SYSCFG_PINMUX0_PINMUX0_15_12_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX0_PINMUX0_15_12_AFSX0 (0x00000001u) +#define SYSCFG_PINMUX0_PINMUX0_15_12_RESERVED2 (0x00000002u) +#define SYSCFG_PINMUX0_PINMUX0_15_12_OBSERVE0_LOS (0x00000004u) +#define SYSCFG_PINMUX0_PINMUX0_15_12_GPIO0_12 (0x00000008u) + +#define SYSCFG_PINMUX0_PINMUX0_11_8 (0x00000F00u) +#define SYSCFG_PINMUX0_PINMUX0_11_8_SHIFT (0x00000008u) +/*----PINMUX0_11_8 Tokens----*/ +#define SYSCFG_PINMUX0_PINMUX0_11_8_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX0_PINMUX0_11_8_AFSR0 (0x00000001u) +#define SYSCFG_PINMUX0_PINMUX0_11_8_RESERVED2 (0x00000002u) +#define SYSCFG_PINMUX0_PINMUX0_11_8_OBSERVE0_SYNC (0x00000004u) +#define SYSCFG_PINMUX0_PINMUX0_11_8_GPIO0_13 (0x00000008u) + +#define SYSCFG_PINMUX0_PINMUX0_7_4 (0x000000F0u) +#define SYSCFG_PINMUX0_PINMUX0_7_4_SHIFT (0x00000004u) +/*----PINMUX0_7_4 Tokens----*/ +#define SYSCFG_PINMUX0_PINMUX0_7_4_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX0_PINMUX0_7_4_ACLKX0 (0x00000001u) +#define SYSCFG_PINMUX0_PINMUX0_7_4_RESERVED2 (0x00000002u) +#define SYSCFG_PINMUX0_PINMUX0_7_4_PRU0_R30_19 (0x00000004u) +#define SYSCFG_PINMUX0_PINMUX0_7_4_GPIO0_14 (0x00000008u) + +#define SYSCFG_PINMUX0_PINMUX0_3_0 (0x0000000Fu) +#define SYSCFG_PINMUX0_PINMUX0_3_0_SHIFT (0x00000000u) +/*----PINMUX0_3_0 Tokens----*/ +#define SYSCFG_PINMUX0_PINMUX0_3_0_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX0_PINMUX0_3_0_ACLKR0 (0x00000001u) +#define SYSCFG_PINMUX0_PINMUX0_3_0_RESERVED2 (0x00000002u) +#define SYSCFG_PINMUX0_PINMUX0_3_0_PRU0_R30_20 (0x00000004u) +#define SYSCFG_PINMUX0_PINMUX0_3_0_GPIO0_15 (0x00000008u) + + +/* PINMUX1 */ + +#define SYSCFG_PINMUX1_PINMUX1_31_28 (0xF0000000u) +#define SYSCFG_PINMUX1_PINMUX1_31_28_SHIFT (0x0000001Cu) +/*----PINMUX1_31_28 Tokens----*/ +#define SYSCFG_PINMUX1_PINMUX1_31_28_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX1_PINMUX1_31_28_AXR0_8 (0x00000001u) +#define SYSCFG_PINMUX1_PINMUX1_31_28_CLKS1 (0x00000002u) +#define SYSCFG_PINMUX1_PINMUX1_31_28_ECAP1 (0x00000004u) +#define SYSCFG_PINMUX1_PINMUX1_31_28_GPIO0_0 (0x00000008u) + +#define SYSCFG_PINMUX1_PINMUX1_27_24 (0x0F000000u) +#define SYSCFG_PINMUX1_PINMUX1_27_24_SHIFT (0x00000018u) +/*----PINMUX1_27_24 Tokens----*/ +#define SYSCFG_PINMUX1_PINMUX1_27_24_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX1_PINMUX1_27_24_AXR0_9 (0x00000001u) +#define SYSCFG_PINMUX1_PINMUX1_27_24_DX1 (0x00000002u) +#define SYSCFG_PINMUX1_PINMUX1_27_24_OBSERVE0_PHY_STATE2 (0x00000004u) +#define SYSCFG_PINMUX1_PINMUX1_27_24_GPIO0_1 (0x00000008u) + +#define SYSCFG_PINMUX1_PINMUX1_23_20 (0x00F00000u) +#define SYSCFG_PINMUX1_PINMUX1_23_20_SHIFT (0x00000014u) +/*----PINMUX1_23_20 Tokens----*/ +#define SYSCFG_PINMUX1_PINMUX1_23_20_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX1_PINMUX1_23_20_AXR0_10 (0x00000001u) +#define SYSCFG_PINMUX1_PINMUX1_23_20_DR1 (0x00000002u) +#define SYSCFG_PINMUX1_PINMUX1_23_20_OBSERVE0_PHY_STATE1 (0x00000004u) +#define SYSCFG_PINMUX1_PINMUX1_23_20_GPIO0_2 (0x00000008u) + +#define SYSCFG_PINMUX1_PINMUX1_19_16 (0x000F0000u) +#define SYSCFG_PINMUX1_PINMUX1_19_16_SHIFT (0x00000010u) +/*----PINMUX1_19_16 Tokens----*/ +#define SYSCFG_PINMUX1_PINMUX1_19_16_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX1_PINMUX1_19_16_AXR0_11 (0x00000001u) +#define SYSCFG_PINMUX1_PINMUX1_19_16_FSX1 (0x00000002u) +#define SYSCFG_PINMUX1_PINMUX1_19_16_OBSERVE0_PHY_STATE0 (0x00000004u) +#define SYSCFG_PINMUX1_PINMUX1_19_16_GPIO0_3 (0x00000008u) + +#define SYSCFG_PINMUX1_PINMUX1_15_12 (0x0000F000u) +#define SYSCFG_PINMUX1_PINMUX1_15_12_SHIFT (0x0000000Cu) +/*----PINMUX1_15_12 Tokens----*/ +#define SYSCFG_PINMUX1_PINMUX1_15_12_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX1_PINMUX1_15_12_AXR0_12 (0x00000001u) +#define SYSCFG_PINMUX1_PINMUX1_15_12_FSR1 (0x00000002u) +#define SYSCFG_PINMUX1_PINMUX1_15_12_OBSERVE0_PHY_READY (0x00000004u) +#define SYSCFG_PINMUX1_PINMUX1_15_12_GPIO0_4 (0x00000008u) + +#define SYSCFG_PINMUX1_PINMUX1_11_8 (0x00000F00u) +#define SYSCFG_PINMUX1_PINMUX1_11_8_SHIFT (0x00000008u) +/*----PINMUX1_11_8 Tokens----*/ +#define SYSCFG_PINMUX1_PINMUX1_11_8_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX1_PINMUX1_11_8_AXR0_13 (0x00000001u) +#define SYSCFG_PINMUX1_PINMUX1_11_8_CLKX1 (0x00000002u) +#define SYSCFG_PINMUX1_PINMUX1_11_8_OBSERVE0_COMINIT (0x00000004u) +#define SYSCFG_PINMUX1_PINMUX1_11_8_GPIO0_5 (0x00000008u) + +#define SYSCFG_PINMUX1_PINMUX1_7_4 (0x000000F0u) +#define SYSCFG_PINMUX1_PINMUX1_7_4_SHIFT (0x00000004u) +/*----PINMUX1_7_4 Tokens----*/ +#define SYSCFG_PINMUX1_PINMUX1_7_4_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX1_PINMUX1_7_4_AXR0_14 (0x00000001u) +#define SYSCFG_PINMUX1_PINMUX1_7_4_CLKR1 (0x00000002u) +#define SYSCFG_PINMUX1_PINMUX1_7_4_OBSERVE0_COMWAKE (0x00000004u) +#define SYSCFG_PINMUX1_PINMUX1_7_4_GPIO0_6 (0x00000008u) + +#define SYSCFG_PINMUX1_PINMUX1_3_0 (0x0000000Fu) +#define SYSCFG_PINMUX1_PINMUX1_3_0_SHIFT (0x00000000u) +/*----PINMUX1_3_0 Tokens----*/ +#define SYSCFG_PINMUX1_PINMUX1_3_0_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX1_PINMUX1_3_0_AXR0_15 (0x00000001u) +#define SYSCFG_PINMUX1_PINMUX1_3_0_EPWM0TZ0 (0x00000002u) +#define SYSCFG_PINMUX1_PINMUX1_3_0_ECAP2 (0x00000004u) +#define SYSCFG_PINMUX1_PINMUX1_3_0_GPIO0_7 (0x00000008u) + + +/* PINMUX2 */ + +#define SYSCFG_PINMUX2_PINMUX2_31_28 (0xF0000000u) +#define SYSCFG_PINMUX2_PINMUX2_31_28_SHIFT (0x0000001Cu) +/*----PINMUX2_31_28 Tokens----*/ +#define SYSCFG_PINMUX2_PINMUX2_31_28_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX2_PINMUX2_31_28_AXR0_0 (0x00000001u) +#define SYSCFG_PINMUX2_PINMUX2_31_28_ECAP0 (0x00000002u) +#define SYSCFG_PINMUX2_PINMUX2_31_28_GPIO8_7 (0x00000004u) +#define SYSCFG_PINMUX2_PINMUX2_31_28_MII_TXD0 (0x00000008u) + +#define SYSCFG_PINMUX2_PINMUX2_27_24 (0x0F000000u) +#define SYSCFG_PINMUX2_PINMUX2_27_24_SHIFT (0x00000018u) +/*----PINMUX2_27_24 Tokens----*/ +#define SYSCFG_PINMUX2_PINMUX2_27_24_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX2_PINMUX2_27_24_AXR0_1 (0x00000001u) +#define SYSCFG_PINMUX2_PINMUX2_27_24_DX0 (0x00000002u) +#define SYSCFG_PINMUX2_PINMUX2_27_24_GPIO1_9 (0x00000004u) +#define SYSCFG_PINMUX2_PINMUX2_27_24_MII_TXD1 (0x00000008u) + +#define SYSCFG_PINMUX2_PINMUX2_23_20 (0x00F00000u) +#define SYSCFG_PINMUX2_PINMUX2_23_20_SHIFT (0x00000014u) +/*----PINMUX2_23_20 Tokens----*/ +#define SYSCFG_PINMUX2_PINMUX2_23_20_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX2_PINMUX2_23_20_AXR0_2 (0x00000001u) +#define SYSCFG_PINMUX2_PINMUX2_23_20_DR0 (0x00000002u) +#define SYSCFG_PINMUX2_PINMUX2_23_20_GPIO1_10 (0x00000004u) +#define SYSCFG_PINMUX2_PINMUX2_23_20_MII_TXD2 (0x00000008u) + +#define SYSCFG_PINMUX2_PINMUX2_19_16 (0x000F0000u) +#define SYSCFG_PINMUX2_PINMUX2_19_16_SHIFT (0x00000010u) +/*----PINMUX2_19_16 Tokens----*/ +#define SYSCFG_PINMUX2_PINMUX2_19_16_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX2_PINMUX2_19_16_AXR0_3 (0x00000001u) +#define SYSCFG_PINMUX2_PINMUX2_19_16_FSX0 (0x00000002u) +#define SYSCFG_PINMUX2_PINMUX2_19_16_GPIO1_11 (0x00000004u) +#define SYSCFG_PINMUX2_PINMUX2_19_16_MII_TXD3 (0x00000008u) + +#define SYSCFG_PINMUX2_PINMUX2_15_12 (0x0000F000u) +#define SYSCFG_PINMUX2_PINMUX2_15_12_SHIFT (0x0000000Cu) +/*----PINMUX2_15_12 Tokens----*/ +#define SYSCFG_PINMUX2_PINMUX2_15_12_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX2_PINMUX2_15_12_AXR0_4 (0x00000001u) +#define SYSCFG_PINMUX2_PINMUX2_15_12_FSR0 (0x00000002u) +#define SYSCFG_PINMUX2_PINMUX2_15_12_GPIO1_12 (0x00000004u) +#define SYSCFG_PINMUX2_PINMUX2_15_12_MII_COL (0x00000008u) + +#define SYSCFG_PINMUX2_PINMUX2_11_8 (0x00000F00u) +#define SYSCFG_PINMUX2_PINMUX2_11_8_SHIFT (0x00000008u) +/*----PINMUX2_11_8 Tokens----*/ +#define SYSCFG_PINMUX2_PINMUX2_11_8_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX2_PINMUX2_11_8_AXR0_5 (0x00000001u) +#define SYSCFG_PINMUX2_PINMUX2_11_8_CLKX0 (0x00000002u) +#define SYSCFG_PINMUX2_PINMUX2_11_8_GPIO1_13 (0x00000004u) +#define SYSCFG_PINMUX2_PINMUX2_11_8_MII_TXCLK (0x00000008u) + +#define SYSCFG_PINMUX2_PINMUX2_7_4 (0x000000F0u) +#define SYSCFG_PINMUX2_PINMUX2_7_4_SHIFT (0x00000004u) +/*----PINMUX2_7_4 Tokens----*/ +#define SYSCFG_PINMUX2_PINMUX2_7_4_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX2_PINMUX2_7_4_AXR0_6 (0x00000001u) +#define SYSCFG_PINMUX2_PINMUX2_7_4_CLKR0 (0x00000002u) +#define SYSCFG_PINMUX2_PINMUX2_7_4_GPIO1_14 (0x00000004u) +#define SYSCFG_PINMUX2_PINMUX2_7_4_MII_TXEN (0x00000008u) + +#define SYSCFG_PINMUX2_PINMUX2_3_0 (0x0000000Fu) +#define SYSCFG_PINMUX2_PINMUX2_3_0_SHIFT (0x00000000u) +/*----PINMUX2_3_0 Tokens----*/ +#define SYSCFG_PINMUX2_PINMUX2_3_0_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX2_PINMUX2_3_0_AXR0_7 (0x00000001u) +#define SYSCFG_PINMUX2_PINMUX2_3_0_EPWM1TZ0 (0x00000002u) +#define SYSCFG_PINMUX2_PINMUX2_3_0_PRU0_R30_17 (0x00000004u) +#define SYSCFG_PINMUX2_PINMUX2_3_0_GPIO1_15 (0x00000008u) + + +/* PINMUX3 */ + +#define SYSCFG_PINMUX3_PINMUX3_31_28 (0xF0000000u) +#define SYSCFG_PINMUX3_PINMUX3_31_28_SHIFT (0x0000001Cu) +/*----PINMUX3_31_28 Tokens----*/ +#define SYSCFG_PINMUX3_PINMUX3_31_28_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX3_PINMUX3_31_28_NSPI0_SCS2 (0x00000001u) +#define SYSCFG_PINMUX3_PINMUX3_31_28_UART0_RTS (0x00000002u) +#define SYSCFG_PINMUX3_PINMUX3_31_28_GPIO8_1 (0x00000004u) +#define SYSCFG_PINMUX3_PINMUX3_31_28_MII_RXD0 (0x00000008u) + +#define SYSCFG_PINMUX3_PINMUX3_27_24 (0x0F000000u) +#define SYSCFG_PINMUX3_PINMUX3_27_24_SHIFT (0x00000018u) +/*----PINMUX3_27_24 Tokens----*/ +#define SYSCFG_PINMUX3_PINMUX3_27_24_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX3_PINMUX3_27_24_NSPI0_SCS3 (0x00000001u) +#define SYSCFG_PINMUX3_PINMUX3_27_24_UART0_CTS (0x00000002u) +#define SYSCFG_PINMUX3_PINMUX3_27_24_GPIO8_2 (0x00000004u) +#define SYSCFG_PINMUX3_PINMUX3_27_24_MII_RXD1 (0x00000008u) + +#define SYSCFG_PINMUX3_PINMUX3_23_20 (0x00F00000u) +#define SYSCFG_PINMUX3_PINMUX3_23_20_SHIFT (0x00000014u) +/*----PINMUX3_23_20 Tokens----*/ +#define SYSCFG_PINMUX3_PINMUX3_23_20_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX3_PINMUX3_23_20_NSPI0_SCS4 (0x00000001u) +#define SYSCFG_PINMUX3_PINMUX3_23_20_UART0_TXD (0x00000002u) +#define SYSCFG_PINMUX3_PINMUX3_23_20_GPIO8_3 (0x00000004u) +#define SYSCFG_PINMUX3_PINMUX3_23_20_MII_RXD2 (0x00000008u) + +#define SYSCFG_PINMUX3_PINMUX3_19_16 (0x000F0000u) +#define SYSCFG_PINMUX3_PINMUX3_19_16_SHIFT (0x00000010u) +/*----PINMUX3_19_16 Tokens----*/ +#define SYSCFG_PINMUX3_PINMUX3_19_16_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX3_PINMUX3_19_16_NSPI0_SCS5 (0x00000001u) +#define SYSCFG_PINMUX3_PINMUX3_19_16_UART0_RXD (0x00000002u) +#define SYSCFG_PINMUX3_PINMUX3_19_16_GPIO8_4 (0x00000004u) +#define SYSCFG_PINMUX3_PINMUX3_19_16_MII_RXD3 (0x00000008u) + +#define SYSCFG_PINMUX3_PINMUX3_15_12 (0x0000F000u) +#define SYSCFG_PINMUX3_PINMUX3_15_12_SHIFT (0x0000000Cu) +/*----PINMUX3_15_12 Tokens----*/ +#define SYSCFG_PINMUX3_PINMUX3_15_12_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX3_PINMUX3_15_12_SPI0_SIMO0 (0x00000001u) +#define SYSCFG_PINMUX3_PINMUX3_15_12_EPWMSYNCO (0x00000002u) +#define SYSCFG_PINMUX3_PINMUX3_15_12_GPIO8_5 (0x00000004u) +#define SYSCFG_PINMUX3_PINMUX3_15_12_MII_CRS (0x00000008u) + +#define SYSCFG_PINMUX3_PINMUX3_11_8 (0x00000F00u) +#define SYSCFG_PINMUX3_PINMUX3_11_8_SHIFT (0x00000008u) +/*----PINMUX3_11_8 Tokens----*/ +#define SYSCFG_PINMUX3_PINMUX3_11_8_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX3_PINMUX3_11_8_SPI0_SOMI0 (0x00000001u) +#define SYSCFG_PINMUX3_PINMUX3_11_8_EPWMSYNCI (0x00000002u) +#define SYSCFG_PINMUX3_PINMUX3_11_8_GPIO8_6 (0x00000004u) +#define SYSCFG_PINMUX3_PINMUX3_11_8_MII_RXER (0x00000008u) + +#define SYSCFG_PINMUX3_PINMUX3_7_4 (0x000000F0u) +#define SYSCFG_PINMUX3_PINMUX3_7_4_SHIFT (0x00000004u) +/*----PINMUX3_7_4 Tokens----*/ +#define SYSCFG_PINMUX3_PINMUX3_7_4_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX3_PINMUX3_7_4_NSPI0_ENA (0x00000001u) +#define SYSCFG_PINMUX3_PINMUX3_7_4_EPWM0B (0x00000002u) +#define SYSCFG_PINMUX3_PINMUX3_7_4_PRU0_R30_6 (0x00000004u) +#define SYSCFG_PINMUX3_PINMUX3_7_4_MII_RXDV (0x00000008u) + +#define SYSCFG_PINMUX3_PINMUX3_3_0 (0x0000000Fu) +#define SYSCFG_PINMUX3_PINMUX3_3_0_SHIFT (0x00000000u) +/*----PINMUX3_3_0 Tokens----*/ +#define SYSCFG_PINMUX3_PINMUX3_3_0_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX3_PINMUX3_3_0_SPI0_CLK (0x00000001u) +#define SYSCFG_PINMUX3_PINMUX3_3_0_EPWM0A (0x00000002u) +#define SYSCFG_PINMUX3_PINMUX3_3_0_GPIO1_8 (0x00000004u) +#define SYSCFG_PINMUX3_PINMUX3_3_0_MII_RXCLK (0x00000008u) + + +/* PINMUX4 */ + +#define SYSCFG_PINMUX4_PINMUX4_31_28 (0xF0000000u) +#define SYSCFG_PINMUX4_PINMUX4_31_28_SHIFT (0x0000001Cu) +/*----PINMUX4_31_28 Tokens----*/ +#define SYSCFG_PINMUX4_PINMUX4_31_28_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX4_PINMUX4_31_28_NSPI1_SCS2 (0x00000001u) +#define SYSCFG_PINMUX4_PINMUX4_31_28_UART1_TXD (0x00000002u) +#define SYSCFG_PINMUX4_PINMUX4_31_28_CP_POD (0x00000004u) +#define SYSCFG_PINMUX4_PINMUX4_31_28_GPIO1_0 (0x00000008u) + +#define SYSCFG_PINMUX4_PINMUX4_27_24 (0x0F000000u) +#define SYSCFG_PINMUX4_PINMUX4_27_24_SHIFT (0x00000018u) +/*----PINMUX4_27_24 Tokens----*/ +#define SYSCFG_PINMUX4_PINMUX4_27_24_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX4_PINMUX4_27_24_NSPI1_SCS3 (0x00000001u) +#define SYSCFG_PINMUX4_PINMUX4_27_24_UART1_RXD (0x00000002u) +#define SYSCFG_PINMUX4_PINMUX4_27_24_LED (0x00000004u) +#define SYSCFG_PINMUX4_PINMUX4_27_24_GPIO1_1 (0x00000008u) + +#define SYSCFG_PINMUX4_PINMUX4_23_20 (0x00F00000u) +#define SYSCFG_PINMUX4_PINMUX4_23_20_SHIFT (0x00000014u) +/*----PINMUX4_23_20 Tokens----*/ +#define SYSCFG_PINMUX4_PINMUX4_23_20_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX4_PINMUX4_23_20_NSPI1_SCS4 (0x00000001u) +#define SYSCFG_PINMUX4_PINMUX4_23_20_UART2_TXD (0x00000002u) +#define SYSCFG_PINMUX4_PINMUX4_23_20_I2C1_SDA (0x00000004u) +#define SYSCFG_PINMUX4_PINMUX4_23_20_GPIO1_2 (0x00000008u) + +#define SYSCFG_PINMUX4_PINMUX4_19_16 (0x000F0000u) +#define SYSCFG_PINMUX4_PINMUX4_19_16_SHIFT (0x00000010u) +/*----PINMUX4_19_16 Tokens----*/ +#define SYSCFG_PINMUX4_PINMUX4_19_16_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX4_PINMUX4_19_16_NSPI1_SCS5 (0x00000001u) +#define SYSCFG_PINMUX4_PINMUX4_19_16_UART2_RXD (0x00000002u) +#define SYSCFG_PINMUX4_PINMUX4_19_16_I2C1_SCL (0x00000004u) +#define SYSCFG_PINMUX4_PINMUX4_19_16_GPIO1_3 (0x00000008u) + +#define SYSCFG_PINMUX4_PINMUX4_15_12 (0x0000F000u) +#define SYSCFG_PINMUX4_PINMUX4_15_12_SHIFT (0x0000000Cu) +/*----PINMUX4_15_12 Tokens----*/ +#define SYSCFG_PINMUX4_PINMUX4_15_12_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX4_PINMUX4_15_12_NSPI1_SCS6 (0x00000001u) +#define SYSCFG_PINMUX4_PINMUX4_15_12_I2C0_SDA (0x00000002u) +#define SYSCFG_PINMUX4_PINMUX4_15_12_TM64P3_OUT12 (0x00000004u) +#define SYSCFG_PINMUX4_PINMUX4_15_12_GPIO1_4 (0x00000008u) + +#define SYSCFG_PINMUX4_PINMUX4_11_8 (0x00000F00u) +#define SYSCFG_PINMUX4_PINMUX4_11_8_SHIFT (0x00000008u) +/*----PINMUX4_11_8 Tokens----*/ +#define SYSCFG_PINMUX4_PINMUX4_11_8_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX4_PINMUX4_11_8_NSPI1_SCS7 (0x00000001u) +#define SYSCFG_PINMUX4_PINMUX4_11_8_I2C0_SCL (0x00000002u) +#define SYSCFG_PINMUX4_PINMUX4_11_8_TM64P2_OUT12 (0x00000004u) +#define SYSCFG_PINMUX4_PINMUX4_11_8_GPIO1_5 (0x00000008u) + +#define SYSCFG_PINMUX4_PINMUX4_7_4 (0x000000F0u) +#define SYSCFG_PINMUX4_PINMUX4_7_4_SHIFT (0x00000004u) +/*----PINMUX4_7_4 Tokens----*/ +#define SYSCFG_PINMUX4_PINMUX4_7_4_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX4_PINMUX4_7_4_NSPI0_SCS0 (0x00000001u) +#define SYSCFG_PINMUX4_PINMUX4_7_4_TM64P1_OUT12 (0x00000002u) +#define SYSCFG_PINMUX4_PINMUX4_7_4_GPIO1_6 (0x00000004u) +#define SYSCFG_PINMUX4_PINMUX4_7_4_MDIO_D (0x00000008u) + +#define SYSCFG_PINMUX4_PINMUX4_3_0 (0x0000000Fu) +#define SYSCFG_PINMUX4_PINMUX4_3_0_SHIFT (0x00000000u) +/*----PINMUX4_3_0 Tokens----*/ +#define SYSCFG_PINMUX4_PINMUX4_3_0_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX4_PINMUX4_3_0_NSPI0_SCS1 (0x00000001u) +#define SYSCFG_PINMUX4_PINMUX4_3_0_TM64P0_OUT12 (0x00000002u) +#define SYSCFG_PINMUX4_PINMUX4_3_0_GPIO1_7 (0x00000004u) +#define SYSCFG_PINMUX4_PINMUX4_3_0_MDIO_CLK (0x00000008u) + + +/* PINMUX5 */ + +#define SYSCFG_PINMUX5_PINMUX5_31_28 (0xF0000000u) +#define SYSCFG_PINMUX5_PINMUX5_31_28_SHIFT (0x0000001Cu) +/*----PINMUX5_31_28 Tokens----*/ +#define SYSCFG_PINMUX5_PINMUX5_31_28_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX5_PINMUX5_31_28_EMA_BA0 (0x00000001u) +#define SYSCFG_PINMUX5_PINMUX5_31_28_RESERVED2 (0x00000002u) +#define SYSCFG_PINMUX5_PINMUX5_31_28_RESERVED4 (0x00000004u) +#define SYSCFG_PINMUX5_PINMUX5_31_28_GPIO2_8 (0x00000008u) + +#define SYSCFG_PINMUX5_PINMUX5_27_24 (0x0F000000u) +#define SYSCFG_PINMUX5_PINMUX5_27_24_SHIFT (0x00000018u) +/*----PINMUX5_27_24 Tokens----*/ +#define SYSCFG_PINMUX5_PINMUX5_27_24_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX5_PINMUX5_27_24_EMA_BA1 (0x00000001u) +#define SYSCFG_PINMUX5_PINMUX5_27_24_RESERVED2 (0x00000002u) +#define SYSCFG_PINMUX5_PINMUX5_27_24_RESERVED4 (0x00000004u) +#define SYSCFG_PINMUX5_PINMUX5_27_24_GPIO2_9 (0x00000008u) + +#define SYSCFG_PINMUX5_PINMUX5_23_20 (0x00F00000u) +#define SYSCFG_PINMUX5_PINMUX5_23_20_SHIFT (0x00000014u) +/*----PINMUX5_23_20 Tokens----*/ +#define SYSCFG_PINMUX5_PINMUX5_23_20_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX5_PINMUX5_23_20_SPI1_SIMO0 (0x00000001u) +#define SYSCFG_PINMUX5_PINMUX5_23_20_RESERVED2 (0x00000002u) +#define SYSCFG_PINMUX5_PINMUX5_23_20_RESERVED4 (0x00000004u) +#define SYSCFG_PINMUX5_PINMUX5_23_20_GPIO2_10 (0x00000008u) + +#define SYSCFG_PINMUX5_PINMUX5_19_16 (0x000F0000u) +#define SYSCFG_PINMUX5_PINMUX5_19_16_SHIFT (0x00000010u) +/*----PINMUX5_19_16 Tokens----*/ +#define SYSCFG_PINMUX5_PINMUX5_19_16_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX5_PINMUX5_19_16_SPI1_SOMI0 (0x00000001u) +#define SYSCFG_PINMUX5_PINMUX5_19_16_RESERVED2 (0x00000002u) +#define SYSCFG_PINMUX5_PINMUX5_19_16_RESERVED4 (0x00000004u) +#define SYSCFG_PINMUX5_PINMUX5_19_16_GPIO2_11 (0x00000008u) + +#define SYSCFG_PINMUX5_PINMUX5_15_12 (0x0000F000u) +#define SYSCFG_PINMUX5_PINMUX5_15_12_SHIFT (0x0000000Cu) +/*----PINMUX5_15_12 Tokens----*/ +#define SYSCFG_PINMUX5_PINMUX5_15_12_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX5_PINMUX5_15_12_NSPI1_ENA (0x00000001u) +#define SYSCFG_PINMUX5_PINMUX5_15_12_RESERVED2 (0x00000002u) +#define SYSCFG_PINMUX5_PINMUX5_15_12_RESERVED4 (0x00000004u) +#define SYSCFG_PINMUX5_PINMUX5_15_12_GPIO2_12 (0x00000008u) + +#define SYSCFG_PINMUX5_PINMUX5_11_8 (0x00000F00u) +#define SYSCFG_PINMUX5_PINMUX5_11_8_SHIFT (0x00000008u) +/*----PINMUX5_11_8 Tokens----*/ +#define SYSCFG_PINMUX5_PINMUX5_11_8_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX5_PINMUX5_11_8_SPI1_CLK (0x00000001u) +#define SYSCFG_PINMUX5_PINMUX5_11_8_RESERVED2 (0x00000002u) +#define SYSCFG_PINMUX5_PINMUX5_11_8_RESERVED4 (0x00000004u) +#define SYSCFG_PINMUX5_PINMUX5_11_8_GPIO2_13 (0x00000008u) + +#define SYSCFG_PINMUX5_PINMUX5_7_4 (0x000000F0u) +#define SYSCFG_PINMUX5_PINMUX5_7_4_SHIFT (0x00000004u) +/*----PINMUX5_7_4 Tokens----*/ +#define SYSCFG_PINMUX5_PINMUX5_7_4_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX5_PINMUX5_7_4_NSPI1_SCS0 (0x00000001u) +#define SYSCFG_PINMUX5_PINMUX5_7_4_EPWM1B (0x00000002u) +#define SYSCFG_PINMUX5_PINMUX5_7_4_PRU0_R30_7 (0x00000004u) +#define SYSCFG_PINMUX5_PINMUX5_7_4_GPIO2_14 (0x00000008u) + +#define SYSCFG_PINMUX5_PINMUX5_3_0 (0x0000000Fu) +#define SYSCFG_PINMUX5_PINMUX5_3_0_SHIFT (0x00000000u) +/*----PINMUX5_3_0 Tokens----*/ +#define SYSCFG_PINMUX5_PINMUX5_3_0_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX5_PINMUX5_3_0_NSPI1_SCS1 (0x00000001u) +#define SYSCFG_PINMUX5_PINMUX5_3_0_EPWM1A (0x00000002u) +#define SYSCFG_PINMUX5_PINMUX5_3_0_PRU0_R30_8 (0x00000004u) +#define SYSCFG_PINMUX5_PINMUX5_3_0_GPIO2_15 (0x00000008u) + + +/* PINMUX6 */ + +#define SYSCFG_PINMUX6_PINMUX6_31_28 (0xF0000000u) +#define SYSCFG_PINMUX6_PINMUX6_31_28_SHIFT (0x0000001Cu) +/*----PINMUX6_31_28 Tokens----*/ +#define SYSCFG_PINMUX6_PINMUX6_31_28_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX6_PINMUX6_31_28_NEMA_CS0 (0x00000001u) +#define SYSCFG_PINMUX6_PINMUX6_31_28_RESERVED2 (0x00000002u) +#define SYSCFG_PINMUX6_PINMUX6_31_28_RESERVED4 (0x00000004u) +#define SYSCFG_PINMUX6_PINMUX6_31_28_GPIO2_0 (0x00000008u) + +#define SYSCFG_PINMUX6_PINMUX6_27_24 (0x0F000000u) +#define SYSCFG_PINMUX6_PINMUX6_27_24_SHIFT (0x00000018u) +/*----PINMUX6_27_24 Tokens----*/ +#define SYSCFG_PINMUX6_PINMUX6_27_24_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX6_PINMUX6_27_24_EMA_WAIT1 (0x00000001u) +#define SYSCFG_PINMUX6_PINMUX6_27_24_RESERVED2 (0x00000002u) +#define SYSCFG_PINMUX6_PINMUX6_27_24_PRU0_R30_1 (0x00000004u) +#define SYSCFG_PINMUX6_PINMUX6_27_24_GPIO2_1 (0x00000008u) + +#define SYSCFG_PINMUX6_PINMUX6_23_20 (0x00F00000u) +#define SYSCFG_PINMUX6_PINMUX6_23_20_SHIFT (0x00000014u) +/*----PINMUX6_23_20 Tokens----*/ +#define SYSCFG_PINMUX6_PINMUX6_23_20_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX6_PINMUX6_23_20_NEMA_WE_DQM1 (0x00000001u) +#define SYSCFG_PINMUX6_PINMUX6_23_20_RESERVED2 (0x00000002u) +#define SYSCFG_PINMUX6_PINMUX6_23_20_RESERVED4 (0x00000004u) +#define SYSCFG_PINMUX6_PINMUX6_23_20_GPIO2_2 (0x00000008u) + +#define SYSCFG_PINMUX6_PINMUX6_19_16 (0x000F0000u) +#define SYSCFG_PINMUX6_PINMUX6_19_16_SHIFT (0x00000010u) +/*----PINMUX6_19_16 Tokens----*/ +#define SYSCFG_PINMUX6_PINMUX6_19_16_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX6_PINMUX6_19_16_NEMA_WE_DQM0 (0x00000001u) +#define SYSCFG_PINMUX6_PINMUX6_19_16_RESERVED2 (0x00000002u) +#define SYSCFG_PINMUX6_PINMUX6_19_16_RESERVED4 (0x00000004u) +#define SYSCFG_PINMUX6_PINMUX6_19_16_GPIO2_3 (0x00000008u) + +#define SYSCFG_PINMUX6_PINMUX6_15_12 (0x0000F000u) +#define SYSCFG_PINMUX6_PINMUX6_15_12_SHIFT (0x0000000Cu) +/*----PINMUX6_15_12 Tokens----*/ +#define SYSCFG_PINMUX6_PINMUX6_15_12_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX6_PINMUX6_15_12_NEMA_CAS (0x00000001u) +#define SYSCFG_PINMUX6_PINMUX6_15_12_RESERVED2 (0x00000002u) +#define SYSCFG_PINMUX6_PINMUX6_15_12_PRU0_R30_2 (0x00000004u) +#define SYSCFG_PINMUX6_PINMUX6_15_12_GPIO2_4 (0x00000008u) + +#define SYSCFG_PINMUX6_PINMUX6_11_8 (0x00000F00u) +#define SYSCFG_PINMUX6_PINMUX6_11_8_SHIFT (0x00000008u) +/*----PINMUX6_11_8 Tokens----*/ +#define SYSCFG_PINMUX6_PINMUX6_11_8_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX6_PINMUX6_11_8_NEMA_RAS (0x00000001u) +#define SYSCFG_PINMUX6_PINMUX6_11_8_RESERVED2 (0x00000002u) +#define SYSCFG_PINMUX6_PINMUX6_11_8_PRU0_R30_3 (0x00000004u) +#define SYSCFG_PINMUX6_PINMUX6_11_8_GPIO2_5 (0x00000008u) + +#define SYSCFG_PINMUX6_PINMUX6_7_4 (0x000000F0u) +#define SYSCFG_PINMUX6_PINMUX6_7_4_SHIFT (0x00000004u) +/*----PINMUX6_7_4 Tokens----*/ +#define SYSCFG_PINMUX6_PINMUX6_7_4_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX6_PINMUX6_7_4_EMA_SDCKE (0x00000001u) +#define SYSCFG_PINMUX6_PINMUX6_7_4_RESERVED2 (0x00000002u) +#define SYSCFG_PINMUX6_PINMUX6_7_4_PRU0_R30_4 (0x00000004u) +#define SYSCFG_PINMUX6_PINMUX6_7_4_GPIO2_6 (0x00000008u) + +#define SYSCFG_PINMUX6_PINMUX6_3_0 (0x0000000Fu) +#define SYSCFG_PINMUX6_PINMUX6_3_0_SHIFT (0x00000000u) +/*----PINMUX6_3_0 Tokens----*/ +#define SYSCFG_PINMUX6_PINMUX6_3_0_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX6_PINMUX6_3_0_EMA_CLK (0x00000001u) +#define SYSCFG_PINMUX6_PINMUX6_3_0_RESERVED2 (0x00000002u) +#define SYSCFG_PINMUX6_PINMUX6_3_0_PRU0_R30_5 (0x00000004u) +#define SYSCFG_PINMUX6_PINMUX6_3_0_GPIO2_7 (0x00000008u) + + +/* PINMUX7 */ + +#define SYSCFG_PINMUX7_PINMUX7_31_28 (0xF0000000u) +#define SYSCFG_PINMUX7_PINMUX7_31_28_SHIFT (0x0000001Cu) +/*----PINMUX7_31_28 Tokens----*/ +#define SYSCFG_PINMUX7_PINMUX7_31_28_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX7_PINMUX7_31_28_EMA_WAIT0 (0x00000001u) +#define SYSCFG_PINMUX7_PINMUX7_31_28_RESERVED2 (0x00000002u) +#define SYSCFG_PINMUX7_PINMUX7_31_28_PRU0_R30_0 (0x00000004u) +#define SYSCFG_PINMUX7_PINMUX7_31_28_GPIO3_8 (0x00000008u) + +#define SYSCFG_PINMUX7_PINMUX7_27_24 (0x0F000000u) +#define SYSCFG_PINMUX7_PINMUX7_27_24_SHIFT (0x00000018u) +/*----PINMUX7_27_24 Tokens----*/ +#define SYSCFG_PINMUX7_PINMUX7_27_24_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX7_PINMUX7_27_24_NEMA_RNW (0x00000001u) +#define SYSCFG_PINMUX7_PINMUX7_27_24_RESERVED2 (0x00000002u) +#define SYSCFG_PINMUX7_PINMUX7_27_24_RESERVED4 (0x00000004u) +#define SYSCFG_PINMUX7_PINMUX7_27_24_GPIO3_9 (0x00000008u) + +#define SYSCFG_PINMUX7_PINMUX7_23_20 (0x00F00000u) +#define SYSCFG_PINMUX7_PINMUX7_23_20_SHIFT (0x00000014u) +/*----PINMUX7_23_20 Tokens----*/ +#define SYSCFG_PINMUX7_PINMUX7_23_20_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX7_PINMUX7_23_20_NEMA_OE (0x00000001u) +#define SYSCFG_PINMUX7_PINMUX7_23_20_RESERVED2 (0x00000002u) +#define SYSCFG_PINMUX7_PINMUX7_23_20_RESERVED4 (0x00000004u) +#define SYSCFG_PINMUX7_PINMUX7_23_20_GPIO3_10 (0x00000008u) + +#define SYSCFG_PINMUX7_PINMUX7_19_16 (0x000F0000u) +#define SYSCFG_PINMUX7_PINMUX7_19_16_SHIFT (0x00000010u) +/*----PINMUX7_19_16 Tokens----*/ +#define SYSCFG_PINMUX7_PINMUX7_19_16_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX7_PINMUX7_19_16_NEMA_WE (0x00000001u) +#define SYSCFG_PINMUX7_PINMUX7_19_16_RESERVED2 (0x00000002u) +#define SYSCFG_PINMUX7_PINMUX7_19_16_RESERVED4 (0x00000004u) +#define SYSCFG_PINMUX7_PINMUX7_19_16_GPIO3_11 (0x00000008u) + +#define SYSCFG_PINMUX7_PINMUX7_15_12 (0x0000F000u) +#define SYSCFG_PINMUX7_PINMUX7_15_12_SHIFT (0x0000000Cu) +/*----PINMUX7_15_12 Tokens----*/ +#define SYSCFG_PINMUX7_PINMUX7_15_12_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX7_PINMUX7_15_12_NEMA_CS5 (0x00000001u) +#define SYSCFG_PINMUX7_PINMUX7_15_12_RESERVED2 (0x00000002u) +#define SYSCFG_PINMUX7_PINMUX7_15_12_RESERVED4 (0x00000004u) +#define SYSCFG_PINMUX7_PINMUX7_15_12_GPIO3_12 (0x00000008u) + +#define SYSCFG_PINMUX7_PINMUX7_11_8 (0x00000F00u) +#define SYSCFG_PINMUX7_PINMUX7_11_8_SHIFT (0x00000008u) +/*----PINMUX7_11_8 Tokens----*/ +#define SYSCFG_PINMUX7_PINMUX7_11_8_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX7_PINMUX7_11_8_NEMA_CS4 (0x00000001u) +#define SYSCFG_PINMUX7_PINMUX7_11_8_RESERVED2 (0x00000002u) +#define SYSCFG_PINMUX7_PINMUX7_11_8_RESERVED4 (0x00000004u) +#define SYSCFG_PINMUX7_PINMUX7_11_8_GPIO3_13 (0x00000008u) + +#define SYSCFG_PINMUX7_PINMUX7_7_4 (0x000000F0u) +#define SYSCFG_PINMUX7_PINMUX7_7_4_SHIFT (0x00000004u) +/*----PINMUX7_7_4 Tokens----*/ +#define SYSCFG_PINMUX7_PINMUX7_7_4_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX7_PINMUX7_7_4_NEMA_CS3 (0x00000001u) +#define SYSCFG_PINMUX7_PINMUX7_7_4_RESERVED2 (0x00000002u) +#define SYSCFG_PINMUX7_PINMUX7_7_4_RESERVED4 (0x00000004u) +#define SYSCFG_PINMUX7_PINMUX7_7_4_GPIO3_14 (0x00000008u) + +#define SYSCFG_PINMUX7_PINMUX7_3_0 (0x0000000Fu) +#define SYSCFG_PINMUX7_PINMUX7_3_0_SHIFT (0x00000000u) +/*----PINMUX7_3_0 Tokens----*/ +#define SYSCFG_PINMUX7_PINMUX7_3_0_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX7_PINMUX7_3_0_NEMA_CS2 (0x00000001u) +#define SYSCFG_PINMUX7_PINMUX7_3_0_RESERVED2 (0x00000002u) +#define SYSCFG_PINMUX7_PINMUX7_3_0_RESERVED4 (0x00000004u) +#define SYSCFG_PINMUX7_PINMUX7_3_0_GPIO3_15 (0x00000008u) + + +/* PINMUX8 */ + +#define SYSCFG_PINMUX8_PINMUX8_31_28 (0xF0000000u) +#define SYSCFG_PINMUX8_PINMUX8_31_28_SHIFT (0x0000001Cu) +/*----PINMUX8_31_28 Tokens----*/ +#define SYSCFG_PINMUX8_PINMUX8_31_28_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX8_PINMUX8_31_28_EMA_D8 (0x00000001u) +#define SYSCFG_PINMUX8_PINMUX8_31_28_RESERVED2 (0x00000002u) +#define SYSCFG_PINMUX8_PINMUX8_31_28_RESERVED4 (0x00000004u) +#define SYSCFG_PINMUX8_PINMUX8_31_28_GPIO3_0 (0x00000008u) + +#define SYSCFG_PINMUX8_PINMUX8_27_24 (0x0F000000u) +#define SYSCFG_PINMUX8_PINMUX8_27_24_SHIFT (0x00000018u) +/*----PINMUX8_27_24 Tokens----*/ +#define SYSCFG_PINMUX8_PINMUX8_27_24_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX8_PINMUX8_27_24_EMA_D9 (0x00000001u) +#define SYSCFG_PINMUX8_PINMUX8_27_24_RESERVED2 (0x00000002u) +#define SYSCFG_PINMUX8_PINMUX8_27_24_RESERVED4 (0x00000004u) +#define SYSCFG_PINMUX8_PINMUX8_27_24_GPIO3_1 (0x00000008u) + +#define SYSCFG_PINMUX8_PINMUX8_23_20 (0x00F00000u) +#define SYSCFG_PINMUX8_PINMUX8_23_20_SHIFT (0x00000014u) +/*----PINMUX8_23_20 Tokens----*/ +#define SYSCFG_PINMUX8_PINMUX8_23_20_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX8_PINMUX8_23_20_EMA_D10 (0x00000001u) +#define SYSCFG_PINMUX8_PINMUX8_23_20_RESERVED2 (0x00000002u) +#define SYSCFG_PINMUX8_PINMUX8_23_20_RESERVED4 (0x00000004u) +#define SYSCFG_PINMUX8_PINMUX8_23_20_GPIO3_2 (0x00000008u) + +#define SYSCFG_PINMUX8_PINMUX8_19_16 (0x000F0000u) +#define SYSCFG_PINMUX8_PINMUX8_19_16_SHIFT (0x00000010u) +/*----PINMUX8_19_16 Tokens----*/ +#define SYSCFG_PINMUX8_PINMUX8_19_16_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX8_PINMUX8_19_16_EMA_D11 (0x00000001u) +#define SYSCFG_PINMUX8_PINMUX8_19_16_RESERVED2 (0x00000002u) +#define SYSCFG_PINMUX8_PINMUX8_19_16_RESERVED4 (0x00000004u) +#define SYSCFG_PINMUX8_PINMUX8_19_16_GPIO3_3 (0x00000008u) + +#define SYSCFG_PINMUX8_PINMUX8_15_12 (0x0000F000u) +#define SYSCFG_PINMUX8_PINMUX8_15_12_SHIFT (0x0000000Cu) +/*----PINMUX8_15_12 Tokens----*/ +#define SYSCFG_PINMUX8_PINMUX8_15_12_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX8_PINMUX8_15_12_EMA_D12 (0x00000001u) +#define SYSCFG_PINMUX8_PINMUX8_15_12_RESERVED2 (0x00000002u) +#define SYSCFG_PINMUX8_PINMUX8_15_12_RESERVED4 (0x00000004u) +#define SYSCFG_PINMUX8_PINMUX8_15_12_GPIO3_4 (0x00000008u) + +#define SYSCFG_PINMUX8_PINMUX8_11_8 (0x00000F00u) +#define SYSCFG_PINMUX8_PINMUX8_11_8_SHIFT (0x00000008u) +/*----PINMUX8_11_8 Tokens----*/ +#define SYSCFG_PINMUX8_PINMUX8_11_8_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX8_PINMUX8_11_8_EMA_D13 (0x00000001u) +#define SYSCFG_PINMUX8_PINMUX8_11_8_RESERVED2 (0x00000002u) +#define SYSCFG_PINMUX8_PINMUX8_11_8_RESERVED4 (0x00000004u) +#define SYSCFG_PINMUX8_PINMUX8_11_8_GPIO3_5 (0x00000008u) + +#define SYSCFG_PINMUX8_PINMUX8_7_4 (0x000000F0u) +#define SYSCFG_PINMUX8_PINMUX8_7_4_SHIFT (0x00000004u) +/*----PINMUX8_7_4 Tokens----*/ +#define SYSCFG_PINMUX8_PINMUX8_7_4_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX8_PINMUX8_7_4_EMA_D14 (0x00000001u) +#define SYSCFG_PINMUX8_PINMUX8_7_4_RESERVED2 (0x00000002u) +#define SYSCFG_PINMUX8_PINMUX8_7_4_RESERVED4 (0x00000004u) +#define SYSCFG_PINMUX8_PINMUX8_7_4_GPIO3_6 (0x00000008u) + +#define SYSCFG_PINMUX8_PINMUX8_3_0 (0x0000000Fu) +#define SYSCFG_PINMUX8_PINMUX8_3_0_SHIFT (0x00000000u) +/*----PINMUX8_3_0 Tokens----*/ +#define SYSCFG_PINMUX8_PINMUX8_3_0_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX8_PINMUX8_3_0_EMA_D15 (0x00000001u) +#define SYSCFG_PINMUX8_PINMUX8_3_0_RESERVED2 (0x00000002u) +#define SYSCFG_PINMUX8_PINMUX8_3_0_RESERVED4 (0x00000004u) +#define SYSCFG_PINMUX8_PINMUX8_3_0_GPIO3_7 (0x00000008u) + + +/* PINMUX9 */ + +#define SYSCFG_PINMUX9_PINMUX9_31_28 (0xF0000000u) +#define SYSCFG_PINMUX9_PINMUX9_31_28_SHIFT (0x0000001Cu) +/*----PINMUX9_31_28 Tokens----*/ +#define SYSCFG_PINMUX9_PINMUX9_31_28_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX9_PINMUX9_31_28_EMA_D0 (0x00000001u) +#define SYSCFG_PINMUX9_PINMUX9_31_28_RESERVED2 (0x00000002u) +#define SYSCFG_PINMUX9_PINMUX9_31_28_RESERVED4 (0x00000004u) +#define SYSCFG_PINMUX9_PINMUX9_31_28_GPIO4_8 (0x00000008u) + +#define SYSCFG_PINMUX9_PINMUX9_27_24 (0x0F000000u) +#define SYSCFG_PINMUX9_PINMUX9_27_24_SHIFT (0x00000018u) +/*----PINMUX9_27_24 Tokens----*/ +#define SYSCFG_PINMUX9_PINMUX9_27_24_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX9_PINMUX9_27_24_EMA_D1 (0x00000001u) +#define SYSCFG_PINMUX9_PINMUX9_27_24_RESERVED2 (0x00000002u) +#define SYSCFG_PINMUX9_PINMUX9_27_24_RESERVED4 (0x00000004u) +#define SYSCFG_PINMUX9_PINMUX9_27_24_GPIO4_9 (0x00000008u) + +#define SYSCFG_PINMUX9_PINMUX9_23_20 (0x00F00000u) +#define SYSCFG_PINMUX9_PINMUX9_23_20_SHIFT (0x00000014u) +/*----PINMUX9_23_20 Tokens----*/ +#define SYSCFG_PINMUX9_PINMUX9_23_20_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX9_PINMUX9_23_20_EMA_D2 (0x00000001u) +#define SYSCFG_PINMUX9_PINMUX9_23_20_RESERVED2 (0x00000002u) +#define SYSCFG_PINMUX9_PINMUX9_23_20_RESERVED4 (0x00000004u) +#define SYSCFG_PINMUX9_PINMUX9_23_20_GPIO4_10 (0x00000008u) + +#define SYSCFG_PINMUX9_PINMUX9_19_16 (0x000F0000u) +#define SYSCFG_PINMUX9_PINMUX9_19_16_SHIFT (0x00000010u) +/*----PINMUX9_19_16 Tokens----*/ +#define SYSCFG_PINMUX9_PINMUX9_19_16_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX9_PINMUX9_19_16_EMA_D3 (0x00000001u) +#define SYSCFG_PINMUX9_PINMUX9_19_16_RESERVED2 (0x00000002u) +#define SYSCFG_PINMUX9_PINMUX9_19_16_RESERVED4 (0x00000004u) +#define SYSCFG_PINMUX9_PINMUX9_19_16_GPIO4_11 (0x00000008u) + +#define SYSCFG_PINMUX9_PINMUX9_15_12 (0x0000F000u) +#define SYSCFG_PINMUX9_PINMUX9_15_12_SHIFT (0x0000000Cu) +/*----PINMUX9_15_12 Tokens----*/ +#define SYSCFG_PINMUX9_PINMUX9_15_12_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX9_PINMUX9_15_12_EMA_D4 (0x00000001u) +#define SYSCFG_PINMUX9_PINMUX9_15_12_RESERVED2 (0x00000002u) +#define SYSCFG_PINMUX9_PINMUX9_15_12_RESERVED4 (0x00000004u) +#define SYSCFG_PINMUX9_PINMUX9_15_12_GPIO4_12 (0x00000008u) + +#define SYSCFG_PINMUX9_PINMUX9_11_8 (0x00000F00u) +#define SYSCFG_PINMUX9_PINMUX9_11_8_SHIFT (0x00000008u) +/*----PINMUX9_11_8 Tokens----*/ +#define SYSCFG_PINMUX9_PINMUX9_11_8_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX9_PINMUX9_11_8_EMA_D5 (0x00000001u) +#define SYSCFG_PINMUX9_PINMUX9_11_8_RESERVED2 (0x00000002u) +#define SYSCFG_PINMUX9_PINMUX9_11_8_RESERVED4 (0x00000004u) +#define SYSCFG_PINMUX9_PINMUX9_11_8_GPIO4_13 (0x00000008u) + +#define SYSCFG_PINMUX9_PINMUX9_7_4 (0x000000F0u) +#define SYSCFG_PINMUX9_PINMUX9_7_4_SHIFT (0x00000004u) +/*----PINMUX9_7_4 Tokens----*/ +#define SYSCFG_PINMUX9_PINMUX9_7_4_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX9_PINMUX9_7_4_EMA_D6 (0x00000001u) +#define SYSCFG_PINMUX9_PINMUX9_7_4_RESERVED2 (0x00000002u) +#define SYSCFG_PINMUX9_PINMUX9_7_4_RESERVED4 (0x00000004u) +#define SYSCFG_PINMUX9_PINMUX9_7_4_GPIO4_14 (0x00000008u) + +#define SYSCFG_PINMUX9_PINMUX9_3_0 (0x0000000Fu) +#define SYSCFG_PINMUX9_PINMUX9_3_0_SHIFT (0x00000000u) +/*----PINMUX9_3_0 Tokens----*/ +#define SYSCFG_PINMUX9_PINMUX9_3_0_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX9_PINMUX9_3_0_EMA_D7 (0x00000001u) +#define SYSCFG_PINMUX9_PINMUX9_3_0_RESERVED2 (0x00000002u) +#define SYSCFG_PINMUX9_PINMUX9_3_0_RESERVED4 (0x00000004u) +#define SYSCFG_PINMUX9_PINMUX9_3_0_GPIO4_15 (0x00000008u) + + +/* PINMUX10 */ + +#define SYSCFG_PINMUX10_PINMUX10_31_28 (0xF0000000u) +#define SYSCFG_PINMUX10_PINMUX10_31_28_SHIFT (0x0000001Cu) +/*----PINMUX10_31_28 Tokens----*/ +#define SYSCFG_PINMUX10_PINMUX10_31_28_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX10_PINMUX10_31_28_EMA_A16 (0x00000001u) +#define SYSCFG_PINMUX10_PINMUX10_31_28_MMCSD0_DAT5 (0x00000002u) +#define SYSCFG_PINMUX10_PINMUX10_31_28_PRU1_R30_24 (0x00000004u) +#define SYSCFG_PINMUX10_PINMUX10_31_28_GPIO4_0 (0x00000008u) + +#define SYSCFG_PINMUX10_PINMUX10_27_24 (0x0F000000u) +#define SYSCFG_PINMUX10_PINMUX10_27_24_SHIFT (0x00000018u) +/*----PINMUX10_27_24 Tokens----*/ +#define SYSCFG_PINMUX10_PINMUX10_27_24_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX10_PINMUX10_27_24_EMA_A17 (0x00000001u) +#define SYSCFG_PINMUX10_PINMUX10_27_24_MMCSD0_DAT4 (0x00000002u) +#define SYSCFG_PINMUX10_PINMUX10_27_24_PRU1_R30_25 (0x00000004u) +#define SYSCFG_PINMUX10_PINMUX10_27_24_GPIO4_1 (0x00000008u) + +#define SYSCFG_PINMUX10_PINMUX10_23_20 (0x00F00000u) +#define SYSCFG_PINMUX10_PINMUX10_23_20_SHIFT (0x00000014u) +/*----PINMUX10_23_20 Tokens----*/ +#define SYSCFG_PINMUX10_PINMUX10_23_20_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX10_PINMUX10_23_20_EMA_A18 (0x00000001u) +#define SYSCFG_PINMUX10_PINMUX10_23_20_MMCSD0_DAT3 (0x00000002u) +#define SYSCFG_PINMUX10_PINMUX10_23_20_PRU1_R30_26 (0x00000004u) +#define SYSCFG_PINMUX10_PINMUX10_23_20_GPIO4_2 (0x00000008u) + +#define SYSCFG_PINMUX10_PINMUX10_19_16 (0x000F0000u) +#define SYSCFG_PINMUX10_PINMUX10_19_16_SHIFT (0x00000010u) +/*----PINMUX10_19_16 Tokens----*/ +#define SYSCFG_PINMUX10_PINMUX10_19_16_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX10_PINMUX10_19_16_EMA_A19 (0x00000001u) +#define SYSCFG_PINMUX10_PINMUX10_19_16_MMCSD0_DAT2 (0x00000002u) +#define SYSCFG_PINMUX10_PINMUX10_19_16_PRU1_R30_27 (0x00000004u) +#define SYSCFG_PINMUX10_PINMUX10_19_16_GPIO4_3 (0x00000008u) + +#define SYSCFG_PINMUX10_PINMUX10_15_12 (0x0000F000u) +#define SYSCFG_PINMUX10_PINMUX10_15_12_SHIFT (0x0000000Cu) +/*----PINMUX10_15_12 Tokens----*/ +#define SYSCFG_PINMUX10_PINMUX10_15_12_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX10_PINMUX10_15_12_EMA_A20 (0x00000001u) +#define SYSCFG_PINMUX10_PINMUX10_15_12_MMCSD0_DAT1 (0x00000002u) +#define SYSCFG_PINMUX10_PINMUX10_15_12_PRU1_R30_28 (0x00000004u) +#define SYSCFG_PINMUX10_PINMUX10_15_12_GPIO4_4 (0x00000008u) + +#define SYSCFG_PINMUX10_PINMUX10_11_8 (0x00000F00u) +#define SYSCFG_PINMUX10_PINMUX10_11_8_SHIFT (0x00000008u) +/*----PINMUX10_11_8 Tokens----*/ +#define SYSCFG_PINMUX10_PINMUX10_11_8_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX10_PINMUX10_11_8_EMA_A21 (0x00000001u) +#define SYSCFG_PINMUX10_PINMUX10_11_8_MMCSD0_DAT0 (0x00000002u) +#define SYSCFG_PINMUX10_PINMUX10_11_8_PRU1_R30_29 (0x00000004u) +#define SYSCFG_PINMUX10_PINMUX10_11_8_GPIO4_5 (0x00000008u) + +#define SYSCFG_PINMUX10_PINMUX10_7_4 (0x000000F0u) +#define SYSCFG_PINMUX10_PINMUX10_7_4_SHIFT (0x00000004u) +/*----PINMUX10_7_4 Tokens----*/ +#define SYSCFG_PINMUX10_PINMUX10_7_4_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX10_PINMUX10_7_4_EMA_A22 (0x00000001u) +#define SYSCFG_PINMUX10_PINMUX10_7_4_MMCSD0_CMD (0x00000002u) +#define SYSCFG_PINMUX10_PINMUX10_7_4_PRU1_R30_30 (0x00000004u) +#define SYSCFG_PINMUX10_PINMUX10_7_4_GPIO4_6 (0x00000008u) + +#define SYSCFG_PINMUX10_PINMUX10_3_0 (0x0000000Fu) +#define SYSCFG_PINMUX10_PINMUX10_3_0_SHIFT (0x00000000u) +/*----PINMUX10_3_0 Tokens----*/ +#define SYSCFG_PINMUX10_PINMUX10_3_0_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX10_PINMUX10_3_0_EMA_A23 (0x00000001u) +#define SYSCFG_PINMUX10_PINMUX10_3_0_MMCSD0_CLK (0x00000002u) +#define SYSCFG_PINMUX10_PINMUX10_3_0_PRU1_R30_31 (0x00000004u) +#define SYSCFG_PINMUX10_PINMUX10_3_0_GPIO4_7 (0x00000008u) + + +/* PINMUX11 */ + +#define SYSCFG_PINMUX11_PINMUX11_31_28 (0xF0000000u) +#define SYSCFG_PINMUX11_PINMUX11_31_28_SHIFT (0x0000001Cu) +/*----PINMUX11_31_28 Tokens----*/ +#define SYSCFG_PINMUX11_PINMUX11_31_28_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX11_PINMUX11_31_28_EMA_A8 (0x00000001u) +#define SYSCFG_PINMUX11_PINMUX11_31_28_RESERVED2 (0x00000002u) +#define SYSCFG_PINMUX11_PINMUX11_31_28_PRU1_R30_16 (0x00000004u) +#define SYSCFG_PINMUX11_PINMUX11_31_28_GPIO5_8 (0x00000008u) + +#define SYSCFG_PINMUX11_PINMUX11_27_24 (0x0F000000u) +#define SYSCFG_PINMUX11_PINMUX11_27_24_SHIFT (0x00000018u) +/*----PINMUX11_27_24 Tokens----*/ +#define SYSCFG_PINMUX11_PINMUX11_27_24_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX11_PINMUX11_27_24_EMA_A9 (0x00000001u) +#define SYSCFG_PINMUX11_PINMUX11_27_24_RESERVED2 (0x00000002u) +#define SYSCFG_PINMUX11_PINMUX11_27_24_PRU1_R30_17 (0x00000004u) +#define SYSCFG_PINMUX11_PINMUX11_27_24_GPIO5_9 (0x00000008u) + +#define SYSCFG_PINMUX11_PINMUX11_23_20 (0x00F00000u) +#define SYSCFG_PINMUX11_PINMUX11_23_20_SHIFT (0x00000014u) +/*----PINMUX11_23_20 Tokens----*/ +#define SYSCFG_PINMUX11_PINMUX11_23_20_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX11_PINMUX11_23_20_EMA_A10 (0x00000001u) +#define SYSCFG_PINMUX11_PINMUX11_23_20_RESERVED2 (0x00000002u) +#define SYSCFG_PINMUX11_PINMUX11_23_20_PRU1_R30_18 (0x00000004u) +#define SYSCFG_PINMUX11_PINMUX11_23_20_GPIO5_10 (0x00000008u) + +#define SYSCFG_PINMUX11_PINMUX11_19_16 (0x000F0000u) +#define SYSCFG_PINMUX11_PINMUX11_19_16_SHIFT (0x00000010u) +/*----PINMUX11_19_16 Tokens----*/ +#define SYSCFG_PINMUX11_PINMUX11_19_16_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX11_PINMUX11_19_16_EMA_A11 (0x00000001u) +#define SYSCFG_PINMUX11_PINMUX11_19_16_RESERVED2 (0x00000002u) +#define SYSCFG_PINMUX11_PINMUX11_19_16_PRU1_R30_19 (0x00000004u) +#define SYSCFG_PINMUX11_PINMUX11_19_16_GPIO5_11 (0x00000008u) + +#define SYSCFG_PINMUX11_PINMUX11_15_12 (0x0000F000u) +#define SYSCFG_PINMUX11_PINMUX11_15_12_SHIFT (0x0000000Cu) +/*----PINMUX11_15_12 Tokens----*/ +#define SYSCFG_PINMUX11_PINMUX11_15_12_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX11_PINMUX11_15_12_EMA_A12 (0x00000001u) +#define SYSCFG_PINMUX11_PINMUX11_15_12_RESERVED2 (0x00000002u) +#define SYSCFG_PINMUX11_PINMUX11_15_12_PRU1_R30_20 (0x00000004u) +#define SYSCFG_PINMUX11_PINMUX11_15_12_GPIO5_12 (0x00000008u) + +#define SYSCFG_PINMUX11_PINMUX11_11_8 (0x00000F00u) +#define SYSCFG_PINMUX11_PINMUX11_11_8_SHIFT (0x00000008u) +/*----PINMUX11_11_8 Tokens----*/ +#define SYSCFG_PINMUX11_PINMUX11_11_8_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX11_PINMUX11_11_8_EMA_A13 (0x00000001u) +#define SYSCFG_PINMUX11_PINMUX11_11_8_PRU0_R30_21 (0x00000002u) +#define SYSCFG_PINMUX11_PINMUX11_11_8_PRU1_R30_21 (0x00000004u) +#define SYSCFG_PINMUX11_PINMUX11_11_8_GPIO5_13 (0x00000008u) + +#define SYSCFG_PINMUX11_PINMUX11_7_4 (0x000000F0u) +#define SYSCFG_PINMUX11_PINMUX11_7_4_SHIFT (0x00000004u) +/*----PINMUX11_7_4 Tokens----*/ +#define SYSCFG_PINMUX11_PINMUX11_7_4_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX11_PINMUX11_7_4_EMA_A14 (0x00000001u) +#define SYSCFG_PINMUX11_PINMUX11_7_4_MMCSD0_DAT7 (0x00000002u) +#define SYSCFG_PINMUX11_PINMUX11_7_4_PRU1_R30_22 (0x00000004u) +#define SYSCFG_PINMUX11_PINMUX11_7_4_GPIO5_14 (0x00000008u) + +#define SYSCFG_PINMUX11_PINMUX11_3_0 (0x0000000Fu) +#define SYSCFG_PINMUX11_PINMUX11_3_0_SHIFT (0x00000000u) +/*----PINMUX11_3_0 Tokens----*/ +#define SYSCFG_PINMUX11_PINMUX11_3_0_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX11_PINMUX11_3_0_EMA_A15 (0x00000001u) +#define SYSCFG_PINMUX11_PINMUX11_3_0_MMCSD0_DAT6 (0x00000002u) +#define SYSCFG_PINMUX11_PINMUX11_3_0_PRU1_R30_23 (0x00000004u) +#define SYSCFG_PINMUX11_PINMUX11_3_0_GPIO5_15 (0x00000008u) + + +/* PINMUX12 */ + +#define SYSCFG_PINMUX12_PINMUX12_31_28 (0xF0000000u) +#define SYSCFG_PINMUX12_PINMUX12_31_28_SHIFT (0x0000001Cu) +/*----PINMUX12_31_28 Tokens----*/ +#define SYSCFG_PINMUX12_PINMUX12_31_28_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX12_PINMUX12_31_28_EMA_A0 (0x00000001u) +#define SYSCFG_PINMUX12_PINMUX12_31_28_RESERVED2 (0x00000002u) +#define SYSCFG_PINMUX12_PINMUX12_31_28_RESERVED4 (0x00000004u) +#define SYSCFG_PINMUX12_PINMUX12_31_28_GPIO5_0 (0x00000008u) + +#define SYSCFG_PINMUX12_PINMUX12_27_24 (0x0F000000u) +#define SYSCFG_PINMUX12_PINMUX12_27_24_SHIFT (0x00000018u) +/*----PINMUX12_27_24 Tokens----*/ +#define SYSCFG_PINMUX12_PINMUX12_27_24_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX12_PINMUX12_27_24_EMA_A1 (0x00000001u) +#define SYSCFG_PINMUX12_PINMUX12_27_24_RESERVED2 (0x00000002u) +#define SYSCFG_PINMUX12_PINMUX12_27_24_RESERVED4 (0x00000004u) +#define SYSCFG_PINMUX12_PINMUX12_27_24_GPIO5_1 (0x00000008u) + +#define SYSCFG_PINMUX12_PINMUX12_23_20 (0x00F00000u) +#define SYSCFG_PINMUX12_PINMUX12_23_20_SHIFT (0x00000014u) +/*----PINMUX12_23_20 Tokens----*/ +#define SYSCFG_PINMUX12_PINMUX12_23_20_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX12_PINMUX12_23_20_EMA_A2 (0x00000001u) +#define SYSCFG_PINMUX12_PINMUX12_23_20_RESERVED2 (0x00000002u) +#define SYSCFG_PINMUX12_PINMUX12_23_20_RESERVED4 (0x00000004u) +#define SYSCFG_PINMUX12_PINMUX12_23_20_GPIO5_2 (0x00000008u) + +#define SYSCFG_PINMUX12_PINMUX12_19_16 (0x000F0000u) +#define SYSCFG_PINMUX12_PINMUX12_19_16_SHIFT (0x00000010u) +/*----PINMUX12_19_16 Tokens----*/ +#define SYSCFG_PINMUX12_PINMUX12_19_16_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX12_PINMUX12_19_16_EMA_A3 (0x00000001u) +#define SYSCFG_PINMUX12_PINMUX12_19_16_RESERVED2 (0x00000002u) +#define SYSCFG_PINMUX12_PINMUX12_19_16_RESERVED4 (0x00000004u) +#define SYSCFG_PINMUX12_PINMUX12_19_16_GPIO5_3 (0x00000008u) + +#define SYSCFG_PINMUX12_PINMUX12_15_12 (0x0000F000u) +#define SYSCFG_PINMUX12_PINMUX12_15_12_SHIFT (0x0000000Cu) +/*----PINMUX12_15_12 Tokens----*/ +#define SYSCFG_PINMUX12_PINMUX12_15_12_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX12_PINMUX12_15_12_EMA_A4 (0x00000001u) +#define SYSCFG_PINMUX12_PINMUX12_15_12_RESERVED2 (0x00000002u) +#define SYSCFG_PINMUX12_PINMUX12_15_12_RESERVED4 (0x00000004u) +#define SYSCFG_PINMUX12_PINMUX12_15_12_GPIO5_4 (0x00000008u) + +#define SYSCFG_PINMUX12_PINMUX12_11_8 (0x00000F00u) +#define SYSCFG_PINMUX12_PINMUX12_11_8_SHIFT (0x00000008u) +/*----PINMUX12_11_8 Tokens----*/ +#define SYSCFG_PINMUX12_PINMUX12_11_8_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX12_PINMUX12_11_8_EMA_A5 (0x00000001u) +#define SYSCFG_PINMUX12_PINMUX12_11_8_RESERVED2 (0x00000002u) +#define SYSCFG_PINMUX12_PINMUX12_11_8_RESERVED4 (0x00000004u) +#define SYSCFG_PINMUX12_PINMUX12_11_8_GPIO5_5 (0x00000008u) + +#define SYSCFG_PINMUX12_PINMUX12_7_4 (0x000000F0u) +#define SYSCFG_PINMUX12_PINMUX12_7_4_SHIFT (0x00000004u) +/*----PINMUX12_7_4 Tokens----*/ +#define SYSCFG_PINMUX12_PINMUX12_7_4_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX12_PINMUX12_7_4_EMA_A6 (0x00000001u) +#define SYSCFG_PINMUX12_PINMUX12_7_4_RESERVED2 (0x00000002u) +#define SYSCFG_PINMUX12_PINMUX12_7_4_RESERVED4 (0x00000004u) +#define SYSCFG_PINMUX12_PINMUX12_7_4_GPIO5_6 (0x00000008u) + +#define SYSCFG_PINMUX12_PINMUX12_3_0 (0x0000000Fu) +#define SYSCFG_PINMUX12_PINMUX12_3_0_SHIFT (0x00000000u) +/*----PINMUX12_3_0 Tokens----*/ +#define SYSCFG_PINMUX12_PINMUX12_3_0_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX12_PINMUX12_3_0_EMA_A7 (0x00000001u) +#define SYSCFG_PINMUX12_PINMUX12_3_0_RESERVED2 (0x00000002u) +#define SYSCFG_PINMUX12_PINMUX12_3_0_PRU1_R30_15 (0x00000004u) +#define SYSCFG_PINMUX12_PINMUX12_3_0_GPIO5_7 (0x00000008u) + + +/* PINMUX13 */ + +#define SYSCFG_PINMUX13_PINMUX13_31_28 (0xF0000000u) +#define SYSCFG_PINMUX13_PINMUX13_31_28_SHIFT (0x0000001Cu) +/*----PINMUX13_31_28 Tokens----*/ +#define SYSCFG_PINMUX13_PINMUX13_31_28_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX13_PINMUX13_31_28_PRU0_R30_26 (0x00000001u) +#define SYSCFG_PINMUX13_PINMUX13_31_28_UHPI_HRNW (0x00000002u) +#define SYSCFG_PINMUX13_PINMUX13_31_28_CH1_WAIT (0x00000004u) +#define SYSCFG_PINMUX13_PINMUX13_31_28_GPIO6_8 (0x00000008u) + +#define SYSCFG_PINMUX13_PINMUX13_27_24 (0x0F000000u) +#define SYSCFG_PINMUX13_PINMUX13_27_24_SHIFT (0x00000018u) +/*----PINMUX13_27_24 Tokens----*/ +#define SYSCFG_PINMUX13_PINMUX13_27_24_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX13_PINMUX13_27_24_PRU0_R30_27 (0x00000001u) +#define SYSCFG_PINMUX13_PINMUX13_27_24_UHPI_HHWIL (0x00000002u) +#define SYSCFG_PINMUX13_PINMUX13_27_24_GPIO6_9 (0x00000008u) + +#define SYSCFG_PINMUX13_PINMUX13_23_20 (0x00F00000u) +#define SYSCFG_PINMUX13_PINMUX13_23_20_SHIFT (0x00000014u) +/*----PINMUX13_23_20 Tokens----*/ +#define SYSCFG_PINMUX13_PINMUX13_23_20_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX13_PINMUX13_23_20_PRU0_R30_28 (0x00000001u) +#define SYSCFG_PINMUX13_PINMUX13_23_20_UHPI_HCNTL1 (0x00000002u) +#define SYSCFG_PINMUX13_PINMUX13_23_20_CH1_START (0x00000004u) +#define SYSCFG_PINMUX13_PINMUX13_23_20_GPIO6_10 (0x00000008u) + +#define SYSCFG_PINMUX13_PINMUX13_19_16 (0x000F0000u) +#define SYSCFG_PINMUX13_PINMUX13_19_16_SHIFT (0x00000010u) +/*----PINMUX13_19_16 Tokens----*/ +#define SYSCFG_PINMUX13_PINMUX13_19_16_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX13_PINMUX13_19_16_PRU0_R30_29 (0x00000001u) +#define SYSCFG_PINMUX13_PINMUX13_19_16_UHPI_HCNTL0 (0x00000002u) +#define SYSCFG_PINMUX13_PINMUX13_19_16_CH1_CLK (0x00000004u) +#define SYSCFG_PINMUX13_PINMUX13_19_16_GPIO6_11 (0x00000008u) + +#define SYSCFG_PINMUX13_PINMUX13_15_12 (0x0000F000u) +#define SYSCFG_PINMUX13_PINMUX13_15_12_SHIFT (0x0000000Cu) +/*----PINMUX13_15_12 Tokens----*/ +#define SYSCFG_PINMUX13_PINMUX13_15_12_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX13_PINMUX13_15_12_PRU0_R30_30 (0x00000001u) +#define SYSCFG_PINMUX13_PINMUX13_15_12_NUHPI_HINT (0x00000002u) +#define SYSCFG_PINMUX13_PINMUX13_15_12_PRU1_R30_11 (0x00000004u) +#define SYSCFG_PINMUX13_PINMUX13_15_12_GPIO6_12 (0x00000008u) + +#define SYSCFG_PINMUX13_PINMUX13_11_8 (0x00000F00u) +#define SYSCFG_PINMUX13_PINMUX13_11_8_SHIFT (0x00000008u) +/*----PINMUX13_11_8 Tokens----*/ +#define SYSCFG_PINMUX13_PINMUX13_11_8_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX13_PINMUX13_11_8_PRU0_R30_31 (0x00000001u) +#define SYSCFG_PINMUX13_PINMUX13_11_8_NUHPI_HRDY (0x00000002u) +#define SYSCFG_PINMUX13_PINMUX13_11_8_PRU1_R30_12 (0x00000004u) +#define SYSCFG_PINMUX13_PINMUX13_11_8_GPIO6_13 (0x00000008u) + +#define SYSCFG_PINMUX13_PINMUX13_7_4 (0x000000F0u) +#define SYSCFG_PINMUX13_PINMUX13_7_4_SHIFT (0x00000004u) +/*----PINMUX13_7_4 Tokens----*/ +#define SYSCFG_PINMUX13_PINMUX13_7_4_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX13_PINMUX13_7_4_OBSCLK0 (0x00000001u) +#define SYSCFG_PINMUX13_PINMUX13_7_4_NUHPI_HDS2 (0x00000002u) +#define SYSCFG_PINMUX13_PINMUX13_7_4_PRU1_R30_13 (0x00000004u) +#define SYSCFG_PINMUX13_PINMUX13_7_4_GPIO6_14 (0x00000008u) + +#define SYSCFG_PINMUX13_PINMUX13_3_0 (0x0000000Fu) +#define SYSCFG_PINMUX13_PINMUX13_3_0_SHIFT (0x00000000u) +/*----PINMUX13_3_0 Tokens----*/ +#define SYSCFG_PINMUX13_PINMUX13_3_0_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX13_PINMUX13_3_0_NRESETOUT (0x00000001u) +#define SYSCFG_PINMUX13_PINMUX13_3_0_NUHPI_HAS (0x00000002u) +#define SYSCFG_PINMUX13_PINMUX13_3_0_PRU1_R30_14 (0x00000004u) +#define SYSCFG_PINMUX13_PINMUX13_3_0_GPIO6_15 (0x00000008u) + + +/* PINMUX14 */ + +#define SYSCFG_PINMUX14_PINMUX14_31_28 (0xF0000000u) +#define SYSCFG_PINMUX14_PINMUX14_31_28_SHIFT (0x0000001Cu) +/*----PINMUX14_31_28 Tokens----*/ +#define SYSCFG_PINMUX14_PINMUX14_31_28_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX14_PINMUX14_31_28_DIN2 (0x00000001u) +#define SYSCFG_PINMUX14_PINMUX14_31_28_UHPI_HD10 (0x00000002u) +#define SYSCFG_PINMUX14_PINMUX14_31_28_UPP_D10 (0x00000004u) +#define SYSCFG_PINMUX14_PINMUX14_31_28_RMII_RXER (0x00000008u) + +#define SYSCFG_PINMUX14_PINMUX14_27_24 (0x0F000000u) +#define SYSCFG_PINMUX14_PINMUX14_27_24_SHIFT (0x00000018u) +/*----PINMUX14_27_24 Tokens----*/ +#define SYSCFG_PINMUX14_PINMUX14_27_24_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX14_PINMUX14_27_24_DIN3 (0x00000001u) +#define SYSCFG_PINMUX14_PINMUX14_27_24_UHPI_HD11 (0x00000002u) +#define SYSCFG_PINMUX14_PINMUX14_27_24_UPP_D11 (0x00000004u) +#define SYSCFG_PINMUX14_PINMUX14_27_24_RMII_RXD0 (0x00000008u) + +#define SYSCFG_PINMUX14_PINMUX14_23_20 (0x00F00000u) +#define SYSCFG_PINMUX14_PINMUX14_23_20_SHIFT (0x00000014u) +/*----PINMUX14_23_20 Tokens----*/ +#define SYSCFG_PINMUX14_PINMUX14_23_20_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX14_PINMUX14_23_20_DIN4 (0x00000001u) +#define SYSCFG_PINMUX14_PINMUX14_23_20_UHPI_HD12 (0x00000002u) +#define SYSCFG_PINMUX14_PINMUX14_23_20_UPP_D12 (0x00000004u) +#define SYSCFG_PINMUX14_PINMUX14_23_20_RMII_RXD1 (0x00000008u) + +#define SYSCFG_PINMUX14_PINMUX14_19_16 (0x000F0000u) +#define SYSCFG_PINMUX14_PINMUX14_19_16_SHIFT (0x00000010u) +/*----PINMUX14_19_16 Tokens----*/ +#define SYSCFG_PINMUX14_PINMUX14_19_16_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX14_PINMUX14_19_16_DIN5 (0x00000001u) +#define SYSCFG_PINMUX14_PINMUX14_19_16_UHPI_HD13 (0x00000002u) +#define SYSCFG_PINMUX14_PINMUX14_19_16_UPP_D13 (0x00000004u) +#define SYSCFG_PINMUX14_PINMUX14_19_16_RMII_TXEN (0x00000008u) + +#define SYSCFG_PINMUX14_PINMUX14_15_12 (0x0000F000u) +#define SYSCFG_PINMUX14_PINMUX14_15_12_SHIFT (0x0000000Cu) +/*----PINMUX14_15_12 Tokens----*/ +#define SYSCFG_PINMUX14_PINMUX14_15_12_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX14_PINMUX14_15_12_DIN6 (0x00000001u) +#define SYSCFG_PINMUX14_PINMUX14_15_12_UHPI_HD14 (0x00000002u) +#define SYSCFG_PINMUX14_PINMUX14_15_12_UPP_D14 (0x00000004u) +#define SYSCFG_PINMUX14_PINMUX14_15_12_RMII_TXD0 (0x00000008u) + +#define SYSCFG_PINMUX14_PINMUX14_11_8 (0x00000F00u) +#define SYSCFG_PINMUX14_PINMUX14_11_8_SHIFT (0x00000008u) +/*----PINMUX14_11_8 Tokens----*/ +#define SYSCFG_PINMUX14_PINMUX14_11_8_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX14_PINMUX14_11_8_DIN7 (0x00000001u) +#define SYSCFG_PINMUX14_PINMUX14_11_8_UHPI_HD15 (0x00000002u) +#define SYSCFG_PINMUX14_PINMUX14_11_8_UPP_D15 (0x00000004u) +#define SYSCFG_PINMUX14_PINMUX14_11_8_RMII_TXD1 (0x00000008u) + +#define SYSCFG_PINMUX14_PINMUX14_7_4 (0x000000F0u) +#define SYSCFG_PINMUX14_PINMUX14_7_4_SHIFT (0x00000004u) +/*----PINMUX14_7_4 Tokens----*/ +#define SYSCFG_PINMUX14_PINMUX14_7_4_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX14_PINMUX14_7_4_CLKIN1 (0x00000001u) +#define SYSCFG_PINMUX14_PINMUX14_7_4_NUHPI_HDS1 (0x00000002u) +#define SYSCFG_PINMUX14_PINMUX14_7_4_PRU1_R30_9 (0x00000004u) +#define SYSCFG_PINMUX14_PINMUX14_7_4_GPIO6_6 (0x00000008u) + +#define SYSCFG_PINMUX14_PINMUX14_3_0 (0x0000000Fu) +#define SYSCFG_PINMUX14_PINMUX14_3_0_SHIFT (0x00000000u) +/*----PINMUX14_3_0 Tokens----*/ +#define SYSCFG_PINMUX14_PINMUX14_3_0_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX14_PINMUX14_3_0_CLKIN0 (0x00000001u) +#define SYSCFG_PINMUX14_PINMUX14_3_0_NUHPI_HCS (0x00000002u) +#define SYSCFG_PINMUX14_PINMUX14_3_0_PRU1_R30_10 (0x00000004u) +#define SYSCFG_PINMUX14_PINMUX14_3_0_GPIO6_7 (0x00000008u) + + +/* PINMUX15 */ + +#define SYSCFG_PINMUX15_PINMUX15_31_28 (0xF0000000u) +#define SYSCFG_PINMUX15_PINMUX15_31_28_SHIFT (0x0000001Cu) +/*----PINMUX15_31_28 Tokens----*/ +#define SYSCFG_PINMUX15_PINMUX15_31_28_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX15_PINMUX15_31_28_DIN10 (0x00000001u) +#define SYSCFG_PINMUX15_PINMUX15_31_28_UHPI_HD2 (0x00000002u) +#define SYSCFG_PINMUX15_PINMUX15_31_28_UPP_D2 (0x00000004u) +#define SYSCFG_PINMUX15_PINMUX15_31_28_PRU0_R30_10 (0x00000008u) + +#define SYSCFG_PINMUX15_PINMUX15_27_24 (0x0F000000u) +#define SYSCFG_PINMUX15_PINMUX15_27_24_SHIFT (0x00000018u) +/*----PINMUX15_27_24 Tokens----*/ +#define SYSCFG_PINMUX15_PINMUX15_27_24_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX15_PINMUX15_27_24_DIN11 (0x00000001u) +#define SYSCFG_PINMUX15_PINMUX15_27_24_UHPI_HD3 (0x00000002u) +#define SYSCFG_PINMUX15_PINMUX15_27_24_UPP_D3 (0x00000004u) +#define SYSCFG_PINMUX15_PINMUX15_27_24_PRU0_R30_11 (0x00000008u) + +#define SYSCFG_PINMUX15_PINMUX15_23_20 (0x00F00000u) +#define SYSCFG_PINMUX15_PINMUX15_23_20_SHIFT (0x00000014u) +/*----PINMUX15_23_20 Tokens----*/ +#define SYSCFG_PINMUX15_PINMUX15_23_20_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX15_PINMUX15_23_20_DIN12 (0x00000001u) +#define SYSCFG_PINMUX15_PINMUX15_23_20_UHPI_HD4 (0x00000002u) +#define SYSCFG_PINMUX15_PINMUX15_23_20_UPP_D4 (0x00000004u) +#define SYSCFG_PINMUX15_PINMUX15_23_20_PRU0_R30_12 (0x00000008u) + +#define SYSCFG_PINMUX15_PINMUX15_19_16 (0x000F0000u) +#define SYSCFG_PINMUX15_PINMUX15_19_16_SHIFT (0x00000010u) +/*----PINMUX15_19_16 Tokens----*/ +#define SYSCFG_PINMUX15_PINMUX15_19_16_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX15_PINMUX15_19_16_DIN13_FIELD (0x00000001u) +#define SYSCFG_PINMUX15_PINMUX15_19_16_UHPI_HD5 (0x00000002u) +#define SYSCFG_PINMUX15_PINMUX15_19_16_UPP_D5 (0x00000004u) +#define SYSCFG_PINMUX15_PINMUX15_19_16_PRU0_R30_13 (0x00000008u) + +#define SYSCFG_PINMUX15_PINMUX15_15_12 (0x0000F000u) +#define SYSCFG_PINMUX15_PINMUX15_15_12_SHIFT (0x0000000Cu) +/*----PINMUX15_15_12 Tokens----*/ +#define SYSCFG_PINMUX15_PINMUX15_15_12_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX15_PINMUX15_15_12_DIN14_HSYNC (0x00000001u) +#define SYSCFG_PINMUX15_PINMUX15_15_12_UHPI_HD6 (0x00000002u) +#define SYSCFG_PINMUX15_PINMUX15_15_12_UPP_D6 (0x00000004u) +#define SYSCFG_PINMUX15_PINMUX15_15_12_PRU0_R30_14 (0x00000008u) + +#define SYSCFG_PINMUX15_PINMUX15_11_8 (0x00000F00u) +#define SYSCFG_PINMUX15_PINMUX15_11_8_SHIFT (0x00000008u) +/*----PINMUX15_11_8 Tokens----*/ +#define SYSCFG_PINMUX15_PINMUX15_11_8_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX15_PINMUX15_11_8_DIN15_VSYNC (0x00000001u) +#define SYSCFG_PINMUX15_PINMUX15_11_8_UHPI_HD7 (0x00000002u) +#define SYSCFG_PINMUX15_PINMUX15_11_8_UPP_D7 (0x00000004u) +#define SYSCFG_PINMUX15_PINMUX15_11_8_PRU0_R30_15 (0x00000008u) + +#define SYSCFG_PINMUX15_PINMUX15_7_4 (0x000000F0u) +#define SYSCFG_PINMUX15_PINMUX15_7_4_SHIFT (0x00000004u) +/*----PINMUX15_7_4 Tokens----*/ +#define SYSCFG_PINMUX15_PINMUX15_7_4_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX15_PINMUX15_7_4_DIN0 (0x00000001u) +#define SYSCFG_PINMUX15_PINMUX15_7_4_UHPI_HD8 (0x00000002u) +#define SYSCFG_PINMUX15_PINMUX15_7_4_UPP_D8 (0x00000004u) +#define SYSCFG_PINMUX15_PINMUX15_7_4_RMII_CRS_DV (0x00000008u) + +#define SYSCFG_PINMUX15_PINMUX15_3_0 (0x0000000Fu) +#define SYSCFG_PINMUX15_PINMUX15_3_0_SHIFT (0x00000000u) +/*----PINMUX15_3_0 Tokens----*/ +#define SYSCFG_PINMUX15_PINMUX15_3_0_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX15_PINMUX15_3_0_DIN1 (0x00000001u) +#define SYSCFG_PINMUX15_PINMUX15_3_0_UHPI_HD9 (0x00000002u) +#define SYSCFG_PINMUX15_PINMUX15_3_0_UPP_D9 (0x00000004u) +#define SYSCFG_PINMUX15_PINMUX15_3_0_RMII_MHZ_50_CLK (0x00000008u) + + +/* PINMUX16 */ + +#define SYSCFG_PINMUX16_PINMUX16_31_28 (0xF0000000u) +#define SYSCFG_PINMUX16_PINMUX16_31_28_SHIFT (0x0000001Cu) +/*----PINMUX16_31_28 Tokens----*/ +#define SYSCFG_PINMUX16_PINMUX16_31_28_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX16_PINMUX16_31_28_DOUT2 (0x00000001u) +#define SYSCFG_PINMUX16_PINMUX16_31_28_LCD_D2 (0x00000002u) +#define SYSCFG_PINMUX16_PINMUX16_31_28_UPP_XD10 (0x00000004u) +#define SYSCFG_PINMUX16_PINMUX16_31_28_GPIO7_10 (0x00000008u) + +#define SYSCFG_PINMUX16_PINMUX16_27_24 (0x0F000000u) +#define SYSCFG_PINMUX16_PINMUX16_27_24_SHIFT (0x00000018u) +/*----PINMUX16_27_24 Tokens----*/ +#define SYSCFG_PINMUX16_PINMUX16_27_24_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX16_PINMUX16_27_24_DOUT3 (0x00000001u) +#define SYSCFG_PINMUX16_PINMUX16_27_24_LCD_D3 (0x00000002u) +#define SYSCFG_PINMUX16_PINMUX16_27_24_UPP_XD11 (0x00000004u) +#define SYSCFG_PINMUX16_PINMUX16_27_24_GPIO7_11 (0x00000008u) + +#define SYSCFG_PINMUX16_PINMUX16_23_20 (0x00F00000u) +#define SYSCFG_PINMUX16_PINMUX16_23_20_SHIFT (0x00000014u) +/*----PINMUX16_23_20 Tokens----*/ +#define SYSCFG_PINMUX16_PINMUX16_23_20_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX16_PINMUX16_23_20_DOUT4 (0x00000001u) +#define SYSCFG_PINMUX16_PINMUX16_23_20_LCD_D4 (0x00000002u) +#define SYSCFG_PINMUX16_PINMUX16_23_20_UPP_XD12 (0x00000004u) +#define SYSCFG_PINMUX16_PINMUX16_23_20_GPIO7_12 (0x00000008u) + +#define SYSCFG_PINMUX16_PINMUX16_19_16 (0x000F0000u) +#define SYSCFG_PINMUX16_PINMUX16_19_16_SHIFT (0x00000010u) +/*----PINMUX16_19_16 Tokens----*/ +#define SYSCFG_PINMUX16_PINMUX16_19_16_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX16_PINMUX16_19_16_DOUT5 (0x00000001u) +#define SYSCFG_PINMUX16_PINMUX16_19_16_LCD_D5 (0x00000002u) +#define SYSCFG_PINMUX16_PINMUX16_19_16_UPP_XD13 (0x00000004u) +#define SYSCFG_PINMUX16_PINMUX16_19_16_GPIO7_13 (0x00000008u) + +#define SYSCFG_PINMUX16_PINMUX16_15_12 (0x0000F000u) +#define SYSCFG_PINMUX16_PINMUX16_15_12_SHIFT (0x0000000Cu) +/*----PINMUX16_15_12 Tokens----*/ +#define SYSCFG_PINMUX16_PINMUX16_15_12_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX16_PINMUX16_15_12_DOUT6 (0x00000001u) +#define SYSCFG_PINMUX16_PINMUX16_15_12_LCD_D6 (0x00000002u) +#define SYSCFG_PINMUX16_PINMUX16_15_12_UPP_XD14 (0x00000004u) +#define SYSCFG_PINMUX16_PINMUX16_15_12_GPIO7_14 (0x00000008u) + +#define SYSCFG_PINMUX16_PINMUX16_11_8 (0x00000F00u) +#define SYSCFG_PINMUX16_PINMUX16_11_8_SHIFT (0x00000008u) +/*----PINMUX16_11_8 Tokens----*/ +#define SYSCFG_PINMUX16_PINMUX16_11_8_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX16_PINMUX16_11_8_DOUT7 (0x00000001u) +#define SYSCFG_PINMUX16_PINMUX16_11_8_LCD_D7 (0x00000002u) +#define SYSCFG_PINMUX16_PINMUX16_11_8_UPP_XD15 (0x00000004u) +#define SYSCFG_PINMUX16_PINMUX16_11_8_GPIO7_15 (0x00000008u) + +#define SYSCFG_PINMUX16_PINMUX16_7_4 (0x000000F0u) +#define SYSCFG_PINMUX16_PINMUX16_7_4_SHIFT (0x00000004u) +/*----PINMUX16_7_4 Tokens----*/ +#define SYSCFG_PINMUX16_PINMUX16_7_4_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX16_PINMUX16_7_4_DIN8 (0x00000001u) +#define SYSCFG_PINMUX16_PINMUX16_7_4_UHPI_HD0 (0x00000002u) +#define SYSCFG_PINMUX16_PINMUX16_7_4_UPP_D0 (0x00000004u) +#define SYSCFG_PINMUX16_PINMUX16_7_4_GPIO6_5 (0x00000008u) + +#define SYSCFG_PINMUX16_PINMUX16_3_0 (0x0000000Fu) +#define SYSCFG_PINMUX16_PINMUX16_3_0_SHIFT (0x00000000u) +/*----PINMUX16_3_0 Tokens----*/ +#define SYSCFG_PINMUX16_PINMUX16_3_0_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX16_PINMUX16_3_0_DIN9 (0x00000001u) +#define SYSCFG_PINMUX16_PINMUX16_3_0_UHPI_HD1 (0x00000002u) +#define SYSCFG_PINMUX16_PINMUX16_3_0_UPP_D1 (0x00000004u) +#define SYSCFG_PINMUX16_PINMUX16_3_0_PRU0_R30_9 (0x00000008u) + + +/* PINMUX17 */ + +#define SYSCFG_PINMUX17_PINMUX17_31_28 (0xF0000000u) +#define SYSCFG_PINMUX17_PINMUX17_31_28_SHIFT (0x0000001Cu) +/*----PINMUX17_31_28 Tokens----*/ +#define SYSCFG_PINMUX17_PINMUX17_31_28_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX17_PINMUX17_31_28_DOUT10 (0x00000001u) +#define SYSCFG_PINMUX17_PINMUX17_31_28_LCD_D10 (0x00000002u) +#define SYSCFG_PINMUX17_PINMUX17_31_28_UPP_XD2 (0x00000004u) +#define SYSCFG_PINMUX17_PINMUX17_31_28_GPIO7_2 (0x00000008u) + +#define SYSCFG_PINMUX17_PINMUX17_27_24 (0x0F000000u) +#define SYSCFG_PINMUX17_PINMUX17_27_24_SHIFT (0x00000018u) +/*----PINMUX17_27_24 Tokens----*/ +#define SYSCFG_PINMUX17_PINMUX17_27_24_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX17_PINMUX17_27_24_DOUT11 (0x00000001u) +#define SYSCFG_PINMUX17_PINMUX17_27_24_LCD_D11 (0x00000002u) +#define SYSCFG_PINMUX17_PINMUX17_27_24_UPP_XD3 (0x00000004u) +#define SYSCFG_PINMUX17_PINMUX17_27_24_GPIO7_3 (0x00000008u) + +#define SYSCFG_PINMUX17_PINMUX17_23_20 (0x00F00000u) +#define SYSCFG_PINMUX17_PINMUX17_23_20_SHIFT (0x00000014u) +/*----PINMUX17_23_20 Tokens----*/ +#define SYSCFG_PINMUX17_PINMUX17_23_20_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX17_PINMUX17_23_20_DOUT12 (0x00000001u) +#define SYSCFG_PINMUX17_PINMUX17_23_20_LCD_D12 (0x00000002u) +#define SYSCFG_PINMUX17_PINMUX17_23_20_UPP_XD4 (0x00000004u) +#define SYSCFG_PINMUX17_PINMUX17_23_20_GPIO7_4 (0x00000008u) + +#define SYSCFG_PINMUX17_PINMUX17_19_16 (0x000F0000u) +#define SYSCFG_PINMUX17_PINMUX17_19_16_SHIFT (0x00000010u) +/*----PINMUX17_19_16 Tokens----*/ +#define SYSCFG_PINMUX17_PINMUX17_19_16_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX17_PINMUX17_19_16_DOUT13 (0x00000001u) +#define SYSCFG_PINMUX17_PINMUX17_19_16_LCD_D13 (0x00000002u) +#define SYSCFG_PINMUX17_PINMUX17_19_16_UPP_XD5 (0x00000004u) +#define SYSCFG_PINMUX17_PINMUX17_19_16_GPIO7_5 (0x00000008u) + +#define SYSCFG_PINMUX17_PINMUX17_15_12 (0x0000F000u) +#define SYSCFG_PINMUX17_PINMUX17_15_12_SHIFT (0x0000000Cu) +/*----PINMUX17_15_12 Tokens----*/ +#define SYSCFG_PINMUX17_PINMUX17_15_12_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX17_PINMUX17_15_12_DOUT14 (0x00000001u) +#define SYSCFG_PINMUX17_PINMUX17_15_12_LCD_D14 (0x00000002u) +#define SYSCFG_PINMUX17_PINMUX17_15_12_UPP_XD6 (0x00000004u) +#define SYSCFG_PINMUX17_PINMUX17_15_12_GPIO7_6 (0x00000008u) + +#define SYSCFG_PINMUX17_PINMUX17_11_8 (0x00000F00u) +#define SYSCFG_PINMUX17_PINMUX17_11_8_SHIFT (0x00000008u) +/*----PINMUX17_11_8 Tokens----*/ +#define SYSCFG_PINMUX17_PINMUX17_11_8_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX17_PINMUX17_11_8_DOUT15 (0x00000001u) +#define SYSCFG_PINMUX17_PINMUX17_11_8_LCD_D15 (0x00000002u) +#define SYSCFG_PINMUX17_PINMUX17_11_8_UPP_XD7 (0x00000004u) +#define SYSCFG_PINMUX17_PINMUX17_11_8_GPIO7_7 (0x00000008u) + +#define SYSCFG_PINMUX17_PINMUX17_7_4 (0x000000F0u) +#define SYSCFG_PINMUX17_PINMUX17_7_4_SHIFT (0x00000004u) +/*----PINMUX17_7_4 Tokens----*/ +#define SYSCFG_PINMUX17_PINMUX17_7_4_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX17_PINMUX17_7_4_DOUT0 (0x00000001u) +#define SYSCFG_PINMUX17_PINMUX17_7_4_LCD_D0 (0x00000002u) +#define SYSCFG_PINMUX17_PINMUX17_7_4_UPP_XD8 (0x00000004u) +#define SYSCFG_PINMUX17_PINMUX17_7_4_GPIO7_8 (0x00000008u) + +#define SYSCFG_PINMUX17_PINMUX17_3_0 (0x0000000Fu) +#define SYSCFG_PINMUX17_PINMUX17_3_0_SHIFT (0x00000000u) +/*----PINMUX17_3_0 Tokens----*/ +#define SYSCFG_PINMUX17_PINMUX17_3_0_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX17_PINMUX17_3_0_DOUT1 (0x00000001u) +#define SYSCFG_PINMUX17_PINMUX17_3_0_LCD_D1 (0x00000002u) +#define SYSCFG_PINMUX17_PINMUX17_3_0_UPP_XD9 (0x00000004u) +#define SYSCFG_PINMUX17_PINMUX17_3_0_GPIO7_9 (0x00000008u) + + +/* PINMUX18 */ + +#define SYSCFG_PINMUX18_PINMUX18_31_28 (0xF0000000u) +#define SYSCFG_PINMUX18_PINMUX18_31_28_SHIFT (0x0000001Cu) +/*----PINMUX18_31_28 Tokens----*/ +#define SYSCFG_PINMUX18_PINMUX18_31_28_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX18_PINMUX18_31_28_MMCSD1_DAT6 (0x00000001u) +#define SYSCFG_PINMUX18_PINMUX18_31_28_LCD_MCLK (0x00000002u) +#define SYSCFG_PINMUX18_PINMUX18_31_28_PRU1_R30_6 (0x00000004u) +#define SYSCFG_PINMUX18_PINMUX18_31_28_GPIO8_10 (0x00000008u) + +#define SYSCFG_PINMUX18_PINMUX18_27_24 (0x0F000000u) +#define SYSCFG_PINMUX18_PINMUX18_27_24_SHIFT (0x00000018u) +/*----PINMUX18_27_24 Tokens----*/ +#define SYSCFG_PINMUX18_PINMUX18_27_24_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX18_PINMUX18_27_24_MMCSD1_DAT7 (0x00000001u) +#define SYSCFG_PINMUX18_PINMUX18_27_24_LCD_PCLK (0x00000002u) +#define SYSCFG_PINMUX18_PINMUX18_27_24_PRU1_R30_7 (0x00000004u) +#define SYSCFG_PINMUX18_PINMUX18_27_24_GPIO8_11 (0x00000008u) + +#define SYSCFG_PINMUX18_PINMUX18_23_20 (0x00F00000u) +#define SYSCFG_PINMUX18_PINMUX18_23_20_SHIFT (0x00000014u) +/*----PINMUX18_23_20 Tokens----*/ +#define SYSCFG_PINMUX18_PINMUX18_23_20_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX18_PINMUX18_23_20_PRU0_R30_22 (0x00000001u) +#define SYSCFG_PINMUX18_PINMUX18_23_20_PRU1_R30_8 (0x00000002u) +#define SYSCFG_PINMUX18_PINMUX18_23_20_CH0_WAIT (0x00000004u) +#define SYSCFG_PINMUX18_PINMUX18_23_20_GPIO8_12 (0x00000008u) + +#define SYSCFG_PINMUX18_PINMUX18_19_16 (0x000F0000u) +#define SYSCFG_PINMUX18_PINMUX18_19_16_SHIFT (0x00000010u) +/*----PINMUX18_19_16 Tokens----*/ +#define SYSCFG_PINMUX18_PINMUX18_19_16_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX18_PINMUX18_19_16_PRU0_R30_23 (0x00000001u) +#define SYSCFG_PINMUX18_PINMUX18_19_16_MMCSD1_CMD (0x00000002u) +#define SYSCFG_PINMUX18_PINMUX18_19_16_GPIO8_13 (0x00000008u) + +#define SYSCFG_PINMUX18_PINMUX18_15_12 (0x0000F000u) +#define SYSCFG_PINMUX18_PINMUX18_15_12_SHIFT (0x0000000Cu) +/*----PINMUX18_15_12 Tokens----*/ +#define SYSCFG_PINMUX18_PINMUX18_15_12_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX18_PINMUX18_15_12_PRU0_R30_24 (0x00000001u) +#define SYSCFG_PINMUX18_PINMUX18_15_12_MMCSD1_CLK (0x00000002u) +#define SYSCFG_PINMUX18_PINMUX18_15_12_CH0_START (0x00000004u) +#define SYSCFG_PINMUX18_PINMUX18_15_12_GPIO8_14 (0x00000008u) + +#define SYSCFG_PINMUX18_PINMUX18_11_8 (0x00000F00u) +#define SYSCFG_PINMUX18_PINMUX18_11_8_SHIFT (0x00000008u) +/*----PINMUX18_11_8 Tokens----*/ +#define SYSCFG_PINMUX18_PINMUX18_11_8_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX18_PINMUX18_11_8_PRU0_R30_25 (0x00000001u) +#define SYSCFG_PINMUX18_PINMUX18_11_8_MMCSD1_DAT0 (0x00000002u) +#define SYSCFG_PINMUX18_PINMUX18_11_8_CH0_CLK (0x00000004u) +#define SYSCFG_PINMUX18_PINMUX18_11_8_GPIO8_15 (0x00000008u) + +#define SYSCFG_PINMUX18_PINMUX18_7_4 (0x000000F0u) +#define SYSCFG_PINMUX18_PINMUX18_7_4_SHIFT (0x00000004u) +/*----PINMUX18_7_4 Tokens----*/ +#define SYSCFG_PINMUX18_PINMUX18_7_4_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX18_PINMUX18_7_4_DOUT8 (0x00000001u) +#define SYSCFG_PINMUX18_PINMUX18_7_4_LCD_D8 (0x00000002u) +#define SYSCFG_PINMUX18_PINMUX18_7_4_UPP_XD0 (0x00000004u) +#define SYSCFG_PINMUX18_PINMUX18_7_4_GPIO7_0 (0x00000008u) + +#define SYSCFG_PINMUX18_PINMUX18_3_0 (0x0000000Fu) +#define SYSCFG_PINMUX18_PINMUX18_3_0_SHIFT (0x00000000u) +/*----PINMUX18_3_0 Tokens----*/ +#define SYSCFG_PINMUX18_PINMUX18_3_0_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX18_PINMUX18_3_0_DOUT9 (0x00000001u) +#define SYSCFG_PINMUX18_PINMUX18_3_0_LCD_D9 (0x00000002u) +#define SYSCFG_PINMUX18_PINMUX18_3_0_UPP_XD1 (0x00000004u) +#define SYSCFG_PINMUX18_PINMUX18_3_0_GPIO7_1 (0x00000008u) + + +/* PINMUX19 */ + +#define SYSCFG_PINMUX19_PINMUX19_31_28 (0xF0000000u) +#define SYSCFG_PINMUX19_PINMUX19_31_28_SHIFT (0x0000001Cu) +/*----PINMUX19_31_28 Tokens----*/ +#define SYSCFG_PINMUX19_PINMUX19_31_28_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX19_PINMUX19_31_28_RTCK (0x00000001u) +#define SYSCFG_PINMUX19_PINMUX19_31_28_RESERVED2 (0x00000002u) +#define SYSCFG_PINMUX19_PINMUX19_31_28_RESERVED4 (0x00000004u) +#define SYSCFG_PINMUX19_PINMUX19_31_28_GPIO8_0 (0x00000008u) + +#define SYSCFG_PINMUX19_PINMUX19_27_24 (0x0F000000u) +#define SYSCFG_PINMUX19_PINMUX19_27_24_SHIFT (0x00000018u) +/*----PINMUX19_27_24 Tokens----*/ +#define SYSCFG_PINMUX19_PINMUX19_27_24_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX19_PINMUX19_27_24_RESERVED1 (0x00000001u) +#define SYSCFG_PINMUX19_PINMUX19_27_24_NLCD_AC_ENB_CS (0x00000002u) +#define SYSCFG_PINMUX19_PINMUX19_27_24_RESERVED4 (0x00000004u) +#define SYSCFG_PINMUX19_PINMUX19_27_24_GPIO6_0 (0x00000008u) + +#define SYSCFG_PINMUX19_PINMUX19_23_20 (0x00F00000u) +#define SYSCFG_PINMUX19_PINMUX19_23_20_SHIFT (0x00000014u) +/*----PINMUX19_23_20 Tokens----*/ +#define SYSCFG_PINMUX19_PINMUX19_23_20_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX19_PINMUX19_23_20_CLKO3 (0x00000001u) +#define SYSCFG_PINMUX19_PINMUX19_23_20_RESERVED2 (0x00000002u) +#define SYSCFG_PINMUX19_PINMUX19_23_20_PRU1_R30_0 (0x00000004u) +#define SYSCFG_PINMUX19_PINMUX19_23_20_GPIO6_1 (0x00000008u) + +#define SYSCFG_PINMUX19_PINMUX19_19_16 (0x000F0000u) +#define SYSCFG_PINMUX19_PINMUX19_19_16_SHIFT (0x00000010u) +/*----PINMUX19_19_16 Tokens----*/ +#define SYSCFG_PINMUX19_PINMUX19_19_16_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX19_PINMUX19_19_16_CLKIN3 (0x00000001u) +#define SYSCFG_PINMUX19_PINMUX19_19_16_MMCSD1_DAT1 (0x00000002u) +#define SYSCFG_PINMUX19_PINMUX19_19_16_PRU1_R30_1 (0x00000004u) +#define SYSCFG_PINMUX19_PINMUX19_19_16_GPIO6_2 (0x00000008u) + +#define SYSCFG_PINMUX19_PINMUX19_15_12 (0x0000F000u) +#define SYSCFG_PINMUX19_PINMUX19_15_12_SHIFT (0x0000000Cu) +/*----PINMUX19_15_12 Tokens----*/ +#define SYSCFG_PINMUX19_PINMUX19_15_12_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX19_PINMUX19_15_12_CLKO2 (0x00000001u) +#define SYSCFG_PINMUX19_PINMUX19_15_12_MMCSD1_DAT2 (0x00000002u) +#define SYSCFG_PINMUX19_PINMUX19_15_12_PRU1_R30_2 (0x00000004u) +#define SYSCFG_PINMUX19_PINMUX19_15_12_GPIO6_3 (0x00000008u) + +#define SYSCFG_PINMUX19_PINMUX19_11_8 (0x00000F00u) +#define SYSCFG_PINMUX19_PINMUX19_11_8_SHIFT (0x00000008u) +/*----PINMUX19_11_8 Tokens----*/ +#define SYSCFG_PINMUX19_PINMUX19_11_8_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX19_PINMUX19_11_8_CLKIN2 (0x00000001u) +#define SYSCFG_PINMUX19_PINMUX19_11_8_MMCSD1_DAT3 (0x00000002u) +#define SYSCFG_PINMUX19_PINMUX19_11_8_PRU1_R30_3 (0x00000004u) +#define SYSCFG_PINMUX19_PINMUX19_11_8_GPIO6_4 (0x00000008u) + +#define SYSCFG_PINMUX19_PINMUX19_7_4 (0x000000F0u) +#define SYSCFG_PINMUX19_PINMUX19_7_4_SHIFT (0x00000004u) +/*----PINMUX19_7_4 Tokens----*/ +#define SYSCFG_PINMUX19_PINMUX19_7_4_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX19_PINMUX19_7_4_MMCSD1_DAT4 (0x00000001u) +#define SYSCFG_PINMUX19_PINMUX19_7_4_LCD_VSYNC (0x00000002u) +#define SYSCFG_PINMUX19_PINMUX19_7_4_PRU1_R30_4 (0x00000004u) +#define SYSCFG_PINMUX19_PINMUX19_7_4_GPIO8_8 (0x00000008u) + +#define SYSCFG_PINMUX19_PINMUX19_3_0 (0x0000000Fu) +#define SYSCFG_PINMUX19_PINMUX19_3_0_SHIFT (0x00000000u) +/*----PINMUX19_3_0 Tokens----*/ +#define SYSCFG_PINMUX19_PINMUX19_3_0_DEFAULT (0x00000000u) +#define SYSCFG_PINMUX19_PINMUX19_3_0_MMCSD1_DAT5 (0x00000001u) +#define SYSCFG_PINMUX19_PINMUX19_3_0_LCD_HSYNC (0x00000002u) +#define SYSCFG_PINMUX19_PINMUX19_3_0_PRU1_R30_5 (0x00000004u) +#define SYSCFG_PINMUX19_PINMUX19_3_0_GPIO8_9 (0x00000008u) + + +/* SUSPSRC */ + + +#define SYSCFG_SUSPSRC_TIMER64P_2SRC (0x20000000u) +#define SYSCFG_SUSPSRC_TIMER64P_2SRC_SHIFT (0x0000001Du) + +#define SYSCFG_SUSPSRC_TIMER64P_1SRC (0x10000000u) +#define SYSCFG_SUSPSRC_TIMER64P_1SRC_SHIFT (0x0000001Cu) + +#define SYSCFG_SUSPSRC_TIMER64P_0SRC (0x08000000u) +#define SYSCFG_SUSPSRC_TIMER64P_0SRC_SHIFT (0x0000001Bu) + + +#define SYSCFG_SUSPSRC_EPWM1SRC (0x01000000u) +#define SYSCFG_SUSPSRC_EPWM1SRC_SHIFT (0x00000018u) + +#define SYSCFG_SUSPSRC_EPWM0SRC (0x00800000u) +#define SYSCFG_SUSPSRC_EPWM0SRC_SHIFT (0x00000017u) + +#define SYSCFG_SUSPSRC_SPI1SRC (0x00400000u) +#define SYSCFG_SUSPSRC_SPI1SRC_SHIFT (0x00000016u) + +#define SYSCFG_SUSPSRC_SPI0SRC (0x00200000u) +#define SYSCFG_SUSPSRC_SPI0SRC_SHIFT (0x00000015u) + +#define SYSCFG_SUSPSRC_UART2SRC (0x00100000u) +#define SYSCFG_SUSPSRC_UART2SRC_SHIFT (0x00000014u) + +#define SYSCFG_SUSPSRC_UART1SRC (0x00080000u) +#define SYSCFG_SUSPSRC_UART1SRC_SHIFT (0x00000013u) + +#define SYSCFG_SUSPSRC_UART0SRC (0x00040000u) +#define SYSCFG_SUSPSRC_UART0SRC_SHIFT (0x00000012u) + +#define SYSCFG_SUSPSRC_I2C1SRC (0x00020000u) +#define SYSCFG_SUSPSRC_I2C1SRC_SHIFT (0x00000011u) + +#define SYSCFG_SUSPSRC_I2C0SRC (0x00010000u) +#define SYSCFG_SUSPSRC_I2C0SRC_SHIFT (0x00000010u) + + +#define SYSCFG_SUSPSRC_VPIFSRC (0x00004000u) +#define SYSCFG_SUSPSRC_VPIFSRC_SHIFT (0x0000000Eu) + +#define SYSCFG_SUSPSRC_SATASRC (0x00002000u) +#define SYSCFG_SUSPSRC_SATASRC_SHIFT (0x0000000Du) + +#define SYSCFG_SUSPSRC_HPISRC (0x00001000u) +#define SYSCFG_SUSPSRC_HPISRC_SHIFT (0x0000000Cu) + + +#define SYSCFG_SUSPSRC_USB0SRC (0x00000200u) +#define SYSCFG_SUSPSRC_USB0SRC_SHIFT (0x00000009u) + +#define SYSCFG_SUSPSRC_MCBSP1SRC (0x00000100u) +#define SYSCFG_SUSPSRC_MCBSP1SRC_SHIFT (0x00000008u) + +#define SYSCFG_SUSPSRC_MCBSP0SRC (0x00000080u) +#define SYSCFG_SUSPSRC_MCBSP0SRC_SHIFT (0x00000007u) + +#define SYSCFG_SUSPSRC_PRUSRC (0x00000040u) +#define SYSCFG_SUSPSRC_PRUSRC_SHIFT (0x00000006u) + +#define SYSCFG_SUSPSRC_EMACSRC (0x00000020u) +#define SYSCFG_SUSPSRC_EMACSRC_SHIFT (0x00000005u) + +#define SYSCFG_SUSPSRC_UPPSRC (0x00000010u) +#define SYSCFG_SUSPSRC_UPPSRC_SHIFT (0x00000004u) + +#define SYSCFG_SUSPSRC_TIMER64P_3SRC (0x00000008u) +#define SYSCFG_SUSPSRC_TIMER64P_3SRC_SHIFT (0x00000003u) + +#define SYSCFG_SUSPSRC_ECAP2SRC (0x00000004u) +#define SYSCFG_SUSPSRC_ECAP2SRC_SHIFT (0x00000002u) + +#define SYSCFG_SUSPSRC_ECAP1SRC (0x00000002u) +#define SYSCFG_SUSPSRC_ECAP1SRC_SHIFT (0x00000001u) + +#define SYSCFG_SUSPSRC_ECAP0SRC (0x00000001u) +#define SYSCFG_SUSPSRC_ECAP0SRC_SHIFT (0x00000000u) + + +/* CHIPSIG */ + + +#define SYSCFG_CHIPSIG_CHIPSIG4 (0x00000010u) +#define SYSCFG_CHIPSIG_CHIPSIG4_SHIFT (0x00000004u) + +#define SYSCFG_CHIPSIG_CHIPSIG3 (0x00000008u) +#define SYSCFG_CHIPSIG_CHIPSIG3_SHIFT (0x00000003u) + +#define SYSCFG_CHIPSIG_CHIPSIG2 (0x00000004u) +#define SYSCFG_CHIPSIG_CHIPSIG2_SHIFT (0x00000002u) + +#define SYSCFG_CHIPSIG_CHIPSIG1 (0x00000002u) +#define SYSCFG_CHIPSIG_CHIPSIG1_SHIFT (0x00000001u) + +#define SYSCFG_CHIPSIG_CHIPSIG0 (0x00000001u) +#define SYSCFG_CHIPSIG_CHIPSIG0_SHIFT (0x00000000u) + + +/* CHIPSIG_CLR */ + + +#define SYSCFG_CHIPSIG_CLR_CHIPSIG4 (0x00000010u) +#define SYSCFG_CHIPSIG_CLR_CHIPSIG4_SHIFT (0x00000004u) + +#define SYSCFG_CHIPSIG_CLR_CHIPSIG3 (0x00000008u) +#define SYSCFG_CHIPSIG_CLR_CHIPSIG3_SHIFT (0x00000003u) + +#define SYSCFG_CHIPSIG_CLR_CHIPSIG2 (0x00000004u) +#define SYSCFG_CHIPSIG_CLR_CHIPSIG2_SHIFT (0x00000002u) + +#define SYSCFG_CHIPSIG_CLR_CHIPSIG1 (0x00000002u) +#define SYSCFG_CHIPSIG_CLR_CHIPSIG1_SHIFT (0x00000001u) + +#define SYSCFG_CHIPSIG_CLR_CHIPSIG0 (0x00000001u) +#define SYSCFG_CHIPSIG_CLR_CHIPSIG0_SHIFT (0x00000000u) + + +/* CFGCHIP0 */ + +#define SYSCFG_CFGCHIP0_ARM_CLK_DIS0 (0x80000000u) +#define SYSCFG_CFGCHIP0_ARM_CLK_DIS0_SHIFT (0x0000001Fu) + +#define SYSCFG_CFGCHIP0_ARM_TAP_DIS0 (0x40000000u) +#define SYSCFG_CFGCHIP0_ARM_TAP_DIS0_SHIFT (0x0000001Eu) + + +#define SYSCFG_CFGCHIP0_PLL_MASTER_LOCK (0x00000010u) +#define SYSCFG_CFGCHIP0_PLL_MASTER_LOCK_SHIFT (0x00000004u) + +#define SYSCFG_CFGCHIP0_EDMA30TC1DBS (0x0000000Cu) +#define SYSCFG_CFGCHIP0_EDMA30TC1DBS_SHIFT (0x00000002u) +/*----EDMA30TC1DBS Tokens----*/ +#define SYSCFG_CFGCHIP0_EDMA30TC1DBS_16BYTE (0x00000000u) +#define SYSCFG_CFGCHIP0_EDMA30TC1DBS_32BYTE (0x00000001u) +#define SYSCFG_CFGCHIP0_EDMA30TC1DBS_64BYTE (0x00000002u) +#define SYSCFG_CFGCHIP0_EDMA30TC1DBS_RESERVED (0x00000003u) + +#define SYSCFG_CFGCHIP0_EDMA30TC0DBS (0x00000003u) +#define SYSCFG_CFGCHIP0_EDMA30TC0DBS_SHIFT (0x00000000u) +/*----EDMA30TC0DBS Tokens----*/ +#define SYSCFG_CFGCHIP0_EDMA30TC0DBS_16BYTE (0x00000000u) +#define SYSCFG_CFGCHIP0_EDMA30TC0DBS_32BYTE (0x00000001u) +#define SYSCFG_CFGCHIP0_EDMA30TC0DBS_64BYTE (0x00000002u) +#define SYSCFG_CFGCHIP0_EDMA30TC0DBS_RESERVED (0x00000003u) + + +/* CFGCHIP1 */ + +#define SYSCFG_CFGCHIP1_CAP2SRC (0xF8000000u) +#define SYSCFG_CFGCHIP1_CAP2SRC_SHIFT (0x0000001Bu) +/*----CAP2SRC Tokens----*/ +#define SYSCFG_CFGCHIP1_CAP2SRC_ECAP2 (0x00000000u) +#define SYSCFG_CFGCHIP1_CAP2SRC_MCASP0_TXDMA (0x00000001u) +#define SYSCFG_CFGCHIP1_CAP2SRC_MCASP0_RXDMA (0x00000002u) +#define SYSCFG_CFGCHIP1_CAP2SRC_MCASP1_TXDMA (0x00000003u) +#define SYSCFG_CFGCHIP1_CAP2SRC_MCASP1_RXDMA (0x00000004u) +#define SYSCFG_CFGCHIP1_CAP2SRC_MCASP2_TXDMA (0x00000005u) +#define SYSCFG_CFGCHIP1_CAP2SRC_MCASP2_RXDMA (0x00000006u) +#define SYSCFG_CFGCHIP1_CAP2SRC_EMAC_C0_RXTHPLSEINT (0x00000007u) +#define SYSCFG_CFGCHIP1_CAP2SRC_EMAC_C0_RXPLSEINT (0x00000008u) +#define SYSCFG_CFGCHIP1_CAP2SRC_EMAC_C0_TXPLSEINT (0x00000009u) +#define SYSCFG_CFGCHIP1_CAP2SRC_EMAC_C0_MISCINT (0x0000000au) +#define SYSCFG_CFGCHIP1_CAP2SRC_EMAC_C1_RXTHPLSEINT (0x0000000bu) +#define SYSCFG_CFGCHIP1_CAP2SRC_EMAC_C1_RXPLSEINT (0x0000000cu) +#define SYSCFG_CFGCHIP1_CAP2SRC_EMAC_C1_TXPLSEINT (0x0000000du) +#define SYSCFG_CFGCHIP1_CAP2SRC_EMAC_C1_MISCINT (0x0000000eu) +#define SYSCFG_CFGCHIP1_CAP2SRC_EMAC_C2_RXTHPLSEINT (0x0000000fu) +#define SYSCFG_CFGCHIP1_CAP2SRC_EMAC_C2_RXPLSEINT (0x00000010u) +#define SYSCFG_CFGCHIP1_CAP2SRC_EMAC_C2_TXPLSEINT (0x00000011u) +#define SYSCFG_CFGCHIP1_CAP2SRC_EMAC_C2_MISCINT (0x00000012u) + +#define SYSCFG_CFGCHIP1_CAP1SRC (0x07C00000u) +#define SYSCFG_CFGCHIP1_CAP1SRC_SHIFT (0x00000016u) +/*----CAP1SRC Tokens----*/ +#define SYSCFG_CFGCHIP1_CAP1SRC_ECAP1 (0x00000000u) +#define SYSCFG_CFGCHIP1_CAP1SRC_MCASP0_TXDMA (0x00000001u) +#define SYSCFG_CFGCHIP1_CAP1SRC_MCASP0_RXDMA (0x00000002u) +#define SYSCFG_CFGCHIP1_CAP1SRC_MCASP1_TXDMA (0x00000003u) +#define SYSCFG_CFGCHIP1_CAP1SRC_MCASP1_RXDMA (0x00000004u) +#define SYSCFG_CFGCHIP1_CAP1SRC_MCASP2_TXDMA (0x00000005u) +#define SYSCFG_CFGCHIP1_CAP1SRC_MCASP2_RXDMA (0x00000006u) +#define SYSCFG_CFGCHIP1_CAP1SRC_EMAC_C0_RXTHPLSEINT (0x00000007u) +#define SYSCFG_CFGCHIP1_CAP1SRC_EMAC_C0_RXPLSEINT (0x00000008u) +#define SYSCFG_CFGCHIP1_CAP1SRC_EMAC_C0_TXPLSEINT (0x00000009u) +#define SYSCFG_CFGCHIP1_CAP1SRC_EMAC_C0_MISCINT (0x0000000au) +#define SYSCFG_CFGCHIP1_CAP1SRC_EMAC_C1_RXTHPLSEINT (0x0000000bu) +#define SYSCFG_CFGCHIP1_CAP1SRC_EMAC_C1_RXPLSEINT (0x0000000cu) +#define SYSCFG_CFGCHIP1_CAP1SRC_EMAC_C1_TXPLSEINT (0x0000000du) +#define SYSCFG_CFGCHIP1_CAP1SRC_EMAC_C1_MISCINT (0x0000000eu) +#define SYSCFG_CFGCHIP1_CAP1SRC_EMAC_C2_RXTHPLSEINT (0x0000000fu) +#define SYSCFG_CFGCHIP1_CAP1SRC_EMAC_C2_RXPLSEINT (0x00000010u) +#define SYSCFG_CFGCHIP1_CAP1SRC_EMAC_C2_TXPLSEINT (0x00000011u) +#define SYSCFG_CFGCHIP1_CAP1SRC_EMAC_C2_MISCINT (0x00000012u) + +#define SYSCFG_CFGCHIP1_CAP0SRC (0x003E0000u) +#define SYSCFG_CFGCHIP1_CAP0SRC_SHIFT (0x00000011u) +/*----CAP0SRC Tokens----*/ +#define SYSCFG_CFGCHIP1_CAP0SRC_ECAP0 (0x00000000u) +#define SYSCFG_CFGCHIP1_CAP0SRC_MCASP0_TXDMA (0x00000001u) +#define SYSCFG_CFGCHIP1_CAP0SRC_MCASP0_RXDMA (0x00000002u) +#define SYSCFG_CFGCHIP1_CAP0SRC_MCASP1_TXDMA (0x00000003u) +#define SYSCFG_CFGCHIP1_CAP0SRC_MCASP1_RXDMA (0x00000004u) +#define SYSCFG_CFGCHIP1_CAP0SRC_MCASP2_TXDMA (0x00000005u) +#define SYSCFG_CFGCHIP1_CAP0SRC_MCASP2_RXDMA (0x00000006u) +#define SYSCFG_CFGCHIP1_CAP0SRC_EMAC_C0_RXTHPLSEINT (0x00000007u) +#define SYSCFG_CFGCHIP1_CAP0SRC_EMAC_C0_RXPLSEINT (0x00000008u) +#define SYSCFG_CFGCHIP1_CAP0SRC_EMAC_C0_TXPLSEINT (0x00000009u) +#define SYSCFG_CFGCHIP1_CAP0SRC_EMAC_C0_MISCINT (0x0000000au) +#define SYSCFG_CFGCHIP1_CAP0SRC_EMAC_C1_RXTHPLSEINT (0x0000000bu) +#define SYSCFG_CFGCHIP1_CAP0SRC_EMAC_C1_RXPLSEINT (0x0000000cu) +#define SYSCFG_CFGCHIP1_CAP0SRC_EMAC_C1_TXPLSEINT (0x0000000du) +#define SYSCFG_CFGCHIP1_CAP0SRC_EMAC_C1_MISCINT (0x0000000eu) +#define SYSCFG_CFGCHIP1_CAP0SRC_EMAC_C2_RXTHPLSEINT (0x0000000fu) +#define SYSCFG_CFGCHIP1_CAP0SRC_EMAC_C2_RXPLSEINT (0x00000010u) +#define SYSCFG_CFGCHIP1_CAP0SRC_EMAC_C2_TXPLSEINT (0x00000011u) +#define SYSCFG_CFGCHIP1_CAP0SRC_EMAC_C2_MISCINT (0x00000012u) + +#define SYSCFG_CFGCHIP1_HPIBYTEAD (0x00010000u) +#define SYSCFG_CFGCHIP1_HPIBYTEAD_SHIFT (0x00000010u) + +#define SYSCFG_CFGCHIP1_HPIENA (0x00008000u) +#define SYSCFG_CFGCHIP1_HPIENA_SHIFT (0x0000000Fu) + +#define SYSCFG_CFGCHIP1_EDMA31TC0DBS (0x00006000u) +#define SYSCFG_CFGCHIP1_EDMA31TC0DBS_SHIFT (0x0000000Du) +/*----EDMA31TC0DBS Tokens----*/ +#define SYSCFG_CFGCHIP1_EDMA31TC0DBS_16BYTE (0x00000000u) +#define SYSCFG_CFGCHIP1_EDMA31TC0DBS_32BYTE (0x00000001u) +#define SYSCFG_CFGCHIP1_EDMA31TC0DBS_64BYTE (0x00000002u) +#define SYSCFG_CFGCHIP1_EDMA31TC0DBS_RESERVED (0x00000003u) + +#define SYSCFG_CFGCHIP1_TBCLKSYNC (0x00001000u) +#define SYSCFG_CFGCHIP1_TBCLKSYNC_SHIFT (0x0000000Cu) + + +#define SYSCFG_CFGCHIP1_AMUTESEL0 (0x0000000Fu) +#define SYSCFG_CFGCHIP1_AMUTESEL0_SHIFT (0x00000000u) +/*----AMUTESEL0 Tokens----*/ +#define SYSCFG_CFGCHIP1_AMUTESEL0_LOW (0x00000000u) +#define SYSCFG_CFGCHIP1_AMUTESEL0_GPIO_B0 (0x00000001u) +#define SYSCFG_CFGCHIP1_AMUTESEL0_GPIO_B1 (0x00000002u) +#define SYSCFG_CFGCHIP1_AMUTESEL0_GPIO_B2 (0x00000003u) +#define SYSCFG_CFGCHIP1_AMUTESEL0_GPIO_B3 (0x00000004u) +#define SYSCFG_CFGCHIP1_AMUTESEL0_GPIO_B4 (0x00000005u) +#define SYSCFG_CFGCHIP1_AMUTESEL0_GPIO_B5 (0x00000006u) +#define SYSCFG_CFGCHIP1_AMUTESEL0_GPIO_B6 (0x00000007u) +#define SYSCFG_CFGCHIP1_AMUTESEL0_GPIO_B7 (0x00000008u) + + +/* CFGCHIP2 */ + + +#define SYSCFG_CFGCHIP2_USB0PHYCLKGD (0x00020000u) +#define SYSCFG_CFGCHIP2_USB0PHYCLKGD_SHIFT (0x00000011u) + +#define SYSCFG_CFGCHIP2_USB0VBUSSENSE (0x00010000u) +#define SYSCFG_CFGCHIP2_USB0VBUSSENSE_SHIFT (0x00000010u) + +#define SYSCFG_CFGCHIP2_RESET (0x00008000u) +#define SYSCFG_CFGCHIP2_RESET_SHIFT (0x0000000Fu) + +#define SYSCFG_CFGCHIP2_USB0OTGMODE (0x00006000u) +#define SYSCFG_CFGCHIP2_USB0OTGMODE_SHIFT (0x0000000Du) +/*----USB0OTGMODE Tokens----*/ +#define SYSCFG_CFGCHIP2_USB0OTGMODE_PHY (0x00000000u) +#define SYSCFG_CFGCHIP2_USB0OTGMODE_USB_HOST (0x00000001u) +#define SYSCFG_CFGCHIP2_USB0OTGMODE_USB_DEVICE (0x00000002u) +#define SYSCFG_CFGCHIP2_USB0OTGMODE_USB_HOST_LOW (0x00000003u) + +#define SYSCFG_CFGCHIP2_USB1PHYCLKMUX (0x00001000u) +#define SYSCFG_CFGCHIP2_USB1PHYCLKMUX_SHIFT (0x0000000Cu) + +#define SYSCFG_CFGCHIP2_USB0PHYCLKMUX (0x00000800u) +#define SYSCFG_CFGCHIP2_USB0PHYCLKMUX_SHIFT (0x0000000Bu) + +#define SYSCFG_CFGCHIP2_USB0PHYPWDN (0x00000400u) +#define SYSCFG_CFGCHIP2_USB0PHYPWDN_SHIFT (0x0000000Au) + +#define SYSCFG_CFGCHIP2_USB0OTGPWRDN (0x00000200u) +#define SYSCFG_CFGCHIP2_USB0OTGPWRDN_SHIFT (0x00000009u) + +#define SYSCFG_CFGCHIP2_USB0DATPOL (0x00000100u) +#define SYSCFG_CFGCHIP2_USB0DATPOL_SHIFT (0x00000008u) + +#define SYSCFG_CFGCHIP2_USB1SUSPENDM (0x00000080u) +#define SYSCFG_CFGCHIP2_USB1SUSPENDM_SHIFT (0x00000007u) + +#define SYSCFG_CFGCHIP2_USB0PHY_PLLON (0x00000040u) +#define SYSCFG_CFGCHIP2_USB0PHY_PLLON_SHIFT (0x00000006u) + +#define SYSCFG_CFGCHIP2_USB0SESNDEN (0x00000020u) +#define SYSCFG_CFGCHIP2_USB0SESNDEN_SHIFT (0x00000005u) + +#define SYSCFG_CFGCHIP2_USB0VBDTCTEN (0x00000010u) +#define SYSCFG_CFGCHIP2_USB0VBDTCTEN_SHIFT (0x00000004u) + +#define SYSCFG_CFGCHIP2_USB0REF_FREQ (0x0000000Fu) +#define SYSCFG_CFGCHIP2_USB0REF_FREQ_SHIFT (0x00000000u) + + +/* CFGCHIP3 */ + + + +#define SYSCFG_CFGCHIP3_RMII_SEL (0x00000100u) +#define SYSCFG_CFGCHIP3_RMII_SEL_SHIFT (0x00000008u) + +#define SYSCFG_CFGCHIP3_UPP_TX_CLKSRC (0x00000040u) +#define SYSCFG_CFGCHIP3_UPP_TX_CLKSRC_SHIFT (0x00000006u) + +#define SYSCFG_CFGCHIP3_PLL1_MASTER_LOCK (0x00000020u) +#define SYSCFG_CFGCHIP3_PLL1_MASTER_LOCK_SHIFT (0x00000005u) + +#define SYSCFG_CFGCHIP3_ASYNC3_CLKSRC (0x00000010u) +#define SYSCFG_CFGCHIP3_ASYNC3_CLKSRC_SHIFT (0x00000004u) + +#define SYSCFG_CFGCHIP3_PRUEVTSEL (0x00000008u) +#define SYSCFG_CFGCHIP3_PRUEVTSEL_SHIFT (0x00000003u) + +#define SYSCFG_CFGCHIP3_DIV4P5ENA (0x00000004u) +#define SYSCFG_CFGCHIP3_DIV4P5ENA_SHIFT (0x00000002u) + +#define SYSCFG_CFGCHIP3_EMA_CLKSRC (0x00000002u) +#define SYSCFG_CFGCHIP3_EMA_CLKSRC_SHIFT (0x00000001u) + +#define SYSCFG_CFGCHIP4_AMUTECLR0 (0x00000001u) +#define SYSCFG_CFGCHIP4_AMUTECLR0_SHIFT (0x00000000u) + +#ifdef __cplusplus +} +#endif + +#endif /* _HW_SYSCFG1_H_ */ diff --git a/src/logman.c b/src/logman.c new file mode 100644 index 0000000..db91907 --- /dev/null +++ b/src/logman.c @@ -0,0 +1,430 @@ +/* + * logman.c + * + * Created on: 08-04-2014 + * Author: Krzysztof Jakubczyk + */ + +#include +#include +#include +#include +#include + +#include "tdefs.h" +#include "logman.h" +#include "misc.h" +#include "comm.h" + +#include "logic_elements/elements.h" +#include "logic_elements/eth.h" +#include "ports/am1808/include/netif/sitaraif.h" + +struct logic_manager log_manager; +struct logman_profiler log_profile[MAX_LOG_ELEMENTS]; +//u32 debug_size[8]; + +#pragma LOCATION(log_profile,0xc5400000) // @ non-cached memory above 128MB + +void logman_reset() +{ + u32 i; + memset((void *)&measurands,0,sizeof(measurands)); + memset(&log_manager,0,sizeof(log_manager)); + memset(&log_profile,0,sizeof(log_profile)); + + dbg.logman_cycle_time_max=0; + dbg.logman_cycle_time=0; + ev_reg_log=NULL; +// led_blink_states=0; +// led_states=0; +// virt_in_states=0; + virt_in_mask=0; + virt_in2_mask=0; + dfr_drv_log_ptr=NULL; + ddr_drv_log_ptr=NULL; + dev_ctrl_state=0; + memset((u8*)force_bus_bin_data,0,sizeof(force_bus_bin_data)); + memset((u8*)force_bus_out_data,0,sizeof(force_bus_out_data)); + memset((u8*)bus_an_samples_neg,0,sizeof(bus_an_samples_neg)); +// memset((u8*)ic->out_set,0,sizeof(ic->out_set)); + for(i=0;imwd32_present=0; + + emac_hash_clear(EMAC_0_BASE); +} + +int logman_pushfunc(u16 fun_id,void *args, u32 args_size) +{ + u32 i=0; + u32 fun_index=0; +// u32 dbgg; + + void *argsptr,*logptr; + + if(log_manager.cur_element_num>=MAX_LOG_ELEMENTS) + return -5; + + while(log_elements[i].id!=EOF_ELEMENT) + { + if(log_elements[i].id == fun_id) + break; + i++; + } + + if(log_elements[i].id==EOF_ELEMENT) + return -1; + + fun_index=i; + + if(log_elements[fun_index].args_size != args_size && ((fun_id != GOOSE_FUN_ID && fun_id != SV_FUN_ID && fun_id != GOOSE_OUT_FUN_ID) || args_size (log_manager.buf + LOGMAN_BUFSIZE)) + return -3; + + log_manager.log_element[log_manager.cur_element_num].el_num = fun_index; +// log_manager.log_element[log_manager.cur_element_num].fun_main_ptr = log_elements[fun_index].fun_ptr; +// log_manager.log_element[log_manager.cur_element_num].fun_100hz_ptr = log_elements[fun_index].fun_100hz_ptr; +// log_manager.log_element[log_manager.cur_element_num].fun_20hz_ptr = log_elements[fun_index].fun_20hz_ptr; + +// dbgg=(u32)(log_manager.cur_buf_ptr); + + memcpy(log_manager.cur_buf_ptr,args,args_size); + log_manager.log_element[log_manager.cur_element_num].fun_args_ptr = log_manager.cur_buf_ptr; + argsptr=log_manager.cur_buf_ptr; + log_manager.cur_buf_ptr+=args_size; + + if((log_manager.cur_buf_ptr + log_elements[fun_index].log_size) > (log_manager.buf + LOGMAN_BUFSIZE)) + return -4; + + log_manager.log_element[log_manager.cur_element_num].fun_log_ptr = log_manager.cur_buf_ptr; + logptr=log_manager.cur_buf_ptr; + + log_manager.cur_buf_ptr+=log_elements[fun_index].log_size; + + if(log_elements[fun_index].initlog_ptr) + if(log_elements[fun_index].initlog_ptr(argsptr,logptr)) + return -6; + + if(fun_id == EVENTS_REG_FUN_ID) + { + struct events_reg_logic *evreg_l = (struct events_reg_logic *)logptr; + log_manager.cur_buf_ptr=(u8*)&evreg_l->element_num[evreg_l->events_count+1]; + log_manager.cur_buf_ptr+=(u32)(log_manager.cur_buf_ptr)%4; + // debug_size[0]=(u32)(log_manager.cur_buf_ptr)-dbgg; + } + else if(fun_id == OUT_DRV_FUN_ID) + { + struct out_drv_logic *out_drv_l = (struct out_drv_logic *)logptr; + log_manager.cur_buf_ptr=(u8*)&out_drv_l->element_num[out_drv_l->out_count+1]; + log_manager.cur_buf_ptr+=(u32)(log_manager.cur_buf_ptr)%4; + // debug_size[1]=(u32)(log_manager.cur_buf_ptr)-dbgg; + } + else if(fun_id == DFR_DRV_FUN_ID) + { + struct dfr_drv_logic *dfr_l = (struct dfr_drv_logic *)logptr; + log_manager.cur_buf_ptr=(u8*)&dfr_l->element_num[dfr_l->an_count+dfr_l->bin_count+1]; + log_manager.cur_buf_ptr+=(u32)(log_manager.cur_buf_ptr)%4; + // debug_size[2]=(u32)(log_manager.cur_buf_ptr)-dbgg; + } + else if(fun_id == DDR_DRV_FUN_ID) + { + struct ddr_drv_logic *ddr_l = (struct ddr_drv_logic *)logptr; + log_manager.cur_buf_ptr=(u8*)&ddr_l->element_num[ddr_l->an_count+ddr_l->bin_count+1]; + log_manager.cur_buf_ptr+=(u32)(log_manager.cur_buf_ptr)%4; + // debug_size[3]=(u32)(log_manager.cur_buf_ptr)-dbgg; + } + else if(fun_id == LEDS_DRV_FUN_ID) + { + struct leds_drv_logic *leds_l = (struct leds_drv_logic *)logptr; + log_manager.cur_buf_ptr=(u8*)&leds_l->element_num[leds_l->leds_count+1]; + log_manager.cur_buf_ptr+=(u32)(log_manager.cur_buf_ptr)%4; + // debug_size[4]=(u32)(log_manager.cur_buf_ptr)-dbgg; + } + else if(fun_id == VIRT_IN_DRV_FUN_ID) + { + struct virt_in_drv_logic *virt_l = (struct virt_in_drv_logic *)logptr; + log_manager.cur_buf_ptr=(u8*)&virt_l->element_num[virt_l->virt_in_count+1]; + log_manager.cur_buf_ptr+=(u32)(log_manager.cur_buf_ptr)%4; + // debug_size[5]=(u32)(log_manager.cur_buf_ptr)-dbgg; + } + else if(fun_id == GOOSE_DRV_FUN_ID) + { + struct goose_drv_logic *g = (struct goose_drv_logic *)logptr; + log_manager.cur_buf_ptr=(u8*)&g->element_num[g->gooses_count+1]; + log_manager.cur_buf_ptr+=(u32)(log_manager.cur_buf_ptr)%4; + // debug_size[6]=(u32)(log_manager.cur_buf_ptr)-dbgg; + } + else if(fun_id == AN_GEN_FUN_ID) + { + // struct an_gen_logic *an_gen_l = (struct an_gen_logic *)logptr; + // log_manager.cur_buf_ptr=(u8*)&an_gen_l->element_num[an_gen_l->an_count+1]; + } + + log_manager.log_element[log_manager.cur_element_num].flags = FUNCTION_ENABLED; + + if(fun_id == EVENT_FUN_ID) + { + log_manager.log_element[log_manager.cur_element_num].flags |= FUNCTION_IS_EVENT; + log_manager.status|=LOGMAN_USING_EVENTS; + } + else if(fun_id == REC_AN_FUN_ID) + log_manager.log_element[log_manager.cur_element_num].flags |= FUNCTION_IS_REC_AN; + else if(fun_id == REC_BUF_FUN_ID) + log_manager.log_element[log_manager.cur_element_num].flags |= FUNCTION_IS_REC_BUF; + else if(fun_id == REC_FLOAT_FUN_ID) + log_manager.log_element[log_manager.cur_element_num].flags |= FUNCTION_IS_REC_FLOAT; + else if(fun_id == REC_BIN_FUN_ID) + log_manager.log_element[log_manager.cur_element_num].flags |= FUNCTION_IS_REC_BIN; + else if(fun_id == REL_OUT_FUN_ID) + log_manager.log_element[log_manager.cur_element_num].flags |= FUNCTION_IS_REL_OUT; + else if(fun_id == SV_FUN_ID) + log_manager.status|= LOGMAN_USING_IEC_SV; + else if(fun_id == GOOSE_FUN_ID) + log_manager.log_element[log_manager.cur_element_num].flags |= FUNCTION_IS_GOOSE; + else if(fun_id == DFR_FUN_ID) + { + log_manager.log_element[log_manager.cur_element_num].flags |= FUNCTION_IS_DFR; + log_manager.status|=LOGMAN_USING_DFR; + } + else if(fun_id == DDR_FUN_ID) + { + log_manager.log_element[log_manager.cur_element_num].flags |= FUNCTION_IS_DDR; + log_manager.status|=LOGMAN_USING_DDR; + } + else if(fun_id == LED_FUN_ID || fun_id == BUZZER_FUN_ID) + { + log_manager.log_element[log_manager.cur_element_num].flags |= FUNCTION_IS_LED; + log_manager.status|=LOGMAN_USING_LEDS; + } + else if(fun_id == VIRT_IN_FUN_ID) + { + log_manager.log_element[log_manager.cur_element_num].flags |= FUNCTION_IS_VIRT_IN; + log_manager.status|=LOGMAN_USING_VIRT_IN; + } + + log_manager.cur_element_num++; + + dbg.logman_buf_size_cur = log_manager.cur_buf_ptr - log_manager.buf; + + log_manager.status|=LOGMAN_USING_AN_GEN; + + return 0; +} + +void logman_stop() +{ + log_manager.requests|=LOGMAN_REQUEST_STOP; + while(log_manager.status & LOGMAN_STATUS_STARTED) + Task_sleep(1); +} + +int logman_start() +{ + int ret; + + log_manager.soft_start_cnt=0; + + ret=logman_pushfunc(OUT_DRV_FUN_ID,NULL,0); + if(ret) + return -7; + + if(log_manager.status & LOGMAN_USING_EVENTS) + { + ret=logman_pushfunc(EVENTS_REG_FUN_ID,NULL,0); + if(ret) + return -1; + log_manager.status&=~LOGMAN_USING_EVENTS; + } + if(log_manager.status & LOGMAN_USING_LEDS) + { + ret=logman_pushfunc(LEDS_DRV_FUN_ID,NULL,0); + if(ret) + return -2; + log_manager.status&=~LOGMAN_USING_LEDS; + } + if(log_manager.status & LOGMAN_USING_VIRT_IN) + { + ret=logman_pushfunc(VIRT_IN_DRV_FUN_ID,NULL,0); + if(ret) + return -3; + log_manager.status&=~LOGMAN_USING_VIRT_IN; + } + if(log_manager.status & LOGMAN_USING_DFR) + { + ret=logman_pushfunc(DFR_DRV_FUN_ID,NULL,0); + if(ret) + return -4; + log_manager.status&=~LOGMAN_USING_DFR; + } + if(log_manager.status & LOGMAN_USING_DDR) + { + ret=logman_pushfunc(DDR_DRV_FUN_ID,NULL,0); + if(ret) + return -5; + log_manager.status&=~LOGMAN_USING_DDR; + } + + if(log_manager.status & LOGMAN_USING_AN_GEN) + { + ret=logman_pushfunc(AN_GEN_FUN_ID,NULL,0); + if(ret) + return -6; + log_manager.status&=~LOGMAN_USING_AN_GEN; + } + + log_manager.requests|=LOGMAN_REQUEST_START; + while(!(log_manager.status & LOGMAN_STATUS_STARTED)) + Task_sleep(1); + + return 0; +} + +void logman_init() +{ + logman_reset(); +} + +void logman_xkhz() +{ + u32 i; + u32 t_pre,t_post,t; + + if(log_manager.status & LOGMAN_STATUS_SOFT_STARTED && !(dev_ctrl_state & DEV_CTRL_STATE_TEST_OUT)) + memcpy((void*)bus_out_data,(void*)ic->out_set,MAX_OUT_CARDS); + + memcpy((void*)bus_bin_data,(void*)ic->bin_in,MAX_BIN_CARDS); + memcpy((void*)bus_bin_data_ench,(void*)ic->bin_in_ench,MAX_BIN_CARDS); + if(dev_ctrl_state & DEV_CTRL_STATE_TEST_IN) + { + for(i=0;i=t_pre) + t = t_post-t_pre; + else + t = t_post+65536-t_pre; + + log_profile[i].t_cur=t; + + if(t>log_profile[i].t_max) + log_profile[i].t_max=t; + } + else if(log_manager.log_element[i].flags == FUNCTION_NOT_INITIALIZED) + break; + } + } + + if(logman_notify) + Swi_post(swi_notify); + } + + if(log_manager.status & LOGMAN_STATUS_SOFT_STARTED) + { + if(dev_ctrl_state & DEV_CTRL_STATE_TEST_OUT) + { + for(i=0;iout_set,(void*)bus_out_data_test,MAX_OUT_CARDS*2); + } + else + { + if(!(dev_ctrl_state & DEV_CTRL_STATE_BLOCK_OUT)) + memcpy((void*)ic->out_set,(void*)bus_out_data,MAX_OUT_CARDS*2); + } + } + +} + +void logman_100hz() +{ + u32 i; + + if(log_manager.status & LOGMAN_STATUS_STARTED) + { + for(i=0;i + +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "misc.h" +#include "comm.h" +#include "tdefs.h" +#include "logman.h" +#include "spi.h" +#include "logic_elements/dev_ctrl.h" +#include "logic_elements/an_gen.h" +#include "logic_elements/events_reg.h" +//pwm +#include "psc.h" +#include "soc_OMAPL138.h" +#include "hw_syscfg0_OMAPL138.h" +#include "hw_types.h" +// +/// ethernet +#include "ethernet/ports/am1808/include/lwiplib.h" +/// +#include "config.h" + +volatile unsigned short last_sample_no; +volatile unsigned short samples_dropped = 0; +volatile unsigned short last_sample_sync_no; +volatile unsigned short samples_sync_dropped = 0; +volatile int is_first_sample = 1; +volatile int irqs = 0; +u16 bus_an_cur_timestamp = 0; + +#pragma LOCATION(shared_buf,0xc5500000) // @ non-cached memory above 128MB +volatile int shared_buf[1024]; + +#pragma DATA_ALIGN(analog_buf, 128) // place @ cache line boundary +volatile short analog_buf[127]; + +//volatile int analog_buf_ready = 0; +//volatile int analog_buf_cnt = 0; +unsigned int analog_buf_card = 0; +unsigned int analog_buf_channel = 0; + +struct device_config dev_cfg; + +u8 mwd_states_cur[MAX_BIN_CARDS]; +u8 mwd_states_prev[MAX_BIN_CARDS]; + +Swi_Handle swi_notify; +Swi_Params swi_notify_params; + +Swi_Handle swi_ms; +Swi_Params swi_ms_params; + +Swi_Handle swi_10ms; +Swi_Params swi_10ms_params; + +Swi_Handle swi_50ms; +Swi_Params swi_50ms_params; + +extern Timer_Handle timer0; + +u8 loops_synced=0; + +u8 khz_trigger=LOOP_CYCLE_MS * SAMPLES_PER_MS; + +volatile u32 cycle_pwm=0; +volatile struct timeval cur_time = { 1388563200, 0 }; // default 2014-01-01 +volatile struct timeval cur_time_sw = { 1577836800, 0 }; // default 2020-01-01 +u8 bus_an_cur_sample_num_prev=0; +u8 sample_watch_init=0; +u8 cur_sample_diff=0; + +void pwm_init() +{ + PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_EHRPWM, PSC_POWERDOMAIN_ALWAYS_ON, PSC_MDCTL_NEXT_ENABLE); + PWM1_SET(PWM1_TBCTL, 0x8D03); //FREE RUN, CLKDIV /8, HSPCLKDIV /4, STOP + PWM1_SET(PWM1_TBPRD, 0xFFFF); + PWM1_SET(PWM1_TBCNT, 0x0000); + HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_CFGCHIP1) |= SYSCFG_CFGCHIP1_TBCLKSYNC; +} + +void pwm_start_cnt() +{ + PWM1_SET(PWM1_TBCNT, 0x0000); //COUNTER = 0 + PWM1_SET(PWM1_TBCTL, 0x8D00); //START +} + +u32 pwm_stop_cnt() +{ + PWM1_SET(PWM1_TBCTL, 0x8D03);//STOP + return PWM1_GET(PWM1_TBCNT); +} + +Void notify_swi(UArg a0, UArg a1) +{ + u32 requests = logman_notify; + + if(requests & LOGMAN_NOTIFY_NEW_EVENTS) + { + Notify_sendEvent(notify.remoteProcId,notify.lineId,notify.eventId, NOTIFY_NEW_EVENTS | ((u32)ev_db.pos<<8), TRUE); + logman_notify&=~LOGMAN_NOTIFY_NEW_EVENTS; + } + + if(requests & LOGMAN_NOTIFY_NEW_DFR) + { + Notify_sendEvent(notify.remoteProcId,notify.lineId,notify.eventId, NOTIFY_NEW_DFR_REG, TRUE); + logman_notify&=~LOGMAN_NOTIFY_NEW_DFR; + } + + if(requests & LOGMAN_NOTIFY_NEW_DDR) + { + Notify_sendEvent(notify.remoteProcId,notify.lineId,notify.eventId, NOTIFY_NEW_DDR_REG, TRUE); + logman_notify&=~LOGMAN_NOTIFY_NEW_DDR; + } + + if(requests & LOGMAN_NOTIFY_BANK0) + { + Notify_sendEvent(notify.remoteProcId,notify.lineId,notify.eventId, NOTIFY_SEL_BANK0|(service_mode<<8), TRUE); + logman_notify&=~LOGMAN_NOTIFY_BANK0; + } + + if(requests & LOGMAN_NOTIFY_BANK1) + { + Notify_sendEvent(notify.remoteProcId,notify.lineId,notify.eventId, NOTIFY_SEL_BANK1|(service_mode<<8), TRUE); + logman_notify&=~LOGMAN_NOTIFY_BANK1; + } + + if(requests & LOGMAN_NOTIFY_BANK2) + { + Notify_sendEvent(notify.remoteProcId,notify.lineId,notify.eventId, NOTIFY_SEL_BANK2|(service_mode<<8), TRUE); + logman_notify&=~LOGMAN_NOTIFY_BANK2; + } + + if(requests & LOGMAN_NOTIFY_BANK3) + { + Notify_sendEvent(notify.remoteProcId,notify.lineId,notify.eventId, NOTIFY_SEL_BANK3|(service_mode<<8), TRUE); + logman_notify&=~LOGMAN_NOTIFY_BANK3; + } + + if(requests & LOGMAN_NOTIFY_BANK4) + { + Notify_sendEvent(notify.remoteProcId,notify.lineId,notify.eventId, NOTIFY_SEL_BANK4|(service_mode<<8), TRUE); + logman_notify&=~LOGMAN_NOTIFY_BANK4; + } + + if(requests & LOGMAN_NOTIFY_BANK5) + { + Notify_sendEvent(notify.remoteProcId,notify.lineId,notify.eventId, NOTIFY_SEL_BANK5|(service_mode<<8), TRUE); + logman_notify&=~LOGMAN_NOTIFY_BANK5; + } + +} + +volatile u16 pps_low_cnt=0; +volatile u16 pps3_timeout_cnt=0xFFFF; + +Void ms_hook(UArg a0, UArg a1) +{ + u32 t_pre,t_post,sync_reg; + u8 pps=0; + + t_pre=PWM1_GET(PWM1_TBCNT); + + bus_an_cur_sample_num=bus_an_cur_sample_num_xkhz;//bus_an_cur_sample_num_3khz; + + // gdy IEC SV to cofamy czas/pozycje bufora o obiegi pętli w celu synchronizacji próbek + if(log_manager.status & LOGMAN_USING_IEC_SV) + { + if(bus_an_cur_sample_num<(SAMPLES_PER_MS*LOOP_CYCLE_MS*SV_WAIT_LOOP_CYCLES)) + bus_an_cur_sample_num=SAMPLES_PER_MS*MAIN_FREQ_PERIOD_MS*2-((SAMPLES_PER_MS*LOOP_CYCLE_MS*SV_WAIT_LOOP_CYCLES)-bus_an_cur_sample_num); + else + bus_an_cur_sample_num-=(SAMPLES_PER_MS*LOOP_CYCLE_MS*SV_WAIT_LOOP_CYCLES); + } + + sync_reg = ic->sync_reg; + if(sync_reg & (PPS_SYNCED|IRIGB_SYNCED)) + ext_sync=1; + + + if(timesync_method==SYNC_METHOD_IEC103||timesync_method==SYNC_METHOD_ZP6||timesync_method==SYNC_METHOD_MLB || (timesync_method==SYNC_METHOD_CUSTOM & !(timesync_bits & CFG_TSYNC_USE_PPS))) + ext_sync=0; + + bus_an_cur_timestamp=tstamp_khz; + if(log_manager.status & LOGMAN_USING_IEC_SV) + { + if(bus_an_cur_timestamp<(SAMPLES_PER_MS*LOOP_CYCLE_MS*SV_WAIT_LOOP_CYCLES)) + bus_an_cur_timestamp=SAMPLES_PER_MS*1000-((SAMPLES_PER_MS*LOOP_CYCLE_MS*SV_WAIT_LOOP_CYCLES)-bus_an_cur_timestamp); + else + bus_an_cur_timestamp-=(SAMPLES_PER_MS*LOOP_CYCLE_MS*SV_WAIT_LOOP_CYCLES); + } + + if(!ext_sync) + { + cur_time.tv_usec+=LOOP_CYCLE_MS; + + if(cur_time.tv_usec>=1000) + { + cur_time.tv_usec=0; + cur_time.tv_sec++; + } + } + else + { + u32 usec_prev; + usec_prev=cur_time.tv_usec; + cur_time.tv_usec=bus_an_cur_timestamp/SAMPLES_PER_MS; + if(!cur_time.tv_usec && usec_prev) + cur_time.tv_sec++; + + } + + if(pps3_timeout_cnt!=0xFFFF) + pps3_timeout_cnt++; + + if(!(IN_DATA01 & (1<<4))) + { + if(pps_low_cnt<(1000/LOOP_CYCLE_MS)) + pps_low_cnt++; + } + else + { + if(pps_low_cnt>(600/LOOP_CYCLE_MS) && pps_low_cnt<(900/LOOP_CYCLE_MS)) + { + pps=1; + pps3_timeout_cnt=0; + } + + pps_low_cnt=0; + } + + if(((sync_reg & 0x80) && (timesync_method==SYNC_METHOD_IRIG_B || timesync_method==SYNC_METHOD_IRIG_B_ZPRAE || (timesync_method==SYNC_METHOD_CUSTOM && (timesync_bits & CFG_TSYNC_FROM_DSP)))) + || (pps && (timesync_method==SYNC_METHOD_CUSTOM && (timesync_bits & CFG_TSYNC_USE_SWPPS))) + ) + { + if(cur_time_sw.tv_usec>900) + cur_time_sw.tv_sec++; + + //if(pps) + // zprae_event_add(1,97); + cur_time_sw.tv_usec=0; + } + else + { + cur_time_sw.tv_usec+=LOOP_CYCLE_MS; + + if(cur_time_sw.tv_usec>=1000) + { + cur_time_sw.tv_usec=0; + cur_time_sw.tv_sec++; + } + } + + + if(bus_an_cur_sample_num_prev<=bus_an_cur_sample_num) + cur_sample_diff=bus_an_cur_sample_num-bus_an_cur_sample_num_prev; + else + cur_sample_diff=(u16)bus_an_cur_sample_num+(SAMPLES_PER_MS*MAIN_FREQ_PERIOD_MS*2)-bus_an_cur_sample_num_prev; + + if(cur_sample_diff!=(SAMPLES_PER_MS*LOOP_CYCLE_MS) && sample_watch_init) // debug lost x kHz loops + { + // if(cur_sample_diff>dbg.delta_period) + // dbg.delta_period=cur_sample_diff; + dbg.temp_dbg++; + } + + bus_an_cur_sample_num_prev = bus_an_cur_sample_num; + sample_watch_init=1; + + logman_xkhz(); + + t_post=PWM1_GET(PWM1_TBCNT); + + if(t_post>=t_pre) + dbg.logman_cycle_time = t_post-t_pre; + else + dbg.logman_cycle_time = t_post+65536-t_pre; + + if(dbg.logman_cycle_time>dbg.logman_cycle_time_max) + dbg.logman_cycle_time_max=dbg.logman_cycle_time; + + + +} + +Void ms10_hook(UArg a0, UArg a1) +{ + logman_100hz(); +} + +Void ms50_hook(UArg a0, UArg a1) +{ + logman_20hz(); +} + +Void spi_irq(UArg arg) +{ + Hwi_clearInterrupt(14); +} + +UInt IntGlobalDisable() +{ + return Hwi_disable(); +} + +UInt IntGlobalRestore(UInt hwi_key) +{ + Hwi_restore(hwi_key); + return 0; +} + +u8 spi_frame[32]; +u8 spi_processed=1; + +Void comm_irq(UArg arg) +{ + int i; + u32 t_pre,t_post; + + t_pre=PWM1_GET(PWM1_TBCNT); + + bus_an_cur_sample_num_3khz++; + bus_an_cur_sample_num_3khz%=(SAMPLES_PER_MS*MAIN_FREQ_PERIOD_MS*2); + +/* Nie potrzebne przy PPS + if(!ext_sync && timesync_method!=SYNC_METHOD_IRIG_B && timesync_method!=SYNC_METHOD_IRIG_B_ZPRAE && !(timesync_bits & CFG_TSYNC_FROM_DSP) && ic->spi_reg & 0x01) + { + if(ic->spi_frame[7]==0x01 && ic->spi_frame[0]==0x68 && ic->spi_frame[31]==0x16 && ic->spi_frame[1]==0x1a && spi_processed) + { + memcpy(spi_frame,(char *)&ic->spi_frame[0],32); + if(mod256_cksum(spi_frame+4,26)==spi_frame[30] && spi_frame[1]==0x1a && spi_frame[7]==0x01 && spi_frame[9]!=0xD5) // time sync req + { + u16 ms; + ms = (u16)spi_frame[9] | ((u16)spi_frame[10]<<8); + ms%=1000; + + if(!ext_sync) + cur_time.tv_usec = ms; + + cur_time_sw.tv_usec = ms; + + //dbg.temp_dbg++; + spi_processed=0; + } + } + } + else + spi_processed=1; +*/ + + for(i=0;ian_in[i].l1 + 32767)):((u16)ic->an_in[i].l1 + 32767); + + if(!(genpar.an_force_mask & (1<< ((i<<2)+(1))))) + bus_an_samples_buf[i][1][bus_an_cur_sample_num_3khz]=bus_an_samples_neg[i][1]?(65534-((u16)ic->an_in[i].l2 + 32767)):((u16)ic->an_in[i].l2 + 32767); + + if(!(genpar.an_force_mask & (1<< ((i<<2)+(2))))) + bus_an_samples_buf[i][2][bus_an_cur_sample_num_3khz]=bus_an_samples_neg[i][2]?(65534-((u16)ic->an_in[i].l3 + 32767)):((u16)ic->an_in[i].l3 + 32767); + + if(!(genpar.an_force_mask & (1<< ((i<<2)+(3))))) + bus_an_samples_buf[i][3][bus_an_cur_sample_num_3khz]=bus_an_samples_neg[i][3]?(65534-((u16)ic->an_in[i].l4 + 32767)):((u16)ic->an_in[i].l4 + 32767); + + } + else + { + bus_an_samples_buf[i][0][bus_an_cur_sample_num_3khz]=bus_an_samples_neg[i][0]?(65534-((u16)ic->an_in[i].l1 + 32767)):((u16)ic->an_in[i].l1 + 32767); + bus_an_samples_buf[i][1][bus_an_cur_sample_num_3khz]=bus_an_samples_neg[i][1]?(65534-((u16)ic->an_in[i].l2 + 32767)):((u16)ic->an_in[i].l2 + 32767); + bus_an_samples_buf[i][2][bus_an_cur_sample_num_3khz]=bus_an_samples_neg[i][2]?(65534-((u16)ic->an_in[i].l3 + 32767)):((u16)ic->an_in[i].l3 + 32767); + bus_an_samples_buf[i][3][bus_an_cur_sample_num_3khz]=bus_an_samples_neg[i][3]?(65534-((u16)ic->an_in[i].l4 + 32767)):((u16)ic->an_in[i].l4 + 32767); + } + } + + + if(loops_synced) + { + if(!--khz_trigger) + { + bus_an_cur_sample_num_xkhz=bus_an_cur_sample_num_3khz; + tstamp_khz=ic->sample_sync_no; + Swi_post(swi_ms); + khz_trigger=SAMPLES_PER_MS*LOOP_CYCLE_MS; + } + //Swi_dec(swi_1ms); + Swi_dec(swi_10ms); + Swi_dec(swi_50ms); + } + + if(!loops_synced && (ic->sample_sync_no==0)) + { + loops_synced=1; + bus_an_cur_sample_num_3khz=0; //dodano przy okazji SV + } + + //dodano na wszelki wypadek, bo czasem pętle się nie synchronizowały, dlaczego? FPGA? + //trzeba to sprawdzic bo moze byc skutek uboczny || zakomentowano jednak po poprawie sync na 2ms w fpga + //if(ic->sample_sync_no==0) + // khz_trigger=LOOP_CYCLE_MS * SAMPLES_PER_MS; + // + + i=ic->sample_no; + + if(is_first_sample) + is_first_sample=0; + else + samples_dropped+=(i - last_sample_no)-1; + + last_sample_no=i; + + t_post=PWM1_GET(PWM1_TBCNT); + + if(t_post>=t_pre) + dbg.irq_time = t_post-t_pre; + else + dbg.irq_time = t_post+65536-t_pre; +} + +void configure_pwr_ok_gpio() +{ + KICK0R=KICK0R_VAL; + KICK1R=KICK1R_VAL; + + PINMUX0=(PINMUX0 & ~(PINMUX3_15_12)) | (0x08 << 12); // pwr1_ok GP0[12] as GPIO + PINMUX1=(PINMUX1 & ~(PINMUX3_11_8)) | (0x08 << 8); // pwr2_ok GP0[5] as GPIO + PINMUX1=(PINMUX1 & ~(PINMUX3_15_12)) | (0x08 << 12); // pps3 GP0[4] as GPIO + PINMUX2=(PINMUX2 & ~(PINMUX3_19_16)) | (0x04 << 16); // gp1[11] (PPS from GPS) as GPIO + + DIR01|=((1<<4)|(1<<5)|(1<<12)|(1<<27)); // gp0.4, gp0.5, gp0.12 and gp1 .11 as input + PUPD_ENA|=((1<<0)|(1<<2)); // enable pull up/down control 1<<5 == GP1[11] + PUPD_ENA&=~(1<<5); // disable pull up/down for gp1[11] + PUPD_SEL|=((1<<0)|(1<<2)); // set pull up +} + +/* +** Interrupt Handler for Core 0 Receive interrupt +*/ +void EMACCore0RxIsr(void) +{ + lwIPRxIntHandler(0); +} + +/* +** Interrupt Handler for Core 0 Transmit interrupt +*/ +void EMACCore0TxIsr(void) +{ + lwIPTxIntHandler(0); +} + +Void main() +{ + Task_Handle task,task2; + + memset((u8*)&dbg,0,sizeof(dbg)); + ic->sync_reg|=NEG_PPS_IN; + + task = Task_create(commFxn, NULL, NULL); + Task_setPri(task,3); + + if (task == NULL) { + BIOS_exit(0); + } + + task2 = Task_create(spiFxn, NULL, NULL); + Task_setPri(task2,2); + + if (task2 == NULL) { + BIOS_exit(0); + } + + analog_inputs_init(); + + logman_init(); + + Swi_Params_init(&swi_ms_params); + swi_ms_params.priority = 15; + + swi_ms_params.trigger = SAMPLES_PER_MS * LOOP_CYCLE_MS; // every x samples + swi_ms = Swi_create(&ms_hook,&swi_ms_params,NULL); + + Swi_Params_init(&swi_10ms_params); + swi_10ms_params.priority = 10; + swi_10ms_params.trigger = SAMPLES_PER_MS * 10; // (10 ms) + swi_10ms = Swi_create(&ms10_hook,&swi_10ms_params,NULL); + + Swi_Params_init(&swi_50ms_params); + swi_50ms_params.priority = 8; + swi_50ms_params.trigger = SAMPLES_PER_MS * 50; // (50 ms) + swi_50ms = Swi_create(&ms50_hook,&swi_50ms_params,NULL); + + Swi_Params_init(&swi_notify_params); + swi_notify_params.priority = 1; + swi_notify_params.trigger = 1; + swi_notify = Swi_create(¬ify_swi,&swi_notify_params,NULL); + + SET_RIS_TRIG8 = (1<<15); // rising edge trig from GP8.15 + + configure_pwr_ok_gpio(); + pwm_init(); + pwm_start_cnt(); + +// eth.hwaddr[0]=0xC4; + // eth.hwaddr[1]=0xff; +// eth.hwaddr[2]=0xBC; +// eth.hwaddr[3]=0x70; +// eth.hwaddr[4]=0x14; +// eth.hwaddr[5]=0x3f; + //lwIPInit(0, eth.hwaddr, eth.ip, eth.netmask, eth.gateway, IPADDR_USE_STATIC); + //Hwi_enableInterrupt(10); + //Hwi_enableInterrupt(11); + + BIOS_start(); /* enable interrupts and start SYS/BIOS */ +} diff --git a/src/misc.c b/src/misc.c new file mode 100644 index 0000000..7ea0a91 --- /dev/null +++ b/src/misc.c @@ -0,0 +1,349 @@ +/* + * misc.c + * + * Created on: 10-09-2013 + * Author: Krzysztof Jakubczyk + */ + +#include "misc.h" +#include +#include "tdefs.h" +#include +#include "config.h" + +volatile u16 kob_bin_ench=0; +volatile u16 mwd32_mask=0; + +u16 bus_out_data[MAX_OUT_CARDS]; +u16 bus_out_data_test[MAX_OUT_CARDS]; +u16 force_bus_out_data[MAX_OUT_CARDS]; + +u8 bus_bin_data[MAX_BIN_CARDS]; +u8 force_bus_bin_data[MAX_BIN_CARDS]; +u8 force_bus_bin_data_ench[MAX_BIN_CARDS]; +u8 bus_bin_data_ench[MAX_BIN_CARDS]; +u8 force_bus_bin_data_ench[MAX_BIN_CARDS]; + +u8 bus_an_samples_neg[MAX_AN_CARDS][4]; +u16 bus_an_samples_buf[MAX_AN_CARDS][4][SAMPLES_PER_MS*MAIN_FREQ_PERIOD_MS*2]; +u8 bus_an_cur_sample_num_3khz = 0; +u8 bus_an_cur_sample_num_xkhz = 0; + +u16 tstamp_khz = 0; + +u8 bus_an_cur_sample_num = 0; +u32 logman_notify = 0; +volatile u8 ext_sync=0; +volatile u32 timesync_method=0; +volatile u32 timesync_bits=0; +volatile struct in_cards *ic = (struct in_cards *)IN_CARDS_BASE_ADDR; +struct debug_info dbg; + +const uint8_t _ytab[2][12] ={ { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 } , + { 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 } }; + + +static int is_leap(unsigned y) +{ + y += 1900; + return (y % 4) == 0 && ((y % 100) != 0 || (y % 400) == 0); +} + + +uint32_t timegm (const struct tm *tm) +{ + uint32_t res = 0; + uint16_t i; + + for (i = 70; i < tm->tm_year; ++i) + res += is_leap(i) ? 366 : 365; + + for (i = 0; i < tm->tm_mon; ++i) + res += _ytab[is_leap(tm->tm_year)][i]; + + res += tm->tm_mday - 1; + res *= 24; + res += tm->tm_hour; + res *= 60; + res += tm->tm_min; + res *= 60; + res += tm->tm_sec; + + return res; +} + +void my_gmtime(const uint32_t *timer, struct tm *timep) +{ + uint32_t time = *timer; + + u32 dayclock, dayno; + int16_t year = EPOCH_YR; + + dayclock = time % SECS_DAY; + dayno = time / SECS_DAY; + + timep->tm_sec = dayclock % 60; + timep->tm_min = (dayclock % 3600) / 60; + timep->tm_hour = dayclock / 3600; + timep->tm_wday = (dayno + 4) % 7; /* day 0 was a thursday */ + while (dayno >= YEARSIZE(year)) { + dayno -= YEARSIZE(year); + year++; + } + timep->tm_year = year - YEAR0; + timep->tm_yday = dayno; + timep->tm_mon = 0; + while (dayno >= _ytab[LEAPYEAR(year)][timep->tm_mon]) { + dayno -= _ytab[LEAPYEAR(year)][timep->tm_mon]; + timep->tm_mon++; + } + timep->tm_mday = dayno + 1; + + timep->tm_isdst = 0; +} + +/* + isindst() - check if date is in daylight save time + + cest_cet_n - 1 when source tm is a summer time, 0 - winter +*/ + +uint8_t isindst(struct tm *tb, uint8_t cest_cet_n) +{ + uint8_t tmp; + + if (tb->tm_mon < 2 || tb->tm_mon > 9) + return 0; + + if (tb->tm_mon > 2 && tb->tm_mon < 9) + return 1; + + tmp=7 - tb->tm_wday + tb->tm_mday; + + if(tb->tm_mon==2) /* march */ + { + if(tmp>31) + { + if(tb->tm_wday==0) + { + if ((!cest_cet_n && tb->tm_hour>=2)||(cest_cet_n && tb->tm_hour>=3)) /* it's the last sunday */ + return 1; + else + return 0; + } + else + return 1; + } + else + return 0; + } + + if(tb->tm_mon==9) /* october */ + { + if(tmp>31) + { + if(tb->tm_wday==0) + { + if ((!cest_cet_n && tb->tm_hour>=2)||(cest_cet_n && tb->tm_hour>=3)) /* it's the last sunday */ + return 0; + else + return 1; + } + else + return 0; + } + else + return 1; + } + + return 0; +} + + +struct time_data irigb_process_frame() +{ + u8 i; + u8 tmp_secs; + u8 tmp_mins; + u8 tmp_hour; + u8 tmp_month; + u8 tmp_mday; + u16 tmp_year; + u16 tmp_yearday; + u16 tmp; + u16 tmp2; + uint32_t secs; + struct tm tim; + struct time_data irigb_time; + + if(ic->sync_reg & 0x4000) // IRIG-B sync + { + tmp = ic->irigb_p[0] & 0x01FF; + tmp_secs = (((tmp & 0x1C0) >> 6)*10) + ((tmp>>1) & 0x00F); + + tmp = ic->irigb_p[1] & 0x01FF; + tmp_mins = (((tmp & 0xE0) >> 5)*10) + (tmp & 0x00F); + + tmp = ic->irigb_p[2] & 0x01FF; + tmp_hour = (((tmp & 0x60) >> 5)*10) + (tmp & 0x00F); + + tmp = ic->irigb_p[3] & 0x01FF; + tmp_yearday = (((tmp & 0x01E0) >> 5)*10) + (tmp & 0x00F); + tmp = ic->irigb_p[4] & 0x01FF; + tmp_yearday+=((tmp & 0x03)*100); + + tmp = ic->irigb_p[5] & 0x01FF; + tmp_year = (((tmp & 0x1E0) >> 5)*10) + (tmp & 0x00F); + tmp_year+=2000; + + tmp2=0; + + if(LEAPYEAR(tmp_year)) + { + for(i=0;i<12;i++) + { + tmp2+=_ytab[1][i]; + if(tmp_yearday<=tmp2) + break; + } + tmp_mday=tmp_yearday-(tmp2-_ytab[1][i]); + } + else + { + for(i=0;i<12;i++) + { + tmp2+=_ytab[0][i]; + if(tmp_yearday<=tmp2) + break; + } + tmp_mday=tmp_yearday-(tmp2-_ytab[0][i]); + } + + tmp_month=i+1; + tmp_year-=1900; + + tmp = (ic->irigb_p[6]) & 0x0000001F; + irigb_time.fix_sat=tmp; + irigb_time.day=tmp_mday; + irigb_time.month=tmp_month-1; + irigb_time.year=tmp_year; + irigb_time.hour=tmp_hour; + irigb_time.min=tmp_mins; + irigb_time.sec=tmp_secs; + + tim.tm_hour = irigb_time.hour; + tim.tm_min = irigb_time.min; + tim.tm_sec = irigb_time.sec; + + tim.tm_mday = irigb_time.day; + tim.tm_mon = irigb_time.month; + tim.tm_year = irigb_time.year; + + secs=timegm(&tim); + my_gmtime(&secs,&tim); + + if(isindst(&tim,0)) + { + tim.tm_hour-=2; /* DST adjust is done by the GPS-Synchro IRIG-B modified protocol */ + tim.tm_isdst=1; + } + else + tim.tm_hour-=1; + + irigb_time.secs=timegm(&tim)+1; + +// if(!validate_time(&irigb_time)) + { +/* ctime.tv_sec=irigb_time.secs; + + time_flags&=~TIME_INVALID; + + if(tim.tm_isdst) + time_flags|=TIME_SUMMER; + else + time_flags&=~TIME_SUMMER;*/ + } + } + else + memset((u8 *)&irigb_time,0,sizeof(irigb_time)); + + return irigb_time; +} + +void reload_ic_cfg() +{ + memcpy((void*)ic->bin_ac_mask,(void*)dev_cfg.mwd_ac_mask,sizeof(ic->bin_ac_mask)); +} + +u8 mod256_cksum(uint8_t *buf, u32 len) +{ + uint8_t cksum; + u32 i; + + cksum=0; + + for(i=0;i2 || oct==0) // too long for us + return -1; + + (*buf)++; + (*bytes_left)--; + + while(oct && *bytes_left) + { + len|=**buf; + oct--; + (*bytes_left)--; + (*buf)++; + if(oct) + len<<=8; + } + + } + else + { + len = **buf; + (*bytes_left)--; + (*buf)++; + } + + if (*bytes_leftan_offset[i].l1=32767; + ic->an_offset[i].l2=32767; + ic->an_offset[i].l3=32767; + ic->an_offset[i].l4=32767; + } + + bus_an_cur_sample_num_3khz = 0; + bus_an_cur_sample_num = 0; + memset(bus_an_samples_buf,0,sizeof(bus_an_samples_buf)); +} diff --git a/src/misc.h b/src/misc.h new file mode 100644 index 0000000..e4ceb15 --- /dev/null +++ b/src/misc.h @@ -0,0 +1,351 @@ +/* + * misc.h + * + * Created on: 30-07-2013 + * Author: Krzysztof Jakubczyk + */ + +#ifndef MISC_H_ +#define MISC_H_ + +#include "tdefs.h" +#include "logman.h" +#include "config.h" + +#include +#include +#include + +#define MAX_AN_CARDS 16 +#define MAX_BIN_CARDS 16 +#define MAX_OUT_CARDS 16 + +#define NEED_RELOAD_IC 0x01 + +#define IN_CARDS_BASE_ADDR 0x64000000 + +extern u32 logman_notify; + +#define LOGMAN_NOTIFY_NEW_EVENTS 0x01 +#define LOGMAN_NOTIFY_NEW_DFR 0x02 +#define LOGMAN_NOTIFY_NEW_DDR 0x04 +#define LOGMAN_NOTIFY_BANK0 0x08 +#define LOGMAN_NOTIFY_BANK1 0x10 +#define LOGMAN_NOTIFY_BANK2 0x20 +#define LOGMAN_NOTIFY_BANK3 0x40 +#define LOGMAN_NOTIFY_BANK4 0x80 +#define LOGMAN_NOTIFY_BANK5 0x100 + +extern volatile short analog_buf[127]; +extern volatile int shared_buf[1024]; +extern volatile int analog_buf_ready; +extern volatile int analog_buf_cnt; +extern unsigned int analog_buf_card; +extern unsigned int analog_buf_channel; +extern volatile unsigned short samples_dropped; +extern volatile struct timeval cur_time; +extern volatile struct timeval cur_time_sw; +extern volatile u8 ext_sync; +extern volatile u8 have; +extern u8 cur_sample_diff; +extern int omapl138EthSendPacket(u8 *buf,u16 len); +extern int asn_parse(u8 **buf,int *bytes_left, u8 *tag); + +extern u8 bus_an_samples_neg[MAX_AN_CARDS][4]; +enum arg_type { ARG_TYPE_BOOL = 0, ARG_TYPE_TEXT = 1, ARG_TYPE_DOUBLE = 2, ARG_TYPE_LONG = 3 }; + +struct timeval +{ + u32 tv_sec; /* seconds */ + u32 tv_usec; /* and microseconds */ +}; + +struct parsed_cfg_transport_line +{ + char name[32]; + enum arg_type type; + char text_val[256]; + double double_val; + long int long_val; + unsigned char bool_val; +}; + +struct klapacz_config +{ + unsigned int interval1; + unsigned int interval2; +}; + +struct device_config +{ + unsigned char mwd_ac_mask[MAX_OUT_CARDS]; + unsigned int bits; +}; + +extern struct device_config dev_cfg; + + +struct config_lookup_table +{ + char name[32]; + enum arg_type type; + void *addr; + unsigned char size; + unsigned char bit_mask; + unsigned char flags; +}; + +#define CFG_BIT_KLAPACZ_ENABLED (1<<4) + +extern struct klapacz_config klap_cfg; + +/* CPU registers */ +#define SET_RIS_TRIG67 *((volatile int*)0x01E2609C) +#define SET_RIS_TRIG8 *((volatile int*)0x01E260C4) +#define INTSTAT67 *((volatile int*)0x01E260AC) + +#define PINMUX0 *((volatile int*)0x01C14120) +#define PINMUX1 *((volatile int*)0x01C14124) +#define PINMUX2 *((volatile int*)0x01C14128) +#define PINMUX3 *((volatile int*)0x01C1412C) +#define PINMUX7 *((volatile int*)0x01C1413C) +#define DIR8 *((volatile int*)0x01E260B0) +#define SETDATA8 *((volatile int*)0x01E260B8) +#define CLRDATA8 *((volatile int*)0x01E260BC) +#define SPIGCR0 *((volatile int*)0x01C41000) +#define SPIGCR1 *((volatile int*)0x01C41004) +#define SPIPC0 *((volatile int*)0x01C41014) +#define SPIDAT0 *((volatile int*)0x01C41038) +#define SPIDAT1 *((volatile int*)0x01C4103C) +#define SPIFMT0 *((volatile int*)0x01C41050) +#define SPIGCR1 *((volatile int*)0x01C41004) +#define SPIINT0 *((volatile int*)0x01C41008) +#define SPILVL *((volatile int*)0x01C4100C) +#define SPIBUF *((volatile int*)0x01C41040) +#define SPIFLG *((volatile int*)0x01C41010) + +#define DIR01 *((volatile int*)0x01E26010) +#define IN_DATA01 *((volatile int*)0x01E26020) + +#define PUPD_ENA *((volatile int*)0x01E2C00C) +#define PUPD_SEL *((volatile int*)0x01E2C010) + +#define KICK0R *((volatile int*)0x01C14038) +#define KICK1R *((volatile int*)0x01C1403C) + +#define KICK0R_VAL 0x83E70B13 +#define KICK1R_VAL 0x95A4F1E0 + +#define PINMUX3_3_0 0x0000000F +#define PINMUX3_11_8 0x00000F00 +#define PINMUX3_15_12 0x0000F000 +#define PINMUX3_19_16 0x000F0000 +#define PINMUX3_31_28 0xF0000000 + + +// PSC +#define PTCMD *((volatile int*)0x01C10120) +#define PTSTAT *((volatile int*)0x01C10128) +#define MDCTL4 *((volatile int*)0x01C10A10) +#define MDSTAT4 *((volatile int*)0x01C10810) +#define MDSTAT10 *((volatile int*)0x01E27828) + +extern Semaphore_Handle spi_semaphore; + +extern volatile int was_irq; +extern u16 bus_an_cur_timestamp; +extern u8 bus_an_cur_sample_num_xkhz; +extern u16 tstamp_khz; + +struct an_card +{ + short l1; + short l2; + short l3; + short l4; +}; + +//mux +#define C37_MUX_BUFSIZE 256 + +//mux bits +#define MUX_REG_CHAN_NUM_OFFSET 12 +#define MUX_REG_EXT_CLK (1<<11) +#define MUX_REG_WR (1<<10) +#define MUX_REG_SKIP_FF (1<<9) +#define MUX_REG_TX_BYTES_MASK 0x00FF + +// +#define MUX_STATE_ERR (1<<15) +#define MUX_STATE_ERR_CNT_MASK 0x7E00 +#define MUX_STATE_ERR_CNT_OFFSET 9 +#define MUX_STATE_RX_BYTES_MASK 0x00FF +#define MUX_STATE_YELLOW_BIT_IN (1<<14) + +#define YEAR0 1900 /* the first year */ +#define EPOCH_YR 1970 /* EPOCH = Jan 1 1970 00:00:00 */ +#define SECS_DAY (24L * 60L * 60L) +#define LEAPYEAR(year) (!((year) % 4) && (((year) % 100) || !((year) % 400))) +#define YEARSIZE(year) (LEAPYEAR(year) ? 366 : 365) +#define FIRSTSUNDAY(timp) (((timp)->tm_yday - (timp)->tm_wday + 420) % 7) +#define FIRSTDAYOF(timp) (((timp)->tm_wday - (timp)->tm_yday + 420) % 7) +#define TIME_MAX ULONG_MAX +#define ABB_LEN 3 + +struct time_data +{ + uint8_t hour; + uint8_t min; + uint8_t sec; + uint8_t day; + uint8_t month; + uint8_t year; + uint32_t secs; + uint8_t fix_sat; +}; + +struct in_cards +{ + struct an_card an_in[MAX_AN_CARDS]; + unsigned char bin_in[MAX_BIN_CARDS]; + unsigned short out_set[MAX_OUT_CARDS]; + unsigned char bin_ac_mask[MAX_BIN_CARDS]; + unsigned short unused[32]; + struct an_card an_offset[MAX_AN_CARDS]; + unsigned short reverse_curr; + unsigned short kob_an; + unsigned short kob_bin; + unsigned short kob_out; + unsigned short an_errs; + unsigned short bin_errs; + unsigned short out_errs; + unsigned short valid_an_samples; + unsigned short sample_no; + unsigned short spi_reg; + signed short delta_period_50M; //202 + signed short phase_corr; //203 + unsigned short sync_reg; //204 // bit15-synced pps, 14-synced irig, 13-4kHz imp 0-neg out pps + unsigned short fpga_verl; + unsigned short fpga_verh; + unsigned short sample_sync_no; + unsigned short mux_reg; + unsigned short mux_state; + unsigned short mux2_reg; + unsigned short mux2_state; + unsigned char mux_shift; + unsigned char mux2_shift; + unsigned short irigb_p[10]; + unsigned short eof; + unsigned char bin_in_ench[MAX_BIN_CARDS]; + unsigned char bin_ac_mask_ench[MAX_BIN_CARDS]; + unsigned short mwd32_present; + unsigned short padding[800-512-16-1]; + unsigned char mux_indata[C37_MUX_BUFSIZE]; + unsigned char mux_outdata[C37_MUX_BUFSIZE]; + unsigned char mux2_indata[C37_MUX_BUFSIZE]; + unsigned char mux2_outdata[C37_MUX_BUFSIZE]; + unsigned char spi_frame[2048]; +}; + +// sync reg +#define PPS_SYNCED 0x8000 +#define IRIGB_SYNCED 0x4000 +#define NEG_PPS_IN 0x0002 +#define NEG_PPS_OUT 0x0004 +#define MKI_PPS_IN 0x0008 + +struct time_data irigb_process_frame(); + +extern volatile u32 timesync_method; +extern volatile u32 timesync_bits; +extern volatile u16 pps3_timeout_cnt; + +extern volatile u16 kob_bin_ench; +extern volatile u16 mwd32_mask; + +#define SYNC_METHOD_MGB 0x00 // standardowo czas z MGB + PPS +#define SYNC_METHOD_MKI 0x01 // MGB + MKI4 + PPS +#define SYNC_METHOD_MKI_PTP 0x02 // MKI7 + PPS +#define SYNC_METHOD_IEC103 0x03 // IEC103 +#define SYNC_METHOD_IRIG_B_ZPRAE 0x04 // IRIG_B Proto ZPrAE +#define SYNC_METHOD_IRIG_B 0x05 // IRIG_B +#define SYNC_METHOD_ZP6 0x06 // ZP6 z uwzglednieniem milisekund +#define SYNC_METHOD_MLB 0x07 // ZP6 z uwzglednieniem milisekund, nie przyjmowanie od MGB czasu +#define SYNC_METHOD_CUSTOM 0xFF + + +#define CFG_TSYNC_ACCEPT_FROM_MGB (1<<0) +#define CFG_TSYNC_ACCEPT_FROM_ETH_AND_RS (1<<1) +#define CFG_TSYNC_ACCEPT_IEC103 (1<<2) +#define CFG_TSYNC_FROM_DSP (1<<3) +#define CFG_TSYNC_USE_PPS (1<<4) +#define CFG_TSYNC_USE_SWPPS (1<<6) +#define CFG_TSYNC_USE_SWCLK (1<<7) + +struct debug_info +{ + u32 tick_period; + u32 logman_cycle_time; + u32 logman_cycle_time_max; + u32 logman_buf_size_cur; + u32 logman_buf_capacity; + u32 irq_time; + u32 logman_cycle_period; + u32 logman_cycle_period_max; + volatile u32 temp_dbg; + short delta_period; + short phase_corr; + unsigned short sync_reg; + unsigned short max_elements; + unsigned short used_elements; + unsigned short nets_bufsize; +}__attribute__((__packed__)); + +extern struct debug_info dbg; + +// spi reg +#define SPI_GOT_FRAME 0x01 +#define SPI_ALLOW_FRAME_N 0x01 +#define SPI_ANSWER_READY 0x02 +#define SPI_NEW_EVENTS 0x04 + +extern volatile struct in_cards *ic; +extern void reload_ic_cfg(); +extern void ms_hook(); +extern void analog_inputs_init(); + +#define PI 3.14159265 + +#define CKSUM_IV 0xAB /* config cksum init vector */ +extern u8 mod256_cksum(uint8_t *buf, u32 len); +extern u8 bus_an_cur_sample_num_3khz; +extern u8 bus_an_cur_sample_num; +extern u16 bus_an_samples_buf[MAX_AN_CARDS][4][SAMPLES_PER_MS*MAIN_FREQ_PERIOD_MS*2]; +extern u16 bus_out_data[MAX_OUT_CARDS]; +extern u8 bus_bin_data[MAX_BIN_CARDS]; +extern u16 force_bus_out_data[MAX_OUT_CARDS]; +extern u8 force_bus_bin_data[MAX_BIN_CARDS]; +extern u8 force_bus_bin_data_ench[MAX_BIN_CARDS]; +extern u16 bus_out_data_test[MAX_OUT_CARDS]; + +extern u8 bus_bin_data_ench[MAX_BIN_CARDS]; +extern u8 force_bus_bin_data_ench[MAX_BIN_CARDS]; + +extern Swi_Handle swi_notify; + +#define PWM1_SET(x,y) *((volatile uint16_t*)x) = y +#define PWM1_GET(x) *((volatile uint16_t*)x) + +#define PWM1_BEG 0x01F02000 +#define PWM1_TBCTL 0x01F02000 +#define PWM1_TBCNT 0x01F02008 +#define PWM1_TBPRD 0x01F0200A +#define PWM1_CMPA 0x01F02012 +#define PWM1_CMPB 0x01F02014 +#define PWM1_AQCTLA 0x01F02016 +#define PWM1_ETSEL 0x01F02032 +#define PWM1_ETPS 0x01F02034 +#define PWM1_ETCLR 0x01F02038 +#define PWM1_ETFRC 0x01F0203A + +#endif /* MISC_H_ */ diff --git a/src/omapl138_eth_driver.h b/src/omapl138_eth_driver.h new file mode 100644 index 0000000..0ab98e2 --- /dev/null +++ b/src/omapl138_eth_driver.h @@ -0,0 +1,353 @@ +/** + * @file omapl138_eth_driver.h + * @brief OMAP-L138 Ethernet MAC controller + * + * @section License + * + * SPDX-License-Identifier: GPL-2.0-or-later + * + * Copyright (C) 2010-2019 Oryx Embedded SARL. All rights reserved. + * + * This file is part of CycloneTCP Open. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program 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 for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * @author Oryx Embedded SARL (www.oryx-embedded.com) + * @version 1.9.6 + **/ + +#ifndef _OMAPL138_ETH_DRIVER_H +#define _OMAPL138_ETH_DRIVER_H + +//Dependencies +//#include "core/nic.h" +#include "soc_OMAPL138.h" + +//Number of TX buffers +#ifndef OMAPL138_ETH_TX_BUFFER_COUNT + #define OMAPL138_ETH_TX_BUFFER_COUNT 8 +#elif (OMAPL138_ETH_TX_BUFFER_COUNT < 1) + #error OMAPL138_ETH_TX_BUFFER_COUNT parameter is not valid +#endif + +//TX buffer size +#ifndef OMAPL138_ETH_TX_BUFFER_SIZE + #define OMAPL138_ETH_TX_BUFFER_SIZE 1536 +#elif (OMAPL138_ETH_TX_BUFFER_SIZE != 1536) + #error OMAPL138_ETH_TX_BUFFER_SIZE parameter is not valid +#endif + +//Number of RX buffers +#ifndef OMAPL138_ETH_RX_BUFFER_COUNT + #define OMAPL138_ETH_RX_BUFFER_COUNT 8 +#elif (OMAPL138_ETH_RX_BUFFER_COUNT < 1) + #error OMAPL138_ETH_RX_BUFFER_COUNT parameter is not valid +#endif + +//RX buffer size +#ifndef OMAPL138_ETH_RX_BUFFER_SIZE + #define OMAPL138_ETH_RX_BUFFER_SIZE 1536 +#elif (OMAPL138_ETH_RX_BUFFER_SIZE != 1536) + #error OMAPL138_ETH_RX_BUFFER_SIZE parameter is not valid +#endif + +//Channel number for the TX interrupt +#ifndef OMAPL138_ETH_TX_IRQ_CHANNEL + #define OMAPL138_ETH_TX_IRQ_CHANNEL 3 +#elif (OMAPL138_ETH_TX_IRQ_CHANNEL < 0 || OMAPL138_ETH_TX_IRQ_CHANNEL > 31) + #error OMAPL138_ETH_TX_IRQ_CHANNEL parameter is not valid +#endif + +//Channel number for the RX interrupt +#ifndef OMAPL138_ETH_RX_IRQ_CHANNEL + #define OMAPL138_ETH_RX_IRQ_CHANNEL 3 +#elif (OMAPL138_ETH_RX_IRQ_CHANNEL < 0 || OMAPL138_ETH_RX_IRQ_CHANNEL > 31) + #error OMAPL138_ETH_RX_IRQ_CHANNEL parameter is not valid +#endif + +//EMAC cores +#define EMAC_CORE0 0 +#define EMAC_CORE1 1 +#define EMAC_CORE2 2 + +//EMAC channels +#define EMAC_CH0 0 +#define EMAC_CH1 1 +#define EMAC_CH2 2 +#define EMAC_CH3 3 +#define EMAC_CH4 4 +#define EMAC_CH5 5 +#define EMAC_CH6 6 +#define EMAC_CH7 7 + +//SYSCFG0 registers +#define SYSCFG0_PINMUX_R(n) HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_PINMUX(n)) +#define SYSCFG0_CFGCHIP3_R HWREG(SOC_SYSCFG_0_REGS + SYSCFG0_CFGCHIP3) + +//EMAC registers +#define EMAC_TXREVID_R HWREG(SOC_EMAC_DSC_CONTROL_REG + EMAC_TXREVID) +#define EMAC_TXCONTROL_R HWREG(SOC_EMAC_DSC_CONTROL_REG + EMAC_TXCONTROL) +#define EMAC_TXTEARDOWN_R HWREG(SOC_EMAC_DSC_CONTROL_REG + EMAC_TXTEARDOWN) +#define EMAC_RXREVID_R HWREG(SOC_EMAC_DSC_CONTROL_REG + EMAC_RXREVID) +#define EMAC_RXCONTROL_R HWREG(SOC_EMAC_DSC_CONTROL_REG + EMAC_RXCONTROL) +#define EMAC_RXTEARDOWN_R HWREG(SOC_EMAC_DSC_CONTROL_REG + EMAC_RXTEARDOWN) +#define EMAC_TXINTSTATRAW_R HWREG(SOC_EMAC_DSC_CONTROL_REG + EMAC_TXINTSTATRAW) +#define EMAC_TXINTSTATMASKED_R HWREG(SOC_EMAC_DSC_CONTROL_REG + EMAC_TXINTSTATMASKED) +#define EMAC_TXINTMASKSET_R HWREG(SOC_EMAC_DSC_CONTROL_REG + EMAC_TXINTMASKSET) +#define EMAC_TXINTMASKCLEAR_R HWREG(SOC_EMAC_DSC_CONTROL_REG + EMAC_TXINTMASKCLEAR) +#define EMAC_MACINVECTOR_R HWREG(SOC_EMAC_DSC_CONTROL_REG + EMAC_MACINVECTOR) +#define EMAC_MACEOIVECTOR_R HWREG(SOC_EMAC_DSC_CONTROL_REG + EMAC_MACEOIVECTOR) +#define EMAC_RXINTSTATRAW_R HWREG(SOC_EMAC_DSC_CONTROL_REG + EMAC_RXINTSTATRAW) +#define EMAC_RXINTSTATMASKED_R HWREG(SOC_EMAC_DSC_CONTROL_REG + EMAC_RXINTSTATMASKED) +#define EMAC_RXINTMASKSET_R HWREG(SOC_EMAC_DSC_CONTROL_REG + EMAC_RXINTMASKSET) +#define EMAC_RXINTMASKCLEAR_R HWREG(SOC_EMAC_DSC_CONTROL_REG + EMAC_RXINTMASKCLEAR) +#define EMAC_MACINTSTATRAW_R HWREG(SOC_EMAC_DSC_CONTROL_REG + EMAC_MACINTSTATRAW) +#define EMAC_MACINTSTATMASKED_R HWREG(SOC_EMAC_DSC_CONTROL_REG + EMAC_MACINTSTATMASKED) +#define EMAC_MACINTMASKSET_R HWREG(SOC_EMAC_DSC_CONTROL_REG + EMAC_MACINTMASKSET) +#define EMAC_MACINTMASKCLEAR_R HWREG(SOC_EMAC_DSC_CONTROL_REG + EMAC_MACINTMASKCLEAR) +#define EMAC_RXMBPENABLE_R HWREG(SOC_EMAC_DSC_CONTROL_REG + EMAC_RXMBPENABLE) +#define EMAC_RXUNICASTSET_R HWREG(SOC_EMAC_DSC_CONTROL_REG + EMAC_RXUNICASTSET) +#define EMAC_RXUNICASTCLEAR_R HWREG(SOC_EMAC_DSC_CONTROL_REG + EMAC_RXUNICASTCLEAR) +#define EMAC_RXMAXLEN_R HWREG(SOC_EMAC_DSC_CONTROL_REG + EMAC_RXMAXLEN) +#define EMAC_RXBUFFEROFFSET_R HWREG(SOC_EMAC_DSC_CONTROL_REG + EMAC_RXBUFFEROFFSET) +#define EMAC_RXFILTERLOWTHRESH_R HWREG(SOC_EMAC_DSC_CONTROL_REG + EMAC_RXFILTERLOWTHRESH) +#define EMAC_RXFLOWTHRESH_R(n) HWREG(SOC_EMAC_DSC_CONTROL_REG + EMAC_RXFLOWTHRESH(n)) +#define EMAC_RXFREEBUFFER_R(n) HWREG(SOC_EMAC_DSC_CONTROL_REG + EMAC_RXFREEBUFFER(n)) +#define EMAC_MACCONTROL_R HWREG(SOC_EMAC_DSC_CONTROL_REG + EMAC_MACCONTROL) +#define EMAC_MACSTATUS_R HWREG(SOC_EMAC_DSC_CONTROL_REG + EMAC_MACSTATUS) +#define EMAC_EMCONTROL_R HWREG(SOC_EMAC_DSC_CONTROL_REG + EMAC_EMCONTROL) +#define EMAC_FIFOCONTROL_R HWREG(SOC_EMAC_DSC_CONTROL_REG + EMAC_FIFOCONTROL) +#define EMAC_MACCONFIG_R HWREG(SOC_EMAC_DSC_CONTROL_REG + EMAC_MACCONFIG) +#define EMAC_SOFTRESET_R HWREG(SOC_EMAC_DSC_CONTROL_REG + EMAC_SOFTRESET) +#define EMAC_MACSRCADDRLO_R HWREG(SOC_EMAC_DSC_CONTROL_REG + EMAC_MACSRCADDRLO) +#define EMAC_MACSRCADDRHI_R HWREG(SOC_EMAC_DSC_CONTROL_REG + EMAC_MACSRCADDRHI) +#define EMAC_MACHASH1_R HWREG(SOC_EMAC_DSC_CONTROL_REG + EMAC_MACHASH1) +#define EMAC_MACHASH2_R HWREG(SOC_EMAC_DSC_CONTROL_REG + EMAC_MACHASH2) +#define EMAC_BOFFTEST_R HWREG(SOC_EMAC_DSC_CONTROL_REG + EMAC_BOFFTEST) +#define EMAC_TPACETEST_R HWREG(SOC_EMAC_DSC_CONTROL_REG + EMAC_TPACETEST) +#define EMAC_RXPAUSE_R HWREG(SOC_EMAC_DSC_CONTROL_REG + EMAC_RXPAUSE) +#define EMAC_TXPAUSE_R HWREG(SOC_EMAC_DSC_CONTROL_REG + EMAC_TXPAUSE) +#define EMAC_RXGOODFRAMES_R HWREG(SOC_EMAC_DSC_CONTROL_REG + EMAC_RXGOODFRAMES) +#define EMAC_RXBCASTFRAMES_R HWREG(SOC_EMAC_DSC_CONTROL_REG + EMAC_RXBCASTFRAMES) +#define EMAC_RXMCASTFRAMES_R HWREG(SOC_EMAC_DSC_CONTROL_REG + EMAC_RXMCASTFRAMES) +#define EMAC_RXPAUSEFRAMES_R HWREG(SOC_EMAC_DSC_CONTROL_REG + EMAC_RXPAUSEFRAMES) +#define EMAC_RXCRCERRORS_R HWREG(SOC_EMAC_DSC_CONTROL_REG + EMAC_RXCRCERRORS) +#define EMAC_RXALIGNCODEERRORS_R HWREG(SOC_EMAC_DSC_CONTROL_REG + EMACEMAC_RXOVERSIZED) +#define EMAC_RXJABBER_R HWREG(SOC_EMAC_DSC_CONTROL_REG + EMAC_RXJABBER) +#define EMAC_RXUNDERSIZED_R HWREG(SOC_EMAC_DSC_CONTROL_REG + EMAC_RXUNDERSIZED) +#define EMAC_RXFRAGMENTS_R HWREG(SOC_EMAC_DSC_CONTROL_REG + EMAC_RXFRAGMENTS) +#define EMAC_RXFILTERED_R HWREG(SOC_EMAC_DSC_CONTROL_REG + EMAC_RXFILTERED) +#define EMAC_RXQOSFILTERED_R HWREG(SOC_EMAC_DSC_CONTROL_REG + EMAC_RXQOSFILTERED) +#define EMAC_RXOCTETS_R HWREG(SOC_EMAC_DSC_CONTROL_REG + EMAC_RXOCTETS) +#define EMAC_TXGOODFRAMES_R HWREG(SOC_EMAC_DSC_CONTROL_REG + EMAC_TXGOODFRAMES) +#define EMAC_TXBCASTFRAMES_R HWREG(SOC_EMAC_DSC_CONTROL_REG + EMAC_TXBCASTFRAMES) +#define EMAC_TXMCASTFRAMES_R HWREG(SOC_EMAC_DSC_CONTROL_REG + EMAC_TXMCASTFRAMES) +#define EMAC_TXPAUSEFRAMES_R HWREG(SOC_EMAC_DSC_CONTROL_REG + EMAC_TXPAUSEFRAMES) +#define EMAC_TXDEFERRED_R HWREG(SOC_EMAC_DSC_CONTROL_REG + EMAC_TXDEFERRED) +#define EMAC_TXCOLLISION_R HWREG(SOC_EMAC_DSC_CONTROL_REG + EMAC_TXCOLLISION) +#define EMAC_TXSINGLECOLL_R HWREG(SOC_EMAC_DSC_CONTROL_REG + EMAC_TXSINGLECOLL) +#define EMAC_TXMULTICOLL_R HWREG(SOC_EMAC_DSC_CONTROL_REG + EMAC_TXMULTICOLL) +#define EMAC_TXEXCESSIVECOLL_R HWREG(SOC_EMAC_DSC_CONTROL_REG + EMAC_TXEXCESSIVECOLL) +#define EMAC_TXLATECOLL_R HWREG(SOC_EMAC_DSC_CONTROL_REG + EMAC_TXLATECOLL) +#define EMAC_TXUNDERRUN_R HWREG(SOC_EMAC_DSC_CONTROL_REG + EMAC_TXUNDERRUN) +#define EMAC_TXCARRIERSENSE_R HWREG(SOC_EMAC_DSC_CONTROL_REG + EMAC_TXCARRIERSENSE) +#define EMAC_TXOCTETS_R HWREG(SOC_EMAC_DSC_CONTROL_REG + EMAC_TXOCTETS) +#define EMAC_FRAME64_R HWREG(SOC_EMAC_DSC_CONTROL_REG + EMAC_FRAME64) +#define EMAC_FRAME65T127_R HWREG(SOC_EMAC_DSC_CONTROL_REG + EMAC_FRAME65T127) +#define EMAC_FRAME128T255_R HWREG(SOC_EMAC_DSC_CONTROL_REG + EMAC_FRAME128T255) +#define EMAC_FRAME256T511_R HWREG(SOC_EMAC_DSC_CONTROL_REG + EMAC_FRAME256T511) +#define EMAC_FRAME512T1023_R HWREG(SOC_EMAC_DSC_CONTROL_REG + EMAC_FRAME512T1023) +#define EMAC_FRAME1024TUP_R HWREG(SOC_EMAC_DSC_CONTROL_REG + EMAC_FRAME1024TUP) +#define EMAC_NETOCTETS_R HWREG(SOC_EMAC_DSC_CONTROL_REG + EMAC_NETOCTETS) +#define EMAC_RXSOFOVERRUNS_R HWREG(SOC_EMAC_DSC_CONTROL_REG + EMAC_RXSOFOVERRUNS) +#define EMAC_RXMOFOVERRUNS_R HWREG(SOC_EMAC_DSC_CONTROL_REG + EMAC_RXMOFOVERRUNS) +#define EMAC_RXDMAOVERRUNS_R HWREG(SOC_EMAC_DSC_CONTROL_REG + EMAC_RXDMAOVERRUNS) +#define EMAC_MACADDRLO_R HWREG(SOC_EMAC_DSC_CONTROL_REG + EMAC_MACADDRLO) +#define EMAC_MACADDRHI_R HWREG(SOC_EMAC_DSC_CONTROL_REG + EMAC_MACADDRHI) +#define EMAC_MACINDEX_R HWREG(SOC_EMAC_DSC_CONTROL_REG + EMAC_MACINDEX) +#define EMAC_TXHDP_R(n) HWREG(SOC_EMAC_DSC_CONTROL_REG + EMAC_TXHDP(n)) +#define EMAC_RXHDP_R(n) HWREG(SOC_EMAC_DSC_CONTROL_REG + EMAC_RXHDP(n)) +#define EMAC_TXCP_R(n) HWREG(SOC_EMAC_DSC_CONTROL_REG + EMAC_TXCP(n)) +#define EMAC_RXCP_R(n) HWREG(SOC_EMAC_DSC_CONTROL_REG + EMAC_RXCP(n)) + +//EMAC control registers +#define EMAC_CTRL_REVID_R HWREG(SOC_EMAC_DSC_CTRL_MOD_REG + EMAC_CTRL_REVID) +#define EMAC_CTRL_SOFTRESET_R HWREG(SOC_EMAC_DSC_CTRL_MOD_REG + EMAC_CTRL_SOFTRESET) +#define EMAC_CTRL_INTCONTRO_R HWREG(SOC_EMAC_DSC_CTRL_MOD_REG + EMAC_CTRL_INTCONTROL) +#define EMAC_CTRL_C0RXTHRESHEN_R HWREG(SOC_EMAC_DSC_CTRL_MOD_REG + EMAC_CTRL_C0RXTHRESHEN) +#define EMAC_CTRL_CnRXEN_R(n) HWREG(SOC_EMAC_DSC_CTRL_MOD_REG + EMAC_CTRL_CnRXEN(n)) +#define EMAC_CTRL_CnTXEN_R(n) HWREG(SOC_EMAC_DSC_CTRL_MOD_REG + EMAC_CTRL_CnTXEN(n)) +#define EMAC_CTRL_CnMISCEN_R(n) HWREG(SOC_EMAC_DSC_CTRL_MOD_REG + EMAC_CTRL_CnMISCEN(n)) +#define EMAC_CTRL_CnRXTHRESHEN_R(n) HWREG(SOC_EMAC_DSC_CTRL_MOD_REG + EMAC_CTRL_CnRXTHRESHEN(n)) +#define EMAC_CTRL_C0RXTHRESHSTAT_R HWREG(SOC_EMAC_DSC_CTRL_MOD_REG + EMAC_CTRL_C0RXTHRESHSTAT) +#define EMAC_CTRL_C0RXSTAT_R HWREG(SOC_EMAC_DSC_CTRL_MOD_REG + EMAC_CTRL_C0RXSTAT) +#define EMAC_CTRL_C0TXSTAT_R HWREG(SOC_EMAC_DSC_CTRL_MOD_REG + EMAC_CTRL_C0TXSTAT) +#define EMAC_CTRL_C0MISCSTAT_R HWREG(SOC_EMAC_DSC_CTRL_MOD_REG + EMAC_CTRL_C0MISCSTAT) +#define EMAC_CTRL_C1RXTHRESHSTAT_R HWREG(SOC_EMAC_DSC_CTRL_MOD_REG + EMAC_CTRL_C1RXTHRESHSTAT) +#define EMAC_CTRL_C1RXSTAT_R HWREG(SOC_EMAC_DSC_CTRL_MOD_REG + EMAC_CTRL_C1RXSTAT) +#define EMAC_CTRL_C1TXSTAT_R HWREG(SOC_EMAC_DSC_CTRL_MOD_REG + EMAC_CTRL_C1TXSTAT) +#define EMAC_CTRL_C1MISCSTAT_R HWREG(SOC_EMAC_DSC_CTRL_MOD_REG + EMAC_CTRL_C1MISCSTAT) +#define EMAC_CTRL_C2RXTHRESHSTAT_R HWREG(SOC_EMAC_DSC_CTRL_MOD_REG + EMAC_CTRL_C2RXTHRESHSTAT) +#define EMAC_CTRL_C2RXSTAT_R HWREG(SOC_EMAC_DSC_CTRL_MOD_REG + EMAC_CTRL_C2RXSTAT) +#define EMAC_CTRL_C2TXSTAT_R HWREG(SOC_EMAC_DSC_CTRL_MOD_REG + EMAC_CTRL_C2TXSTAT) +#define EMAC_CTRL_C2MISCSTAT_R HWREG(SOC_EMAC_DSC_CTRL_MOD_REG + EMAC_CTRL_C2MISCSTAT) +#define EMAC_CTRL_C0RXIMAX_R HWREG(SOC_EMAC_DSC_CTRL_MOD_REG + EMAC_CTRL_C0RXIMAX) +#define EMAC_CTRL_C0TXIMAX_R HWREG(SOC_EMAC_DSC_CTRL_MOD_REG + EMAC_CTRL_C0TXIMAX) +#define EMAC_CTRL_C1RXIMAX_R HWREG(SOC_EMAC_DSC_CTRL_MOD_REG + EMAC_CTRL_C1RXIMAX) +#define EMAC_CTRL_C1TXIMAX_R HWREG(SOC_EMAC_DSC_CTRL_MOD_REG + EMAC_CTRL_C1TXIMAX) +#define EMAC_CTRL_C2RXIMAX_R HWREG(SOC_EMAC_DSC_CTRL_MOD_REG + EMAC_CTRL_C2RXIMAX) +#define EMAC_CTRL_C2TXIMAX_R HWREG(SOC_EMAC_DSC_CTRL_MOD_REG + EMAC_CTRL_C2TXIMAX) + +//MDIO registers +#define MDIO_REVID_R HWREG(SOC_MDIO_0_REGS + MDIO_REVID) +#define MDIO_CONTROL_R HWREG(SOC_MDIO_0_REGS + MDIO_CONTROL) +#define MDIO_ALIVE_R HWREG(SOC_MDIO_0_REGS + MDIO_ALIVE) +#define MDIO_LINK_R HWREG(SOC_MDIO_0_REGS + MDIO_LINK) +#define MDIO_LINKINTRAW_R HWREG(SOC_MDIO_0_REGS + MDIO_LINKINTRAW) +#define MDIO_LINKINTMASKED_R HWREG(SOC_MDIO_0_REGS + MDIO_LINKINTMASKED) +#define MDIO_USERINTRAW_R HWREG(SOC_MDIO_0_REGS + MDIO_USERINTRAW) +#define MDIO_USERINTMASKED_R HWREG(SOC_MDIO_0_REGS + MDIO_USERINTMASKED) +#define MDIO_USERINTMASKSET_R HWREG(SOC_MDIO_0_REGS + MDIO_USERINTMASKSET) +#define MDIO_USERINTMASKCLEAR_R HWREG(SOC_MDIO_0_REGS + MDIO_USERINTMASKCLEAR) +#define MDIO_USERACCESS0_R HWREG(SOC_MDIO_0_REGS + MDIO_USERACCESS0) +#define MDIO_USERPHYSEL0_R HWREG(SOC_MDIO_0_REGS + MDIO_USERPHYSEL0) +#define MDIO_USERACCESS1_R HWREG(SOC_MDIO_0_REGS + MDIO_USERACCESS1) +#define MDIO_USERPHYSEL1_R HWREG(SOC_MDIO_0_REGS + MDIO_USERPHYSEL1) + +//MACEOIVECTOR register +#define EMAC_MACEOIVECTOR_C0RXTHRESH 0x00000000 +#define EMAC_MACEOIVECTOR_C0RX 0x00000001 +#define EMAC_MACEOIVECTOR_C0TX 0x00000002 +#define EMAC_MACEOIVECTOR_C0MISC 0x00000003 +#define EMAC_MACEOIVECTOR_C1RXTHRESH 0x00000004 +#define EMAC_MACEOIVECTOR_C1RX 0x00000005 +#define EMAC_MACEOIVECTOR_C1TX 0x00000006 +#define EMAC_MACEOIVECTOR_C1MISC 0x00000007 +#define EMAC_MACEOIVECTOR_C2RXTHRESH 0x00000008 +#define EMAC_MACEOIVECTOR_C2RX 0x00000009 +#define EMAC_MACEOIVECTOR_C2TX 0x0000000A +#define EMAC_MACEOIVECTOR_C2MISC 0x0000000B + +//TX buffer descriptor flags +#define EMAC_TX_WORD0_NEXT_DESC_POINTER 0xFFFFFFFF +#define EMAC_TX_WORD1_BUFFER_POINTER 0xFFFFFFFF +#define EMAC_TX_WORD2_BUFFER_OFFSET 0xFFFF0000 +#define EMAC_TX_WORD2_BUFFER_LENGTH 0x0000FFFF +#define EMAC_TX_WORD3_SOP 0x80000000 +#define EMAC_TX_WORD3_EOP 0x40000000 +#define EMAC_TX_WORD3_OWNER 0x20000000 +#define EMAC_TX_WORD3_EOQ 0x10000000 +#define EMAC_TX_WORD3_TDOWNCMPLT 0x08000000 +#define EMAC_TX_WORD3_PASSCRC 0x04000000 +#define EMAC_TX_WORD3_PACKET_LENGTH 0x0000FFFF + +//RX buffer descriptor flags +#define EMAC_RX_WORD0_NEXT_DESC_POINTER 0xFFFFFFFF +#define EMAC_RX_WORD1_BUFFER_POINTER 0xFFFFFFFF +#define EMAC_RX_WORD2_BUFFER_OFFSET 0x07FF0000 +#define EMAC_RX_WORD2_BUFFER_LENGTH 0x000007FF +#define EMAC_RX_WORD3_SOP 0x80000000 +#define EMAC_RX_WORD3_EOP 0x40000000 +#define EMAC_RX_WORD3_OWNER 0x20000000 +#define EMAC_RX_WORD3_EOQ 0x10000000 +#define EMAC_RX_WORD3_TDOWNCMPLT 0x08000000 +#define EMAC_RX_WORD3_PASSCRC 0x04000000 +#define EMAC_RX_WORD3_ERROR_MASK 0x03FF0000 +#define EMAC_RX_WORD3_JABBER 0x02000000 +#define EMAC_RX_WORD3_OVERSIZE 0x01000000 +#define EMAC_RX_WORD3_FRAGMENT 0x00800000 +#define EMAC_RX_WORD3_UNDERSIZED 0x00400000 +#define EMAC_RX_WORD3_CONTROL 0x00200000 +#define EMAC_RX_WORD3_OVERRUN 0x00100000 +#define EMAC_RX_WORD3_CODEERROR 0x00080000 +#define EMAC_RX_WORD3_ALIGNERROR 0x00040000 +#define EMAC_RX_WORD3_CRCERROR 0x00020000 +#define EMAC_RX_WORD3_NOMATCH 0x00010000 +#define EMAC_RX_WORD3_PACKET_LENGTH 0x0000FFFF + +//C++ guard +#ifdef __cplusplus +extern "C" { +#endif + + +/** + * @brief TX buffer descriptor + **/ + +typedef struct _Omapl138TxBufferDesc +{ + uint32_t word0; + uint32_t word1; + uint32_t word2; + uint32_t word3; + struct _Omapl138TxBufferDesc *next; + struct _Omapl138TxBufferDesc *prev; +} Omapl138TxBufferDesc; + + +/** + * @brief RX buffer descriptor + **/ + +typedef struct _Omapl138RxBufferDesc +{ + uint32_t word0; + uint32_t word1; + uint32_t word2; + uint32_t word3; + struct _Omapl138RxBufferDesc *next; + struct _Omapl138RxBufferDesc *prev; +} Omapl138RxBufferDesc; + +#define MIN(a, b) ((a) < (b) ? (a) : (b)) + + +//AM335x Ethernet MAC driver +//extern const NicDriver omapl138EthDriver; + +//AM335x Ethernet MAC related functions +/*error_t omapl138EthInit(NetInterface *interface); +void omapl138EthInitGpio(NetInterface *interface); +void omapl138EthInitBufferDesc(NetInterface *interface); + +void omapl138EthTick(NetInterface *interface); + +void omapl138EthEnableIrq(NetInterface *interface); +void omapl138EthDisableIrq(NetInterface *interface); +void omapl138EthTxIrqHandler(void); +void omapl138EthRxIrqHandler(void); +void omapl138EthEventHandler(NetInterface *interface); + +error_t omapl138EthSendPacket(NetInterface *interface, + const NetBuffer *buffer, size_t offset); + +error_t omapl138EthReceivePacket(NetInterface *interface); + +error_t omapl138EthUpdateMacAddrFilter(NetInterface *interface); +error_t omapl138EthUpdateMacConfig(NetInterface *interface); +*/ +void omapl138EthWritePhyReg(uint8_t opcode, uint8_t phyAddr, + uint8_t regAddr, uint16_t data); + +uint16_t omapl138EthReadPhyReg(uint8_t opcode, uint8_t phyAddr, + uint8_t regAddr); + +//C++ guard +#ifdef __cplusplus +} +#endif + +#endif diff --git a/src/psc.c b/src/psc.c new file mode 100644 index 0000000..4053a54 --- /dev/null +++ b/src/psc.c @@ -0,0 +1,114 @@ +/** + * \file psc.c + * + * \brief This file contains the device abstraction layer APIs for the + * PSC module. There are APIs here to enable power domain, + * transitions for a particular module + */ + +/* +* Copyright (C) 2010 Texas Instruments Incorporated - http://www.ti.com/ +*/ +/* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* +* Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the +* distribution. +* +* Neither the name of Texas Instruments Incorporated nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ + +/* HW Macros */ +#include "hw_types.h" + +/* DSP System Defines */ +#include "hw_psc_OMAPL138.h" + +/************************************************************************** + API FUNCTION DEFINITIONS +***************************************************************************/ + +/** + * + * \brief This function sets the requested module in the required state + * + * \param baseAdd Memory address of the PSC instance used. + * \param moduleId The module number of the module to be commanded. + * \param powerDomain The power domain of the module to be commanded. + * \param flags This contains the flags that is a logical OR of + * the commands that can be given to a module. + * + * \return 0 in case of successful transition, -1 otherwise. + * + */ + +int PSCModuleControl (unsigned int baseAdd, unsigned int moduleId, + unsigned int powerDomain, unsigned int flags) +{ + volatile unsigned int timeout = 0xFFFFFF; + int retVal = 0; + unsigned int status = 0; + + HWREG(baseAdd + PSC_MDCTL(moduleId)) = (flags & PSC_MDCTL_NEXT); + + if (powerDomain == 0) + { + HWREG(baseAdd + PSC_PTCMD) = PSC_PTCMD_GO0; + } + else + { + HWREG(baseAdd + PSC_PTCMD) = PSC_PTCMD_GO1; + } + + if (powerDomain == 0) + { + do { + status = HWREG(baseAdd + PSC_PTSTAT) & PSC_PTSTAT_GOSTAT0; + } while (status && timeout--); + } + else + { + do { + status = HWREG(baseAdd + PSC_PTSTAT) & PSC_PTSTAT_GOSTAT1; + } while (status && timeout--); + } + + if (timeout != 0) + { + timeout = 0xFFFFFF; + status = flags & PSC_MDCTL_NEXT; + do { + timeout--; + } while(timeout && + (HWREG(baseAdd + PSC_MDSTAT(moduleId)) & PSC_MDSTAT_STATE) != status); + } + + if (timeout == 0) + { + retVal = -1; + } + + return retVal; +} diff --git a/src/psc.h b/src/psc.h new file mode 100644 index 0000000..e33497d --- /dev/null +++ b/src/psc.h @@ -0,0 +1,69 @@ +/** + * \file psc.h + * + * \brief This file contains the function prototypes for the device abstraction + * layer for PSC. It also contains some related macro definitions and some + * files to be included. + */ + +/* +* Copyright (C) 2010 Texas Instruments Incorporated - http://www.ti.com/ +*/ +/* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* +* Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the +* distribution. +* +* Neither the name of Texas Instruments Incorporated nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ + +#ifndef _PSC_H +#define _PSC_H + +#if defined c6748 +#include "hw_psc_C6748.h" +#elif defined omapl138 +#include "hw_psc_OMAPL138.h" +#else +#include "hw_psc_AM1808.h" +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +int PSCModuleControl (unsigned int baseAdd, unsigned int moduleId, + unsigned int powerDomain, unsigned int flags); + +extern void USBModuleClkEnable(unsigned int ulIndex, unsigned int ulBase); +extern void USBModuleClkDisable(unsigned int ulIndex, unsigned int ulBase); + + +#ifdef __cplusplus +} +#endif +#endif + diff --git a/src/soc_OMAPL138.h b/src/soc_OMAPL138.h new file mode 100644 index 0000000..a123620 --- /dev/null +++ b/src/soc_OMAPL138.h @@ -0,0 +1,595 @@ +/** + * \file soc_OMAPL138.h + * + * \brief This file contains the peripheral information for OMAPL138 SOC + */ + +/* +* Copyright (C) 2010 Texas Instruments Incorporated - http://www.ti.com/ +*/ +/* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions +* are met: +* +* Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* +* Redistributions in binary form must reproduce the above copyright +* notice, this list of conditions and the following disclaimer in the +* documentation and/or other materials provided with the +* distribution. +* +* Neither the name of Texas Instruments Incorporated nor the names of +* its contributors may be used to endorse or promote products derived +* from this software without specific prior written permission. +* +* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +* +*/ + + +#ifndef _SOC_OMAPL138_H_ +#define _SOC_OMAPL138_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +/****************************************************************************** +** PERIPHERAL INSTANCE COUNT +******************************************************************************/ + +/** \brief Number of UPP instances */ +#define SOC_UPP_PER_CNT 1 + +/** \brief Number of UHPI instances */ +#define SOC_HPI_PER_CNT 1 + +/** \brief Number of McASP instances */ +#define SOC_MCASP_PER_CNT 1 + +/** \brief Number of TIMER instances */ +#define SOC_TMR_PER_CNT 4 + +/** \brief Number of PSC instances */ +#define SOC_PSC_PER_CNT 2 + +/** \brief Number of UART instances */ +#define SOC_UART_PER_CNT 3 + +/** \brief Number of SPI instances */ +#define SOC_SPI_PER_CNT 2 + +/** \brief Number of I2C instances */ +#define SOC_I2C_PER_CNT 2 + +/** \brief Number of PLL instances */ +#define SOC_PLLC_PER_CNT 2 + +/** \brief Number of MMCSD instances */ +#define SOC_MMCSD_PER_CNT 2 + +/** \brief Number of LCDC instances */ +#define SOC_LCDC_PER_CNT 1 + +/** \brief Number of Mcbsp instances */ +#define SOC_MCBSP_PER_CNT 2 + +/** \brief Number of EDMA3 CC instances */ +#define SOC_EDMA3CC_CNT 2 + +/** \brief Number of EDMA3 TC instances */ +#define SOC_EDMA3TC_CNT 3 + +/** \brief Number of EMIFA instances */ +#define SOC_EMIFA_PER_CNT 1 + +/** \brief Number of EMIFB instances */ +#define SOC_EMIFB_PER_CNT 1 + +/** \brief Number of EMAC instances */ +#define SOC_EMAC_PER_CNT 1 + +/** \brief Number of MDIO instances */ +#define SOC_MDIO_PER_CNT 1 + +/** \brief Number of EHRPWM instances */ +#define SOC_EHRPWM_PER_CNT 2 + +/** \brief Number of ECAP instances */ +#define SOC_ECAP_PER_CNT 3 + +/** \brief Number of CPGMAC instances */ +#define SOC_CPGMACSSR_PER_CNT 1 + +/** \brief Number of CPPI instances */ +#define SOC_CPPI_PER_CNT 1 + +/** \brief Number of USB instances */ +#define SOC_USB_PER_CNT 2 + +/** \brief Number of VPIF instances */ +#define SOC_VPIF_PER_CNT 1 + +/** \brief Number of INTC instances */ +#define SOC_INTC_PER_CNT 1 + +/** \brief Number of AINTC instances */ +#define SOC_AINTC_PER_CNT 1 + +/** \brief Number of SATA instances */ +#define SOC_SATA_PER_CNT 1 + +/** \brief Number of RTC instances */ +#define SOC_RTC_PER_CNT 1 + +/** \brief Number of GPIO instances */ +#define SOC_GPIO_PER_CNT 1 + +/** \brief Number of SYSCFG instances */ +#define SOC_SYSCFG_PER_CNT 2 +/****************************************************************************** +** PERIPHERAL INSTANCE DEFINITIONS +******************************************************************************/ + +/** \brief Peripheral Instances of UHPI instances */ +#define SOC_HPI (0) + +/** \brief Peripheral Instances of McASP instances */ +#define SOC_MCASP_0 (0) + +/** \brief Peripheral Instance of EDMA CC instances */ +#define SOC_EDMA3CC_0 (0) +#define SOC_EDMA3CC_1 (1) + +/** \brief Peripheral Instance of EDMA TC instances */ +#define SOC_EDMA3TC_0 (0) +#define SOC_EDMA3TC_1 (1) + +/** \brief Peripheral Instance of Timer 64 instances */ +#define SOC_TMR_0 (0) +#define SOC_TMR_1 (1) +#define SOC_TMR_2 (2) +#define SOC_TMR_3 (3) + +/** \brief Peripheral Instances of PSC instances */ +#define SOC_PSC_0 (0) +#define SOC_PSC_1 (1) + +/** \brief Peripheral Instances of UART instances */ +#define SOC_UART_0 (0) +#define SOC_UART_1 (1) +#define SOC_UART_2 (2) + +/** \brief Peripheral Instances of SPI instances */ +#define SOC_SPI_0 (0) +#define SOC_SPI_1 (1) + +/** \brief Peripheral Instances of I2C instances */ +#define SOC_I2C_0 (0) +#define SOC_I2C_1 (1) + +/** \brief Peripheral Instances of MMCSD instances */ +#define SOC_MMCSD_0 (0) +#define SOC_MMCSD_1 (1) + +/** \brief Peripheral Instances of LCDC instances */ +#define SOC_LCDC (0) + +/** \brief Instance number of PLL controller */ +#define SOC_PLLC_0 (0) +#define SOC_PLLC_1 (1) + +/** \brief Peripheral Instance of EMIFA instances */ +#define SOC_EMIFA (0) + +/** \brief Peripheral Instance of EMAC instances */ +#define SOC_EMAC (0) + +/** \brief Peripheral Instance of MDIO instances */ +#define SOC_MDIO (0) + +/** \brief Peripheral Instance of EHRPWM instances */ +#define SOC_EHRPWM_0 (0) +#define SOC_EHRPWM_1 (1) + +/** \brief Peripheral Instance of ECAP instances */ +#define SOC_ECAP_0 (0) +#define SOC_ECAP_1 (1) +#define SOC_ECAP_2 (2) + +/** \brief Peripheral Instance of USB instances */ +#define SOC_USB_0 (0) +#define SOC_USB_1 (1) + +/** \brief Peripheral Instance of PRU CORE instances */ +#define SOC_PRUCORE_0 (0) +#define SOC_PRUCORE_1 (1) + +/** \brief Peripheral Instance of PRUINTC instances */ +#define SOC_PRUINTC (0) + +/** \brief Peripheral Instances of VPIF instances */ +#define SOC_VPIF (0) + +/** \brief Peripheral Instance of INTC instances */ +#define SOC_INTC (0) + +/** \brief Peripheral Instance of AINTC instances */ +#define SOC_AINTC (0) + +/** \brief Peripheral Instance of RTC instances */ +#define SOC_RTC (0) + +/** \brief Peripheral Instance of GPIO instances */ +#define SOC_GPIO (0) +/** \brief GPIO pin and bank information */ +#define SOC_GPIO_NUM_PINS (144) +#define SOC_GPIO_NUM_BANKS ((SOC_GPIO_NUM_PINS + 15)/16) + +/** \brief Peripheral Instance of ECTL instances */ +#define SOC_ECTL (0) + +/** \brief Peripheral Instance of SYSCFG instances */ +#define SOC_SYSCFG (2) + +/****************************************************************************** +** PERIPHERAL BASE ADDRESS +******************************************************************************/ + +/** \brief Base address of INTC memory mapped registers */ +#define SOC_INTC_0_REGS (0x01800000) + +/** \brief Base address of PDC memory mapped registers */ +#define SOC_PWRDWN_PDC_REGS (0x01810000) + +/** \brief Base address of SYS - Security ID register */ +#define SOC_SYS_0_SECURITY_ID_REGS (0x01811000) + +/** \brief Base address of SYS - Revision ID register */ +#define SOC_SYS_0_REV_ID_REGS (0x01812000) + +/** \brief IDMA Module memory mapped address */ +#define SOC_IDMA_0_REGS (0x01820000) + +/** \brief EMC Module memory mapped address */ +#define SOC_EMC_0_REGS (0x01820000) + +/** \brief Cache Module memory mapped address */ +#define SOC_CACHE_0_REGS (0x01840000) + +/** \brief Base address of Channel controller memory mapped registers */ +#define SOC_EDMA30CC_0_REGS (0x01C00000) + +/** \brief Base address of Transfer controller memory mapped registers */ +#define SOC_EDMA30TC_0_REGS (0x01C08000) +#define SOC_EDMA30TC_1_REGS (0x01C08400) + +/** \brief Base address of PSC memory mapped registers */ +#define SOC_PSC_0_REGS (0x01C10000) + +/** \brief PLL controller instance o module address */ +#define SOC_PLLC_0_REGS (0x01C11000) + +/** \brief Base address of DEV memory mapped registers */ +#define SOC_SYSCFG_0_REGS (0x01C14000) + +/** \brief Base address of TIMER memory mapped registers */ +#define SOC_TMR_0_REGS (0x01C20000) +#define SOC_TMR_1_REGS (0x01C21000) + +/** \brief Base address of I2C memory mapped registers */ +#define SOC_I2C_0_REGS (0x01C22000) + +/** \brief Base address of RTC memory */ +#define SOC_RTC_0_REGS (0x01C23000) + +/** \brief Base address of MMCSD memory mapped registers */ +#define SOC_MMCSD_0_REGS (0x01C40000) + +/** \brief Base address of SPI memory mapped registers */ +#define SOC_SPI_0_REGS (0x01C41000) + +/** \brief Base address of UART memory mapped registers */ +#define SOC_UART_0_REGS (0x01C42000) + +/** \brief Base address of McASP memory mapped registers */ +#define SOC_MCASP_0_CTRL_REGS (0x01D00000) +#define SOC_MCASP_0_FIFO_REGS (0x01D01000) +#define SOC_MCASP_0_DATA_REGS (0x01D02000) + +/** \brief Base address of UART memory mapped registers */ +#define SOC_UART_1_REGS (0x01D0C000) +#define SOC_UART_2_REGS (0x01D0D000) + +/** \brief Base address of McBSP memory mapped registers */ +#define SOC_MCBSP_0_CTRL_REGS (0x01D10000) +#define SOC_MCBSP_0_FIFO_REGS (0x01D10800) +#define SOC_MCBSP_0_DATA_REGS (0x01F10000) + +/** \brief Base address of McASP memory mapped registers */ +#define SOC_MCBSP_1_CTRL_REGS (0x01D11000) +#define SOC_MCBSP_1_FIFO_REGS (0x01D11800) +#define SOC_MCBSP_1_DATA_REGS (0x01F11000) + +#define SOC_MPU_0_REGS (0x01E14000) +#define SOC_MPU_1_REGS (0x01E15000) + +/** \brief Base address of USB memory */ +#define SOC_USB_0_REGS (0x01E00000) +#define SOC_USB_1_REGS (0x01E25000) + +/** \brief Base address of HPI memory mapped registers */ +#define SOC_HPI_0_REGS (0x01E10000) + +/** \brief Base address of LCDC memory mapped registers */ +#define SOC_LCDC_0_REGS (0x01E13000) + +/** \brief Base address of UPP memory mapped registers */ +#define SOC_UPP_0_REGS (0x01E16000) + +/** \brief Base address of VPIF memory mapped registers */ +#define SOC_VPIF_0_REGS (0x01E17000) + +/** \brief Base address of SATA memory mapped registers */ +#define SOC_SATA_0_REGS (0x01E18000) + +/** \brief PLL controller instance 1 module address */ +#define SOC_PLLC_1_REGS (0X01E1A000) + +/** \brief Base address of MMCSD memory mapped registers */ +#define SOC_MMCSD_1_REGS (0x01E1B000) + +/** \brief Base address of EMAC memory */ +#define SOC_EMAC_DSC_CTRL_MOD_RAM (0x01E20000) +#define SOC_EMAC_DSC_CTRL_MOD_REG (0x01E22000) +#define SOC_EMAC_DSC_CONTROL_REG (0x01E23000) +#define SOC_MDIO_0_REGS (0x01E24000) + +/** \brief Base address of PRU Core Regsiters */ +#define SOC_PRUCORE_0_REGS (0x01C37000) +#define SOC_PRUCORE_1_REGS (0x01C37800) + +/** \brief Base address of PRU Interrupt Controller Registers */ +#define SOC_PRUINTC_0_REGS (0x01C34000) + +/** \brief Base address of MUSB memmory mapped Registers */ +#define SOC_USB_0_BASE (0x01E00400) + +/** \brief Base address of OTG memmory mapped Registers */ +#define SOC_USB_0_OTG_BASE (0x01E00000) + +/** \brief USB 0 Phy regsister( CFGCHIP2 register) address */ +#define SOC_USB_0_PHY_REGS (0x01C14184) + +/** \brief Base address of GPIO memory mapped registers */ +#define SOC_GPIO_0_REGS (0x01E26000) + +/** \brief Base address of PSC memory mapped registers */ +#define SOC_PSC_1_REGS (0x01E27000) + +/** \brief Base address of I2C memory mapped registers */ +#define SOC_I2C_1_REGS (0x01E28000) + +/** \brief Base address of syscfg registers */ +#define SOC_SYSCFG_1_REGS (0x01E2C000) + +/** \brief Base address of Channel controller memory mapped registers */ +#define SOC_EDMA31CC_0_REGS (0x01E30000) + +/** \brief Base address of Transfer controller memory mapped registers */ +#define SOC_EDMA31TC_0_REGS (0x01E38000) + +/** \brief Base address of EPWM memory mapped registers */ +#define SOC_EHRPWM_0_REGS (0x01F00000) +#define SOC_EHRPWM_1_REGS (0x01F02000) + +/** \brief Base address of EPWM memory mapped registers */ +#define SOC_HRPWM_0_REGS (0x01F01000) +#define SOC_HRPWM_1_REGS (0x01F03000) + +/** \brief Base address of ECAP memory mapped registers */ +#define SOC_ECAP_0_REGS (0x01F06000) +#define SOC_ECAP_1_REGS (0x01F07000) +#define SOC_ECAP_2_REGS (0x01F08000) + +/** \brief Base address of TIMER memory mapped registers */ +#define SOC_TMR_2_REGS (0x01F0C000) +#define SOC_TMR_3_REGS (0x01F0D000) + +/** \brief Base address of SPI memory mapped registers */ +#define SOC_SPI_1_REGS (0x01F0E000) + +/** \brief Base address of EMIFA memory mapped registers */ +#define SOC_EMIFA_0_REGS (0x68000000) + +/** \brief Base address of EMIFA_CS0 memory */ +#define SOC_EMIFA_CS0_ADDR (0x40000000) + +/** \brief Base address of EMIFA_CS2 memory */ +#define SOC_EMIFA_CS2_ADDR (0x60000000) + +/** \brief Base address of EMIFA_CS3 memory */ +#define SOC_EMIFA_CS3_ADDR (0x62000000) + +/** \brief Base address of EMIFA_CS4 memory */ +#define SOC_EMIFA_CS4_ADDR (0x64000000) + +/** \brief Base address of EMIFA_CS5 memory */ +#define SOC_EMIFA_CS5_ADDR (0x66000000) + +/** \brief Base address of DDR memory mapped registers */ +#define SOC_DDR2_0_CTRL_REGS (0xB0000000) +#define SOC_DDR2_0_DATA_REGS (0xC0000000) + +/** \brief Base address of AINTC memory mapped registers */ +#define SOC_AINTC_0_REGS (0xFFFEE000) + +/** \brief Base address of UMC Memory protection registers */ +#define SOC_MEMPROT_L2_REGS (0x00800000) + +/** \brief Base address of PMC memory Protection registers */ +#define SOC_MEMPROT_L1P_REGS (0x00E00000) + +/** \brief Base address of DMC memory protection registers */ +#define SOC_MEMPROT_L1D_REGS (0x00F00000) + +/****************************************************************************** +** EDMA RELATED DEFINITIONS +******************************************************************************/ + +/* Parameterizable Configuration: These are fed directly from the RTL + * parameters for the given SOC */ + +#define SOC_EDMA3_NUM_DMACH 32 +#define SOC_EDMA3_NUM_QDMACH 8 +#define SOC_EDMA3_NUM_PARAMSETS 128 +#define SOC_EDMA3_NUM_EVQUE 2 +#define SOC_EDMA3_CHMAPEXIST 0 +#define SOC_EDMA3_NUM_REGIONS 4 +#define SOC_EDMA3_MEMPROTECT 0 + +/****************************************************************************** +** CHANNEL INSTANCE COUNT +******************************************************************************/ +#define SOC_EDMA3_CHA_CNT (SOC_EDMA3_NUM_DMACH + \ + SOC_EDMA3_NUM_QDMACH) + + +/* QDMA channels */ +#define SOC_EDMA3_QCHA_BASE SOC_EDMA3_NUM_DMACH /* QDMA Channel Base */ +#define SOC_EDMA3_QCHA_0 (SOC_EDMA3_QCHA_BASE + 0) /* QDMA Channel 0 */ +#define SOC_EDMA3_QCHA_1 (SOC_EDMA3_QCHA_BASE + 1) /* QDMA Channel 1 */ +#define SOC_EDMA3_QCHA_2 (SOC_EDMA3_QCHA_BASE + 2) /* QDMA Channel 2 */ +#define SOC_EDMA3_QCHA_3 (SOC_EDMA3_QCHA_BASE + 3) /* QDMA Channel 3 */ +#define SOC_EDMA3_QCHA_4 (SOC_EDMA3_QCHA_BASE + 4) /* QDMA Channel 4 */ +#define SOC_EDMA3_QCHA_5 (SOC_EDMA3_QCHA_BASE + 5) /* QDMA Channel 5 */ +#define SOC_EDMA3_QCHA_6 (SOC_EDMA3_QCHA_BASE + 6) /* QDMA Channel 6 */ +#define SOC_EDMA3_QCHA_7 (SOC_EDMA3_QCHA_BASE + 7) /* QDMA Channel 7 */ + + +/* Enumerations for EDMA Controlleres */ +#define SOC_EDMACC_ANY -1 /* Any instance of EDMACC module*/ +#define SOC_EDMACC_0 0 /* EDMACC Instance 0 */ + + +/* Enumerations for EDMA Event Queues */ +#define SOC_EDMA3_QUE_0 0 /* Queue 0 */ +#define SOC_EDMA3_QUE_1 1 /* Queue 1 */ + +/* Enumerations for EDMA Transfer Controllers + * + * There are 2 Transfer Controllers. Typically a one to one mapping exists + * between Event Queues and Transfer Controllers. */ +#define SOC_EDMATC_ANY -1 /* Any instance of EDMATC */ +#define SOC_EDMATC_0 0 /* EDMATC Instance 0 */ +#define SOC_EDMATC_1 1 /* EDMATC Instance 1 */ + + +#define SOC_EDMA3_REGION_GLOBAL (-1) +#define SOC_EDMA3_REGION_0 0 +#define SOC_EDMA3_REGION_1 1 +#define SOC_EDMA3_REGION_2 2 +#define SOC_EDMA3_REGION_3 3 + + +/****************************************************************************** +** DAT RELATED DEFINITIONS +******************************************************************************/ + +/* Parameterizable Configuration:- These are fed directly from the RTL + * parameters for the given SOC */ + + /****************************************************************************** +** CHANNEL INSTANCE COUNT +******************************************************************************/ +/** \brief Number of Generic Channel instances */ + + +/** \brief Enumerations for EDMA channels + * + * There are 8 QDMA channels - + */ + +#define SOC_DAT_QCHA_0 0 /**< QDMA Channel 0 */ +#define SOC_DAT_QCHA_1 1 /**< QDMA Channel 1 */ +#define SOC_DAT_QCHA_2 2 /**< QDMA Channel 2 */ +#define SOC_DAT_QCHA_3 3 /**< QDMA Channel 3 */ +#define SOC_DAT_QCHA_4 4 /**< QDMA Channel 4 */ +#define SOC_DAT_QCHA_5 5 /**< QDMA Channel 5 */ +#define SOC_DAT_QCHA_6 6 /**< QDMA Channel 6 */ +#define SOC_DAT_QCHA_7 7 /**< QDMA Channel 7 */ + +/** \brief Enumerations for EDMA Event Queues +* +* There are two Event Queues. Q0 is the highest priority and Q1 is the least +* priority +* +*/ +#define SOC_DAT_PRI_DEFAULT 0 /* Queue 0 is default */ +#define SOC_DAT_PRI_0 0 /* Queue 0 */ +#define SOC_DAT_PRI_1 1 /* Queue 1 */ + +/** \brief Enumeration for EDMA Regions +* +* +*/ + +#define SOC_DAT_REGION_GLOBAL (-1) /* Global Region */ +#define SOC_DAT_REGION_0 0 /* EDMA Region 0 */ +#define SOC_DAT_REGION_1 1 /* EDMA Region 1 */ +#define SOC_DAT_REGION_2 2 /* EDMA Region 2 */ +#define SOC_DAT_REGION_3 3 /* EDMA Region 3 */ + +/** \brief Enumeration for peripheral frequencies +* +* +*/ + +#define SOC_SYSCLK_1_FREQ (300000000) +#define SOC_SYSCLK_2_FREQ (SOC_SYSCLK_1_FREQ/2) +#define SOC_SYSCLK_3_FREQ (SOC_SYSCLK_1_FREQ/3) +#define SOC_SYSCLK_4_FREQ (SOC_SYSCLK_1_FREQ/4) + +#define SOC_ASYNC_2_FREQ (24000000) + +/** I2C */ +#define SOC_I2C_0_MODULE_FREQ (SOC_ASYNC_2_FREQ) +#define SOC_I2C_1_MODULE_FREQ (SOC_SYSCLK_4_FREQ) + +/** MCBSP */ +#define SOC_MCBSP_0_MODULE_FREQ (SOC_SYSCLK_2_FREQ) +#define SOC_MCBSP_1_MODULE_FREQ (SOC_SYSCLK_2_FREQ) + +/** LCDC */ +#define SOC_LCDC_0_MODULE_FREQ (SOC_SYSCLK_2_FREQ) + +/** SPI */ +#define SOC_SPI_0_MODULE_FREQ (SOC_SYSCLK_2_FREQ) +#define SOC_SPI_1_MODULE_FREQ (SOC_SYSCLK_2_FREQ) + +/** UART */ +#define SOC_UART_0_MODULE_FREQ (SOC_SYSCLK_2_FREQ) +#define SOC_UART_1_MODULE_FREQ (SOC_SYSCLK_2_FREQ) +#define SOC_UART_2_MODULE_FREQ (SOC_SYSCLK_2_FREQ) + +/** EHRPWM */ +#define SOC_EHRPWM_0_MODULE_FREQ (SOC_SYSCLK_2_FREQ) +#define SOC_EHRPWM_1_MODULE_FREQ (SOC_SYSCLK_2_FREQ) + +#ifdef __cplusplus +} +#endif + +#endif /* _SOC_OMAPL138_H_ */ diff --git a/src/spi.c b/src/spi.c new file mode 100644 index 0000000..d7e4618 --- /dev/null +++ b/src/spi.c @@ -0,0 +1,198 @@ +/* + * spi.c + * + * Created on: 19-12-2016 + * Author: K + */ + +#include +#include +#include +#include +#include + +#include +#include +#include +#include + +#include "misc.h" +#include "spi.h" +#include "tdefs.h" +#include "logic_elements/virt_in_drv.h" +#include "logic_elements/leds_drv.h" +#include "logic_elements/pkw.h" +#include "logic_elements/cnt.h" +#include "logic_elements/s_demux.h" +#include "logic_elements/events_reg.h" +#include "comm.h" + +u8 spi_fram_restored = 0; + +void spi_init() +{ + u32 psc; + + PINMUX3=(PINMUX3 & ~(PINMUX3_3_0|PINMUX3_15_12|PINMUX3_11_8|PINMUX3_31_28)) | (1<<0) | (1<<12) | (1<<8) | (4<<28); // spi0 clk, mosi, miso, gp8_1 cs + DIR8&=~(1<<1); // GP8_1 as output + + // enable psc + while(PTSTAT & 0x00000001); + MDCTL4=0x00000003; + PTCMD=0x00000001; + + while(PTSTAT & 0x00000001); + while((MDSTAT4 & 0x0000003F) != 0x00000003); + + SPI_DEASSERT(); + + SPIGCR0=0; + SPIGCR0=1; + SPIGCR1=0x00000003; + SPIPC0=0x00000E00; + SPIDAT1=0x04000000; + + psc = 10; + + SPIFMT0 = 0x00020008 | (psc << 8); //polarity 1 + SPIGCR1 = 0x01000003; +// SPIINT0 = (1<<8); // RXINT +// SPILVL = (1<<8); // RXINT + +} + + +void spi_putc_bl(u16 word) +{ + SPIDAT0=word; + while(!(SPIFLG & (1<<8))) + Task_sleep(1); + SPIFLG|=(1<<8); +} + +void spi_wr_en_bl() +{ + SPI_ASSERT(); + Task_sleep(1); + spi_putc_bl(0x06); + Task_sleep(1); + SPI_DEASSERT(); + Task_sleep(1); +} + +void spi_wr_buf_bl(u16 addr, u8 *buf, u16 len) +{ + u32 i; + + spi_wr_en_bl(); + SPI_ASSERT(); + Task_sleep(1); + spi_putc_bl(0x02); + spi_putc_bl((addr & 0xFF00)>>8); + spi_putc_bl((addr & 0x00FF)>>0); + for(i=0;i>8); + spi_putc_bl((addr & 0x00FF)>>0); + for(i=0;i>0)&0xFF; + buf[1]=(virt_in_states>>8)&0xFF; + buf[2]=(virt_in_states>>16)&0xFF; + buf[3]=(virt_in_states>>24)&0xFF; + memcpy((char*)&buf[4],(char*)pkw_mem,sizeof(pkw_mem)); + buf[36]=(led_states>>0)&0xFF; + buf[37]=(led_states>>8)&0xFF; + buf[38]=(led_states>>16)&0xFF; + buf[39]=(led_states>>24)&0xFF; + buf[40]=(led_blink_states>>0)&0xFF; + buf[41]=(led_blink_states>>8)&0xFF; + buf[42]=(led_blink_states>>16)&0xFF; + buf[43]=(led_blink_states>>24)&0xFF; + buf[44]=(virt_in2_states>>0)&0xFF; + buf[45]=(virt_in2_states>>8)&0xFF; + buf[46]=(virt_in2_states>>16)&0xFF; + buf[47]=(virt_in2_states>>24)&0xFF; + memcpy((char*)&buf[48],(char*)cnt_mem,sizeof(cnt_mem)); + buf[48+32+0]=(comm_bits_act[0]>>0)&0xFF; + buf[48+32+1]=(comm_bits_act[0]>>8)&0xFF; + buf[48+32+2]=(comm_bits_act[1]>>0)&0xFF; + buf[48+32+3]=(comm_bits_act[1]>>8)&0xFF; + buf[48+32+4]=(comm_bits_act[2]>>0)&0xFF; + buf[48+32+5]=(comm_bits_act[2]>>8)&0xFF; + memcpy((char*)&buf[48+32+6],(char*)saved_events,sizeof(saved_events)); + buf[48+32+6+16]=saved_bank; + buf[48+32+6+16+1]=(u8)(mod256_cksum(buf,sizeof(buf)-1)+CKSUM_IV); + spi_wr_buf_bl(0,buf,sizeof(buf)); + } + } + } +} diff --git a/src/spi.h b/src/spi.h new file mode 100644 index 0000000..8ce951d --- /dev/null +++ b/src/spi.h @@ -0,0 +1,23 @@ +/* + * spi.h + * + * Created on: 19-12-2016 + * Author: K + */ + +#ifndef SPI_H_ +#define SPI_H_ + +#include "misc.h" + +#define SPI_DEASSERT() SETDATA8|=(1<<1); +#define SPI_ASSERT() CLRDATA8|=(1<<1); + +extern u8 spi_fram_restored; + +extern void spi_init(); +extern void spi_putc(u16 word); + +Void spiFxn(UArg a0, UArg a1); + +#endif /* SPI_H_ */ diff --git a/src/tdefs.h b/src/tdefs.h new file mode 100644 index 0000000..9583833 --- /dev/null +++ b/src/tdefs.h @@ -0,0 +1,16 @@ +/* + * tdefs.h + * + * Created on: 06-12-2013 + * Author: Krzysztof Jakubczyk + */ + +#ifndef TDEFS_H_ +#define TDEFS_H_ + +typedef unsigned int u32; +typedef short s16; +typedef unsigned short u16; +typedef unsigned char u8; + +#endif /* TDEFS_H_ */ diff --git a/src/version.h b/src/version.h new file mode 100644 index 0000000..16d7197 --- /dev/null +++ b/src/version.h @@ -0,0 +1,16 @@ +/* + * version.h + * + * Created on: 06-02-2017 + * Author: K + */ + +#ifndef VERSION_H_ +#define VERSION_H_ + +#include "misc.h" + +#define SW_VER_NO "DSP-3.0a " // 9 bytes +#define SW_VER SW_VER_NO" "__DATE__ + +#endif /* VERSION_H_ */ diff --git a/test_result.png b/test_result.png index b58ad95d677946a63fecc944a66149b63a433e57..b0be30572f33a96af3e749f4c6a92b36ae4d8bbc 100644 GIT binary patch literal 324419 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 z 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�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%0AF6mbLu6g3T3 zvxkByof4`ep%`wxeE~(73{U?2@3#jNg}M?Au@*|CTW{p5IyeK_gG&EDDY){SK+3)P zfe#KRC>(Vk9((P?(*2#yP>RQ?f_XI}Vke$3l;@pK7{^v1ZW=Z*LjuMRy)OSJh{bpiF|5a)*IOsK^yL+YHt z5sS#cQ+j`Y8+m%ISX@%W=QLpgWsmrYVG&&sdC0oQW@p7UMMCtP^};5BeTa!A@)f+$ zGTn=cW4hXl++XYskJIXB4vMW|ln@;mDqoKPr>_m)7hVxy|Jh7nO1*|&q~*iJ^$tmX zAXk~a7t&ajEBANTqt_;lO0siT#Ow=Fsy{b8H?@q)#wTQn=Xv>T{_jB!#wyRjX%yq< z?!}^}H&+uD)(7I>vq+!(pZd?)!~|zfpTg*Q?<*m9Ofm*(8aAi*&bf#8X5!q+e`i&t zP*js#dJw95A&g*O&z3oC4jnkVIJySQ9;I6K1j$fb3D5IhY)P*Rif|`V10`IgRhovcMTODkirS>Y5DMu=InmxTj9*PM!9^PNwaA zrY1xE!sx^#wx0cvSbM&#ciCK}J@Xvtk!S?-#D-QcC+DwNMba;~$!w(2i(KHIwyZS| z4Q~a(+(7Zc#_?sMJn|1i18OIlw1mqtw4Q}IH(YDxsoRN1!zN9)xB~aAH3JsGE9m`H zmaf@#?Ss(7x{sp#K_vpd*>!*ThzYF2<7o9bQjaZBWA$6qtskE%weFvpZv0f%xn+6< z-7}KhED|bjetciFK90_i$I!8RT)|?lv|PxYYdbz4CS>v_>HVD5^$~TH?pQ#9e@Ebi z>htbDi%DxK%iC7hasO72Kh8JiSnHB5?sz3n0;~`8p^%zSTF)~M>fFw}Hu`$+$5@b{ zt`k=~(_{#F%SH0u&@=G{eNMCVZv+NL$HFLI zNh5c?(oj1d@Ag?;kO4WrVN1LjkZm1Qsnc(H8wjP85QgN?T`wzZQfByL#UUfmIs^^hrpUj1%lAK6z#7V$T=&~i$Rra6+3J8tr)I9Rk zDszWNZA6i>zGAOWM7l_%EGFi+SzA#2oE%XdWp#3nBK1EXGuX-hAzHrIcxjVet%FU?ZtW6WB0U@%jE9hw&Y1N+o8H2`(S}xMI47T+QMwAlioHY z+^d`QAEkL^YO`c~99=u~)Ri_v0(Qb$`mc&^LuBd`rD+)2EIlBJj{cxi^+oa%!VSuT z7C&6?79VN7LxF4ycL!%jFk(~q zN2m(9PJ;)Hd)3A;kNT$5W1L+5PpUW;?=ji`DCpSn1#JtwVZ{=&a6hx*Cp1(jJw7np z_3kyC^NSWUesw0o@aLg~!|A|dsIS=fx1*PCY%3pLxy27~iPgl^Pw!+4$#XqO3ek&E zGphauMP^g!d{Kx8x`b7^xP)B%ih2DTo96kA|VJ?@V z%_j829|BnJ(TN4Cy+`7G==zb4@4BE?mnAB7c~Ye;C?)Wz;naNWE`Lb$*Zzg^RO#D@ zf!j2?%?K_Y$foo2OWGlRY{TMJy#?Jzq@8Fq>itd!x@=hu{QB`uxqe>G)?pf>DarXM}4MUwmnv2L7o@D5KdMn^LLE) zb@kG9%v;+W-hbyV7R9FNph3I?#;)qF2JhEYPn=XR*TUvUO4noelABwKpVs~^9fJu` z;N^<%bs@HcAh4nW?WH91Q1!LEAw#bRG^ejawK)oh48M6Som*Ir{d@&`V;%=F%r1a; z?J8L9HW5K-g}Gx_0s|ajT6C}Msd`?=-Mq#Su{8mi3apMw@8r9BUIfhm4Q_S;UYzpW zx~i)6i4w)r`f|Hf8znk-@wc+lKr&DOwT=wA2aMOdxjTJ zlPlG42(e@!HH@@S8|D(hoNJN@hilSl#ktFFD(9fXQ=eNe_)zJg&?~pet&^VeMe1E+EjRry>umoP4n}Cv=Zk^$Xyxa(rw>p$ zF()>R@2_1&-;|$`4cUd<17lK$CNjjI&)g={iWeHHo=DBE-1=m9qO7YIH^+XaikyU! zL8}5v@gR<9x`uoXH9k3%?uWbE?X|h=qk;;z-}LYi8Qsnk3QbOaDNBT6KlmY*a?g#l zua0pn|7Gc*D7Ze! zIhF*u_e!ihTne5+-Lq4kidS1oR-i8=w47(T4n`f_vJ-geEG;bDaN8=H26vE%Dsq&f zdHqykHVb0UpiF`Ov0`LJb5FFlR&f2R(B6C4>@!@3IUxn~fo?qFyV>dv?1Ftw4v}cq z+9fGY%KPpeWxe4DnD>*d?Bqv}Y$Q8(+s7b(6t+mzlWPXycF`j4A5@)|vg!~q4bB$H z_t##R+}GER!mQA`R)St6^)%$>OqAhs_mC#B2g2`GdM|zZeU5Rpwc|J)9!QomVQp0M z_#erj}yT( z_otCtkyS0bXs4Z_N9DeC$1^ncQ6~kTwOgNv)@q%3HrWCL=-`f;KEtYH7Q*8jZKIj+ z+afmdkEmbE!-H^kZm9O81-DB1uFt(`5HBX5f&VrE%E*6)}HDeJPA1+xIe2PG(<< zlIF>uS$=_dalb~it-7gj<#nD37jINi_FXt;GFc8k@zxtFo1EW{9vG0^^WD$DKE32q zkN>?Loe$HPQ}^=gwtJz7B3~A4Qij?wWos!)P7XaDs2#_&zJVyf1J6MY31LXhP8-<7 zBW{n<=t#c_O65?UpW%)xc$i6;)hZqtr3#E!F65AX-S`iMS}B9GY|@cWj3hM4$zqfD zzKJC}C{^SYWPVY1Nz5y1tUfAD@wTr_xub%(%S97=Hkw+~btF`5GDgbcO9408;80<6 zCvk>Cab&2Se6rMg9G(c!RmTzkVJ;Wr+I$ABt2GF~u3Px@4qs&2k*i9mGM6hYudXp& ztX>}JghUv;x2FU&} zc9(uKO61LOq4wf_X~YyIoqC^kh->TTu*^F`p8!f03}$5BX1priD{f@GwS1~$#rbnE z_<0Ga|D{>r^Y-tC-itYEP~s<|%jXv&_RW9Of-og&a+e!oqe65)`{-#zfp`bW9OHA7 z^)USJrN!DwOzGIF%1@J0TEyj%rI^w~1I&=qa7Y*<*@f*3I|xb2{4i}LlSDqJswa8F zGY!w~+}P`8_@VTCfpT>%oo{kdHq zi)Slj$M_S zDg)+bFWb-ei|9Y?EAl9>K_X&tD)^p=O}eZcG9H3H$ieq z-+vGR(fvriq18=F%Ond-_EMWXw7~*R&iNuIU(nQVW?>%?sv>V-9T1O~dA~=?Y_uQO zk*NAUN(;t!e-N~wqd7&Q%FKFEow?koIb|#_BJV3Sx$9C{m$Il|IM=mTv=$g&(=JZM zrY(=O63J2;$8YXEcvvXZX1~`4hsxJa?)J3RWv-tvzg(-5hgaswY&z z&#KSY$;Ahaiwvb4-v#ye!tqJy`71{$Qc8&X?mrUXFbPpr2nbVGW0qlMyR-ye0$#M^ zDkjPq)(94tBIi~aWi#dM6b#qRcy8sq251!0)UCl@$j4tt#*yBS zY>Wd5(~~r_4Bv=ZrJ7NM-&yvgV_tDyN+=Lp^IFT9m_O?5tWcM2kN$UDNxuF)tg$Ko zyBtf7H&0_I+nB00f9&~Vu}ko9>hZZ9Lc+)2 zjULGRRdsxwd(3pJ2#(*tq<6q*IShBKOp%^rdTt;`eKJ8?!pL%~v_)WAP8ko{a~a+5 z%v>Wpu{*unuK2wJBbFRaT34OPBU#M3N^UFbA9K2?^W+hBoFP`&0BrbtiH|;I@EsvN z5fQ9H?e!WynFT%$oCN&K9Z=46{#-CSD`0U_S@i|Pm>$)+@qrz-u)#U@@=*qIxH*^x z)8Z(p)(@V)!a6&>|G(q>*7_t(bg$R&V`x4~-Flr_eXYdyIwR-~P1ZK=wV}t9<%$Gn zs)X)&xOE4avJU5)cW3~2I{+vXKpey#sF^DOh*f`AJd%#;l^cl|0EMK<2Qq7FbVMHr z3u~?DSX<|NDlFL^`UJ>{*xJgEEs&XBshGNIUGVI+6PQ=<&>N8X1npM26j0<+k#Ejz}E{n-SDfoUaoU~-x z!}gLY?((swPw?U0Vx}6gr+sn+0}$DzRnFNiQWM`NS2|w-=ac zIDt^{ad@GI9I^hCkd{A=&#O?Kdc2CG1s#~3QYFN}C&7=QPRSD@qJW;lVfP52=Gbc> zGpl0lmCshXX%(vdY@@1U)X^NfBYAW6J!Wqo+f&jBxLfJuq5eGIhFA1g-ZOT_TJ(@1 zA`VW`EoUFkw;yYEgqZmk&90v19>q-6r!9CY5rj1#l!U@*`YH%8-A&gcE=Ns_M~v(4 z1{f6gx`%o;xEK^pnUW70-=`zt)iQORKVh1X&$GS!YPhZBNVDVoNVNClk;7+ly(qhA zWXodI@voJix1b4Lqx&t3%Hw7DKBD5cDoyW?mCtpTXZra0mM*Rf&dUU71~2V5k6{X5 zom|PjnKRL7aE5vsC_&}kdSpSa#6F#~+CLde3lNZIp1~4e9SveTHc%fh00|ry` z9uQOqCymlN<|+OyL8DaxbwMCzNAb4}5Bo`3 z*)rKKEWbb93C#(EHFnsCR7BxydNFZw+=_Qp9bxM<6SACxgQ8WgLPNFXejV>1ZlZ(h zXkw{8$%A(1R%%tjXZWmY54fKzWsYXc=i%nUg=&Jd=#HmV&a7<fcsR^ceoDPIGl>ZJpY%+!?YpWS{ zxA>V-W-oKXaDZ#T_OwFMoh&adYK3{LnR0hzLw};Y@7s32HkI>_ZNsw39i)1nkW^>7JWn&-Cu*tPt5m5w&U_xrf4 zibbaW9s3u;`|M&v0`154nwtk~hEEMfJ;s{2CY`z7pHWeeu@+AtE$|`J)GMk!aB|&f z331U>i@wC?9gplxeUDibIV&gEH0x6JA_Oc{EmfJDrT72z<}5hr+wk5Q_p-|M6tCNV zm~Eb;I?7k5Q)#h(PZ7Fy>d_CGx?@*8IpH2ZsFJPP#BS^MYp?QG{wxEk{y26~x2j(6 zM|d+~ac}3hUw_mlU~?^6kdCJEBJ+iBbzcmUk24cSA4^RgIjXk@kO)ow6t(!VWj9_H zFi7yeqGENJao6CZKI5htr1E`Gu`L_-RO6AE-jsU0CfnwcnNCA>p+E`0TV1h8m7?eh zO&h?lwgBJ=wjXnW^oZzzB?c!Zuka3n3^mMdZ6Y!$pA@Z&*RkmSxN!z0~+&%!2)B zXVUP#nym3mC`?=iI}StfdF2+9?-*^yq0H?>WbSZ<8oO^FNk*lS+R)PE@X4k|Gs(eM@89zj8gEwVoPR&$*hP5lQ9x_-8%0XW2WI72!u*S-tk^d8UGWo0}q)kyekwI|Czm zYQhw&V*5iw#j{phR~4b0evBdt!#S>RZASQF8MS)oCmWJ$VODY}P#*!J6W<--KQSCs z22SYa_PrT>(Y`9q?u#5KuJezpc&g_PnECeKH6l*7eKMXF=F6|d4HpMlqIBKeCsJ^Y~Ma8j~P5&xt*`9`3Jr4?XIXQ?SL0% zZ>Flf{J_UkC9Bar-Qhf0CPm2BsmBbYMA;{V?X#8Db$ZMsL#$ugDU^GvG%B&umgOs- z9AhwCEd#Lv&vI898+gZkKhODl`@+3NZtq2U(>FK+ei@_e#cii-vxdrakSlPTV~X83 z#e&0#z6vYM(Vfpa&`>vBjhwf6WWE}LnKUGQw$HgsXz@}_@nbryifc~VEk5sQB#}u& zAysh>lG$3L`q?W*h<$R3>^>z4glT=W{(g39n&SO9hc6P8SH_i#<~{~9_eHOMF3OzB zwBQhBGH{2!Jo)3~%;Y`VU%{5G6=96>I%#Z?!Ioj_y({(O{&7xH^|UgDhE!1KZOTLA zsD*$xcfx!=AcEu~GUku%8svoz3jO}Vhv`kn`sPSx)Btbm>C&$ySnGeL0H!4FQEQ$WrNtE;U zEj*Nd5~vftqLGr3G104~mjrer9ZDEaE);wa3OT9^Pq^(j6*4 zmf<8Wr*F8wQ*N-)Am-1y!GEaQqIaA9o0d!V{twZ#byxIlg2GG*QIUaKBmK*OopPFJ zRE%~E=eLtjwycEc!R$P|Is6=%HF-j@DG!n$8(oJxd!o^(($|fg4(2|jiuTqD5f$vB zj0SijW|0J{o8yC>HS2;M&L7lYt||ZCSC<|oq(9CsPbn578F)sXUbXn#hoG3_QQEo4 zuDeW@Yfk>!q;IYw*hM1SIkR^(!d$U)q~HeqP<-N8}(#+nCb9g;JcsXgWZUBvhF44*%Yz#l}?FxHr)X z>s+oM8O-joeNnGWJ&rS#@l>R-ZSj{9I|pObok^zqE^n2Cf^ke5_Hdt6KOXDf_)_=h zalwqjruHaRCuh&2VIrfsCHGuE={Jh`_U_UZ>VtGp??wOp%l-3d9;Qv9g~zkVdI_Ay zm8AK7lN^Znobrzo?<1IEROKgiHCJ$AI}zz=kWzMd=CJHog)(miculTjK|n8h=VN3{ z!|chEL)*a@+GvQi@wOvSfgQ5tka~sniXSvQ1+GPuoJFt7{4TwByAkwFM1(l&(nwKZ z4-RE}S6W1|IG*eT4QY02$pI%9r$&8U^4pYs6W6@hlobAJR371b7az}9R_GxLwFDi1 zwl@hUfA2ZBsepK6;c-jRhjeo)Q!#0Y$g6u=d)kuULyS-)Bs)apl4a@>N`` zJY%zqxLU2_$kS2&l~5`Iwi)pb3a_@B>x)J*rJ*87l%T3`n6Fhd>VmWF=c`KjBmMAW zn3>e8o`qfbVo&su&}7+$;GrjBwe_3;U;k98%3AQ_LcH3dUktVhY}lE%0iHT0=%wCR zb#J7cfXo25b(nFgigC|^LhADqE;ByIHA#VKxP4uM=3@i6ZAIiK+>AV^QS`Ex6|o}) zVK$$!>?8CC{BHT!{m$Qt0bzW_DXATV0Ym%sD%CCPLi zHm1B~*+T0G1xxuG%3GVsH4Z3G25Rz2LL8gi_Y1*;WGr<~3Q8RncQM(-o z#|=&uD5H9y5TOVWYPSiVxtIhIjvy=OmU_6ecmYO~%5Bem^JJ@YjNC1X+EF(52iYxO zWF{+3f_X>T+$I*}(6eG>oFUS~ohPPw7cfa`UtStTM@fp%EPJSnFukv0g5(*HgiN){ z_V*A=W;W zU)a^?WVo@9L58lDY`b!cb zd&Wy$$|PG4vx!D;4i;tIteHRKooq%p6Twh;5J*55nsKvX|Ig#|i&cD_#6UP5;;u?F z0wwy5(#^Mek$ND54xMzl60NzTkX4!b8>#;A8UjWWOqt2_eCaAnl07mQ(pOEXCotW# zMU3A3#wM#`{3o0PBlvs-*?Ef$3$s{(>=EN5(y2`+ zeVxY-d*D5YzA>7FcU|2_JHm)#dJ8;mcyq9BASh5=^zOLJ8_q=`|D_@F67SKwT-o68 z6BzYs8gS{jGW ziT+Vz?SPASPo(Xmk8v}fxdsm+v@i(*nS&LMM@B_Yc9NPVRrS$8SZx!fzAzFSZ*E|YM?7)0KZhvT$VvY&BtN`|fK1StVn4T3lGL0=}FkhF|{YnHlLN4SFZ60*)@d zuC6PbtHOCv?nbW;IxIwZ;q-CRoPxN%t(kK+2bfd=b@`vevj1kR|L_zxTksF*m6Fy(+Y68f($)@S;dtwjeK z5s)b_5|Y3wE4rs4l(^76XxAa>FsD(J${I7O^fpsVM2gz$iDZ;-OCIIbh15~x#Z}Ui zuh|f|4gV0_!0SN+)M8?Q6yBYel5q%m(gM$1wTW}m7y=5!Tp$%21a0b`NLZ#X0Ar5a zn`R1HMLJTzyyvmYl0uoJV)H@=$Y0#J2i;KT_^Rd?C%auM09Q8|(7dr>^qvu%^$fak z=>;HSetA#1`LESU+Y*X}pSA8AR)CdUCU3pbFOE}G4!yb%!B7y}@LJvpWn&*pUhlwH=^=%3iaifi3qQxoARB?M4 z`)b}lHB@Lwej9_2;Pr1W4y0X)diuosY9TVl=QL`vmdFl9HcsR5W{sK$Sgz&|S4yE|!PB@CdlH<^UJk1fCxU zYPo$v3kyIao(*`BaPF^pwBt#UE>eB4ru>m*yi*#3Jma2Q-6& z-@4$MOjwv=xX_g~i(EJ7oE7QF$T0j@9fHuj@q}L}a(Bslp0kcT*qEV{cSv?+>Jn3* z{t~(!=R2nlbx>E&XR>q&%h>R?li#>lmE-RWqf~j@3g5*mTpS$J(07O&{`^NTWm_Qk zTS=f)HUv{mZer64U!961a?5C6mquVBejpKaECj-?#!rG@fcHTy zjqpn$q=u%lNus@+79k-tdW~m>g(ttd0}7LD@&S*-Jl;Ov#qye7*PL?+sYj5I!SnO8 z`dt7<2kOC#p3p=e4Lt7RbtL~VT=bf&ZudB5syVv7^4__95YsauRHBv)_1m{6(@&J_ z{!~MXw_h}31;sax^U3xjE^|nPP0f7BrC2A;py)Pt^2~t5)eS)02ph$<{j3KJZlFcB z0p8tp~YL~_h-dLMGa)EOG}%lZqbVB3{%GddqCTgA9BD8EeEWg2>Y8>EZ?_Q z?6Yd-f0kLP8W?cVu3M4kAdwoP5B4h0#9r?IU$~oLC+`i#uRFYg%YIzR&1)5e;_4SH z_d6WP2}us^C}Oqbs4YL6tNW>nGk@@TYoTfK=M5Jqx5{!}248i(9YLe&9ciJ3MpED! zyJf622bX@bB9kn?tX@>PwGR$uul_TJP~(iWQL;4EcF+{M=V>w|LG`%__Vq zf@IT^_fQ$l*^SsnK2Zn{XZ^|)nuYv6y%%MC)W&5Y#Yi^0fl_fJ&gfL1eg3iG|FQLN{2}#Q$YmjH zPlQwOS3Xg4f?alT;x^qcWJAM+`6%!3!&(MSO9FzZ{b(T!^al!vUh>LM{ieo&yD#JW zUF2$?mn{X6Y1@ueTL!8ysv6gJz>r!-wa=e3qu4OQR$#*_L^DS+!sEv1!PqHSbIC7Z zaNlBbC7ST2wU!zMv8nLqN9=DR$>BwTQmW<=%oDVfTH^z~Dll3{@VDxnZlKyL_2Pdk z;28HYQ0OU}ljw_O?Q7U~@LkjLF2*qfX4c7lMdDDb2nl;ULkf%JDNwNkHItC22Q0o+~n+LSwzCyCH zr*sJXK(hY~)gR)Z`H^At4aujnl%H;yE|{=Ac{1X3e^YQdB+y0z+*x0|H56vad9!`= zxO7>vptn=O@{vCpX%;{^;+W>_jGJGPxY2D|31f?rx|z+~a>OP!nqpG3_nLLIneXgn z=z&{ykSjH-kg5(iH=OnKA{;-PJXRSWgNqNdo<6kmbs@&x#+GJ#D7S>~_ z9Zcx6?$U{Qo!*9tF0*lAC8xae4bdD-%-&oqeW$tud{bR=xPnPFSDGwPMJ#QwdOZ8U zCBo(-3B6%fJC~FwfZ*llqVEv*dA|6l2hT{{{U2uwV zwknSS0zR+L?eB~8_xSnw*_fGSz0$5{fTGPjX|V$(yIo$+4;*r0_Kq*Q z-)72PP0a|b_su{eDgP=aB5CxbL;r7wgm$z>N9o@mBC+mLvUk@|oxAUsxc#E5?vGb7 zU2Pe@W4%}Kv$W8n>kl3TFYucqeVFnXm8w zbfP21P;#a9qfT#1Ii&ovGL3>c+B@p@-}E3G52#NVUVd}S*|9O2uv{lsvVr0tJ9^>D zWlN?F*1}Avxve@-E`^`c^A=UCFPnpF z`!HfLere$Pd{MJcfS_lPJil8YJA=UZMI&TSL3n5XPfvxuZhNKJji1U@PoJ)?F4Cgs zo_W%Zw-UGk$h;x?){`L{xw%K`ij?huLuAi5zrCM?Ps>g2F8vjGNbaPk9{&mnmusmM zGZ%;>!)9HLZ7b>j&N=I@kM+Yj(47Q+ah`Ys+q7vWQkyTAKWh#~GO_H{-AmP;waw1i zV;G6672{8dwkiaBHy!&Aq}FF8`QQ^}l3NFpi#`q3lk>4BG(EpfeUR+|DJ?@hZE7{? zi;cZfd9kV8U&Ur8RMY69Hx(GV?-)1Fs?^&;{i1BGhq58Ogy}xBj%sM({8>0*cbkLb z;!Wd*)RoZqYAxPP2GCMbSf(<~Rnb+1;1?f6T2yuXgzHL2ws;bblIsMxl-gFYhK0n{ z4Hno&--X%S1Ad0co2N8;6Z{#b$ z_^a9qDA#T@%X&Y&E61r8fBx?l@iYZKZHJzvS}aH2v^Hsfm-XO70-N5bHG69GA4qoM zt(%c9ewvs`%@J|C5IrNcXbP$|!X9@k?6LF8YfGUSL2-Rb1{%Ss8TxA*V#`8pxe^OWfrnm-rFwPkx(t!*8LQ^SQQ%Rc7 zmhkR&2dz)k){kSudlG)4Ko$7{kA+L4wS6*!JA4&Hoi|=E1K{4p>mrZ_V$}oSp~8{I z3Y_0E7P-D2pr$_4`kfe;y`9Z9177wAAnXlq06uA~m%s<%F({#eu6If0?^*vTe=vT{ zeZR`75SNIAnQiT?ZS$gh^Y?0#H`)`~`~e=JlW+8Mt?Gb{r{XMFpG6mRXQM?Ayhkq; z;bY7w(bybp8o^8lIjs#0P%a}cNiq2e@&nmHGaVGCTTCp<#4MsDx4>rs*kisga*^_| zI^~d@5yzvzfYgWcr$WE!81K5|P0`N87^Y6ChU(Q)z%yuU{ZHu788caXKMTTX%_I`dnYl{gtwy0p@#a;1P9PqbX|WHRj8!NGNw^4PY_oOvb>d%AMIN=m z-;s4yXh@06A@k09G8J$t7+EruDOt#IzZ*s{XEIt&%lg+;xAYPoBOYBH-w$Q#GI=>m zNR}FnS=pldXt4FmZq8?upI_%_rkFC5eDl#WK5=wz#$NL)J{?x!tH23+MnYB#zzkc9 zcyj9uPXG96$6W+EN1%h+`a^Eq?;%|8@EsI`1KvGsO1nz|hvbp#q{rDP0ahI={U28T zTiEBtHbo!d5$_IX_SZPxmRsmDJgNH+FtRj1YN9>sQ_B6jjx>AU=9KOPC&eyb zy68TOV}Sc=v-?JovxvgM-ZBB7ioM3cBg4VR@oo-Ik<8{qdOGBS&X%erGXxqW^@Jie zxWx&T!b{)qGap90k8)2V=y?H!v&R{XsvtN?xw8GjzuG`UKsA`nqNr1F5?*Wg(E=-M z9fyS)3$q$=i-nLoC%bWwGti;@i>aFrSa|h3G83%|kC^hZf?jc-B^b*S;7nU)FK4$; z;=gou`R?~fwf}E(Taa`pz}?)R{9O5>Zr070%$(B9Ta4=3e1lg7K^347kgbgwJZDLF zKZsmM3$&wT*CVn%T;E<;P|uN9e#k642u}+Ph*Th>)ax>Lww;NQnU%FzCBO+FW-*Xe z_H_2!w2|;kO6-c=W^)x7m}p1*xlJcfrqmy2h|8 zf+^iwWi(`B7?IRRVk2Qzs?lPZksXBqMqKj2Yzd~MLd}c2#v1-Kg4(ZFrQZl9)T5`i za{nb?(HA|hoWFYwW?)9vot;Nr-1;8or|UbdAT+p`=rGnV3*p&g1M%h6%iKnwGKdYZk39NV@lJ0yU*cd$neU*ZLnWM1zxDd+}6g*KHI231}0dkdX{B}V7lzDrd}!x zxK;Q80JR7|)%{+RrPfh&{bmzE7{Jl-ee#ZB?!g|niF8AJb!z{@n+KRHO2gzVCqiBO zg*x%2mGT5GenqbZyWr3!N%elPd)9%8uAUTBA`D;Tqh`D{yoMa^?UWor!;fb&5}Ub+J35&ys{AxHT+QTVQD0co0A+P`Ys9q zs}bX>YL#g}v6tWQ?kTKZZyVY7nfo_9b3;bYgl>h0F`V{2#)HxnGj2=K z^!;Ve^t))73X|_BVO*nY0c}lAc#FSff@bTu-VIo{uPUlfFNhT00c z2SJUWsrqe&L$u+()v&$GD|oH4Dhn!(>cqZ-1G%&@jK)WgAtR#o+z{c2G>z5Hv(1Km zD(Qiv@lEeSzQm|HU_(AJ>0!(|;t<$bZwI07v)Q)a`sgd<5M&3e8zNd3wx?Gk53c@spBnMJCGVkPy}HC$KI{Bm0vG z8%BVk6VvW&B?l|^+!E_3z$G#uO8AKFexUX1GdqmbwrR3)y`GiDT1gT z&q`Rm>i{by%(Daq62l8Ln`%}A_R%J}{o53$%_?Q+uxX*KRtNI*w%rR)hmM)}KN_sH zB;12=Tx+vBvRgE$R<9XHZ@A{?O7%MHXl;;Se@C74N5xE1l`K1#gjDNmZkChKn)eSNqn6G?j)xbezjj{7?e`k2>vcBsP|!RR8^)Sjd6}s7OfJ1^vK`S z42k~JD;9`jWW61_8m=_f-u0fp3K5t02mJG!u3Gk(0~^v;m%m0L8u^@eWxUM?I1^1G zk-S4E;*;yDwK*G47M|ob{WnXbgPC+pm-#b=_OchJ2FmUkyZ+XSA^xWN;Lt`Q@A{SD z$HhrF72J_K*T3S+r!V#$K_e?Rq3`wL`>PheGa2;_WW%jggPDH#?SByir%CN^`vk)R z?&S;5F~?fzNW%s%;|_rAZnpa$)fC3kN7O5&x2;`Jv#y3M_A9L|KW*@e8RYCr#|aZ; zFU3FxiuH3Ydo^%Hh#V!&lh9ibl4a9I1)&W;<`d&*k_4^Ri&B~+DKSX+7$O3v>W3@{ z$ZX0U5eEiL0QC9ih*%f`_Th@)zbWFs&gzf+I+XaX>fXBhJuYta)>Y}%sYlh3D+2CQ zY_1KtS8pOx6RxB9afcNHm~DmRL*<9sAUu>M4F3LKq);cSxjJf4dyWIGE~Sow@x0F5 z$vZIXxM|@mF%msDtPriqtZ?VRBu=T0AN>n&v+%E9>vp-Rg`W01dN(6-`bqyEw%#%<%I|yQwUCq!ky1dq z!=ZDAmhSEzLSO(XgHGuN>24Srl#q_0L%O?ji1YaU|IT@J-g3cQ!xMY2z1Dr-pG`>& z777z3!|#LT_r|pp!dB+LY`^p}2xvg5x%XdF^!+45nAUQb5PX$zPJ3}$fWoK3UL_b7FXM57O(q%Qy6G&!o_TA$b60XiMJlI#X zMmQ6eK(z!y-89#|Xlkuzt6B?EP5TmwZrE-=)>{VRFjneg3OEc$QFZuh!CGWLZj3s5 znX)n&K4IpcqKan!cjj?csqVEAjIl5qhzD$*ih=la))mD0Je5QXUpHTLUS}$Z5d`V(4I2m z<&e?UuV=rD0>6SOo~{**uBs-D?ts{-b@eaw@_w3$?b6`9Nbiq-M9;?%kc)N^r6v_3 za}=oK$HJwXiQbxu#E}Tg$#>Vdrf*;`5aMZ+!O8xpyQY zr{w97Z*jVeFq?wE&OBFz9@txt_LyDaz@!9aHqRPSBu;-)nxU1T*Y8H7TuUvcNRs}c z3xsR`^Q8>#YDkW@bDDraZmW}AGd^AJ0f(^QUEYLtBF9t!s*C~0ba%yLJghK$08MRe-We!PlRyhhmJ{s$v zf?ul|%l*YqdM^FFv|gm!0qY*lx}1HDnsKtm^Dbxok^pp?-7nkd1X5uyo9c|!A3tzM zL;+{sDU7&X289<)+1(nnlEC@Fa;B(1IK+4#q_y_HjX;@KhEq%m;qEY_Bjh;ncN4Mn z2yA~Re+BbE@9AmDfSWvzzUN%4U|Te(GXYGDRE>+c(7@?e80K zb^Gs#T{|e$Sor5oay$U9;fbh4oE0oQWYn1wwT(n?8ksSN&Kh}e!i7RyVfaH4+S-dn zql!SwdN0QOXuvPL;T4GXRv^;*!b^(p>|(z#fP?!0_-spE>KjMJ0L$FbY^xyAE$1Da z41LT&Sml7%^BNj%^D;^r)kzIhlaA5LhVB35?uad$oQO@?tv7OyH;P*cuKXs_XStse zbs(xh{XkU+)_KU z3l7Q;u}O~QRDUtTFxb|)`mRC}!|T@unUY7y9O8~}g`GTi-*5rxulTw`MTpgkGeP5M z(yRn7Cb2sHXOoWQhYSCE0=`P8W5`K;>E%(IS87uFTDP~(W+B4)bM^_uiGvG8b9%kp z)xEuWCnhp+X6Veq)~yT;7bxbLP>9Dl+BPxX!YzKiO*-yk#5G)z<2Yt}*0s^^S01u5 z97(nnP0!2CG{5G}(xIcDVxiFG-|V|K@(LHr^*|;IGIJvAmIS!70%+XI2wAh<7sL72 zKHfXR2@L1iP1q$OK?Rq5;M!h7r8W$L1l5DfYh@wBqq{C$zY9+ zj%N_BSnjKb6W3A`<3FKCU%+1)8Yq+Sp04iRS~iX1$BXfI^XJd4OwtMwdjN*054nN) zGtrFGuiqyqFhr96$I< zUR|_D9qzi51Tf_>Wy+}gU*WwSz-Cu7bXgb@F1UQ1@oX=Rcq=%F2GdcOVRPkTZBNjL zjz$@HYr+)}8U!e~Kn49S1C0QWc!y!iY0e|*PY=QGw;eQD-I9VTlrtf&COyDtI361Y zT#d!bUaUlz5MiXyE{GrdF2vgTy#jF299u|VBk(P!DWwG$3$VwL4^Ca+4PQ5Z;>a{7 z8p?)}NubuSEp3!-UsJRWiPiEX7S82Zw|Iri=untGvJ3B}^3o9+)H2tbaN`?{d{RWT zv9Hg|WlC*~_m&bZ*iy=}aEZIxslm)EchuCMLJ^ubO-X!f-lpz{WK{;r3&T_zG2V|7 zkpJ(jiHo(`b7PdQG&1a$aLaojeV=++u`8L~$se?n#<(>)Kd|(H_Ze9Bt3}Dv>aBCi zdWk>4sjSN-eMUfCw7e}QvcDG%SNLTeIoPV6PcKAYg(gbR;JN>bnfbp6kTOwthAsZT z(sRTgJ)LNO_v$X#yih;dX!k2n3Uq<}7el=r_v7A}_jH=>rC@i+fI9ryfweXAInI7V z*r;=?X~_L`G*^5~!YDNaS2O?}8H^6XW2KxyxDa~Le(^AqE?8RKm`wCDr^sd^%!=|8 zT0mnxY!j99n&_e2G{9iFSt~On0zk^t4+7}IcsLQbx_^EAo@qR%RmOWOMSKq9Er0&L z_O(Tj7P6O2J#njN#J2=+j@$_IRwqE>r+Cmi)b;*jJ^=68WHPXmGF&vP>$CSE~xC))#suPH!rePv+exvc+|Ehg`8NY%?E)EShh)^2^?)gf( z{QMyobnkfkxUGEot{5FS)kpxnsBC@ynOET)!92=IP8$tjpKN*tda+2Nu~eimq}eo0 zrFYO@zJv@Pd);kB=6<@LFv*y6CU9O?X zqDlxYY_qyGGH>|H4~C<3bJeNE%V3z!08(vw;&uK@C z;1fNo%-%VSJuxLqR5||W^{~7B`Y(br&xts*@PvuN>-dW$!T(Ds(?A!TL-plU=9{0r z5k>md>@*!t^XL8g@XV2zr(CEyrfuo2wfgmGlTk&E)uT@WwmHSuBTG?qRN!M{_D2fC0_do` z%iwEr)mjh3xhKKORePHvRJoRwGZRmd`0Z;DN~N$Y1@T6)@JmR_3?@O_ytBJ6Fp<&E z!)6AlBvsa|8HI8s0u3dK$3Lm^CKABDpZmkbMmm=s^USMd2ZOcxWpE@G5MbEF=M=}&$|LB za6L}v&DLL|5oL8xx=)M-C)na<{a?ZR4TtRu1%|yyTk`Pj9pEhZgvzUAuPEm-y`T_9 z4oxzSuImJs1%b>N33HdLKR2kNk*n!n*%9Dki1ajsB7ID(_Xi3S*_>dgf2PhlYTE*+dUR&rqa?3rP-Ty}T*Oqc16ZnET+=+brAX z&@nAS)h&k9aY#Xt+IL05{ugd9di~J}y2La^0XCnI$^UL`)!ouH@#%Jc7` zJzlg59-n-Lh+NP8iJ#ln&Y-gbL%#dA%%aX!1F0|9na|{X7E~(!g668;^lI!&0ljdh z>N21P`EIa4^>61ru#Q0Kw6&ah$msccOE-2*sLfVBxqEd_;aJ`#YKivJa$cpa;LU1W z)zjqfE_SfiQK*RLi+`e!PB=@d#p=LW_$(pBu>T$?OZEWX&S8b59)ZL9`id|O76_Q94vzzfSYt|`!Z)I z{>&)LujfI&raTh@L|fph(1ISFYh>`cduHkLaLSsXME9@@M`~LM*1vye&ZH3K`>Xcv zSramzWCsR(H7dV_+yMy%rzdlj(+q3TSnmcor1E~5W`)t1Km5HZI9-%35zXG(6t${P zuchD9Z3=zT$2yQF3VRSo>{G38=czS!HEcYXRE2hPYIW!`;7&Y48wb*E<^B;g%B6ro;7cg(PLRAJ z(jAkCZQ~y4ST&;E9)MoY%gr|woxow@FJ_T=+Z$nQJaL1F7z{pZw|psh3N$nSG)0oI7BK$4sr;fB$QKpA6EML;>Q8r&9p+}}Vl$8#rS&yl?CKud_7 zIJ+aA`zTjKS~Fzi(edOFk-wG-KK~u#EZ+s+ce;9!yeKQh#<5>ZHS0iIM%o_eaNtuy z9f#$}otCdJ1kuu7A=LO+9=2@C;JXRqm&Ntkvh6#)`$)ze(MEojcj~df-_x}u8y#R* z;B?~Qr)unM6m<(Dg!aye)#ccQT?v3HrCzsI?Z3i9&vu9+k3F>g(o*&Ks%bTm8ElTr z&a-|pu$D!Kcm7P~e{4oi9_vxDmdy0@k4D}nD6IfR#uZ>lr~pzc8vxN$3k1X70)R(` zBBh^NNgVv~u?ReZL-HG6G=aZT^&S2Q zUT)XvG6bY_64Uwk{9iflN$VJ1g&g4(|L&Rm8XCfg9=o|xxr2UVD z1q+HkTmO=rsBu6OMdh;yZUr5OHG?9-OhS=M4j;u5V>enWBDo`AWi{{%s42&uqJ@iw7&Udhh1mf zy+*X;E2Yq&$9SZfbgatZq!;@;onytsmT4h{Gy_l{0NjH zC?HX4y6cW3wIM9_`A*P>>ZAm%qM{Z;Tw&)*JE>=VgxYX3*C4D+9^q%;{1$XE3>Gb3 zVA=WD4N|KI0Dqlky*qr zV@5*;%1HYR!iNEgD~vpvNBN5_0OrH{8bR}QGLa<;a{>(CntLaM(ks@ z&S13q_#C<!Dh`Ia=^jtEo>#RJEAF=KJ|$3K%PA+`Ed(R2Sv4n#T_DzY&H}xi}=z zbTI{ve_rs)=e?K>?PQK?kJlju8jTaYVhwH5;sI`y4SS0Q5(*}K&x+{qCLp5#Q$^_? z85eMShn{P(w;Vrv^@b<-gX5wCAlk_R*wMvm1(6F&Jhl@u-ucqb&Q%^VpFWiuxe}{g zzl*MzJVFWWz%Su`&&1N-=j*CnYhW&A19?G}yYOMf1VQbi0kIK@Z|3veVL()O9?1$O z9BVT%yJ)WDrJs%o6+4+om$$8(x!cfFXY})2s@c#lafwDKQ*oX{+CQpaqSn(cZRXFj*4>cH04mqt3mX2Ti-;jS#vTo10zQlb|z}s zeb=17li~Y~#B^#9ti$XTsbgq58dUHTxyQJpZaezjRa1K&Vcy@L#6%>FCWCEn53GIs zaw*z|Z;=bp?at9A!_(ya`S%odFc^>T+Vw5e!%KhWZL+WF_-C!^wh+EE?>)|)&Rh>olrfkV2vyN&eg|+J1V!2hfLHcLjOVst5!wo zX|65Fp1D`9X|qvbh~&jiBuoRH09Ov?uw7K`FdFd2n$|OkYKj9-a%LR zw%U@?1at^@fEX~N!F0Z2|A1&C_yaX1xj_dWp}zOsu7egca@nW)EtgZj*sX1+*7^Rj zRgv4mRR0!N@mH+6mvND7PM*RHb(cj>m0d3xC@S@3M`IY3{3aJmRu zz0jjs91Bk~{v9~qoBfo8f@<1@{9~(mu>t&<1E#cFWo)LMffEy_w7EY@CT8m`AxpKB z-fQCb*Ncl9L&Azt-CJMOEURXgWnc8>#>aN?ZO>IQFDyO!Iy<~3&f)8qicsL+06Lje zYaP!qA^syHdVZQ%7exo{ykT<5bvc3XvUySF8`( z(&D#PIj_?&Rvx8J#l)DLE>RmK44TJ^I_}yduK0Db2yQ#e)E_)hIqx9-fZeU=AWk|o zT{+&$_k9i*k&&KiGylL-ued`buQ~cP={YPD+P{!{uBT~;&N@~(Uc(ow3wW-fWY$|5 zJPTx`JLI}>Yf@;`oWs@4R9abRy4ozHR=ra(Gkbg@Ef@|pl=OmG&znpdJOr~OxBKH$ z@Aq6>mLABpTV(X-Y`lTp5?K&bgw0et6CEt&w+g(iDCNpSbodbq6x|6b9jWh|n{SQ+ zRHXZ`Pa%G*AIkK^Q9*hxTmq5b)$*pC)D0&&9WR9nYQfD)hnlws)>6b}h)V8Cj?4z4 zy=j&l8nRj~8goJ`2F1H}-nKoY;(m_62f?6mr7?lj^!4fso-aKBsYY!U6nqw#6yNU2Z8?l<8eTyz0@D_9 zoNtL3BlpF;S^To1;qEtdCtnj7RzNQ7z*^Ve-wz@H{LAeAJjjRE6x%~?_oLBruoY4b|lUoLlvBVMyMks~FSd1d!HNJv+Jzt*-3 zo?T$T(`2sDA__GtHqk=F>3;EL1387#ggNkO3 z1NMX96HmUa%K0~M_X%Qm{xoQ}glCL?+q$Bvc$i^CnVKTdvw3K{p7VLiQIGJmBNwiv^Lb^Ujg(Lc@(;jf+kaTwr0Pyue{85QKSv7__NpoM4ViK) zHPsmqVC{Afph>wF?B5x)eFkJX0lYWLf6!V0V=xZT&5Lq#{j001_p`+Soi?}(S2)A_ zR2FcS*s%$cJ{@cEbor0TOQ#FK80*ND>}M6#Ne~sxt|jg>ILmM^Imb*LnITqDipS^@UyKLX&ezbbuf>|FXJpe0j4Ud!>YE(Q2B{k zf;KyL#BD{9j+~Dizxqaz}dC*T@twhQv@!g*w+B)ck| zQnN%Qrf+7ycuC5pCeXLLY`)>rzwqj3JZy>e&}dw#+z&7jc$8g^IJKs$;; z2=c*0wxxW!k}(e(wy5-91_f*G@PVF658E893+GsBZ!b*RsI+jiU*r-zO6AvX3DsL8 zjw|MLpwYYoyE^f^?M);!xlX`4nI)`iG?E&wzlEhc=*qdrjjehf1y4t$0CL3$XR@k0 z=IlGILuWG=gs_qYD-}usIznDPT~Y4{K93YSPUhB zgo<(vK{<+zmV0;Zww!o9E!Fu*DC32~6>{9{B70I3$evKywcff{xVK;`8!(WjXmb6j zuBYey)zLH*r0po98dRVPjC zM!d`J`aCzStW-3kAzmBA(CAPNETCm`(ngf`F}tAhqr~)YP!upSSoKY=^`X^$%*DCO zpOJ|M9kcfRw7;$~)}kskQbRmfHLee;w`X0M6SWp<&JW%eN5!q#k9xe&JR2)S3nVTf zS!zg+w_xH-xF+W!m174f3+4w~or`=|ZJs@nCKReQK)y@|^_Dke*0(%N?twkQRu{ry zs)DogfLRKzZIlUG6{VTmSgFGmU2 zmQj^(JzRDvvZ9%840#?A4*L(BdmM;@BpKZhHDDv}+P7}4-ivqD9Ix^JesNE9H2$~M zC7`l$gKa*7Av#!hndq==_xO{-m3QNc{7S_Np$vC<@;h&Qs$5^OHDqML%Y?v%M$-DUI}h+J;_cpJL5&VVfpID$w4vX=Js-W+gQS3VM?hMG<%y0@iC`3dTh z4+z^_jebid211~Yeb~dE?fxI;{#dRzz zVp*BcAkXT^{;|FnVHCDS_WAEmuZoeahnl*~5U;(=@@v`LhgWYb9i32^5Yi>ubuqHvg1|&&)mW9L5a`MIuSC}Bfj&OdKNFxrj7aA zf*HIpi8l8Mqa{rYGV$HywU^g8mobQ&%xkeS9Ura?xR0`xrgeR|Y*XHU$N^%H#{m^8 zKFY$v?P)OvE3#iM&!$9Lt{zt2P%18d>vZwDWn9-}gnuKa^(zdgbC zU*Fh30Dju-Kr#nh$cX0{zvH4%)7_`Nw+jFws1Oj_f4P65^-)0~+=H(JIfgHAz6c^H zqMZsY+b|d8q*jUNV$wv;WS5mpbux!C{_U=6u8t+l%&jIUFe^xqhUK0X+0e5URclI^ zmy!uWC})c(wDbUbZ!{G#=~49(HB%@<$BN4ZpYnc}zCmRA&u)7I{p^nnvnW+L;T2>ckL#k)9@b51Pb<_&0IHGa)^m}!De6?rB z;jznb;f+#-*-$)}P$B7kwF9}c3#)0YIZEM^FHzh!zsk_?8H#dTmjX+pc1UdJqtN|4A4FTCS zIYTx|`q|aCLrY#9TJ5vm6`jX7CtJG4AZ(s}b>7JXkAGcT<$DuUp@O_sBrWWRi?|b` zt<%H{!Q30e2%4u24u9Me{pdx^dTI(*Q491wn`H4y4yb+4sMh<@XZojKPb>5dP1=}^ z-=%L#wF8DQ*J#@Zsdl=1|0f-aX2gcI*+etwgF>Kd{sNgNhC)3LA@Ga2v8Cxp)=>2d zK;Ius=dECy`=le%lUHp@32!8AQKq6i-!+t*1m6DRVeTSv8+0g5>^$K_t8f_GsHlQR zZqUic_9MR1sne!^hH*Fm;YsNS@F>PI#=W+~>Wuh8SncPXA6aZ=pMo(JJ^$ELBmr~q zG`1br5T~gcAZ|Q&k?Ov!niZ3bRW@2z3ZRR~nNa|;p(HbvxflOm_5ca1IRnoTmefqsS<~kpYh&NMBANJTB zP6ik!#laIRXI+?0+T`ob0~b0#T=({;su>@@C3@9l=VBgyOYJ8nzkx{S@Y1Y~%(F%! z7tSz9?(4PQ?DxpTQO}Fv92dRxlDnbD&v#0}O60s<-zcIMl<5n@eu|#<($qSwNX)hS zi2|(f@P7vC(BR;ofPXe2CMM=z7yurE{2vAhg6N4Lqwk8U85RipMyiD(bAy>^j^xs^ zCZfB_=4)gYyvtzOG%y*6bqJ(@DQHaj26J{rYCctU!*lh!jR-*ZZD7LH(@E{TGF{wt z;&1g;3oS#c@aPjCS(r%3M_-oCG$FGO`x`?-$M5hsiqV?rA@Btf`osf-5-Ig~U?bC; zLr*UZKqX2__)I_kxr$VI+mIBsgi+7K{TVkU;FpLn>hecSt0 zD2kenn=!k62rEptdNJz?Pp(Cy!cYq~O^iCOQrio7rKe{Oz8{rY9%ZnG#_j#?&f@=w zS74=DAQJ=0Z1W)b-xaC7SS%<{aaZhLqrE5j~sOZG*AHiV?}>U=G7sl zv`3p~w~|(H_700spA44HuT(XIK37%za+i*~h7D;u*A^)Z7TCIAhXghzy*`!yc<3t| zUa)!GO0T=(`%OmRDZkVWC@#H*pQ{kF?_=f!)A%W`hMR|`Ba*i33A07#aEJEg;-(_D zucpABQxh#%RAJtmghwpCfRp=P_$sjRe9V(QkFM@4a(v~$iZ?8}L?k9jt2Ww);u8^8oq^W-Al z+QAh1FYb#=%Cm1T_QnB6n)E9&-FEV$mNRSvkCg!GXXeMtzo{=K&v(WdXPiMHg;57C${j;kIRCk32Z4= z`mD--Lh)AN!xy-|Be=iCHnb<3!~k;#zk>nr=a>YPbv>KpSGmHUmnckn%A5e>_ADhy zq^abA$GoEnd_M?&^9>lNPD6-*srk8YVO#a%YXR_hLSfrjw z2ZMNzy&xd0rAOH>9>3~IccPuQ$>;dJM6aXIMF^NojBdHHJ-BuNas_V~mEWBT%h+cC z>}_)}S2s~(rSyjX6D@_P!;#FtXSkS5D6#3hM;=m4MU18WMR`fODmKl|vNGqs+r@}b z(Py($BfgI5wc>l;-FcPs-7&2LTLqb!KI9>W-Pgk?wriQH-@}W*=!`^#0t?C55cskn zz|`S!4+cmPG-q)HS4krWok|5euA+g0Cko4>t8eQ!V|IqovCw_x4eG5|V%;WPeSwl3 zl}f={-TNt?gUaXd?z*v`pF$ZgeCVziAMfot4GGRPVCOY73lyp> zqs*^|uYT^6i{6cz;6=YP2@;b2<`k;KHh7>-7BJs-H~Q)1h$yIxmykb3JPc5|(Tsg^ zrn+<8Pzsgl1OlHwdhGu_nWlhAU=~oU>C*gF5`xvL8uLqisZ>5aP7CVZ6C7!XZK880 zf*VpjGABX{-Rlj8O=VlRUA6@@T)^NF{;3jGf#cY?1ts2z z@aLsE{nO|@)?~)lGJ-9;14~Cy%z~%&QS_pJGjg@n(JZ zptpIN826tx*kPDz+Q!B~ES)>~d~O7Sh3)g_>Dnugi`!Rm{I93KEu)e|ZURREdd_)Y zrIp0>C zgAKCJ2xvk=mGB@_)s~4r<{j&&#yz%6gZ8PvdH5OW-=Vy^GyN%};x-8{i8~u|S-p}1 zXrctEVGQIb@+jTw_Brwd!7l^S-wN=g7t+dK%leKC;_|X<^LhGipY>-tr7#{wwYxvE zjs;br<)DxhWj5O7zb3H)iR!h0m{=B=08f}KcjN(_(tWQAykLdzylZ|rQhB5ns>h<8 zd+}B-6LKC_cc>5+%qK7zSP1jL3#fUGuc^3V$40M9Vq@UnkE~#z{uJByWi9A%nJX{B z0_?(s%yp<4*ok?Oot_6qffRImI#9}Zzw!{5mIL&FHoSEa~2YCLLM7;MBFjzRWqN9H4^}F^**p zklTZ(AP}VAx_;R}tc!u=>|K*?ElNWNqlj_&?tN~`(+__U)(+*%@ z3YZ@k;y0Ln4^^n^wMnJ)aysZS8f#-v`JsG&BK^fWuU&QiN)Sc!3ys(_Vop42iLjm` z_&4wqbdTH+%&Zs`T<(Ko#}D%>N7bS*4^w8zgSy*@932mdfh$S-0+Gq9zQ|_C>z|e? zs;bngX8@MdEsu$Sl2WlV5J)o~C}U=s1c0w$L1u{Cu`$(?AHCDNSK*e3vE+%X(LD9} z?q{9&m@3gw6Z$39#yR+egnD5=JbK%5{+WhlcrMyV{YP^u|6#ZVakfy<{VsF>UF*}p z!BvTS?*?%;`30x{S+V{B)U(EZ(zkJh+Q2?_qY@ftt0zKPRenXEF^QY53DsjxW6%{{ zdztP!^Wo13bfZXE!|+DnT^iF-9WQV;u0Jt-xA9;eHqn~e3`{6|K zORq9sO}MPQT0MfaLG>0(+rprpf{UQept;d*xV@1tsG&K=z+O*VJkDZ1VSZw!8xA1? z7icUs5^Bxsmaa*+mMvDUyW~?Id1HMpNbc!CzkuW2E_t;nQfNWv86+OPMy89*ilMPI z=j{W3QKX^t>1MCwd`r)#1v)x6D{a5;A6Roo(t4s)C#%u?E?XTRTL}l|1uE)KzGh+$|Rc*}W(=i0}Q+umj z$qyd4IExAVLT$U(ovY+@an;1T{Ire<;(efQ<^@)uteVv*#9;#1jagB-8-(cR{f>9& zZequs=ZE;wA6k0lAh@TgtZFZUSTZ<>boch)k8qTBWqG8fNSpZDi!W7YT2th3XOj(l zBTC1r!wPTWct5jrNh@!ih$iXn6&QH7pe;+1Y9t@INA+%1U`JY%?)JiL<4C?gyD*m}r7e80AZ7~uo{WCH zd~&?7HtpVYgAmV9ybo`qmj3QqTl|BxM&GY&thz-X@Ka}}QFrw3 z%m#m=p0ZPX1lKmG4mK1DeJdCI#CczPpuc-ZoM{%;0M8JBn9F9!xc0ETtM%vA6E~3_ z$#rSIldsQwB<=3eJ&K;2o>LM9(N#MM$3~xMvOc8Y=*)D|) zT$yt6tBh>zDBWNp6?=0$-qLjO=pes5(hv7cTgWL_X$O`Fs4O9wL-WG+cWJmVEoV+ryb=L!y>>cmVbo{*oS7bukXs9t{&dKpyrJyT~gzw z>G(T2ZW@j&Ce(;(A_&k@rm=%M!k&fwl!{GGmIY|fK)wY{^VQALe7&RlobPH^$ax3m z)U!%kAVpsCqL+w;_IZQcxLFK(%y8~rIRXoAy0*oFr=ngrat&+t!`XeYQ)BSX-L8v?~ z^<}%SQ>JQ&(_l+D8xy$>O+7vHxtEO8z8+3k5wTqARD{j5Q)lNX5!4}XW+`go13BM= zIi>w)Zd_orub6Dap=1XdB2kenL^$u;C4{$pX7Dt?gj>FBiF(9}sdCJP)HO5#BvU!1 z-vlNY7{A}b4dpX&(j?Psn$%=F6AN3YJ07C_UdHnpKp>CJ5iuVYX~7sGBJ{RY1mB{~ z$I_Z@PE+u}_f+qgWPg?}r28}E_vG?lg-WY~(I+DZ^141F88?ed80u*QxAz(eNmZnx zS1eZfnX=WErc}ewP$A2&7?*Bmljq@OX@@kf9x$$hTT^hJ~dH zgRMJ{bE0v_^7Co_{PyXk9V2IP9R3C)OQE!ljSZnS2F6`#Nz*gnwOHvhZ-uj-{sIDy zc6+V*ex-A$EGKfj`{#_J&|+qfzkL0+wxO2hMe!%e7Zk#Rhx%8>26Obto%9on{Y#>(M`qV?)6{hiX zkVf!nCX#$C$7IYuDZ;BVe1u72z=eEo2Qy&xdD`dYo_xXW?TcyjUinJpVR zW5bqFlP~<1O=} zh_~^FfZ1|`$h{VtoIPc^*r)yNQRHcoMDW$7NHBORpKfSa1&U4tv%qmtAhu8WD|51K7X5E6wJW8>4xvQ=&4r8Z}0jAIF>8#7gI z>iX(CV%3!H8*OAD3OU3oNH{#w%04%{qq7MKjpOn+H7&(!qF1!f|K?p+qZSeHhL=*t z86GD@ujr6-r!T!_|GqC`IQ!aTuYY$iwwZxlS`_5nxz1gfP_}&7H}1spJzcUj%9(UJ6OS6)tpu4%73sOB zcN|iaCPLm!KxuAiE0$lR^R=ZgF|ouYdwv4~I%QT?;A@*`@pA`7Cij=CnKvl(j5M7o zBSvBVbI?MS?~1E#;wHotf^Y@Dd0o~*l}?9MHx*|}3gKeEh~Owkxd^BmuACgkPH*&0 z)BK-5dCGEYhS^601M=37zy0*>Qx!gv>0!Rm0&Zs8_Zs_5J`%Uch$5wr8q>k8NGoPW z6Y`Ky#cbjsrt}|PS3~c^pm@oj)41_eLMBw*B4*r;DdV-`tdBrU8M;N~ct~v4T&_uK z_6zH<;NYyOV!N)dG+{;R^hSOj9)xvJeudmOOK>RJds+)MouZ4+tF=d!PPWsw{-+PW zb4m&u_|$IP#XYg_6S>nvnJ~JSc!?eYdOpdM3j1vP_A@i*qWg&C#f{yb zFI64c$WF1VGiPH*d`y;6F*&6y`?e_j@aCXzNtOikNM)eB#l_TD(()k7qAtEEoKuJ8kgDfubwoo=Zj8`@kU1zLw4?Q4jIThyk0bjmQJv(s;*9&P^$;%{*x(nfZA(=rR(={HZx(Swv)t}L>n8b2%D1Ls*+{V z6t`V&x$r`1Gc`k!9(+CeS^0&N9Ten# zig4aYVC}!j6w`S{RS@v1JnOTY978ov`rLsa5V_@HuW?*IdFagIO-oUB2IQOt5X5h( zAiw9xMrph+vxZH0G?lJRnpgR&>`z4!5@?Du4zUoDYRZV3mlfd1-Hyi{tHj|8hh>nS zVKmZu5~$$VmHk*lkf_M|DAHJFJ#TE@o^L%;OYb$`#dW7+9k>ZwHIqUthb?8H2Hwdz zQqt~D6=M3-L>{5`+Z-9Xy$BYrssevZJ-uG`s-~>hd@a!LiJ$G<-JepHhx8xYCUu&_ehd%;y-OlAqD`hX=xgkn=b6@<`- z%+``8j%zbbJuy(ywJsA&%fOeZxi;e;0$R907J*kJhRH@o$!c=RjL?)^fI)9lXp@xu zJ4Dh_FX8?DQu<^+vre-hX3RU6yPa5;gWbcy;d0nfvdhR~s{yXoExGT|?Nbz#0KSq% zgTg&es-sOpQ}<+oJYT9q4;W!e0UR>bCgI9*2O@vKC-lNG)q97VsS|!!vC!S`(LG7! zpX1h-)P{wM?J6<;EzGHF`YGc>>wc+b+yqJMNF#B?oV!@*JLdG9r{Z7KxsU&r76{}i zI2X+w@-8QfzmzNP@|TQU<1vVlaip`cCf_?igcDqUopOv4$?6=Z)G(!9%-}036&CSO zM`wzRF%&?DQS0WONI4HO>z?CxDP*3RVcyvv5fK3SO&70RG1&g;aA`^9Cy%Qhmm zdGVx(n(}28HP-sQRGxEhj!a4Zp6o`lN~hdsjXHeofQ;S{PC+^TS)u~2;1C&KU08Q? z&zo*#8oK>`kjjJH7v%~=;RHefZ*6`rg8fISh+J?nK3ig#aECapG;OxzfsY{Y8wTN2 z?s!i=ADd=>wHV>9+@F1!AbggqlMu|2QpN9kca668a~E3SGmt=bi=m&xjUCr8CgyHn zX{COx2Wuq$ zG>r6^Xo@%)9Lc^GTzNMMcfHULmwiNHy|?Ib9)JHlIhpV4VDqDn2TF@CjtHNbkngn@ znTP?_-vu|c+o;s8gd5W#5)a1#;(RgRN28@|`Fpm}|A(u$jB2ynqJ?n?F2&t~)8fH{ zyIXO0YiNPu+7jH|-Q9{)T#FQn6^G*P#ctkn&ij3L+&wb#E6IryFnonsiV4};8I7<1F$#Ocxwuyg(NgJIB#S|7eo4?!u%-gId| zx=KlQbUXtH1_2N=G}Hi2%^$sWv}~lar^5*$JK^24p>kaL+7#(u8jQ$e8_L^pX&hjW zbMo@m14nb?`b0(<#vD5X5Ln>4-kru{i~U3N?)L_!%HLO*XJO^>BmwR}3(Z2Z6aebj zUb^=P+39&#GD(tEOe3Cj_m0D{Rhv;9jo7mz4UfjO`W4+1tDWs$j5I3Iw10@6Je|wE zMwpm`#{flT*jl6!oN=PY)ii=5_$%Zi)j-e_;=Sb_HT#gM&r9F;r;w# zp_S5BHoY;t5eC0)4)UejvUqBw3=y7^8xm!G(J$%W#*yS34JO}5J$pUYZ{K6zQjrd^ zjpA_2<~CarWqx?dHGiFP!Z0?Bb>NF2_4(;Bj)X?q**anuWGvWGcQv5;i%K$N4n^Y2 zy;OkWz!+kwNS=~Et_$@CVH2Y#x)f@oAIou@3ECcQjBWRfUI?cvO}GM|gedh|5~EH@ zjocxhc5?51Uf1^*im1to1rV79q_=}Fu>s%v-h+KvyAS@-);xLPxAPr`6ADzJXUrW7 zbt9(s%wR(xk@}rQ_n4T=7`zY!)7K-miREib*eoI*Vxn(vLS>)?HM}vRpPYk)rXknW z9q2Y|?Gpje-(P5+YVfkrManV*DWe1ae$P7&M&a^@q6a;Bkw^p=C5Q*9yfrgReSBB9 z)aw>3WzXF6KxlUJtXTu(3Q3PFRL&m~@)M*NAaS^Z6KP9;wDXidr2{>So2?@!7Wom| zzUY4oT^rYrR26g#`Ven5WgAq3qqs72#!>b7jQM#iVuoonS}S|j?@;4y-7;1dt1H`X zmAA;?mNTe@pqAYS^#=cNGo34z$Ca>%tC0jCCNRB4M^lXz_sf8;&_Us_Cj$jB840-p z;qw@C5lU9er({gBQJorT|G0P4v<7x5ZHncTQjkvoM8}Bmq&zoZ`+&3q_-mCa$)Z$K z5z^mD=X_D`a2?5v-&D;Y{xq+TgY`jaX3|O~ zt@NrM+Qn9olcUF5b?zPNj@FU)Z>fU z%d{A85o~af8;BKO$E{FzsUjPTUhT8+X9)Jd5Pd*<=R9)u+HvUCW{+a%h<#+>%*Q|t zp1@6Ugi_xxeLrxvhU^8lCf-gBMDv^t<-_N~XP+S&m;!i(QSCsAbehmIdCjsA@|fP6 zV$o?&>bkmTt;LmVO?GELYJ)R{0rIv8&1jf8?@B*-FTnESA3NVP)F(|%>h2Z+ILb4) zjF`8tKkl{7_7}jlwm}{Xh$k*^WJqs>`7ndw%563jeNmzD_^^6yln8-AFfPvH(H#vp z5>k}@N_G-YFv~lxYb`6Bnm{}4s-3SUKwGT|7sq5ze?~p;&!ax8WH{5;765|MPu?Oy zQ}FpdGLuhq7K1KdxYR-~81l!$>0=;fL3Z(kH0=;}Tsg&J1!#l9EouQN7VC`*mRI27 zJ1LK;NNf|8&0d7yIB?8e#zQHUl&bK1pZq3M1%hZ~5)p_4IJl(Fi5=PA+BmJ{j$@e_P zs1<%Nl%V7t)l?6+Y>9t-3DGLa>cc-)`w@`9B5^(auA0{6z!SsA@9xYKbs?X@r(?o{ zeN+`4HJwB~xW<)*tLO8qMM>Sp_q-C#1pfp0(IXqH@%ZD1){~z4*?P;BC@hUe-}XOR zzMX$9rS6mpSE6jD9IqGY#bW7uPFLkVb#KGQa-*;8xVU2Qa+YPNOM3iwW<#j_BUZ2Y_ulYvjJ zEeJ0UN0*UPTEmX2vEQ4m*lqT{kT0O%nF)$i2( zZ5Z1s1lG!$aFXveT(p{!fx0&1SNH@elcR!4S~{r3;dq16a|93k_#87paD_#d-5GUI zB98W{!&HvwhmO_v?Vngsu-OH62>(;8l(FXRJQs^{S{Il9xWB~w>wP%V&PG^dPy zK9b1>?{-`*?HzN{YK1?d!q_VeBF+=CddshvMcx zmYYO-!vpeH0wDp2#D5Tp2@!}1;fYh>h*Jx$`w*_hv@_#1q${K|&gD&5k40_K$y5E- zjzUsuTaX%F5ysFNk!7>jW+RG-6f2m@4Y_>~NsT4l*v4kN+(@k$%Xa4LV!xWNTsYfh ztR+zjzm4?~ly^9%;gc|EscZV3s}4M&Qweo6Eaj*ygx2YTqeOi22SJz^~@qD0?*V8KK<(NNhz-M%jt z`U)iE*p*K6lEHw9dMZ%pUz62`*ljBM!n}Li1yCQAU1ASGbv3;C)V*dtNsy%OcNErj z!HwfOHg$TXqz|3aX_Q4VCUoMuyTMLu&4c;{6BV-zHjG`L0oe}f7UisrmzDJJ_?4F0 zxHJg=UGsRZITt`J>uGnM2VLCs^Zqa58>Nx{lI?8lq}4$aJIW&Bf4px0=C|Q+@d3!_MI1|j*lLV1Dy%l zvwd+kQgrw<{RWtpQ)~^oX0AWh^4y@>1W1}4BpQv=&39heMF}SB&i9;K+`K<_0FJ0Q z6a5`nfmJ}cKx+X73|>;|L&O4jA%3foZDj@jtg9PAC#T$Bx4cyyUNGS%Kh`KopwhmN zorqukZRAEho_!x>yh`G*+E6G;M1naJ%YTwc@|!pSV)av^Y8y?>B|#8KCPO;XqaiJ9 zS|K4E(5xs*E3Fid^;{y`r0zTd8V`+e@o~~@8i7R2;m3c6X>)y3As|p_ABgWR_`;?^ z!2kqpy{7?wTPf6Wh^$=yG?YonIQG=-Rxntq9mv3(Qm+QDNolilm9u`#Tk?n2pnx!)^qRp>D)hxbtW+&CuDrfwII9t#ut#vkp4==fLF(mF z@~AiY<_=OGuW~2U%UQ8zfV&*pr@DhMT>O)Ro}3|l)11NEOy#G6-Ku^pQkZ7JHvNfk z(><{#J0m=v>Y~aDcQl@rG{cMcXl+?y)wwJeTrol@=F!{N1GjsY(&2{Wq1fR>z<=wT zDioA}`YG4+wCRX#bbJ~zacLn1qZ$TOm>v17Q|zsimm!p1wrO!X$E>HE9W1VX8U9o9 zpzac4mSeX`5A^j7g{L=YQVO$YQvt0=S;dge^qIHhRJ8^KTV;9&>j}iH4@-oSLJNPn zu3d&2kGzC8wj!la?iTF#$#vUR9;d&yB=<(dBS^oEG0p*c50|eh5{MRj;k=gjrpD-- zWS{Aixg3YQ8FqA6-HA*v`7;z0_}>NAL0#1&VML?z8|s{VyBj7Zi*M=I5N#=-Y6xHKSE*>Gs=dGByKrSj=swx&%hDZB!k2`X z*TcTtV_lO+lcg)gTkqSLC0f7-{Sygv++`F^MRfp+mvEGsG+Q{FzRzcl7-DLi?tt%} z#CfAiD#3@Cn(}dXXt8f2$;e6tY^Jn54s+Jez88y|L=?)%g>YFpjjRRg3)|EWyk>`- z?!3I5Vs$j0(avKv%L(%9u6{#DJr%@NJ|uvb3|;E1+}q4~pMQ$U|)6R;w*lSqA~BULF%?BMl$coRK?60033iix9Y2Y9*gjs<#D zDQu37ZCpAZI^{9(IfNi(970qaU&F)YA-o9%?Fwqh^@OvoiuOgS2Y(ahi~V1(r+ zmwC}~bTR&WF5SQZhn7x*o*9)$kt4>82%;4z5hBFOzG;a>=ew0Kkpq3l771NU!K&+z zMT)}z<$MGt47-%q+SHdZ%;{Zj4IFI0xN;VcwYEerdiD-~(%aQ8oIC8c)D=qx3O5DD zC0r3MF|IOj-p)&TZcfC)Yka4C4*7G|!9de7VgtXS;vaF5JM*lIK~kp%B9?a}_m7!3 z>vdD|f`#tX6)3Fh^Yt!rDaR=*^aLE2&A@ojCvpE#Z}xX zKr!k_L&*61#}N$R?|oy8Ch=W2{VUH@pA6iQfKdDgMI2l<8Vf1@c%}wfl=4q#ZtEJt z4UsV$cXVd1Ct86-#Bf+&6&?f;;}pU_Afv4^nXcb?EA7b11FB#LLxQ1O)CcwQw!d!| zh8M!RheomggE=!UA`XNu5bGc?#7DmSpw9%{I;IDH#y|cdM*deN{aTN{%y(u@+~fpA zTiicEKoAb$#zVo1B|0C}Q1W1b0_H(uVhaZXH=y04@>_D8nF0ZrO3(33bfF{}N+7KB^s2Nt-lt~EziP&0bq{wrs zSTkZ9$Bh+zUHjaqIa|r^NBGpZ#ENzx_h52-ibCO&0R zVfobUxx@O{F_fOO`)n^u*yEp+R>Ex(8lKIR5yR7dV|V+sv^*7j=I%Nzdf)CP`|(e% z#2A_8G_JV?N>L{*u7dP)QKy_1E4b#=o$q$Nk@{`UZNVl9y`f^sb-?Kh&(>a3j};DX z;mg}iP;>H5GncEH*F)Vz(L|gFo`$4i-Z{60ti)p`RRdW_r&iL}U0pl{cshDbKownV zl8>UcYM__`En1udO3i>Lc==5ul22233fKqz^YS*2n({tAN=tKTlz0p>vb>iMFO**2 zzCcRZjs=L1FbYvAkO4}}ZSAv=eujqQ$|!{^SV-olsq6gMC*Wv*E};Sbc9_*>oGECC z;>;&l#Aa>Oq4i=){XR09_94CjhIr|9O&bpx#VLO?+3|&T4G=TYOL5yW#2Ufte+jXWr zV+iU6yhTBvx{2%cj9|H8VkcBzgUhBpoE38?ghGlux^ACvOF zVWJyQz7*3`D6PS2Z&*kw67M=Wptb&HrD#$E`ri2FBi@3?z(059>aX9u3E}2uZkKiFL(UBS=8_(y3iW zk*YjIB6B2EJ;Pndm?_<6cSd)cHn);~&sr9ypF#E{;t8pH;)m*H{Dk`(e zG#fLRF6oG_Aap}h*G5pmye2LOTpSenE-oBUjU-$;9IC5HBPLJsVW1w|G;+c+opDiJ z`0m}Cuu4&2GHEwA2obh@!-*hYKwV z({e95<;ZtvOa{y`YZrx5%5Urk0Zaz?v&w8LbS-k6LB)kdaSMeQq4MHoW3zHiPP_zz zWBL+JotpmS)kUTM98Kzh%%TPb3d+-i1->)nlef$Ormow#suc%{ikk|?>Qa#Q%b3$a z-TULr_kVk}WvpdY4q6W*uBOD-&xI11)MP_Y{wQJmFVmr&2am)Eym-;yzpjRy>UPyO zBhcyU+EiPOK4m_xMv?n>1$C|SH*%OfJSOL{_OnufcHv9l9voKn?$7pL3+$`i5JE@d z&iMU@O)@zGWN3=f9~$EnyuOVEo_<%@o&9seKQWPwd6+!rMPGz>Le5PWVDp{l{?>FI zs@B(nHDIygK{9uWV1@?$U%q0V{ zEg9>s@jX)r)+ty~{z{aFHYbB<>zm%dQk4|Eq!>|yoRSVLkbO`CSJfecUU+*y+VPNEiL6poW;M@Wu|z+1&i+oXknIoA3T5;aTb3-B?>1x4EKvmpL*_vetG0k%f3o z|3wvwP^79!=_K3|-F2#6n^+8LK$q@bNK!!X_H8>I-*9gry_7%UE@_N|W zcs$`LZZOe4jg%)rNKR_l0!S%REPXR}!I03+81X`>B)NM4UHjF(^~hNq1+uw_w#;+W z7MH-a<)2}tx&3&-sf`lnW{qer8c!6rF>LR%-jzI5ddS`YXH|f$oi~TpoI@32VYQ)cPZekdap;>0HevfD0 z@7AC8RE!pPCI3N3RxDQe_Bq*?TcPnNI5+_$7my3)tJHcQDLUDGvWzivukne@u*Buy zgu5H9!|m{RwT*hOSmbeYzvdUVTVJo(agId6sjR=4r?1=ozxl8D|L991B^#MUYEwU6 z-8L>LniBHR=m3J=2uUl)<)SBdkUedhQE&*2jljS*elE4db{2P)VSPV4z6Oj&QV9v* zJR13~P!hBVkLzzCf&yQM-qNGelzbCjL?UzK&Ft^q0pX}wWg*v(0h zP!7;RVG8V%RxpT-48`X9zD|`G8uRNV-WIf21Xq8U{(bu`p3+p5nUC@h3!IBIXpluP z=VFsh^`cCZbY|KH3%PFgmNsMJiGxDZT%7+lt#KvW%hQ#bmCfaXWscxSU?^=@xv6RIl=ep;#}2Wi7JXm}zhZ@O?}NHLgrdJm zy$$p+o7`eH07_&?!91`MxT3hl42%eeZEOnb{^O{A;TmhcSPi7uT-KsAD8IS-&m_|N zLs<64qh}z{Fu|l0;&oV|`!}HaH0x2Yu5q(gG@w5HRT}K;`Q1~3?z^h`^S;L)t_DsEroCwz;z|ewMFO%G}m%N5*J7mH7bMJv7HBH4NJJ2`#f3A`0fTpI z50|uFSdHK%Pu>Su`F&Yb6yfWG0V+Mt(uFIz9t0=$cy~1uPox^!^ z@mYL7EwOUy$upJd((4TY(TWs=H<6{D&cKNd_>GXDL}l75oLAlMSNbA|x|K zpghoSPu$vaBZMjsSbsq(CxuefBVM*pPl!X2eTb0eQN>*!miVPSNk8>GZP~xwT3%bQ zm|2st)9E10F+OL{4Esb2C$lRz4XFPr7yIgfw+rIiod-<>K;he@SQPYXCF4IZ&Zz7heg1e3TwI;u^c$cIn{pgz;O?&gv>&IN zOUy`y#;Iwtn`mcfdNP8d#zqqWI=MwKuH7e%j+?-`7}w$TtmsTWLqID|g!2M$IO zTf%G>7h#gFBaQ#ULnqV_ChA(U(Z}P~w?ke==h%+4x zr0W}%9Gg%n>Fa%3`gtP>HBGUwJ?IS$l4jt@K$!1q^4^ceVx$yJczmo8bX@UgWFW;T z+S_oI74@T@=D4SItDR(p6XA5)H!$SDjYsOBkgJV7p~2iCeVBm~IOgUY!WxsM)_H)m+tYbJj@?3y zv9)W&zcHAQK>B{nW<%e~kouq^O-`Nl4FAtal@_JZ<9PG2D4oo*wLuS2WvXVZC^d^n zUyb?4)wU?!Z&kzAP{MtaRQzXdcuPVz(rOr8g$%$=m(IIg%7@GMr|151+FaI2ls=!? zcBUE9@V1X>>I)lKo{_GfQH@MI{6E3yLuIHD`@?-*Cs|c==97V)C-Ggb1?6xW{x&Hec<{r195rZ*Wk4)Sc)7}F zBZ_B3J&p7{qo_p59Dh}nA5Z>=V}iYv@nYHu(Xj4j(gpd7*TASZZ~jA4-?J3|*2T-! z2K+6%8I2;wBIMDy_vSCB5At68$mLTdTQHsTmR(^(t0prs(oe>w+Q4{3w;z$pg8<#= z)l_AJ;Qm*!C>YZ?eP29O_Sn--m_(*a2poG9V(b$ICn3pO7}30b#Ft_QSCB@1wuwVh zokvojzc3~>Arc8ct1u^XnV-wn60~d+mF*I2O2(|G16uW)j}PR0wM8N3GBU`8R2m{jf!>bPrOSdPmZRwWdx;W8bbll=)cF|v&kDlBf z;u^leU2^CIefz%(XKGZ1uU+O=Qr^3faxcI2U~LL7A=jLX!V5 zPqH>Ije8CFMU0A0&Q18o(hX$<97IZHIyxUOE7qvU-w0j4rzg^nO{kjjD75)W5!hj3!!Qvhbzf(RXP;zBd> zdBeQ`><=W7DV`DV)&!G65kR~WkytH?3N;E?pWme9%`zM~pJ1Ys4?Dqn6Bw21>}KdD zvIHCZZ2ORm|A&jv2<2t1->$Sa9&zv_X3e3&^cM;rNh`4Fw#Ul#wif+{ah;h(WtVMQ znooQ(7aV?|;cB)pLm;h@=??vz$Dr;I(bn>xC>|lVSYC}u4^leMn|D&&@N|z~vyO2Y z>tMTsVKI4JjwimBR8F-agJXB6QoiZ^1@8>wC-#i5DT5%TZ)>23N=d#5Ed&KHc!g+F0zFOJ6fPRv|NO$G7=#)_1(LZ zNj%G9g^3~f+R|{K!x2&aEF{|n-`*(wPH{+B1zPl-#71JlMs1&O- zm9@$(q0X>36B72(Xwt2l*|RpHQ;z45%7z1S{I7HhW*PS33$mww>X0uT!)p@af1^dm zZDgzy;cK+gZVC@i^9m&4pd>1UIO{^Re?p0JuA1Faba@{qRb?XAF0@u5FkOUgm}Gj@ z|DRHE>oj0n*s6%BWVp%nRrpWO`wx={h6MNA@NP7(V0rs8fT;>NF*Oq@9D@zGJNBp| zJnlJq|I|4J(G6={bZk>pWk5#rDt)RPhs`M7kgWWZ7yhX>V8y@a#FK2ldUB&xQqDs& zY8HeYpP=~I>^3t(Y9Q3N?+**9OdbeNt%2;hk23#+ z<UQk=>I3!#qQy!{W*9#0d#3oij!v&C zQ)I}1z`)R z&4mMSgui(~QzCK`5rR|G;+C~aOlOtoHWVoL<%kYr%e?83(v z6M53z{4)i$cAK=A$LD{b{9NCYq1w0{8H_qrr_|N{iFe_XNYJIwCJLry;C?5-{^9C9 z3s~9b<3JfKoksR6ksuLr*n|_QO&+&aycuSPmqb@y5)KWsqXo2)Zb6U8ioR}y;D~_@ z49Gf8v3qVy{NEr!|E*_kv;s%|sa74(;TxE2aZc|~Vj{k7hL^W6gGZdYTob$Pj63)W z;M33Fdwd}E`E@BkSO$-TwraErv(esP?-3sx8#~W^eL^kG_8{YT`3;?$yOi*GzFF8F zWy-~T$xYDoJIcNA*8jX!Wb6oxR|CLj9E`{)*MW*DOz4Fo05!LExHJ?1dlk#Vyn-)V zpXU-OvS9TMG+eXCt6;FqLehk3>yiwzGa%v`&gey12#HE^+Y)g1)XP}%t^!ax%S0NQ z!kk@yirG-nz$4J;hFf$Ev_1(cC>}_3qs%}pGcD+7+f9hLc-&)~-AW>0^(!Z&;2>XW zf%?*^%C1FDLF|g6^plnqFvg8iG`O|ha)Gm4tm$6_20W=5s4ltgl6W)50EUg>4y7J- zTh$U!hBLEsH0i)!_SC=j53X{`HsRLXLyKT1xoP~GxV}a;Aa33Nkz?mIR{VtorWM^A zLCE&b_x>EWuTY~vH5sBms5V&(&_G9Qz)%B%3iQ>-VwW9Zu9ErLYzv8Woa@3M?Q(17B9mH)2u&$eqG|wd= zknukHOKYIpgB=^@qEL>-Pb7I2dZ2?O-MTVGB^6D3sG-?wx_xYwW`qX}Wu?p53&C|S z%b6XJ^x1KycTdgf8^=Z{DoO33``l&1Pip@oOK{}JkFQh2_cPdLr@!0&pOn+=A59Nt zzFQP26l|ed89Rk%-Ye`Ru2T%0{wu9Y@mB0dx1oDOt4t^XRXosu<;)Yw0T*6UK;LuK zomf?H_YJI80;V>+K`P{$n@ZdP@dG&XKS=f7pNe8c-*x-Hn<$x`@%2FW^vC{7MS7z9796jGpyoP^({)aA0J!?AF1M9U)#(MmLn z$`s2`KqB-hJoAcD-2_pyju$VJleObs23qIjUw;8XmSM}T zz?jYeBkY@PITYinX&DSk@n!O-r_s z{2LX-PVfGvhkrBine*TNyalr_4I9?z;-7}afP&7^!fVnF$-{Xe+jDIcEskeOB+)oB z(qQ1 z;9V-vCfamqEJZndA(IM>BOZYXMb&@U?2Ef|{kHjav6mo)Z)A% z%c~o(70$%kDGqDLpcU~;jkffPsnEz`wiG&Ry}^^1 zJL1iW-lKJ!Crnc#K{l_v9q_yFT$V#oP)K`QYoK>+owQIy3cDe~a7#qEMXESz>Cf-` zY~P~}eo8@8j0ZKV_rEoO=0T#XhBFb2pNsTEF#4+IHQl&(&O?G%ZUb}UP_I_xN_#!ZJ!d?G|)A5A`% z)k;xLnfCDK8a)6Zi)y$-CH3-0_s1SII%wyv=)! z5A+3JRZx!WE$mmVYb~aRv8lD9d8$Ad>FC9y*XyN)s*>60<9zIfu@Xfn!u})yU;Gx9 zr5u+&-hOwQ2hm5w=CuUF<%60DSb^Q-sm^_HaKo__0|j-EI$B3WA3wWS+IdhZ5v5eS z?0tsM5WE zwlkNmg8C0ne)WwVC%11KpfFY|X+*5Q++(RE?vLyuMu!+b7HvE4{mM>*NQ$bO=m%Qe zdA)P~+q5xA{1#>pVmW2V@A5sW{}6JUdW-|CpS&i&5iq~{JDCPi_w#%3^`SHE383HH zhz~jT+Fp)MtJkyaME=pr>oPGgDwZ>uvruD%vFC9kW|~SsvLF{7?MQ~GI6wa+c*Qqw z@acuV%A|*khc`y9noBy3$1&y)$(SJPa}9@S7sbtOSO(eQ=C?hNk4JBie$V8rQ45V6 z-C-)HX+%->P!dkq?=aZ#lSwY|o|5#hg5t=HRg2>af7c6>+v9VgPuodEip4!dPhD^_ zLo)ja)p|x|i4pl=4GBQujvwaJu0nx5K&qUk9v2yGe6FgIO>#g&Zdh}dec!Gk2 zwd=R1tC5+m-J}684@^7`J%<&Qi+lmTz7N&YonBWTrbO?|U?MbjYn_5r{`claemC>9 z>sP-FT{piFoAl;Og-yeR%sMZI$VuJ>)}S#YB_(aF`J7q%Nf1;FMU#iMuKSZ?k@NF5 zar~PTbVd=2fOs@mn&hEn%<{Al$5+GjinSPkh?mR33;U{!e(u;69N_O8CKx2APG8gH z+Hu1F^!KRt9>x<*SLqM#RN^C|Vp~nY#35qk14ZsPLXQ8)mBZy{(s1k5>Qw5EI0?4b zQwn>q(kLZ*0!+R`<5NtchNRS-tS(bcqE}IO``TyYKKJ&8nKN# zJZ9o?BU?Lpw(B`0>zsWJUpj(F!NEU=yOjj7vwX69vGYt$ybmEn-KbXZfKhE#CY-Lv zyCE3fSpCgx4Y=Vcq>RP# zSU!Q0K|P{yJBc5{x01G!;!E?aWyd2R*nfj$z&0n^QPh+|*neL6s6m*YoEGr5)pWvn zM5&k)lve@t!%@<*nzDnS$H*W?aF@^li8$+ZhyUxdr_jJmu@rF>bq)R=F{-;>UD3kg z&tVkCv>4}(zJ(C+EFUy3|l zB$@UE?|l3Kr-CD3y=N#F+^?NgD()==TBFMeK^*y=JNly)pa3Y@`rUKp&%gE+hcw2V z<7+wR-r^>l2V!}%X4@9?FgS+^C+?m=8T2u@6}yqwZu0Tp z=Ox=*EV6Guxdm1~5wK+|S$EcSoC@(nBIGgq1lE1~Pw{|iITNQ$CVn?Mx1=oNqakr0 z?p8f{xc_vVbxX<0qIAd!zCK;m!{D(~XT1O6s%7Y9nVKf6g;J~7Wh{1abjGb3F`;oA z%DtJ}>rE$*SE~sKohg+fVNL>l;TiH&G!iTD)eQ$sc*+Dcn_}c5!nV6($yF4|#xx;Y zE3Q41;?LIvna%UI@s_%r#p{=6Glb}3~>Ar8s`z0;s~ zy`uhVJJ!!lN5xCm0BmZ$B1wvhu4>|8>T@|5+bm=9OXJ69AgGfTGKO2GpOd#v6%Yu@ zcc*KWiy)9Y$seu#acM1be%{Ko(U!NI0~ewck%Ba+ENY@T z^GxT!!AlMY>-Grxx`5u~{%k0Q*SeS+(2fS>|GB6*QHc9Hxrq}kRY$?3Znz%QfWA&y zei~q)nenGBMl3Z|;G=5NZhF%7T-0_0QCQ_Vf*B8EQw%jB^Kj6g&xN<3@h%zd;UJXY z$Km3x0O)keW4a9~dG=DDF!pRB0)#HBBWhrV5;f?8=mgaCiq<3^9Ru&0er>2YAlIO@ zGAI=d zyN%0H`wes-!7SE>@+3mOwfsAsmRG?H<~;Pqzs9O*XU8>5P?}< zKG~iIEFN7C?6ZOGdMHN3abft>-ur7`LN%f^AXwf+l_%HEg8)YZGS1Ojr?2Lb+EtJl z1+xGoJvcZ}j#15XR#a8Bv98(wm;upibus<}FUivgQ+bJ@67|k&{|;?y$THL8J1!#E z(nYQL7W}=T8iL?HIleIZj+hC&zn|emP$r6ANJ|gdk?wY(=)pn5#rw0|Pa3wobr;5L za6j>DHS2NMIx6=T zlkBX>!BkX8Svo?W?7gXB@Sf}apA!Ma7_Cvd+I7d#w2anuyA+K0Alb>qiVXYDRm#)5 z{&a8C>;|Fp@3lDTx3nkyD`RNfrM}HPz{DPBnjII=2O=_FO`7VhM)7q~^z^?*$YZfe z$?Vp6-K46ToCK9sgzAOHQ8P@;(SH3&oTChAIY5ixp7E_bmOfZKO z653RYHdBCPPz5R%HqrnH7uOQp`(r(H>c>NrXypTT=X_6r$!&3zHrro(CtW< zn`{}Hd_{|^+i_3_4#u0M5;XmlR#JEnnz4(`ic48gD6(|2wi)rXTuhNXmdR{M4>5huT#AhpF!ZquEL|K2}G|%fPxak-`$1~ z6UlMP5zFTps;rGRqE`WnbXF|2wmPQijgh7Yqp5cIM~7SRKH!n2os+c=M% zYic+bP#$n;A(^3XNb_@w^B+U8#lEHEz3 zAzCh)J1hqI6+u9G765ASQ;&$3qBAKSc|>F+WNQGxAI~<+ohjgo?T@Y=gm3@bDLzxTKG64Ad&5at*P0OOBJ%oNbgQ$M*%rL5Y6yml+IJ zC!-M=s2e5p2~18dCY(N;Y#f!i?@XP2sx{etf2wOuGw&Zf>wfp%`nZMA|Y`_+nCctqPxjzeSD@ zJG(UsU&sbZU)&Hvd1Q`+R*EoSx3!{-uz+Sx6H5TQHaY!zLMc`5DF;89?5UxOzXzz5K?6-6}#7CVp_CpV2H{F7$L(|MG^0Psdv|F{S{X zmF4E?YRZwb(f%i}q^|6sZ0sczK?lcz0u2hGp&1GcyjPi){k!(*$@T6v__fvX7xuUS zr`)!8G>6Zv-_@1C1V++ytD$LscVy>cqc6?}xO1la^j1cF!BE%7&r!7=3n*Uvun5+` z(QZQy%@P7Jq^V&{*s!3WjZ6iD9u{LaVxs~dL1@xQ1i0zEdDyv1Gzu=fig#0^X@4lc z-8%_XQp80Mo*0De|98f55|75a(N9V-tWAZ02HO^$I$uhRLhNldF5}jSq&+J#7i}z} zJ0orww-iSZ`8l1&P&oQb!D0*OR@BQJ396*SVaXhW#q-)F_J7!V%b>WrEm|9z#t9Aq zg1dXLpuydp5Zr=waBl*^-7P?H4;I|r1BBq-XmEG<_WRvB=RH;T{%NWxx~kc|*IsLm zIi4|{CiCeQ!=3bzMhfBLe>rIjG><5fPCe&#(0%ESvfHc(#%uaPpyqTH4VMkd$R;Kz z44*oaDeN8bwah?*ZRDQWYQdWo{Zfh!MA=O$>BA{(Fw@B!L;0?WC%$df=(sXs>~T0B zpX|eZ!0_JAk*(hLcgR8O5WxQjJfnJ@025@oe{EUciEMLAajNNmDE>W69-pG_kDNS` z$K9zhBYur1vRF2o||8(ZOt`q`SM9JSYQEc1tFe{lk}0 zU>{(x5HSc@Wl*c=@Oubhm9+D`|7aW{TAazZ&289V-@V%I6Eu2iANgOQ`BHh(l5|XL zNJL%(YwJYb)A7=UXvv*5@2m4~m;AzFRT({MardLeuWy{%a6Se+z0KTyYu1P2d%a*? zp;HBYs&ci)iWje_y@R?#XbAZcvbvYS@2R(P8``(SPeRyAj zM`?vm39trdDWA&->(2QfU%O@bS9l;uzZ#G;x7z5Wj!|qm<$e>IM9e+aWtcIdL`nlw zUJZB~16N9wP5hQk#jPKxhPi;LZAD49!0NC0ysdDZ>jTnYpR}%5suu_M{{2(Fz;ow1 z`NrfakfG~Xf5F7+a3HW&~=co>{sSr3I6uZW3%Jo*gTsYDD3$< zo~{j-{ccve1++r`KHaPhGUWL7j5x(Z1idhffs>GgSP~$s)@=Xd^0SIi$-&u|K-z2j zuOp2TTLf^-lW9nZcl?r%{CY}CU;{@b4Ew%)4$Jmek?HEOm-y@thcAx=Fzd% zfvBGf5xsQ*_O`LJv{803K=Ui>556$~60`+RqsfVivM{gxsIAx5?IvCF+`}& z%RrSxKXLmnKhk7B9>^O_UV&UcO}?5EzxA^(cre)Z(-u94)b_gHoL^qL^8Jn+!sdpH zD%yIo2zmuOE}2u7%DVsD*;?GyR1M z90ouJbDyME*=0dS-ox({I?}ZF_HdA>AYtz?X}!mAg@hqn4QUauDr|<}G!$IQzZPFf zgS3c+>3?&}oAFUO^bPhXW$AfCPcsr(Qfo9u!i#58N}uXZkgqSz1I-MVj2Xy&G3dY# zrYz2q7veHXT#HXb^$Ww}r8+dI%v=dowb_-mleLw#TSQj(n3c;|&Mz(`wXioR3BYVL z|8Zncs{Qd5Z{gdEVDT{yhgU|{dp6E^Ogu@c^7)PTTRokeQigu(8%A|B9MxK^s@PM~ zc(&bIhlpmN+N)(?j@uH!WbQiN{S+|*%Y9)6vdu_K z`%!Uo@6oVVDU`~?eX|9m`i9)zD&zd~*hWe$FTg)V($bsaW#G?G1MrW5fk0a-Fba_P z?G|XYEAK>_<|v{vFOVw=l@0+gi}q*sT7OC7Bnkani7XdH z$<>{2fs%7a5muhf$gXN9{Zj-DL|gVCYb?sXO37t9JNhMv6D8dI8|NfzjfKv4bG)g% z%&}N;r4qo`BT>)!1LqT6HBb@AC{HR6a_QNP)+2{?bBn4o(D!Uk9%7MyjoA=bxPVh- zZwtSwZlbM_(ue&n*p&>>i^VhVQPy24f{S-J@823$ffA)lXlaTlk1;AoF&dPyuy@>= z@$K6_-Cq%i8a6tTJwKfU@VsFBACww+4J?C(ly3jE%)ditYimC|T0d~r147Kt5^Tp9QXNv#@Gr1v4?Dj21o~yqm1VQ~W9H zVG=UwTz~2NNRi9?T5hbw9gLz%`d61ZsK3nt! zDf?5KJ9A5(EI0E!`it>7EcUHZaGJnf!2d_a0{nq!O$|3c=Y3sy9Lbznym=41KZ{Y} zJu8__bx3#52`A!@zo!>wL|Q2hapK<=*;+=9-Q5_5Q$&jc8dD~Kh^5!zE9ls9XC>h; zMeN%boCG-5DhQMK_Ck&g_v6g&7&oL-W(=IM3|2U~zsd@)K5RLOJ5>pQ@*wu=FQV;BxxGlVWT z8E}fOGeBd&aV-U9?|o+y9(}NUG25q6z`q!~ZCG?t_zE98 zCpQ)r&aALE^kg3oH&yxIl##|rfef@)vY}J$&(9F5;a_zD%*-W8;h%pWsi(c`Rb4u) zcubHY^(WTZ1dxWXG_?%FatW0v5;h-Any~z~O7U*@9Z8pZogYIGl4$tzMg`02jBn=b zF(Auh*ljhun%L^A!{_(ZCIf5;(@O?Uv0u+*Mz>RUbQf^-WE3)?voyb95#rSe8guL_i62 z&$`3$7@ATkgj^XhNd-*!vY_#O{3~Hd_;^NizN|QSq~I{Ja9^4}DbG^2c3Rmn1=fDK z;atX=KJ6X`Jv)}gqZ*s|0fFlpBJ+rX`j~{9Sb+6XC3{A0q>G<0c!?z3OFp4*}KFOiUQy-`t9Ct|2Z*_ zjVT>(uQ)zLS*pkoQPX?kQwoLq{>gO91ipFm+DaQN3R9EXHG6t-S4D4qZKXXrT?e&# z;1A`vOiKzDK^GRgAOp3T=^UX~=Fu1=F=V)pm&{MYSV zWn>g8o_bg8g2X1J;Mu*Y{AO$Bh;OE3Aqu$CZabZ*c-GtA+A3V8t}-3N{yYX5BelqK zf~L8p;0W>HDF|76f;yc#J$*d^-jsc8TN}?rsiS9M6avCgxOlw{{qg0Zq*xl{4BDym z2Svn60Vzl-(iYU03+l5&t+2rpQeP6=LUpkSylm-~OClXN<6xoP)-(jkzk(*%5C6!2 zHn}(gPJ(A0xQEwp0fTRmG&10hs*w5G;q3kY=z#k6JbB9DxbiLHmhc=vQr9@#W@FX` z7FxT;6fhl0FBB4`wfK@qiGSQ#!+@4e^$5zZcryG znIj@!Czv!FVapNB-IDexR{D#AF?$AGb(qEXNFA|9`*sWqDeZKslbqYW+q9%hZf?{f zX5jg_xt!TV;r0zW7Y}B5%6@VYQ7flW(|1LWWs^!-+m;mEUou>>9 z23Ss5{A+n2#?kAzt;BIq9!Lb+_dYb0;i6)wqp1SWSR!TLa(Y4PGy&N^kBdkypIHif z4>@WqYDM_Gl=hA(9Dl^4pvA#W^(X>%$vtPf7T@cuOn1`8VO%}OgCkVc>N;+{uTTZE zIr}dk^z$+EVVG@X88`Gx3ec7)dO*g97zWdG3YF#)#L@*h{M^WMenEN&y zv7$Q>e$S6mph3Oe5=RK=qkq9+s-%iGro)xWCb|HbrSA<2eV~(03~aI%nd&{`QR$6s zelk(dW7tSid!D}8X#B6W%L-BhaV=$FePj>F*3IV|R|uIt$})3@rCraZT@mk~5Jh#o z^$Y2n9hLuXT$ChgI~3EnzbA`S-i)pZ*7vK;eE!oDmO`VJ4i58;9paHcwg_~VFO`|h zx%(K;IoW2)pE-1+ouyxuu2r{?W%TnfWBaoA7&Dc-mvPF>1C_PmRbWAZ3My+p&$cp)_*R1s0V2vTNZB7Jb$Zu49lL{5 z;r-_Bp*RQ`SIi;8do=8P$d|Kcu&@`S>ugU#LbX8jp!_fWy75K^jQYnnSAoOF6wnhM z=pQV#6)`_7?4UklZ7sEU+IQXY*lw1IpNZ?}wmjKqw=Ds?zl`{iY7~N<*9F`+x8^Dd zYD&kG)Wf@S-!9!^tjT~{E$=v#-YmC}2HpQ&9Putu#*=qHj=g?p8lll!sXw9=FM3r`hA3{y+X~uzyb%0c-JhBMuU}{4ksNPs`HLaHyIYQXDE8 zUu((Qo{F;k>}WCRyaDnyL_w374kL;g!(MG-K4l09i3D3}R)i5&Y1jbrv=LgI-46U_ zR5Ym16_u5odJJ=ukpyzy2r3*bgq5hA#BI|I$XBr45o3cat1*6tP6Qwq)um>Ba9|lI z{evp!$oy^2!rYzaC>)C8<+2`yFiYQn;N8jC-n;{!tHK{Dj(Lo``FjBd5-)C z*XB@JX{-9S(pL(1uapJ_TZ+1H?flo+MKB^(c?&&wTsb`rQW|=z47&V0b!X zw2Rft`t2m0!57PFS`e*3m6y`W1s}rK*7>vcg#}&6uMM*DV7KB2106r*xGDfGFM*l0lQ?Ppq!^s$p4r8v4P)3O^k z#9(b@+T0xB8ZJlqq;c&rIaj2#Kpv5thT0VS)pPgX`v;{D6Co3`Z!vRrb55}^0{kZ( z4wc`T-ynM30_p&kQ&GYEhspWJBO~DdDB$A+)DZ&C>(CEWD&EeidT2D_GpGpP64dRG zBLK->QHe1j*{Co07cHQTa^c9-OBwLji?EME#+VJZESWYW!zqk=pd(hLDM!u&Ef!i) z_>?2lTJB8r%wKIvMd_-QGQCp!LpV{G#W7O4G#t&7mE>H!i-)Abt+MjrK?TooXb`O% z)ikWI@7HnNg5Njfwvfk?SS}5Npn=O%bW~2ruv2U{?ja}%u(~KYN}HvsU0V$A?H??1 zD@rt!Ce5`o%II;~tTt~w0^oH?t8d3dqzK8 zq8ckg@F+jcRY`|plAQu-E$kni&I08hPrOBNn0SSv2?Q4p2e+JeRA1%%G)a&9jjW){ zyNn}Lb)}N=goYrSGZIRAe4dx_2HC`ZZ7KuTWO3%5EtyRlT(%l!VuErFLlQKyapF5J z1_PrM<;hnJ)X}sBUdcSb$)s>cX)^jAs&yb$qXdm({=%;!@)gu~!atiW=~B2mP+ZQU z{1-DJJC-9gi9}`*FUC)-rZ@);f6%thC2%HXI_j}v&7MwNh905Pql3z;K&o^rBYs*- zXR|Lj?et;cT-6Gs{8|}~@FObzVT0I2_K$@N1~2i?W@vFUa5nDQmmAkNm4i&8VXiOm zw;NrL;{2hPZ%V~c^gHv5@(K#TfD4!E-?9WA{(*pU5|vhqbbD51D=4%zgBO=<>AwLC*NK)h$|6kaD#EXTI%E-)T|g& zHI=38XwP9}XNNd~G4H6S%nDqIbp1rUT1n-7>*Q&GV3de_S_AxWPrt7!;apCED0C_H zO8|(|V^^OuY$OF(5BMhZ%4D3M>H|F&#gPYp07St9AM3iqlSrC=pVKesr zcu>*9__07C19Ulh`oKHrZqV?Ed>SHque_Y1{&Xm)*LKe?h%qbg`JN_-xIY>qGkJu@tv8;!{pXRU9`vVQR*|4W@$i$(@gWNSEo4)=UQckdqStsEUu8nMG=+)FsFO+gq-Kf@JT+$LO`)avA&<^C)2 zGb+PD_*A>!Ap-wwLVZl^q9Mbt3g%V`Un2}F2ev79)f&3NoD-8C{7qErBA}!njV2|* zuT&8eNZ_-L)`zGSk04-_xGzEo)HnJHJe2w9;;ZjN3oSo^o=;w$v0Qd1`rn zE5Jn0`tWR~3s6M?A!B4!_}^-sB=9srx6F$L-Uk)CWjLJHVXeiDt`2Sp?G|}5Mg?wlw=-tDpyudeIjZDjMT-53SRZM zv2!+9ISbx4q<;zkJNjwT=Q4$&VgaRxZuiYKu= z2at0Kh5(m$jTE-mXJ|5fCr)b^D&hjs_!&LNJ0W7Zl~da48z1>@^TxTM=bR~O`1u2P zQiL_+5F{-gpAHSWSd7NqNs2>T193$BHZRINW%*!z8`WhTTl?MFzht$JD1Wig+1}|Q za5^mVwmn@hr3pZ&H(@X?`*}`bz>MYzGy>0nC$!e}&cBu3j2xnzC(}K{j!59n58lBG z^qknUlt0cO3xG)VJRfG*IFmz_Z%JQn_2Br2HE_qHH6c5H#sBKFvDtf-<$Z?paTW}- zL=z7{qqoKU)FMLv!1fo&)=%b{y@{<uSEE zGuc4wN?>6rv8))7pXVs$>0orGj=7e9>edkC>wG9tq6pCjcK+4_mf5aU|=n8CJtSk{`=68`FSVu zUmI_6mv4N*Lyc<+7RXGZ{&$Ea49W$ACF)(hSigT%)f;_ZYC#@KR8^=+NQAFVSgb+t z1fCal`(h0JO7La_gW`=ANeUPW)xY&PNe5#z3=5mP!nJWwvDv?7+G}OkAu$E!FpfV- z9tqb{Qp4lch}2GbKkE#S_S$Sd+@f{);fJXXqN$o~UGtK#iHt5;P9xB+G$Nl366TL# zwdK4COI(m;hDjf--n2WIN2fgLlAL;epk((DseWcM>Fz8LVCIyr_l!7Im!wRtBKhQo zGz0{$r*<_o9?^&^s8ZgAN%cHwBxpSQFC7%@9#Kfq8e#NP)pqMfO!wW-6B;8$PufIX zX4Msa*$jTCB3`J4J%|4_Y>rYq1f24*${?h=C2%MfxZX8$z{b(jc$tr*7V?jcC!z7* zB6fX?Qanl}MVQzG9X=sGJ`eyY>fU4l-tlk5loLQA2*CVV(}#g(P3fpAKao^12I6V= zK!Le{X}EZwm!kWolrgp6CG?)Q)*UhX%=$7xFZ8gPAm;roD3dD9e70 z1>*7HDR~;^Ks7BYCoflOvZoTP*y?`igM>js8_%I*z5Pbpis(wUMjQUU)m9R(>L>I9 z-e@A(L>nsApe=g)BL8ojAMX89T2Y-T5VDxWzlq)-LH;04FDd?reac_Ub|%F*oRl$F z)7l9qWe}k0G_u6qgzsr~B1x4$P~`w)K4i%`BMH+R7}1KH+zs&cOW8vBRX%~X$L1p7VO-sNwn|T-XKh=PqENPFh_@l9B+qUKAwvWiTod5%|J(ajc zT;EfQp<_4T5eVfn2i5I??IpATI&StAJvGgr@)#4sae_hmJn6<~_v*`d27!mSItoZt z{yab~HPB8{3D!vEzhZ~u+Pbm0}94n)A}3XE0)2Bc-+~!SzCbC zd`zHel_Zay_#K|lOh-19TXS|5;Q0N(Sc?$n~<{P(nSf6OO!bRyF4|O?>?V5 zPZ$Y4tVm%`_Elm0Xx-1zjSs(B3Dj5Xv4J7^WBpVi%xXw1`6fUGM+_eemJte0k18LC zA2mU=nt!v%53gy*OJ1&WI(zhsoh}_K%g* zWWZ4s%F4^jpZ=Vc>=Mf34qDj&Z*J1yQgYE4c(w_SVY3BFk$miI9>+mS;!O!BB)|C7 z+ZT^CmG{TVJq7dkWi6+Cu=e}X$};Ktrt$PaL$wJ;>*LTqU?jjp00^x>|3P7BROnIO z^SJqQp=^S}{BId~id!$ny%wMv zuV}DqFqS}-viy3ji0a7uZcum%S8k_hyE1l}@YM?z`*wPdwG;rSJ%q?X^#7;_Got0uHz^CRFeZczRewRq1|t)*fXz{UW=x$M7L zC{U<)G@ZD?oFmy7+Y0}K=wthfQ}1@?Cn2rn`m3`MmLKc2qwMC>?%tJ1%=$FHknlLM zB*UFni4VaFYDom(xnyg*MFZ}L1a2*kEG4B^IBeVDW|C+@CK^J5Ej%y!S#VRE;Z|S1 zg%OI4f^|!!I!u4yTuF6U*^<3MArrL>X`RLwO5&Vb6Lb7s*pP+E00dH;-U`Q~VxP;V z`Jp+_S}~!L&SvZLB&6Nv%j20$(_Y05qXr&@b965`DJtMl6JF*XHV%@ezswmUkOvrv$#|0Xur=)G+AeYFj^Q$@+k6bU zCs(sT!E>3C>_<9VOl3sYztOu^#fJ;XG@%z*h{Nht8g3+o4V!qd(VKuNe@fAx%Lo#K z`O=ZOaw8w|KX6A(Sd)Om{x+qcVpB6b`aerOpJ_uIQRFHREL>+}B)NtZgHRITh%Kbx zaXl=kNEw5c{t&$r(YGO)AWY~9X?Qu!5zj2Iz`<+Ij8AEd@roW}9qlvc=9>D;Z34Ua zr`RIIW2vwbnCMOqyCF2mLDoCay%nf$N18w7b++MCbH$dk#jVY#vg0XWdqcFa>(*2~ zb0jmj2-N8XBaAFb17%a!TNTL@`QhmT$72}(+#(>b+=O>7FS1<4_z&LUC6MR&x-KjA!c(jLk08noKMg3wGb#zk zhTi;t$B$Ru6u%v~y@pAj7|@AZB=(-pX%lFL-u_>Fl?hxKItC6>8|pF&SWZir{tE;x zNZv&gz`hp>ioyv6V6Z-*N*(VY(lC~G0BLs4M(+bL;)f$%e zKhua&c*0(-Ps#pC#fq)7mc{LO)bKu8u>O;(>W0YIvu{OLGxR37?Hz591xaswfAk0} zNoiT^9>rMz>eRu+AZCH>)M<%+ddk8zSw|$S6ij98=7l8$e3H~e% zR?S)zDLBfnRlHk@!sQDM;#v5Og$Pw-`mXW` z0q9%Ca3soMvjnS%KS6kZ@+dr&vs}Nq>r~sX>=EhO@Dl&c6FnHOE#iipEA;X=yGA%ib+;IcX@vhOM5Ud5TSVMb-w5fr2t) z35Rs?N3;Jj z{sT#|k1SEFh)bf>*WUr@;iL<=@Cn~m zdCs{Mwv+exfmm%*%iShL!C{nJ(?%EfY&H~FV8VCttEpJS1~g| zb$}%C`m$C?UI&Xf+C__A9O-ZDewUv5J=D1$HICJPhoKj87}qJko>p3AS#5)>^&w#j z(fE@HCb@7}I*;`xELN=QaGdZz@ln_%TxfA}*_5E~)rFw|aS*nf6VTD~@ba+s0&rKa zb8FAeM>${s208e4&M1ieLyHMurI3@C?@nUURQq63LaR<$GxBznN1$~%%sPbFjGC8; zOuI1LRMR6LESJ^eyyDQs(_6wFgqsYRVsNEqGEl-6S`POuizioO&`M7*u2=r-7tp(N zM)!znWNg-B=aaNEXfTMC+?vPD=TL=|@uIlM5y@^vXY@XWO|b_7%cfi`iA(qyx87lQ z@C??qHSC{j!VuT^HaIR!N@?s{GPoGe^Dk3}KzJ$LkkY#lO)jMQoBV?3JU)wGsf%1E zO7d*tOIsIRs(-QJR7FyPD_C8K$tRGXygqQv59+=Scpw=R`g3c|(>K=z#v*Rpdn8t!mo}seT)G zzGQy;_^0spkjJDOw7%Yr@?pH=+8%9)p^^>X`Y>{goMoaFFd!ya#=Ow_6(~5;hG~90 z<|9ScZMgtQpDc>!-Cnq5lZZWqy#E_OA1HgVnxn8=&6F&KE7etjmZTP;C3U0Or<#Ij zUEp4vvW$=pqwGJgNzaiBk;@hI|{P^}Ls!z@Ehx z^6Je%5;HK8+WLlZ+>O%BA@FQ;}(LqjR+k|y0?RSR{>(_>n)#p$w z{qe}aiLQiBBZ2Mlp#xt}2~?rCaL;}L)X%F2y&bdcxn!qDvHf~?N?UFn9jvJ1+|W!X z#-96L(L*P73|F|Fafs>sLHyj^RvvEsF!;EIABP3&zPdFU-R70=vocqTFoD-MiYmGH zPg?6OpCYP{(y)9C2oM~Gdb_^j{E#x<9aU7AtS59HJqn*sJLPDPFHui2OTC>zP3bj&KZ8f@oS+0vzGfIj1Llzm>($(t3U^ZYLzj=GMlstXr zIc14D#CB%-DV3HI!SiyMy3KD)*R*vS7w>FE8n+a(bE|Rtc&4{nN>uWy?aq$cU&sLR zP0E_92#J1PwT%;}-%`~6aLWvm?OlbUN!>TBq|#-*oA|>Km0rnteQzpop6k&vm+ZpN}n8g*mdK6hYd!{;F3b-eo9;(YbT6*HJV%b&rAK5t_+Aa#AsQ1tHLzl`=*Y!pWqHoXI|QXP?&d+*)EO3Ep+Gp{- z_M1jBJ^edt?+_toRxAH{n|Zw%W`6bFyhulvz(LQgxdcY9j*-wN=x53wf` z5{Sg=s|r+GMPt3;>oeU|p>_iW{e8x*)#~}g(F`^Jeq_5a9ZN1U0>f}vj8)+$N>Dnu zkN=nz8x@R^0$Xjw(rZT}(&c?^d)7tg5!=HbaKCYbyeVwdQ>9>h_YpUjQrCvU?Jt;c z_lpDq#PLJ!;Uu-dY}P!`j5 zcipMl3Wtasm$oOH$_}|b%y{0@al&k1HxBj=YVE;EV@de9H84|ZdFT`VNOeAN#4dJ< z#FrI)&$MbuM&`9h4IkcN$zE5OB`X* za4o&e^ge%C|EEf#g`BU~KckXv@jL^Tb*}FRUM_oUXQB`JW2#EozZpQ5G72!eBlDrt z6@_W8`lxNsQWd4UW{|xMyI-LMa}YsvuI;Fw&VBHWVxrh@Jl;Vn4oGsTs%<*ZUkBhd z{|M!K6Sj2U7X59M@Vi&+NPO{<8=GQwz|rE*^7W^iolGaQhwCHHt3SHL5N8Hr)`ehT z_vzie*jVvcv#go>@$nbE2mvACrgXv?V%4_lyCYurBh|#**-FFEPe0mIaPYT2zSnE> zT0*&n=j5oVJ&XO92Hlb}$-9#pLFaN#%ruA7OAhhWu$MoUWzMhzb60VIKq zEAOdl)84q7{eTu*G~|_AVW2HUu$uGs6QO2waFC;OUO1iNz(!vQHupP2m${0#qz95}I3+=fO!+;|H<-3LyvojK8&iQeaIP=iN8c)cU z+X%fJM5ju=J1-iuD+hQ(@8GgP8{@fmI-$ZYgAjzi7?ZI z7>j1LMJ7U+q7`_kyVsG_2;1vh+XXGiqPIokv3;d`EG-;Pu%3fB^jQN(_yc9X{<$ie z&Itr=0$&C?$$IQ}LGwe?GZ39vzN_UedBu_@g^ke&N*qFKBE-aa%Z)Tu4noMP(w)Kz ztRUbMtvsyEKUr_NMX&?AkpY(uJ4^DcygLub;$*_&P&*tipc#Mn7b4TV&kQ^*9q{W1 zNB)NL`r<9_*9o}5*uK6Xzd=&*5B!Rl4l8j{l`PbiFxkyNxLjO5j%YDkg3uX@l%~bn zm1s7c0Tt4tPB{2l8wsYEop;cCN4{siO66{Pk^oa@x+FMVg&)=v3KITYl{7e%pZJo@ zl!M(8a5dnl#o@+s3?trqP)|+*7uKy@0|?OQce5)_0>Oi}Qi+)uFNC0r!>kjF(S>@g zwVOh28i1HlS`qiU&iZcS>Mh8-nHav-P9IIjp|nW_wpiGOD4sqS{;?Q&B3(I=2coyiIr^dk@2+E1?DnLwZj?L!E%;+V@?1PhT)(1X;0Mgd zdzRCq#)YPnj%_))I9wMuUw(7OXN19ylj_eOo1MCvrrvRR9GmWSSE@A?SU-k2o!lb@ zEwV%BUaNKvIqy_SK5n8z`lb+Aj6AxJhNN)D>#-=wQHi)M_^iezvxmRIh9#E3Chq3^ z1`PIn&oE`k^PA4i)xIY=g+C$}Vmh(9^2S2XG!su6m9P9#Qad?ssG$qN`# ze_f7yU;2(MK#2YITo4>fpRaO6Ds*-RByV2|DbaITL0+;I@jqG zoq#tlS->Mss2B(YH5{z!1;&j$a416;#d2O*9|ax0csw_uHu~~@H-gYNidEu|XYQIS znsM0#V~{&z#Izv*Zzm4LDyC#$Kn2*Wn!$S8X`#x$u{~9~fzRw>)05kR-i7O95SnZ` zg11NY<=afkXB=aaR*6AJ#w_^WBoJ6?>~FwHv@($y)c-qWBcskyTH^=UUHGZJ0)N-9 z#DBqc8Rb4S8n0!-ER-`xp=;9mK!Db3507hS6CuP zJuIqO|D5^GOVfwa1sU^DexP`bc}~9P?n-vEV)eIr+kvVtAB|dG6elGy5!T`I!NA1H z49rN_lXyv%#pAjskHCN3)nskL!uQ$yR*1~`;|Y>YT6}b+qOR%LEK~uOWMRTu?VyX= z@I)#&VY`xw0E0S&E^f4|{zd3r?y@ntxwbfbrkfV}b|&80Qj+SAVVGLgE%puxM3WGx z-ZlHp(LVWCIU2@6JzC6}sJm#!qbI#af(jN`qgwOj_UR#;AIpAyA^W3UtAX&1+W|@qbY2jyWc#% zfQMdx^zEjXia*ah)*TA-1N_)ZRP2eEKiaQJ9aEw*K`5jN#lP*@66!{C^*^|p z1F>j&GM7^5IsPQbjjb5JV+c1BCA+G-!<#O8hJH@GOCscXS$m*R>UtZ)Jti0r9Yzl9 zK!`kpjtEr>vo}oiViDH5`3q|V|A>Xlmu+%}(Z$c%?#Cx+VTq8$W^Rt0E}emWU5SWz z>xn!*l6rlkx18469;9IE``*Ou>r#LsMuwn5kr-Cap{dWHHn3a6unD2A!ssOT*odU* zs@9BjjvNuX0`a`h@z29vfLPu>%HddL!A*$L;G`PqL&!4d3|?#aWP9_GdolK^4&t6Y zLDpw}M{w>(3>_3`(x*pdYU(w~oQd3&u# zU9=4cn_%tP*8N&V^UGKnEs4YX><*MAPQ3byz2^&P{mTU&={kE90eRl8-6Tq z(nh3tcv>=YmX{+HyH-Vh7S(~tw&1eoQ6Xp+nS+9TV9`utn$~3R2sq{B2}?YUd^$VL z#mFI5>}vz9FQcPDCa&UPldJ~TMog>Tm2h86f?mkj2dwy=f4iX)#Tn?B-bp1fBz_Fw zAs0>Bh|XuPU`MKIYrv+NX0DPnWH3KBM0BP>{blvq+?vVxK>2L%n-S!N7J2jb5mU*^ zU)?gzckJtSe^;R{;pU9t2=f@DJF`ko;@U|6VzkehX0O>H2f}d+8~lev=Bh+;hW@j6 z38$+*)9!7~GhZDFyIwUC=6(F!?`9MzaHhhs>eC4J?}JSp;*ws2UOYU67wNU^RUJa{ z8CJJ@wuYy7f04PE#v(UeO}ytFy4qZ@Cev%E;7Vb86ASe6tm$Jz1L|Ju-C*C}i^|MN znMg97E=G#PrQ`)<(@3MwDu}V-z449SBJb=ulJ6^|nCQ0dtPlM(SMF@@MR4W!iEH8o zdjv^UI;D=OTE*a{A@f7ixx(=e=ML?6354}T)eIV%{ARnTrj?wY=5zl(!N|A|NUZL!q?QoQ z_Ev3h{M#Fsp@O(Ep0GIFU0GO?z0v9ufzj-R!|kFG^2cAVpi=_ z)&3$1tzGktC^Yom-4N_eTOh-tXykV3Qc{r3ic0=HuG`pdD9!-DncH957OwoN-Vn5SpplTfcJ|^jL*^j zD_Q7Lu0!uPqIi(fF9mQ+0XUgdH=ACWWav8Qi|y}kd(-_vNUum4ujpw+)DW%ydQ`^6 zC*cS;+#Fq)92x9C=vLZ6+XoHvrFYm}9qLI!h2^2;aL8B;AO?*fg_zmO{l&i6C0WJ4 z`NzeW1L2{8=KbL|xI^8~qV1NaJ@K1|t4F3>5gu}MWg+ef7?p}>Agi+pjaiO%p9l5M zj-2FRm*$Z_cDs!Ua;Q#Em;w)NAZ&)2@0IAOqQ}VtTI(6Sf0*cGTKSg3cC&>8H9B1# zYX0P)Z1!c;vvw=1Djbw-^jIZe$*A=5iFf3S$IRD#^4ybLGb7Me`iX2Q`C)LMn|!mB`C2HB||Z}wnH%N4!Qyn7XCk~-ZCJnsBOcA zA%|}18W_4kx`*xtr8`8rqy=f|?rtOnq`Rc05kWd7rQ>YRdB5-d&iv#TvuE$M*Lt4k zzOFVPtj@zEXn7GL@jdCn?_jn>;I!kiwYj9S>IYKg>;Fq_QNNVLf0EwN>qf3tT|~}h zd|$+dh^o*7(764Mm+BG9a+&FCcgHhAYP;^E=6}>E&sFJRtCr!1V~0-~m%fnk6-rSQ zIDa!d#>Ju)q{XGMKVALQIGLE+!g>Z59)#tn$?5WO?ES+a=GYb%RSMc%T)3|zGxP;< z&TeC<`?;iHGTU;4lhZOE#g;JctD90VL?R7~sdWP*#iKM8PNrwS-cG_=WR^p&}4Xz&GS))_on=u)-Y!FLn1SZv9H)bI6vMbO!dCuyDv`5rl-6gixA+O~Y|c70GmyvW`sgk-$&DiSr5S3xLu?U}9D2l&B=+*B z(em9Y7=z+>FQF);S}PUVkEOHY`3;9);8up7l73`9`lOP~ODXPxpfU0zGF=(;_t5u} zsqR}w65nf3(a;CZ`e^*Mc7(k=><&O-@^YVs|Af$txPJ}j+WhiqWw3keNLFIK)1};q zCBs)%@^S#t?^jRAwsdzNRa(%I_!E{mJ8@J26};E_Q}(uC!-n6$&U=Zz$NF?Hk&Qv^ z-M)V8LFpU!4}OI99AasA^0h7qHN#Uq^DWIo9~Cs;zVDomoRjDx1y2NXU8Yk-Z1wOy z&Jnjxl7*X14HX!Rrbxg#*t;>8&S@UJ%BnEKj(q z7;Bp(VFgd#4jfkn4lt<$r@hNWtSy6UpY(;t#P<8#y2Y~b^O-0cXr1iek-wqKj&f`N z19#7lpqW`fta3j5%V>WGF0&;KSx2L&ifjLIRR1pY;-=hVgC;@6HL~HV*nMD86qEQC z{%jGk)w3(AcdK@Aqc^dDw^!U3K^SF?#r6o^Es41yROZoX^H#?RL`!vWs6!!My8r>d#rnl`D0DrSWx;;z6bFW0_bwK8I zBpvRs)b|ZA7zlWE0sfyYRMHb+Ye5p>4}qQM}F(PIqmY;I`c^( z5Z>rRvUz{|oE&cKr#}ClsfXWjZiT}Y2l5Wys6VXXMca!v>e0s(48SVE6>KVVPEYqp1@ZJxiR5W=x=RK7)_s~vIR}K zCdvIQ&Q464i#M}sgTqwTyloR@vp1!C)Y=VvkFK2%#}V%TDh>rgLu=eDi8;yk^=-H) zvtjls6@gv)Ss$qaL76R{TfHp2n~%@fEHw*GKTR=yenskjLBiP2iFufcshcb{>#3|D zUiJXX#>R_H>E{A3=ir5twboPG6oJcBc$8rFe&hlrIfmGA_QCAIo{i_x+wLFQ3(Eoo z`l2dPd_Td9vjoa7n6|6+h%e82p&mr67WAh=7?h#ytHWkPF*&zu2SXnTd+H>aT5XbL zsW!N^p~r2pC3xD!L9Hjvt5UxJb(*I207%HkSxv*`*8ZL*@%7`u%Nbcy zC5BPI>PN$Xp$I{r^n}KDQT7Ab*;DV=0Kyr0*?xkyz80jOVM0>*%nxqeT!`{9GVQ2Tyzp51{Q38K@ z(&s;K$#3%0rN&YCJl$$5og{3jbKez4149TjwKN;2-NC!s_m15N_|KP2)@$=5YqN1% zheF^-*Rdj{bFUxVo0PvltA)7jdlBn83yEc+i(C^spASlG4N(OBAVRpDLT-5JgDn!? zvLfkgXNR`!=(Ny6Y!J@&>>@6=O%=GDha^pv{E)x2N^z^McanMUl58y75FQPb!Sx3W zWa}}QyBC?9xm=pxW|<%obYszlLmSlV(DlzaHU<>!-gyO*i*G|W&+bu5#NyOsHf=E( z+~ZJwwdMdb{o?8i7kK%rojqNr^je;@I@bZ%-XP>xcdJVwvDu9X?cbIR&_@y0B^9fb z_}ZoHMkvTpCMJq8CBBj!s zwm}ieZAL>N^!5HFf{lS5JPcdh+qzrM)jbThXTpZu3xT93bzYUC8^6eV{g|s{y6s)~ z&ij;nwJlWeBZxVY=oN3~?!Ah9B}(yEi=%~WcIoiuiXIb*jBf39(=5ODBJ5A=vmX$G zJAF%lL7E6I9w+hm71H7Oa!R?^i(;gQUPFK1jx8h+aF(xO`iOOZ$R6(sg5Ww+0cm=K zuPc`=;X{j&IL0JA8K)azQYkjE;dv-f>vCjXs4Fadjq~SY8sT1P5Z-@1O31FQ_AFG~BwG|=sx?-!Uja)e+6F>?-yCdB5X zymUsjv$5~YHY?#n&L2l9B4CZd(;7n=A|(1PSWB(A`B4sd+Jy}ZL$Qz3yvIwe2dLdpxiX z4Y7^8Us=tWxaR#hpZOSLf);GW517iOkU1Z14jK!ej?b4f)wrHEkYgyXdA}^ui1)QH zSdus8(BV@1b|ZXvQj5~arvJ({87v*U61Gxg$UZX)7_*!S7)^f7BeBwIf`eff0f}yR z!Q;<~_E0HuT5)%9%e|}lixb`OqK;FXa`W6DEV_kV;k}V^VF_BbST-5+-Gh~3Mw)oj z8!If+O2svcWW4jHxb1-sTu^A@OXz)BelZLZn;pSWShHOYI|gzZ+o8{<$=mkIefgKl z*5Vuc<_Bh>aDw%uXDN!qhHtViMk&F}Nuq~W$l0S32QJi3=vt-+LrhEXt#Jz7=N=!< z)tJo&Vp-&mZHJhI;0UPTHnV3x1Z#%DtN{4 zr}M_x(BGq{RUS!EXS6p2h0A`9ahLxB0C0a|mE#XhNZz=xdGno7JZ;_KXKS`&$&2sb zLqbESu(0s9Fd#2+e!O*A6Br}bG0I_A7o{Ew4kAVYnPZ?vtcPYspV=d;hHKs2a}ny^_fCqQ^Sb{{eYAgNno?uECC-65N$Y-LbUHzSt1Ar-qt z?HDJFI9-GI4C*YsNq0VBiXCYYn$F1ci&C)ny|x)nfvD{LXW!lKLeZaKPXG*7l&)Sq zMZo~H`k58+b6{PLE(G?``;6|&j4IVla)7|M+=y%(F?;M;eRB8dCh`&P{u=4t&`T^f z8QyWzU$amb-M0(=StyPIJFqp0)0rxMFA)!hg~DltHXnpS#7f=&W}~Wh#DW2-pYoYR zi$69rI(2lMNlia|Yv9dB+;53dntV@e)45Z|61wt2j);x|Ft#>#qA`^qZB3g+I4q*) zUK1|jki~P{S0_0BP^-ss0t|< z>aoi)S1GC}aHNE1W`64tkaEatDmo%7pHaD*n0#;rHi&>9hAQ=>X8P~6*R>Qj+ zhJVu4%4nBh1tf6HL2U}dRH~}LLI{kbS-dHx#fFg&Hnq6omUsH(4CVh%u{*DlrV9cuA zfBS@nLwZV3P*A_#TxO&bmuYI0CDiNff5)d|((}V#IMi{QuciT_;4&cNwaNMPueX;# z?T%3AeQpjlW4L_^a6efgOhHQAK3#4MpHME!BD|9=ZVNhs3bB5x%p%}S>CwT%SC~<% zTQwY0@OW((Vcv&0V=mB}J7R4HSg4;OA4llNr0`l3Hi=cY+sAQ*08dR5Dnf3egDfF6 zZUn@tf~Mx0v6JdpeX{8txY`8U?+Q0%8BXj0L%#{Nd`$q$37MJCY;_gbhHQF%C+jIx zD!!EZuH+&o$wP1}y)|8tmrTza?D6ckF{?z+J&=+e;b=tFdvgc(-GZZdR$DXY3dhyz zT0MWeF8Nl>?#Qq8a_RG45>hhm}6NXYpCAsDp=nzttg?nR}4e7 zs%zaEL44CGdH)~>aFY$J=q5E-N-BuXbE>RdrJz6ux>U1CsZq4oAMbRH&VtD~f5EH#?z)xAH<-lBa3voUuN#ky?1m>8Q>dX+j?smyKu2&prtV;fLT&lhn zj2iQB{MA7MxQGN&IZP;7)0Fm>+yAto186edfV-Vn)o)v3afMYfdBLemCjh;PrB`OB z1(5YnvA$`Fs8K^cXd*vt{%^v_I7s=U2b9CK) zOc^R9i$-Jr3;H>&r|exq7c+yW1h^N?|8SX=@Dhf*%0fRg7RZ)_VGKp0(|s%4G#cyU8F*mVGinJP zbyv3%Z*1`|#0cQ8LC;PIdlaCdT9nCU%lU^?LDMhlI=Yo1Bx+MZxp2(4_--yv|QO)xAAq?Zwz1#4zc?vpk5Yp?!D{omVh09q_5$-+4!u%vv8%+$ypr;Dw`#B7u8K(CE0M zlNDifR_;GuKJzFA)x9Q!2Y(HIL-Ds(a$8_-@6Xm_x2V}RA{D%=Vgv}*B5L+b_0y%# zPl9(9a#Kr-yhs;Aimd5x=rTyix~#Ulu3E;kjf)xo;bY8{LdHzB0grC3V!#OSF%A1& ztXu|us|}dJfAjxzmUbp#&iMR`NPx0jT{hk zgQ#pjP=eNO;)SfP_GhZGE`flYw4&?zyZ<{_5DF?z6p;WzBH>owQ-K;oMOV`WZQh|* z=UE^6F>>&GI>hl_G%m9tUPC^+qU@6QQR$rN@zB!{2|TX0C~#3|uq1uRP>kQntl5_( zMiO%sWtebmp(spQKdOH#XOj)g&!t_WBi;y*4!9^!4yoYtIa*bRN-AMc1qx=$DWW9igTl!eu>F98)?l^ z%?xlkrzmaWM4Qru3r^eN?LItb2W5#&AND2_Z${$Y(q^xYh!i(Bb0-}6h6Wh=# zK3Kal2Kq+e0-)(1yx^X70pPyanHA9tdwRaWkY+_C_OCLl1k}^51jxy(3<%Cbsc(#l z4O9IrMU1iWvT+adC=Cq%oc?ycz{ekc27kD7&O!h9Or@PURgt^O_(V7`LycFI|kzAavci#3MUGV8_3A!(k5~cxIcgZBy06Wr{2;Q0A z5o7AH#k9dOLV)`}Mly2@+I zo{FXG7udO#eLXgbs9F-Smys>>L#2aCVf_wNV59Q$1Bu$bk3)SwPa<*lA{t+F-aACv z78v}A%t#cME%Pmz)i9fml158Cs*NKbwxyl5?H=9gc}M;>0<32=dJ3FZH>M4lm{jCX zgXs25xHN*MFV+b`c`bg3i^VAlqc)@*%&)A&w&KGT4Ml*;R?Q})iQ(u5?U^d9Q#K-B zpo@I;TjG7>B)$8uN@o`Ze`Q4<2BmSBb0#CCd@(NToh;oAi%WQ}+jY?xZKpHlKuC_Jm`r}%sUXI7> zGJP${ROZTJY);_hEKH9GIDqh%l|`;L2!5j(4E-d)tMy9_?IWNA1+az}-i=F?ci{}d z+UOeZv1`i4F0$6d(MG;gxLbp4oDkZ?!A&`c?j7jF0!RX0;+*!@sCQ=cSZ_Is@SS&s zHt?u8&l#srKSyk%w0K3mAxGde1hH^p6;c4+2zY$2<2+`PF8tZmtXK=(8CMJiiMZil zs7-kyRcSI*dx$mvJ#iZ80wpupXT#>;>v1^V0;L!Trb*xGs*AMF3?cl4clDAGv{L+= z(ZXfhRbiWI^D^|R{_r^ga~fd`aZSM8Oc@qksGQ`we5UC^s3?TAu%o!Wh|VX~qM51a z!7YhMg)=dVYX&_kRn+1W`Ybv>YCt47`CGhX54ngr#-(vD=P(Lb_8J{f|2rTYyiX(Y ziVgsM009g$>iLJ0A7$7{9j^!p&8G7ufu;ybZb{(1=?bLx-|!2Xp%u0n&k6v9RO#;8&F)- zWgTMwAF>b(sSr_@KBb4Y7Mq)f?%-kNt3w78bpnmW$Y0$aB7FtGrdUQ_y1X}mYi9i| zdpklub+}yc+dRx=92J4zB*%%203UEV-$sCaJ6W|O!6q?;_+cq3+*}%C{FmZV-AGCw zT$syS@w^fgM@CO(m?^BKH?yilUk}vhaHh-X46;zJrlU$rvNEj4c z1@>eM>poe(u`@4TC(T2y_9re%3T_ca+BrRaQ26lvL+Un-MYHI(U4lB9OD?&)7kt%E zyn5V=x0!4V-Ey32Sl<4R1BkdJ#oU6tZ#9`Mug$hTD>}-k?xM_5k*v`pVYF~tI7bAc zKFR(-;zx?Zwx z#jlufEj?79g3`h>X0)h<56o`ZvK&vVKvW}w7$|-Py%LLS~jNEav5a)qm`QqYY zPAUodSSsLXwhH~<)k9s2T6vl!5-x$ueP8_=r;h4psAMRN>lM6tZ&p9?jJYV*tC>xn z{RuNIJ7&lUS8+OOa_J`fSF0t5;-7Oy-?HtwXL-3axDwR3t|Gy{s5m zR$;%dTOBXqDk=dG!ImxaRAnJ3bkav<5_BD)RfCEn?Q(b}scHx$T+wI50!yxpfr!kJ z)`3T(Tg{*uqD-KyI)*}B>9i!lF%H~Qtv#(Qin z@d5Zx?LnLU5lZhz0`SpAKQUVsSt7WH3?OQiV!&gm+N>Uq9ajZ7#<%EP(7QmDWdF); z;%L5s8&xszX_*rlE&3#Zs1xr_n{-w96a=ZyM&u@y6HARi1VDc_#c&*Z-Wz{?e$(|i ztj7g)V~p$*)f=vl$^xM)*ncx})NQCYk2sXn8gvrIflnSko%=E66&1~Ezd8fa+H_0^ zPEZD7yP>MI$Lk7}flzJ*N|wS;iR9;z=L@0|yqnW8&!&mekaNcop8irzRSljvz4Ui( zxcEc_Y+=b5rAo5jFo(G0iAOBf~x4JQcKz zPCNO$_dd?>nQ0u=NDI&@zih-Nr2|+KB-ceH01TS|9N5C~JZ-uHFO#-o!U z&-tU-jhrw~1xsXv@;Kj+J-x;~XnNpjwM>ySeWHeU^)}9@KnT7iaM=3XVc8HcY;^z& zl0PbgmV(;56UCf7>;~prA8NujDyzO!9;^IsstBk290x6)7?1iNS)9H7m>U@Dbl_75 z>EKW=6!=>DXI*=Sw|q(c%@MtQFOTZ zqz*or(avR}PLtwsAbs!PJK}8^Ruyoy36rRfNY$}J;4Czy$=pEY^kR*tkpFNKP%m}I zvU7cgPo0SSK|HP7+&7j3p+iP<9k16E8hfmg&_cpEp>f*MKs)M0SDlS7KEvG#g2&^+ zA{jyH6htP|YZ^IBE{Z0mDfxiu+Eh3;pze#RqH2Q}u{C`>Lf;7hEimFjQeX9VUr=5t zFw1c0ZIBLRp^)d2J&KS6z!*MadU|?BwiHFsSh|Fi{;$+!cr!l>Y@MlO6Fl#BAQ7w{sKlU$ZrX4Jrq#6ESlEGKV-sI-G=h?QKl$R za=*xdPX%YQ9BUCWv+dM;f#hnqH^(f68EmIO;vy?%p?|XKXQ-;CKlRtI+PQ~I;)h!s zx2_d)nywbqUsJ$VLpY|x50ZqD_T;qYV;A%<#7GtWoq^mBN&{LhMCz>!-k6#+vDGW; zh3!xG&)=v zyBe12K0d+1u!6ce8~}(d{?A?jsL!kW_Ka(_nKl2r2K2}xq0(;OAxfG0Vr#f&QG%|e z@;J-W^>x^(RLuKq$untA%8G*{0n>{Mgf8ma%2u`fKc5Lj_BpU5RA#iuM$&g(ho-t} zvZ<6vHmm*0m;7L@=km?q#py)_fy$$xz0IQ?yVHWf(XR7UD~vxvDZM^Tj!SJAeT)Gt!&iP1lnlwYTJh697&pmKAZKLLY$y091fKc!KtA-msMFN!zdN1ZNK z!1uei>&cS)Ki3zp&+TKSpcMQAI38R45ofKo8B2*pf zWL>ROI4BiKztg47wnxzG5E{){UYSdR8&OxD4D??pCt&pkg@cnBFFMI^T%>aB=fg^r zqm9|FC*Wb&PouTjIr4stn{)aGAe@=qOP}{P#O@J!-lq)tIf-=5~|e&9?R~X zDhwwpp4Ht>6acD}wc=iWHXk{nypJ98mr-2Be>4`Gi6{{}$?M(nANbBzZy-?6!$UTK z(>@oouUou5<(_gqxA*E;dqQk^QPWD-XL(d%SMPf;!g`#nKeJD+al?=kZ^Kqo5sb<>B=lDZ>Mm?<;>D4;SE<;KKmsTjjD| zJAMqHx)L`7LWqFQ)3x!#e|P`zWTF!CMjSX4*f{j^htB{2dn-|C%!!vlIXwvQqiq0! zjA7t3Z6}wWL=>hd$b{EAw&SBH_=yf_E^!b5VR?7RCeyRK6XKVyT8L@9qf;gK`Futv z!WWS$rADLY+o~7>ldsdF`XMBfTUd@q%{`;p8?mq}U`UCK^&rAiZb&w<{aJniX&Am1 z;GlzG%anP7oAP=kR(c1JBuac8zFzj)B$Lc3JrGMiuxSs4S5xR<#$l)o&60v|NS^Gs z`qVSYG;2fgzN)U(Y!LQ_jJgC#z3EkFw#= z#B-QN6S4gZaPA^;15L_Oj0zy)Y31}w0p-H*+49{eH8F?ujAeAwBE(Y!onX+z=>k@QOcva@G}|$t@xFa;Gp8Dsc5YAMQ{B0Z0>V4PG9DYlnJZL_vB6F9A-Y zsch~vO0uE`4?tU_qC}7?7)(S&>I2q-k)ll5pn>YSRQ{n8F78Y5Mr_3=ETDTyLm!Ax zSBrDDt+>0RqT2F4K&86{hJ5@;+_|Ny{cfsYdFK#&(5ca^PXdb2um_o7N?D7NSDquI z^RYq9*EV$hjKEAHSDA{?ZE7n8FQzjzYJfuU4uw3Dh8bUJ0JiE7WD&Tvu+lTx*V)q? zUVO8Avov~37F5IkZXJ(1kQmay9!&Matxjkyj^D8yzBh3Nx1EUXJ9=3f9zg$dYBr^$v z7!vvx>2GavSXNOt0#dNYsv#!qRz)|{#El7xiYdnfDz4>Vu@ok02uR8$OG)e2WS4FX zY!!iWw*mC-457mCMjWjI>q9Xib8_IQ|J#;37niyydsu3<@!|W$6u$kkTTF8YVtDGW zU|j(GV&Vmnc*j%1z#iI6f8Rc z169y?PhYW?M%nIumt2I&_^MW?YU5vtqP<{$yx@;z5gbm2S_G|`iOBx^le*|4zX2 zj8l^sb^&D3w?)%F`kqdVON<$@kb7Bf)UC7FP=^5u*jE6(2v7^|pty<%s{G}o!xw9? zY1`7srAr9v+?gkhL7aVa5DWk3D0g5b(dRbUu9Xp!F?niU7-S5Ym_#!4sJQ`DCM59O z(=8m^!ulC(HyS-U-9K5^6v_3V)9#?UQ(r?JmNNo@Y?T4!gKSoL7_AngG_GBLRp==IYj{I}REPGmqIm#c6`V~Xi|z;dC9ix~0$ zZ2%;6q;CC7&;Er4F93qW$~hm1xejt(lhspFtYSwgmmO8&al1M4{o(gDLHhf+_iO<> zNZ~g0Dzp5sTD&9wYQl$2m(nnBU#bU>_|*qM~ywN4QVS>Xa|0?@6m@S zhMqi7E-ruqm{-88z6u|@Pduut)7ehIK??@Ikr&FYhfpyuAgKWo4AG$Ne+t&SmyrYr zBQrBvW^NKT68%;Mc@njRISSW-@>RiquF%A%GdM0RGkg5MyELZ80^l;%QuJgx$rF$H?8?nTtHM9DH(MmF!)DTe`a zNy0t8N<`*3Y5Ll1m)RJV2Ld+2VKSgvPv?{9rHemX`B0ijh#Z#GDzb+_mYDlHmuKb= zzb5P5V^@+Yy!j`Al|y*zvd@V3-I#NK>;pI34-g54=?ffbIa_T7&!#XX4#3nUGT(xI zLYs-BlH%Db6h^vLbgh$jK@VlfV;_v(o7hzjm05&0(r{<@%p26g%lOi7-R7$4RVuRR z21pntLG0lGbseFf$mKZC{(RLdAWswuh}auZI-x1IfYDZGIg9zfwIhhcPU_d^R}qCM zBY;-y94I$)ugA^Kx+19e0WC~hz4RnJ!^l(ANS!amaHFM+3W|!z>{emGHd-ebjw_S# zbunkYK*=2-_u1T#&JfQ;O!1G3w0G1zEk8VQA=3(i*{T(k#aD>}HV|4IxrVaHQiVB3w}RK>rItM#JfTML$DVz8w(VrqF3XFP*Fu zZUBw_>DSn0AxWMvQ#W>QQJk!$l6B|wfv8;r6grGP6ea*bn(HI9c3DCe_jY3OPZEvm ziJf$ZdKOlsx!M`e;&@1i&)BD(i#sjaX7tGwZDWK~H~u_Q1?6n>;GtXv%H7uhtpR6- zh2bFop7w)1czjRLUu0Q8`Xq11tb`Z=Unm3Zv;P2Qr3Vtp>1OT%BhtSCb!AF}3TPfh z&%~dvJ);c8=RL5GAO$=+REmnXlc!C;<|^R%-V*N%??1GAoyOkYdT0B7DGvP~IY>F! zst$Jd10Zrvi9N7pt?>aIRcqoKz_@I7xjWGc^crUhWzdDCvgbAw(b83_nHSDKpcN@K zA#OV3;#;puGXzN()HXDL5Pp$E!3e2N>FD1!b5Pcp$MhU_wBoB-2tgw zSbF|&1l%&vgP0V#RKCtcjqmG|8WLLrfQsIyoj1p*E}D=^uwirTcQ`Jy*>^_usu?s+ zSOBWcrYVAmDFc7c>+&XRhU6}4){MIVpRiA&z9TKhOC?#Kn_yTEtp&+ktz|s%ccR8Z z3P~Fpj&BB+qq4yTaqVBLn1=Z4lhinQbqpIB}FiLRVrVyOPE08E5k`$ zu3p@fmX>Y;r`leC-!j!@@}FWtzATdjux)rJA^{{)LLU9>h|GW!bA7$RF?p^R!z zIn+4?F@itpVHl8J=oCoPclrs9vYU`lPmu!>J#`#>;7VD6rll&_)-Hp&V>PtA$RfZc zdLaL}RDz^2$Y|qrkwOq-T16!#^_WKtBS2Z!z7WdH<#~;RU(8#8ajlN#$LG1FHMZe|H!zZ3@u1Wf_ysWMn~ zf35;w2q^I{XL)LdAeN`N2&X3E)mKvT?+3V^Zw}fnH-ppsb!lFuxRpd zMR5&HF(SkW67xc4hUkgZD`rNv2zy`Kz}Z2{&n@~f4(z}xh&>V}P)`f3_IA_W;c}GC zFe{$ZjYs9tu&-(>(y7ut?)V9`M|NAN)xS|+0AoAXF6e0TK4$N70Cy{)ot@pd($I-# z|8M7wf4cVt=>IgWwBMp)<5<+~dl;sv1AsVECvL~nMc=Qh*&FoG<5j5XLwEWyckx7%Pal$NF@ zV|!YI+ZO8VXp7y#9Wo@M*6=-S)=aEcwfn9kIMGlSsD1eNN$BpSlb|HumO1{rHQ1sA zWWmh3!g=z@;&S8}>GJU-B+@R-c+|QPU>$4(nFs$5JQsqS#0mst^w4DRJ4K>0h!H>5 z;IyXmlFYyF4_GF9V)68K=p(BDBO{5N;Gc=1-!u}*E*NnRGIso;s8s3G{`lxlSYI6C z_3^2RB7k)mP~_n_EL8V)_*|xEe8sqM@dm7>gHMw5!HOCQq($7DndgVLi(ibUwMuQK za&OQ2vAOJK=^pt12b!2qD(xLa95P*^hX6=R>u7raVEf56;opS;BNC`N5}GTg(JH<; z>Otj0G;tw4%Ia>$kYKSoKrnE~@02VGwarUJi)c^Q0&O^xMoW*nA0jx_KYMFw>=Dzy zA)i+8tVoXIu{@k~dn`|m+p?c}Y4oBr)zn^I73UEZOxkrLX}ljISo@c_JV>9fva*KABZAQGU|L_0Oqb%fo`Um)_x*x1v9IPN&K!+S=Px z*WR{N9p&ESx)Gq_KSHuIvzfDdR8Iy7jBrAxH(!J3GHLhgOJmHB?>|F~D?<)`AGUM; z9*O-<`}dr9@!Zu&RSr564jnR30Dpn^)f#MYFd>aPyFv2noXd`|w=dtd_%@ ztL?k)5x-aV7t7m0_!hXOg8&PLm;}RZ7B56V;9&~B?~a{y?~0lSYmLzGRX;%( zn2N}Yu^K5*T&c1rnX7Z9wD*Qp^SKq&pkiBY@v%b{b$d{ADO9%Ltwur#Lok~i?!$Sp zsEaDe&Jfm1PubnaBs}Dc^pM73g&1u6++-J7E`zHwtpl03#RuiUZ5%?A9XS<;m;Z@AOxv z`$iA^iT}TE7z9J)lh|Yo@&lmnygnC}{lmcPOX1+)AQ$}ako)TQG*I`(XZhGVy(x_? z3L_*Wq**-+WqCaR&e5$-`a5}w%5=|EtH4|N-)Qp@W5%bbMV@{uVQQUYYrn4 z0=qROR9WE7N!2pb%|b8xRK;SfpFt7*KJcw#A$vx3qDck>S8sE{^oebE@uOrL3hwsTWY#;`;UO#~i&at~-NNbk?bw z_KAxtc41#^)<^~;V$KjTyej}M_yGuqD@4=Q_gd*TCFb8Neq9>zMkq zHXK6&d3W|RM9a6vpb=_G=J^FEa}Uk|O$7Uuri%0`f=@enuCA=qa8nScj&s==In9x} zk3}-b*p%cK`c1Y8-W=lMCL%9@Iz=Y)^_|$i-$8=*BPsRFZ^fK{Tpn8Ew_oj3M$W(U zr-{H53wyHq^a6Xdiqg_BW1k(u1Qt&KjNlHCfTFXu0L*;&y9eM^5pm|L0F*Hq6P&jR zIIAWKX3yC|BVBL$LUY{YOQX4M)!ac5IYs&=7POwiVr8*TUpRU-@VORL>mB1(=j3|D zzgU|O0gmO zh?TIN^I@v8e`mYurrOHNLf{1!6*!eEnq@taxnuYHoodQJ-#{wc+x=MKKly+uMQ_Op z4GnF-I7t=n;~;R?DFaT_5|-KyO;iE^`~7(-tmWT0;6WrqZvGE7@f={dUsUMfxY6!+ z-zQ+oTD%@p_;;S~A3=@noL8ozz}C$jxYMIwH>CHT{j^zacDw?%YFbuS^hUs}V;}PA z)ImM3E>tDc@>XbyC1)Gyh5;8Kqoxq2AXQYWH)AfJ?}$ zqEp1iqL~VXAYs{+O>V-R{f@-q2p9kR9pdc!zff2_R5^pR49?mxr-QZR?pn;F~^)@5%`$nb2TIPDdM~joddPt zW6lviR5>3g^-8>jy9QbkT0lz!c9Mk7-WsG^tuG1edW(E6cOz|ycklM{UL~N2@Y}6- zbrxB`|GU0$Jy@`y0Ry<-Ju#_?uC6RFS6U1V zDJzLM>4W5T@~4}19I;r2TXs!b3~CrDssKbhwo$?#;!5jq4)MAgowToX8)9WWhy0E`@q((3g@z#i|AS> zN5+L)dp%H%Ml%u{x$WdGRx0D%Pk9HLrDk*BN&P@3inw zEN!r1v6Paf0R0KT-qN+X7DOV9#sK2ygqtY+pmCRB3I;?JFvr3N;8p}Kfd3pYQCp8$ zrZ(HZTGvYBpah7IjbQKP0kY$Mc~LB0o)vuPiz{6?fjIH6TnFegfH}QN>wX-ZsSnjM zHfE>9i={Qw-}oI4d(P_qK~6sv7Y35sJ?mHYMpx4-1^p5Kqx47bi*zF6h)X^dS^jyj z3mhjh+!v(JN^rj)h#J?QVQrM!AG~9}AmU&l?U8xLe(`>Jy1~>kAB+Yvi_#IC_xk`R zkNp0o`$c7#+$|>E?-78&;Is63b6Y?^!h}a7hT)iNPz8_x1w+h<4pE}}SDl61+x(^$ zzks~g2K>Sc+r`=!2edrOC&>rL+6*WVsgIr`kvUC4Ir&=Dd`$D+s~15Ofv#cl1^L5~ z6egOLjPD_kH<|*n{gbLo504~fWwT?dnRQ8|1QME~#iE4Qo=fKzHVlI4#>3U33WPG| zPW7t_*h^rc)5NFI*PgSG<1;}kMP|k06U1TcJS_|1!9G!b*|rW3ADf*#Am(^Wu6OV?>vlZXfiqQ6J8)f&m{$Yl25eCJa| z!|%vzU1Dl%?mtNZAega9r*R@!2WJ@Fo`Suj0;u&{-yYBaHAA|Ebr#ksI^oRkvmApv7V95k4^IYWomNC620P*VPZelbQ?CceQik=6jM(fE zU3meZmKqh8_*o@1e;asaiDpQFX$^Pa@%#aBc?vp*`;f}2XZsV#E<}kaZfpHix-q-i zTYdyizRNnJJ^T6IIJ;zh=#PG%+3*V_P6Y2bXb^u-!NZaygk_YE1PtZOqI*N{Lo)4!qI97(ORRlXqf^2v4S9yszb90tk%)3-Kc z9z{T6aVpw!1Mcm#;OR0IWIK?jQ*+)9tfwgH&CX3EAP7wa25l#s9yU3FzCu49*Z!=n zq1)+8maP);)p-Z~GclI$X1ly;mHd^xp(cZ`eV;D(rzW$?(_vNoji=5rUf^LS1(%`+!T{}bnGYm^tS)hU~lYhpyajJv6zHg z|Mgdw2ibG4zisotKgUs%FVdW(oSd30Yx2n-g?^3s)hrzCO0xyk1orA;7zNqDI^WTv z{+HD3#=zLyw|@Bor8+6}NWrJSvcI`S=w>t35yKciW7LBleloxO}dM3i;^`6mib#L6T8a1LP#2|W&5~2*zMrRVe z_fB+%=!EElC=ra_yXakn=)D^ydM8A0d5+xw=lSry`DDei*4g{)v-iHPU(?d7L-zL> zDo^pb|5Ue)vox%JKXCr5_4~I(K6g7eSgza;AK^2#{&NfD(#KNmZ$bGEQNvIPjX+JB ztw^qRY@IyP;q%47<=TyQ&Vv23%^tHZ_z5Tl+tR}icDPuy_>rN4M~u4U$kRk8s|+;P z7Hmz!hWhZgQv6X|F@M8!;>hvRB@c}7tF=0+Ot!V zc*Ir6lsWGDa}VmsTiIyJJZXu*pIARpJD#C5kn{QQ{_Q1wqxk74{7>jQ^X*w?$46;S z1q{M;{lawZ1;3jEx2ugWdJaF%-Y{@jI~_|AxcdVaQu~XMtX<7)X}UPC%c0h{VH~IO%AAD{=+-p^o3jor(4IW@3 z`y?lB(N^k~A6JV+dCi4Fhc2Tk9nlRA_j@Af=NXbT)*xs2`ipfpX}=s^i^sy~+IBK@ z|JxI@zr@)U;i}`V^!x7xD+8?=RoqqGyS!5n%YL-FqKUk!XfPQna1eoA&&$JipU(#w zui-4BueeN&*gY!n1s&9S7lyMbApSmOc^$&em*JE38q0EEaCNvPk;MjI&aIl{#gv0L zIGZ2R#+Ok9T5e&5?D=P&t_K)%+jg<+E|q%cBJBGhVniF8wYj${SvR(IjTB?L*^`6n zuHg2Tw>3LY6%=u2`@~o?Qmkb16BOt5p?sl*^3|^s{3W;BcxSAL@8lEG;~gBfwgkfJ zUQS|sd<7N#!M)`@{u3S2PRwsN2R{i7J+!-7Jvg0Dnkm#NvD}3D`Gi~F@N)95l}-%v zy0tNuAtm@S3N2Cz62v&%j2PJ!!d??^ydL7OfAvQv+n@yE?TL9~Q-H8+FgT&v3nwS4 zwV4rG4Yld!V&A?yI8sYJw;w$4xe**&I_rdLdaZlBtFE?X93#$#ftpqBaUum?L)6GjxmZ{Yz?{gp`XG9fbP)ML|A=*t-fvAi zS@0?$UfIs|ckB1$FF(WlX`Hu-lGc`^2A5wI6=sKhBA`*g;s^J-H5V-V=`K8{^1U2O z@RxIgL8^WQyoB~d3&Q8ugUfAa{>-Mv5RqXWNq9l5LXi@vplGPb4rJh(+N=)#g6)Oy zW}%t2`h|+h+?-(z!WvU0uYLTK8sf6`6CB|N&gAM%r$@`jCtT8(ABrWR; z+R!?10_6|L8gS)mF0|qCzxUz%95^9->?=A`A1mG0n*8Kg2osCk?Tz#2UVxAXb{yW$8@hD$jd$+1*+#UJZqAfi4{NPiL z5eqo-#o2l$J`+pph@;`~qk_$voC038!cAjak{_?bBa!klB9CGRh0^2W%-*vX3IFc- zLUios;8K3>m|pqZ?+riUL0o4oWESd$5975vm}HoFw$%b1AgDE)Nhd`IQ#9&Q5)=Fp zaC5OfD5|Mavv6Rpo`&ySJ)W1(vptwCJupwHFPL9~bInq}sk1(Cq7k%@A!XX%XDBdN z{T2?QuC9Xx8O@{(QpIb0--LaesIJxM&W8mxo;Hf6EisA?m3Fvf8pW%91MYj&@83pC zdk2{z4t_TXv{NS|`w0951g%=)&jqXFDN;d)SHC>?UU9l`2uTPFeGt>ku(D!|PfXev zCYYNoa<=LjJEQfCPV6Cz1ljAqEEpg{0g4)Vh=e*4L1VC(rM>SY*6ZiYOTeqTI9K%? zD+QsABx%Y2?fFea?0$CSiBW;1-VuWG@?R7u-^!Kj9|4tEN z;>}NkEj!&7%WAKK(fIfNrZ#&UpUZTWh3rFV%i|fI+byxbMF*kvD>D>Oy>2v2M|#XB zKKR|uFjn2&)^Zi+!_r#&@g81jgLbnjH-S)t%N*{Fx^*e`E^aC@0O-! z?wnE%@I_;Rl!|A>$G!uc^`kX56OaS(^j8mYjFN+m$3LIf$}>jN$B3Rk^99lwYut8J ziEw~A&|AeQcBPjD+BdM{3CyLU*x%dgOOdB?TL)>>c>hg1OwP#hvOSPzNt5A}(2%n` zWaMhB%B&~$;*?-dmd00IDah#L0iR#>MU79Fy zarkvGj$m>_UmLC(^`3=vCuUhMg{DT(BHNDkfs?lQTKUL$%h|4Q z-WDbq!%4o{}yxC>*%4pn(3Ihygjv>bZ_qp4m z?7vzWA=4uFW>eplmaUs$Xnk!_^hGjx>dgYKNjUb*So76pYKUh?NG}CciXZUvR2h-V zuvN^^oPMmI5o7oG&FQF=y1qU~c8gB%gYc&&?69RpL}lRU({l&HIEpkjyTN20I?gY_ zYCCNgOWv!l4>a2W6Xm*<{OikafxmBuHb3MM1p;WYQea}OwpaHx$rNe*^pBw0JB|0PzkbzhRcjk7)r_HxW!OlbWrW|K zZ=xsE!51rhot)%Z<71{zpnIBX(){Kmpm`LbyHjyc)1MJBqvny=$j`%qYxoC3?OFz) zhNo_dzy={b845ywgr7;{e>>)q`ezvYR%Gzknk7#tjU}Jsl0G)8Lk#ABYnMG1tt1Yc zHX28-ARr`1`>)Uqb}XeG@Ut=Pfi^C!L}(+&H;|$?6%MD%M!T9xX9qlIDpxqvtrT{e zvGSS%m-bC)90kF?HZG?yV8dc@t`Bb7uQhZWXO$S$ar#vLbYcIBZ3wBC` zF0yGpgfoF1`wZ0m_%(kb)y-pLD#38`SRz_rp(2khnU%W0A!*OSEl=3NRNomVteS{) zIgTVc=jW3#VvpMYwv|8muQ3%MgGwi!jgBVwQ6bRcrPB5ViNv=bVK~x~k)-%ah}To+ zurx@DbuGu>I6{z6mjl6y8;m0>8L8G&FO?-t>QYB2zL2Z^c`HGh+|Ow~*-It$hgQ3q znzTj^qY!MR@J0S~INOwF6wH(A&&Qq`jns8#&zDMFeb5%W6i<6*!&({hW4nq2hR@t4 zR-xS=1UiG&z}HP69@*hsOBu$1F5z;LIKcUE=IliPMhJZnT=ZO9#X4OrMV^34kaj%Q zxi!)MZqFz`!>HY_l|{YXdW^12t~K2rSvLj{XkG&G4A4LVyXH&?pg>t#Z@XMe-a847gE3LCdct z@xZc|RNx(ffdr7IWMp~89Mr+9++sb7EsK$vvxfu>S2gZ#d>y*g-RFK#Ey)4cB(kB@c0BU>S7bNeHeQ{6FL#?7%FORdX5KeQ+V<_ zwg8sOHM!(>#>|?bH9*N3OsXFsKh1o%ksggg*+=2;U(NFd7#A3U=pzY=n`;E%tC1Qh-Y_Ve*chnf4JC8zoe#f zfzGGob-pkE(8=rb7}38s zJP9g9B?hsO7>ziulR6#rR=EGt6~?5RuZm0#E8sTS`R(>jWN94k<^xuiUvC^WweNX- z7q_;$zEKA(YA_oeg?ZrAEYj>H)sC3e?&)NGPk$BL&5(VSJLW-=Bf-wKgX~`&_Bb|` zd35m7+4D#mhe#t?5|dv);Urm%hMmE;hK)o_X}OnbA2^-HsTJeeQ9I#wFX@JNJ_%k+ z{SCNOxgdR-D%Rhh=BP&rv*DfpIrNND(23Rn=&QR8@z0DV^O$wHKD;dy!iYBqiH7*7 zKQlvjg~m}kKMHA@bWXGW66_R@re7Y4@R5amUM$FWG4Cl_(@V@;%NG0~DLbqUY@v80 zhnU5`6ATTd(WKQTx-`m&m|^PEo4*AylafsP*65JeBf|25Q^paQ0+o~M$CV^Ua*rxP z$ai`@;``+zom^?RyA*TXNWKy&uScbxGthxy`s#)udn?~_F}>H$uQ%?KmrUf!l1x7#8Ha2wh?I8XaZ2J z^?{My3k@p*7-mu0ZW+DUPj%?nB-Hukc0(y*m9G2qxbv@$xT9K-Z}DsQu@ZDw4ZZ z;N2{BMLYQM6tvV#SVahUC>sC`aQA&i`+bE}Lq|skU{eXtw|sClpdom8R`FHv%_5@lSgqnv+CQC_#B5FSMlr+e-7J)E_o4vM-wSJwt5sT*Vq6K5Jz3PE2*cPbw z6imxyOQ!%Ew;Z-f=geg=&WA&N1H81{d6z4Yvbv$?3T7PIUJs3b?)}}3nysyE?+w6X zaz%ii)3UMg9$^}32h0p3HjzxBoEduUh6YE&>7sh1tQkCJk3`RB&D^Fmw8nrxAo+7f z`Y^i8tOpCIZ^beM=33{5UuFn3KCy{rGK zOfK2jBqmb7;93$9T8xQap_VW;<4jnRN$>ByD;1IViAjmUwEct56Bd;ZKsP>QO_-iu z3KF!9n7(zyrgc|@!4@6uq~+yt3;>@Nx4W~Mi7+DiLIB5MKP zp@pG?or}g+C!ybzA&MHT{5h6MFm=eV=MKXp)xLzRuN1L(OBBi&cykW^73DL_-Sp_b zV39>u_N6;tci;0Al=0F1E-y|w^@sRyuk|=t$l|B<-`uDu?;C(ym-OjcgY#O~A3!ZQ zetEpM^8ocdAc7+GWR|^X z6sJ_hkQ*$Du|+s2tB#wJ>!!&laW`thsOoxP(tf-&YE5=4z4F0<8xf`<1TaSc-MOq` z-c^T^*QzPBD%Wl(dq>ghUM`Spk+Um>BsqYD)=VT!SuyxYd+OEnim#Oq*#$&r{*YQE z71a^1-*&NQGqUp!z&6?=R%gZ_&ltmfcmE>{uDFqajwO%VK99ai7duM>m)r()9paLuL{YdcQNX=f_rYBz%7AJl#8Hsd` z-5G>W=yF>wXZ*UVdaAo%^n@5VV@*Rr)C!sdV5ik$C-Og5Ypemk+XmBWis_UaL^b1> zR0U6(W}Eg%wV}2FEG&MYim>qOWZvTMbIx(NoJ2+C<@p8aUJ8PxSoqHfRWRPjCRrz~V+Vh${*1^QO3$?Nu=AS-9d}BH2qRh&1j2Ri2XC(+uO0msO zQ2@3ZC4Jj~$&YkMeWf(J^oFXn$t1Qd4~Y+f1zVwZ-?uLkWk00Pj`_oTg690x;poh) zt)^sd+2JV1!kwAlaUbEtrmz_TOE@l1@r$j^CjeY0KcUvlLlw~XSad%f1|L0Z^XOyz z5+=Fx@NJ<)|KC-YR-D_x+OK^4;iVEb_)SIu`#_^8N5DGp{Ec)OVQlfLEQ>}GLeSuF zpbYFQQdjO$;u_uM{H~}bxBTTnt_yBg)Vb8x8^lpY0jX{_; zVA7TCV*v~E+*X@)L&y)c`Mxt%ZfsnVs8=SPAt;ip2~e_xJ;l2EH5uzH(i0U-3vd;Q zYuvSNR=2L8iyl~-Ie@`?*3k>>K$rSn%@|Y7UI&LW?TM}iZYe`#;>NXHn6_PtAdzl1 zp?Hg1We+ln^*>$x@7e0m0ue6Ulk! z^Fu)CNicMoUWod`JJTZpRR_{*RKZWP|`ZT z5nv0(8EAUVrYa*n=E%0+bpWb8Cj)!q$DJpSgyg9uR0|{pLPwkMT8is78YF*LSW<%le z?=qnMW!&G{|LQ2M$OSl^o-dNmm6sOf?xxtDP++GQtB!TqY54g@@Trgu88Zj;@;u!W zG|mbUvm+bpEUG%~S$BUN3n{cv$@r<;qNc_uSzHF8;~Hsz6aF`xj_0vx?Elu>?293D z9icX|$xW6ooxwTSAD`JV{`S`Orh+`{+P$1UOSSN(I#12}F>$nh+whdBVR^RIm{qCp z8P>gdKlGb*3`ga`Gyx+C^Lan7UR=dfCevsX`SU4U&N|ph6sbB-p#v>+>PXU`9FCfw@$Jjml}JAuS?fCMlcDPZ5)aF zboK#Gm4WCp@^bBtahmw2tgY%%d)9Om>vfMU@H?Ql6`0{&sg7+rGok+tOgty3n%4R+ zEbbt?iZFEsrz_gU-h;Y1)8m&XeEMB3HZMsmJ8RU*pJKo8nc!QDCJACOWVw z&DJrqeq{^t3f{S@3LkdX#ArRQ-h}Pbi|^0V8*LRn&I!Y1-UbcAU<-oSKSIbW_P521 zW~4_oNMmBO*!Y-X<_Y05u+xg_ZE`%FBAvR`X7aBl$DkVY&R~zb{9HL-zM?w)sQUFF?R+>g9fImU<5YOLGT(gHmWLam5sLL{{7%2LX%Ek zZ(a}%iB1*R{uX-R)CJi`3u986om+Vm$#2>T@B)7ZOq?fR9GEkFmA2H5G=|gZe*Rp< z(cmorOB0S*6vWmMTxr5LL=w?Go&h@>_W%XU-PRgWpRt9kG#fKekmO3bn#xLZCR^|S zhEJBL{Du7_U@QKb_AEr?;#A-Fec z*Vm7WN3^D$A(>`dvE=+rw@E<~d@x>RHDXNAz5`NiZS?!g;BbJv`Wk)!yc`AOns{<0 z$FJv9Ku8Ori@m3X$~2%8_5+XRtnqX=#SGS;U=Ubk|}%6UM3-k5>MqO^s@<}$zNZ6m8% z{PuHJlBTD2tLC0yZg_|8QSQ(0>K)U19?)+9i+^!6s^=lwAV zk4XCq-^UoKiqV(hy-Wk2EH11IlIc?R3%>iBQk<*$bndAGv!|#k5hlY(%otCOVB?4O zZpF+K;cU!+pS`RFX_Ag@S4U1Nkn~i(fBEmluVVh!RTC|kon9$Q4QP%?F2uoo1gu=H1Gyf|tuq0j zO;FbRr85p)woNA*2Wv+n0wH{2knci#_mjO1fzA0EreE75-vuGPOR|LdrRBP~5TerE zC<7}U<`>LOG^sU+T%*nIwoK%^C?H2&%@R+PBiL!GG$lK^r5_y~#+9s^{2JAmX7 z#u@P7DDh&%v2lYu1*j;M(?uxIupibmG4cPd?rFN;JAPK}swT4(6U@q2yZSKa5q>Ro zfNdH-5ze(&BW`qGpAmGc1j~`F_kKU57;4?xL75=p_=T(x0DO=PxSuYA(ED}5w4>b&%h4*#2KHQ;$=V~vKr5Al=L;VvvK z&s8_dmE&q}cWLR8v~^))R3X0VbM*2vCyjUxUXfIU>cR_x2#~)L3}xaJiw}}t92Clh zY(h|+*=f--(e9UYq{}~G8f7d1VHJRq{RMuNa6s?3QaB( zWMkPGmrbf2qT86TCiA%Y3O&KSix*|sDr3cZY_HVB(gs5}aTQ0UDo_;MozmS>xZV?KZCc zP!Wt#E$0*1Y{50ynPubLe2~IU2cVMuU$04Yfqlz1I9zhh5qI8Dn81=DX;VHOw-#aXZ@NIgu%$SrK#Ka`6kDuq}Dvnap z7TdYXVby;{a76Mv*T4vicIqm**lVV5H^d>4;Nb$U{pzHJU)GA{y-3~$lg*Ba)2W{51%<0%b=kzD4+@rCq|_U3Gl?>v|OW&qf>^M%P8av z&REVMJfrQDXVr{>W(*g-vi9#-*47qM_^By+Onm~MBW5h6e{=&DPZS33k{M7Uv^jNk zsK|n(0guw>oPf72Ag<4CtvBx@Zd&>DysP-HW|{7ovcMt)sF$>Qw*XqCnHOLkV{>LY8v~O>s1(q@c(XqyXodv38;GX!|3~*K?M>zkakkntH z+kRMNDB-xa0T5Z21ms6SHEj)>HI_OLxdDxI&0$hjrG}~;qwjXM1^um{R`h|vqWs#P z_Z$ACa8u~q_c5YRox!ATw)<39I%hJ;PIS+b(`lro>nyzYL&9e<(XBdz=_Cq%W-`5v zsufC0qnS8ok<%!k3yC4YYTgV}k|#uEn5Eh8;xD$#E`Ahd&|VZ~9;Vd=F~~hVY1)ih zbeENm$ZH~GJ5cRytoqTZB7yn3$Mu3zH~Sg!u2(WLOFD0elN60kGAf7@%suNEz%BGpzEO zwb#;0EmYmtBhSweKAil0NK)-^Ql2rwgIS!!VpSR;(2R3+yz1Zf0@wwuk7Fjpx~dUt zto;*q?B(&4meCmC6JdROc}#TF3iM&rRa9Qk;RcLY9JlSPP}?(R&s(KrZVAD)5#c=!N^WD6R=}sX#(hsSh1Vit*0MW-j1LgR zUIY9Sb~=?$kDto`xmO~-!0I;z7xbXn3IVBEy<30A{;5s$fU@;JwTY83C)B%p73+du zcH@E0EFx(7@6toNLNERfJ=dh5V|Tum-5!uruGccBdj=f>aJ4YrE3Ie_a{FClk9T_F z!Zf)3cuI(LEH?I1yJv!hoU{k(n(8USG`XXn^+~+F1vkjV1kZxwK;*=^Ye=i-sH-CG z+70wl?R3kNP*S)f#TfD7s45xHivzhVM*SCXHq*|$(QG_Yv)Li52FR_3zjU-iHpLJx32NkyA3Hj$1_oSFM@nvmOq zbB~Iyu6;1Itb-FnN1N|Wp-#1>X(|93aIU+yM3V~4Rt*#UiKCabJ=)sXz{&b3HX!-v zFQA8G1py@6`PVI?vb;`Ry+-#ZPi1>d6Xqjnu33olzkO2`VK`a#X*W<)qo)qXps5#u z;aq@5)&#FN0R=OeihyQthSb+{TfhQbT~(ECGyFCdpXN>41E1rE@3HgmW2g3S*zx~A zZa7N&VOw6)&(nIbxN@vSYHBk{Jla9PWwbk2_H%0Lb0W*(_$LHfMon(427sH0Dd5wR zHIiX?!ar8?gNpReu*-(etdWKZr;?zPoFX`cEF`~#F7f~aJ@mk2EA}f0_GS|I5v;qS z8fe){9wg(C46DiT>|@}1Bv*ncc;d{PPQ--4GLn(jF>C73;fN2ZQwr~NUj1O}6t}?T zV9%0{v~~tS)ZvxBb9*&o)b$wdI6x@sK-H@1@ENBvAOIzWlz|J@+>*8E3Z4>`3j)0TJC#=KhhYL+}1as%{C!d-Fa<%>__Wh0Dc5f^wWr(PGvCO8?WC z-QC@=i_^*g^IFHozfObaeRn-Y^@7nl8r&g{bl+`eQ91-so}r_(<2?RiuUBvLceDF- z_dq1cz1KTc)740I@y?M!?cdhOy0R7TYi?IVo9?VlD%>HH&2YK^Ia$lkcv$6#KY^fN z-Cg>p-Ps5Gf+YA0c%0pd-A$`A7Uc(|8l)7$?Q?MZ2u7^Cp9I8>-xkW3)k)heXW>~W z*?HO#q815D1hT2YGlbY=x(j%Z_5*l{btP|xIHr=kzl%He3|&n2^}B2p)$P7P>vDb^ zi=hLkz2XSPqg0JqUj{jl;p8rtXJK=OtJ-z3sYYU=ms2EK2cep6^lI5KQv*6B5IJi! z?iX3RE%7T`8Tx8R6IlV=9y=)Brn)A6si9 zZ<(%$}j#$oOmzxB9 zTs)LDCm%46M%?%$XX>visk0u2!8|ufr+S_XAks=f7&F9Z5ecVouP9bh(vs6@OOfDT zdeGlq7pn@6W1t%~6|QAa%uOws>SQ?&bhbj zT%?JrnlqV%5XGEuY2mDh{zy9bmH18|;rEV0|yR>R-)_d-9ik5~aH) z7Hq%O{TSvoDJYHAwXBJ%q*oJ~QcrxAZe?UqRR$u*$sO%H=sOSDw0p_IK1y}PpV-X= z+egM{H~Ww!kiIjNN#7AHEaJ0ys}WwQCT+7WP__04i^?Sp+}2PkC^@>)max@RBTBH} zdtPalNIwIR2CQIcTLlrSLr8iV^A2aLQ-dwLV7H~l#G* zuzX(9m19|8D$K{HCzONgO}zUfYfbmcuQ|0#5k0AS2y+jZ;N#ewKk;e#xuTYLKhHN{ z4*S;aI5O>dj96XE3<}xnDdt+R+}NL6-v@n8(k@;p5eY45;wsH+P&~t!Qq2xW>{qsZBL@13P%dRW8)F=EbpkHrP zqXsSZB-5`jY^`ZTar^@?QO3poUcI$9YI)o~{M#o86L(1lms&*jmm7Loy8Pk)Wg-gi zSN`a-;}~_~47Y}3LONN8hk+E%ALT17|0>Y{83PQ2OQ012 z$;EowyQbeL!=9H$sGPp&x&BV^_{+G>cmKDk!XdUn!#wga5#5uaVXqyLQjz&k{>8U_ zfdPN4hFgRZTA19VXY;=)*TzxsTkxF?aM1@R8ImdP5Yo+8eqiRDvv4RVWvQe*=`r%l zJt51oDW6U%of688v?>06d|spt6>XSZ|9Md36WWOA|J-5jJH4;tMl0}3B(9Xhut?~H zeE@fx9UXi(p!Lp!?%M25Q@3$y0qXvt_VQ*iW_j#9P5d5Ergk#wdb259Ot_(g(Fe3t zwCHqOVXw-T%pF2Otb+p8ZCPhJSyv@nG|3e>j~GL|x1XbfLzBw#ptp^_Qyw>)jc(B73jx zh@V2qZwveYV?v=9MSh%i&ES9PV+ zt-SP@ZyTJ2%5z_bha|mizvZL*Z2TRLnLu7sZMOF)#m?BubBDmT-`=P)4R&YQV(M+x z4IQeoJq0aPT70~`>FF1jDbG8)tiG6y%mi<11`q`^g=(Tjyivii+i6xJra07GG6we zs!8>D)^?O&5i)>wGiTP4v0Q)u^4?*wW-1Y(aibO9t_OS1voO-n$&P;H$nCexT5?fN z?l0hgv~I}Ye?Ak|{(RaYv#7fYDOAb)+xwN{v50M>kUC_^u+4zv`$Hy+%a0|5clWZi z;?uFo%H_@>i`4FAbp`h+tHJxlo9^YS$W66KWlqT@JtN9X&XcK2eI)BV4WWqt*S~mq z<;u|w0>+<9;vXM46|4CP>J0g59W@vB8%Z}xH`aK$8!O2P4y_OLv~Z|GKea#QytrsK znw1xeg_ht+T_ozpv+Y-2UI1QPs=fiB-yD<4IAVsI^JkQBl$jqz8Oa|Bgu{ek`z-fE zM5{iI{tsLUzzRkghR_E{<#FZQ16_lTOzV`c@s z)~mOMZ(_DRvIz{lRGX##D0}?Lcycc_@K+z&dVQ9Ci<*VxT&RmxKzqX`anH&O$sLt9 zJV760%N}0zR_h7egr(2jL^<)DQOt&(+ypyZ{K?N?-QJ?5(Rg=XR3IZ$!*QLm{UqB# z^!nWwzfBnR@|B?dY*XO%<3rgiQK@=Gqc70BJ+!}2 zyf`{A{Fds6Z!6NM^TrG;)}~a0C_DxDz+_S>EUlier zKar)Jy*kIqZiRd#crJ+!UQfm4Y|9Iz3V7nK1*tTwuQTT>yQe@S5la$?$ zD!#)qXNWXJihxG)s@1fHYadk-N7U*yDY}$HJ)X%dDP>QK(ek4KXS*vRiJZ@d0Y>-D?)swyO_o{kKO05o^M z<-HX6=N^+d}iTdAE_)G`+dlKG`G8SnjDs&N7uQ=3^M_s;(0>Cq2OEH6{o)KIlmMgv$kC`pe|Mm}0VcmVac2Dqtbi*2 zKy>f{Ea~p)7bz!x}`dQ+4{kUGs;70d;`K>XNCFSS4tQM*43G^YgKat2x+u!L zsh+k44BGzPWuUu@o?cCx$|E7PuAw8ziPC&s5UNoGmnmcDbUMDr!ODFsjAJB*4%{M^ zbJu&kIS-W?h1S-?)@$dj@zqsnb)!Jb4o8p85xDeVAJAuH188DyC-CSAUUoigd;!^~ zG*D9;k4OQXP#3hWhGD{H>#d2{uv6ny`!5tBHaj*%D$QgTWUJ)@z?^Ys3s9;mpw*8Q z?Gz;dW?dEEa(PWc_r5yWreD7ceE|mRQDMy#{JJJv*{R(1e)-FKd%m{Bq?iv*`WG;T z;1u%)e7VCzDMYFs9M3(IzpLPKi5@x-}0WxXs{O{|KEN7kokzN)-mQFXm_pG}v(r!W~B;+=NSN6*vS541h5P$Y`he&KlA_(((W zgr6)Py|J^uAL^?Y!gy2lX8Pv8IYWV9*#@2tH33<#^dpV?OZbUFt>Ct0w%yyshC zQOp|cgnd({+SeJrE*sAmu;jy9`k|E-bbtWl9>N*9&8Vf0IpjAX6%F8#Y46o@_-VO+~}49Gy@4h4VLT! zc_^QUh(n%(p}|QEG#8+6NoEK)H;Ha>Hc8<=oz;Ti$-zAR^-vWkG$?hG8tP~?|vChNK+ zoi2ddOtH2`?K>GM6l4rtsOxnbPE`U?uE?zqxE#_%v|iv(l9AcH_`d$yIKpfpI5|@% z#cE!2(lrgxz>QzcIi~o6I!c+QN?;wTELD+H;VI1)RbwGyaYE<+F$I2O|A(rE8=^DJ zlfGeMANb0~j20H8u9v6@%PvJV-KZ(DkI~rW4rNW^zyxJ{Ja15}?RNOV#ty~>$Vk)H z$1<6?L`-g&od!4#RoI+k*d$O)HYt;AeP$(=Z)S=4fYwfNOkAa(h5h;Ush%M&?X@31 z*SVn)z4&`fLSO_oZG0z;SA!K;5g6#L0j3(@?plPg|8GHV7lo1tYiGJ=EJWfQkX&3;{Xqt1kl7Z=w(My$@?oFVSOUTLb{6+Jj}#!M#xHUZ%uH zrR5Bf54;Ef9my6H!Q%vco8V24Q6`y-OG<12Q}|QB^^<@73>}N$T>%ua4Vb{!-`-xI z?Qyo_-6ALeqqJJvsR%&tAo);b?@Sc1+yA4th>MKLrqN$7P-D}EQv>-Uf{lO?&^{aM zlzVVs-bc|(-P#&6R;4b7f;v%~tQ)uLlV!HNFU!7=NP}Wd=U&}**04ctBBtQcRTg5F zbH7MJ-A+Vy1Rc|ROwbFZ*jFzGO;j!z{4H`vv+MUdp>qBFB|Jm$#`RG*8K|AkZ(LuE z;a)eR4jc}(cROQ|WQMq$*KUSvY3aHcVWIruX;J88aTNP35uu~Rh7(-?2{V67Rs|C2 zwyuZsi0x+p(=+X`qi_bLUcY)$-S_1&P_^D}dNfExsCyz>Nkc>O10VsUn&w))MhRnn zlkpZi_`zfbz~r^O?|=--Y(NPy0etc6wtvNLe}5zt&xaxu9#AJDdYMrQt27C~GD+3x z^xv0p46sn5b05j&ND2oo0(^Ertu(K|{m#08O(+_2$TBdgen>U`0wz+7ptINNuZWBI zV>Uzm^4ozVwySAqk3>W}+c*K(-8{~*0PYj-{Obv>$s2O~&Jb?j7tZzk%AJ_8lWC({ z#9vrv==K@*_IsU&30^%n>3l8y^|bc*s;G!g0m^fKIGbz8L-Lrdn7wA<%8;CSCWA`@ zhHv+bMW3}|Ic8=jX7z<{R|nth#UO9q7hp5=fX_iMo&T-EfZXF+ zVd^*vR%c=+b!=K^g&mCyRpSpjXzSyOTvM8@=%eqp=c<{bp9?_4sF~B8(1sA;FMzKl zI^eQHotM|xTnxp)`U;lzMx8k;0gnL z7L#_JX!N?Z5=&HuQqd}G67r%S#qp}WRt($LL?i^k;h8yOgV3*eqpR z931X1Z+|CmnmJ0B)m$|6f}eV80ZO8PN+)yS^7wHQX5Js)voZ7Hm|pHXIT?pLM|($) ze>Oj6DJ{=h<@UExiOWz>j4$GtlkHY9gnjFDvnWy5JK+z``gr|m?BZ=_d-t_^oF+12 zuMFz;dj9qFG7Gubo2zw_7blzsO$mUVsub|OGE7ZQPQEiS$qIY+y6v*}Q2gQ4;t3&!%wz(fil^@5}SnoF!qOLMzhbXD4?a(t(0f$|vRhiSeVRGfJ zK>JtmJh^0So44*&jUZ^Z1-+6WG_CrTm_?aErT zR#Hi^MOM8T<8~n%b$h*=V=xFtIzVbui~)KhumU@sc~K8@nQ&SAjK*%b)?}F5QS4$F z+8slMsC%!p_v=U4%kQ$Mq+~=ER}8u^+sg1AUAB`{M4gqT3FIk=G96?qajR+0k+afD%%l1Oc9BYAPy3 z2><)5^nIF#Z@0tlvQ7R*V3WEo^O0P3L5EAqb+3f^rwmL&F!-e!X2`6w8hTeCw~Ael zLh`$JBI)CkI3!62JQP^hTezwTQ*sg=gK;B3k$v_#5uw0*fP-Yhm2IP!=qVQ^Q03Oa zRsY^rn(GD#!AX#(u+re9`9Eq@@r725&}}=*uAH#yezJXz&ESfkn$)Por0+|q_9;%9 z*3hc=YVUoD2=NDh@?YdBh2-;&Gc3UG8@~koAHLo?D$1zu{w73Hq!DH4?owiC28Kqu zQyM9Okp>A#hgKS-J0wLyN)QD}DW#Dbx=Vfs@B4Yyv)(^m*78qudBwTT`R=_x8|gpf z^+?MZHW3Ey?^8a-WHN&??TKDY)&>PMv|5l3c73X+M*&(>kxyLbDq0`S1Ekq)gaQx@ zCG&n(4&Kqe{XYj^+`F|;5z|FUD>t@TgIW;n0BdzgjfIVx9dMelM224 ziucGvkh;X4qC?Xkv%3;hqEQC8++_@cU8j%!nkeCMCC$^GXX=-)YghL~r^Q$B23MIg zYlGVa2WcWD$1?E9JKQgRzobaONtg`DZMggyz3acL*Csb-Txa)2(ex*CHGV_CBk{z3 zowEdjm~L8hTE~DWjl~({P?O)iqfBu|)6w*-KBr_8hpY}k5$P_E%;0v{+?$RgfX|z8 zJFvQSY5m{a&+^3#_hLFj(9Pxi23YQjfB?%e&3b!*rA>qXC4rcT6>(ozL_o!#m7-g1 z#6PL+E-!Q9NXETegs>uJ;bIW155#}z&q={jmKcJB3PuP`j@OW~fC@%Y=eQ&tbwVu# zhY;g1$m0Ymv-&;`0XZj)!jM2gA{NJ(KD(#6>yc5pq~XIPb2JphLhwgT#s2SJxse6n zan(JfjYap7)m)zXg+46eU2c=+r)0i&b9o~F z2oIDySF*9QzXvqF%&LyRz7P4W?s#qeR4eH8{g*v*xs5Ds3~*MHG4uo2NYP5_zeR5o zbh>kr|9$nE@J>AJ^LI^Z2G!>3!GvT-TR5xg)Wml;x(7@d(@`ubNtkwcg)1DSEL<@@ zD(D5uGCg6d=U;VMR1F&XeyJZda8(S&+4jlzgiVWBU?+QOIU!7NNWl*NxHP1UeayF2 zJ_&>KIraJv{SVZWw#$RBARGO{<>+}`i(iL4)KW{>2#KY26l`mjGvnS}a$Q~ZaAWC( zi(!9aga@YgA;^B-xG~hTks_a?N@A@S+y^gHezcXLGyH%9g$I0dgIEXeK&rJZO6!v{ zpPOgM^{xbul^RZqu6^)Wzfrpg^1My_15bt;Fbp1nCS*Kp6d14W^eZ?xu!BUC$V$Vn zUnXMfxuN!823qgFtT5B!Rqh=Ca!*UHKnUx_42G=$p_3e6Dl<-!ThLfzU!%P+4sD) zl)^}Ln~emCVo=kmkC5kMN9~{QDWh4U1CsA_+R*h%3K~h^mBO}W7Dfyt^CFVA5F=8} z`gPzVas=@A(L92D@+{DhybSw$J>DUoo)sO9cMI$cBRv7*Wq0dm$D0#i=dut#sV=?` zOCVeaZnk{Rs%BZg>kxb%q99t|b$VaGFf(l=3_cTd`pMuSfgw#DbD{rTE%;QF$iTBXS4))5 zYVP4*ylMzN5Vh+1;!X!q)$_SY(gult4W)vYztTjt{TmTv6RC;=LI{7(NWS4&b#?rz zT;aOqy#6OSoRW5LuPH!|6_z?&Ojy=H`f1qe-QoPScTAhag^tXGIHAc5zY2t6iB2az zPgP}=>`%YGAtvl3gGgE&`JM04B!{-|#^vA^4$-U;MH%W&$1@OnpG;suG$?=z?J7`M zLz(?Vxsmrx5T|KZhXdC`vSiBC8Oig#s=-xjC308uZkV2#BZ=Nuk-Z0bhv;4w=H6g<^Mk5ZuBKqNHA#a)t42bPrJw87c=(kA z>Sg&Msh?U>JUMFSnC@iX_7QrXB45oTSF_oXI}q#u5@3-uyho(VUb7-nQkFqxFu-W1 z^-vv;i$$2bCit^zs-ngVTJ$B@l=cV>RjG|N+(uda`enC@47{kwsw=3jP4QK4mu54B zDjz=jW`o&>c?a=TnV@ks*(3=?>@dA^cg63%q@ zRcVyIcQtlQSL*n>rU?s96~#Hv+eliQ=CaWd3V9{ZB$t?0!`k;Tq(4@=C+zDf>suXr z7Q~rInW|GKEXVQN=%T}n>rgl&yLc+O%&C|_cZ?z_Bh>6C$ZksL78$%q9#8@?5W}7@ z5cVVC!_xB>W0m00wh*n&zqnj3{UU~+(`W2)sbHDm+Pf2ejiHXXblb`LuA)@dq=SpRS=Y|I@@)}_O{6L zxL1e9F#<~J4T>A&`4G(a;g{p}XI^B8Gb`q-QH5(3WTz*!2&K_?$Ih^orKW~uaf}{a zV7nw8wJhRYs%j!-SO>l{_7Pm}i*YzTdkx^vG{p2%u|B3k%`7imDZ&F`cOo~(b!;0% zm&hC#X7j-Suv0ED=xD9K94FqpFg99$MK!DVvldtIIu>U8U5D#GbZQnArKJW>--f($ zq*uLp)c2%7(A=kzCJS;7(G{IL3LkDGk(Nb`!)6i^*#5J2pe^{^iR@kCBtpYbWUy#C zxCs{M4F1}0U-||4DoIY|-jYgnCBG%G!|~cehqP!Rk%LH?4tKm9j*kcP&VGPK0m9sx zQ~c#vq>ik!4Y}P&DT z;R>b6bSmd0%*KAAp6v=MlyHH%%@8?=#zHEEx{ z)0oHufdlb6?Wbl$nn%C!W#Biiy0S49az)kXdAOtn>Z$P^?h1&b-l_l2>!ct5C#Ow< zzVW%Tly0>0g+4L56^H72W;F++U?wi9niT?3iXe-q2jlj2YSe^n1FaP~(sSGWZ92yj zXc6ZW2+vtyCjq~4O}8w5F*|+}sVPjwlYJnT!3g8Aw7@U;(48Omietu#iv=h=t>Q8h zkP6jK!Ksz~aS?JxHzp~eSqToyM~yo0;Hjb_E$#=Y6A$-A3iW?6s*&NswTOn}(AiaM zn)`_(IpX`uo4Ornd;LnMXBvLsL$L=4?VVE^@>9`_eQ1ci~K2|lR;;l}Vo(rB%S zv?Jpblk;8oGH%`NS_pPg0?Q5-L<7}K@#}zkGK613DicGcQv|0J>zNgRR~=aKgzOkP zBll8nXmIZ?B33vMx}2-WL$23&=kdD^;##7Q$)G9j(e|2L>kn{UwD|f}^o4)M29g$J z6;Y{4G%$u!q|8G&W#Be`_5HEwGyMeTuDW>%bLx?3B=wl+{~XW&`oetCj{qiRZ15a@ zMozBO_aBKxGg8ThQOH4SDUF56Sen^ORPxZvWxO}~g_MM;Kws@E13 z36L92DI~rcUJ6_diiD`y^T%Ym(^GF;s2QJ|Yj1GKr&&6qU!RZQlU|V7ke4wEeh;HK zUH)uXnJ|S)1y`UPog`mc*HRB(!JR2S&?MsxW-l=vAUAyKCzxo!`i}CZ4_2)02k)ba zt3pS#saFrI)zKrh=xEfunzRHFO-69^Oq!IXH4?26q2$l49Hu&4AKPPl-ExX z-UVw7`)?o?jV~iE?B>yfP#R^jSiJyF#Z|IJ|EHFHpQp(`IHq)@Dh#<|l{Oxo_ppm* zDT>i^Oq^tRR(z0y8=vnsO5BxIiOd&~rxnfjFwqy~{o`y07bz*o+9Y|&K0t7xCPt7Y zpWegspg-k%Hau9-l3|dEBr==>3;dScj2+#2jfaNhOA>UFfA`7M!*j}p`j8O+Ws5zfPTYL zaKQ1Lws|)K{N$$fcY|Bjfc2lUl=>_oJzW{7zWIRv9WyW>OX-x_nUev0>WhBmdX;%# zsQVNU$JrPeLt9?%s^1si3qF(lw-PZiT$J1o5aY6lZL#kEY#f`}i${&RR6dRB7!=6B zGPAIAKj$HZ))v1QMOm+-YVMJ5^VfA#qBV9C+EWs9>s|j8uM<57v&o!H1tpV$?5yF9 z!EO}Wrf|;C$AN9!B7QAm2NEkdsSz+RZBJ>(JF3jPg53+Be40sGxilY+L)^&A2#8)v zc$N11ZO-xrZBy%bj2Nd4H|zLs?rj|=Yq3I(ab%s;Gf{qb6ut2(a*6&FW<_t}RR)+9 zf1WXJ(SJ0#T2P)t#&~em|0KLR^EA))_5ALnOL{BG?FUY%gv=m1Fa3KUskqv!LSwdt z@GKCB*;iJxVXpV43Nh2tlEtUwDF8hq@plQS6)#V=^Nn3ThToPorAr01+ab^+v5PZb z;I#p?nrx~;jRpD}8VRGTClco?NmVD`Lh$gzLElUX5q;3*ws6bEX8COu0Zq`AyG`Hy z+jozM_dnB25-jJ5CM!$Xwa>>o_U!nSMg)4beV&dUh(YaaCZF46X zs+wQCw8OIW2DB`cpt7mMTFK{_2yfL$#k;4(bbjAX0G}i?kL#lnU3hA&i#uc3#w_D@ zKbeh*HvA|@s_0}rEBnIzsl3B`_JOH1t{-n|k{;D1J+13rmTrX8PB3k|jVJN`t__uF zy&JhHB1G^M>XGl0={l(hN@yp_SOfto%^FX(%zM@OEHz?XgY63908EBy&pt)IxHMV3No z6M0NqhQFr?ZUBCbXTbM=3z-)Pg~G74EST|TIQ&l&2z=Kcb-kZCljYqn$f!Ua8&VI_b}J-|0*CB)D2f=r_D5;~2?aN3HAEMBs2U zyZ~Y#=|)XizGK{o@_9Tkic+NIsh${;t@VLPfHYq}vH~j~_iian(iBe+zaVs|L_(af zEGdLo6y=%3fPAi@>_T^JOok|sn-G7Y@Gg&Qpq3>j*CXss^;Mi5h?MobMY{2B_czvP zi!&Q${iKzgYrZ*2-XXqmNt@P6gKQ|?r@~&G#C*5T$a^#??4zd3t-9wu2943h=eA8? zp?~~}q(8wG$WSWw`*}FNv5%$CK79$WJY8`AvT@xkaq#%B>FT7xy2ppOy@6V1x$M;n~3gSZ6S+ydAFXqv0H-t$lV~TAUp{^#fdARbU5= zoO-PttCl79cqM=a``MS+_n-kp)7G}gZK(RT$s?o9?{pM!!c>8+oOo@yth_1@{FKDW zvx^6ww@c3558YK0;xcZGwf&K;=HSqY#e#RMk=O(3laT+J+v?@r+dCMEeVd1bfv*sr zqlba$I0J(qheTsOIQSBhrqL+US`x88AluTS?X~Tzk>H}<-(k3eslKH{Z0t91@(7;3 zuATh#P+NDa-qR7j^X(^6Qa+80z@TQhc@QeP+#)_B*!E2LR;FNyPd+FjpJ zTM5XSWffK9)V=@CgEOnjzPu=JO*GREDR!L?kTkPmd0TuN#8g6i+7l;WrgtTt*T&+U znm!*yTD7+~3=qOnlrqXt>tnL+9bfr*E}x1m{ATFmE|%h~<|sZ&J{msKiT;wIi^s(; zNmiIFOlH)|*65Pr_-&bCePn8JOM8ga@r!aj*>7VqdYp%aGl>}H;#fpgai1T{@U-s9 zE_%9F#6qBY1wx4{e|`qeWhNpJcoYgwdJ|S-S?2uX2yo6^Ndb)OGklc;WB3Tx? zJ9O^POO~~F1s;i~>gt4G@}ueFBg)Lm8iT{CO8^nm$<&?`J{6Ap$0Q1d!OTwq77HbF zN0AZaOa;I7zj_3qZuO*z7i_#@(9VDiu_^gS(ViPo%FjNKE?LAy+T)V4gb^*p4IuxV z{cM1D9OUdrG{Ix6am3E^Yo1MIyDhSb1KO`1$n~WF<9ZL>1B0BLnteUuHj9Pl)M3+6 zT6}zUjD22X--~3a4`Pli#X7kMN?70_$hUc_^V#cFSRZi27`Lp~8RK*&`1zETm_QXq zyC;3CH^?#>q2b2mCT>(WS6&2q#jv#A)xYv+5kR0K{52$M@+pmUiPRJG)>T7LfnS_x}?hcf3yOi2hp)0I7f$Bmr>BVkzr60tBgg2H!y5PaXYFr%X z6iABs@3#eP6uv9r?+(E(R!_XoL&WO?h?}K(c_DLv2)jAk#B1u-iRF1XC_E>(20h&m!zG0+qUwgkV(t<=kaq33Ze)|>#dobXsFj70 zUx9Xt!hEDy^#4t$8726#_Kl`4%B}(>y$Gz&y5lz%=o^_HLz;~@fYJIC473yjz{pxC z@XFifzb`NA|Gd1!rEz6WH`_XVIAVi!Xlu87HeN6$?T^%alp+I;(LMXzEuw zIfDG$Zy}gvgQzS3^$Nii~jbmb;8W7iuOlC?{S`~gz*tsb>*)%Em*v#>rV-m+Fmxb49m)dg=;OBB$L`v zsZ3Cj6!VaVqc`r}qbI{)H#b?5FZDp(r#BC4Qu?+#V*RJFYhiNoXCb@)=HbE%w3hns zRdII8uVg%SVrl%i-8d_I@^x0x{TbNg)dyT6h(FRVdVH0|4tg6-@b_B+HAoROH{Nso zp-F%mzWHYUcWK?AYtbGnP;q5yiU0Hcs4L<595;8@K%7K@$e}mXaoOF7Req7+I4CEl zO8G>m?C3&g=tje&8EI)xCef%1Ca5T+`}?9yaHo2!>XUjbc@FOfNuu3|xTq#U-;Q>M zzE^?IgZ~c{|LSqWhC(?UQZ&P*pUoeouhhtAnx$uyPR6JEK%x3Hbu`A8L;qbw@mUh0*(JJcT;~G-IEBsb zgE)!@?VKyh;+=f?Z-#14@j2@a^NX)*zhl65qr=^7Dj^`hqez|P3jaDj-v1H%ly-L)JU&EyDfVs;pP=y(qJ2U8 z>?+%Bvyojm(^0IEqt4zs4DGDOW@c_^XPf}i30aqutzrc0%60v5_KP4gvP^po3pm z7~iu_>02-0b+rGWCN(|v#~N)K#|UTp1S&i&-*9}o>~V_W%ConGCcNPkuNm>rK2AQC z?gA=P#f_!NTvs(#bUf#7Atc~}lQ-;$InjZYYETB^x0`6F*0Z!E6yLqCoO~VX+t}4;+?A6 zK(E*a`C{v83mFit7=90dgpNi|(BF^w*LBM&+UViMK1(?XYLTUv}fs_OE8 z$ApY{b%J0vV;)1rLb7&iqB-qHfJ9{ST>L^3yvM%M97s%fF@PGgnLr)!0~s zlplmR(5->A!=O0cC&O&fnDsot~=GOf1C)b2Tr<>k`nhODI<%~J``KWH4)QUve)Q{9lUW2E~&a%gxPCG z8Ny0Qq5!szXqFTu1!@DOQ4}K zT*qaTYKUtVU|j%OZqFe&wTHL<7}^E9-|UANC{+8^0nj}YN)x*l>vdYKa@Nq>e2+;U z%S`cC!6nyDSIqOBk9NOJ&NMhtet08(zjbgZ3o3Wg*;o5=*UT8|`)IMIdrq-`5w~K5 z>FutP$To!(39h7z4~m4M&IMHH`GPXy4cePCxS}&9V=OEYz@{}(5iwJTr_q$wfJq{c zdN*dCc1+qa)c5S?kK-(ugi9_(EM_o2nj5!$b3x%akH4~tTAe8>B^?b2Sv2NdcyzaY zT#MVjH2!-s7oe+5?!~Uay#L`FHX$~pejRjxa7KuI(=A7-J}Z9X(-U^dFa(|nR{CP$ zs7SuOQc6#6+5AGL=tz6_c^dZhFxZ1T+xGIqJtuT)9Th(o zQ_#95A5(Z5d{6L_ZsiFvGuUy*tJnk5|D`bK49;ggV$2THt(kw&I8^1*K7 z*z-Z_+LpD;$=U+$Y`$FT_GbG-_XVfS&zR;tDuJ+DnrH2W+HH1^ zI)+hTmCUuwz!|NMukSmK(C#aL}3e z1u!C%^-bL6VPf|JH9DLF^jiruYZ!7msC`+hB(L8L=*XZ{E$s?wv|E0NFl+WiU#)K| z%D`t52pgV)RacpTeO(c}#<8RR4)1|gKxY&w&ih*QhFk$dNrsidQ6T{$_?}sZ&&?c@ zNqn>?0fI#=_VZfrL0#6KBB{!I=GOVqyht>qK>~I~RJg_GAq7LX-zw19SPmeJv_U2w zOCJ%_p`J(S<8gH>=H7`)Ex~`^yA?QA?6KsYtMRIkguTN34i3J5%Hx#mSSPBiPJ{tY zLTP3zAUkD^O31>JyTWc|wPb9#-Fi4K@LgRHd04Ve+4-9%l0{u(@e^W(&K~Z?ArPcbl(NBxO}6P~z;}7yx8Zh1 zM9utpFW|wy%7N6#&xS3YrHVhsLE*q{Q)2HEaO$NXmdref%^v}tDm%b?{7)3?-#7vd zHGJ8wTa@Bb!u0%(qKG&Z$n3@uNq30?sDwO?K99H$Q2nCTY{3X52JZcr->kH-T7maw z+a}ysLP?2g$$CPE?5URxGjq!JJ#me%AQjzUxUPbIAa!#Q31nsQyQl9H3D>g&u=!XKa0o?AKGpIl)3&52TE z#qMB1c`08g!;vtj1J{x-9@~>xa6K?Jb4rY5p8dt z$5X*~noX)|N_tdZ2er2g8dh&SJh>x}jqrY}pFB3y1%4qtY-(Q@MY-uJ1ZLz@gu5?a z?(ampKTS%coN{$QAy&>uP-IxBmBLjAgny}8C<5_%s#JN1r9%$-ONyW=^z>5`(*oO& z(x9fV>9VKJYT;^qhqYA04;PI~l~boRwL%C@$0ub()ULYC;Q-NltwKnQQVn?@jT~grO4brVf5nLtii-IlvbQ9g`*$Nb$AUbxR=>c!n0! znl+(`ju^rlt?{4NPUWW-*SL80H+=$Ooa!}fn!2WiYImC@TBTA(NLw`|Pg5pRjOwH6 zyZe{#!_AlJsMWK)K)q_B_O79D#~QReN;1%V z2C_o(xln+^Ptj1u7N z#{we_2*9DRFgRN9w4n}v0iZ?0VB%?VzH0FE2Ja&sbxifc zG_(V-Sd9UEnJNT|7&lwS2yRW>N_~bTPKv()*+#1r3Jv@3FruN!tA55fSnE(yN=3zt z_#p|QaU3>x`Q$KvYqamK!iCGG&Zd@Vh6q|v-<(!D)T?aynkfaF8r}Tn>~VwAeG$iSlBckxE5@)jHs=`EZ)K>2 z9yiA!bRVrNB6hY7RHT4|8C(B5v$|HJ4;-C4x=Y>Bi!Obwe79qi`l-W&LwXjWZblSo z-u84$w5>*#avR5=F?v|N{`s&0tjT!vQgB3=wm; z9FuAsow+xJN}f!1I$;UoPYawmP4YH#&y}qkD_;s0*?pwXo6G#DXq4EdJZjR4$G9Qt z=gr19r#|LrG9(6_+L010QK z(qSxRH|r{zYtU{NAVh+usWN9f51lO z^WtNt9j<{h!B7fkQ?i;4uWDO3)>qwEw5wEtcEcB_A#)#4eZHk)1;~(bQ zBL@sdb?$Gx+ue^9(p&ViAR8;zl4%#Xm2=c*f1evQM77VIH++~6pTK%`?egoR=FymI z2Ih66-=Rz4b)&<}T*sNRd*wZWYpz+m*|bxE(xq9DSxnKLcU6YU+TV&tTPqL6YwP@s zrJ2s0CtQUZyg9gMsHrE7$B|p3ZLelT>nI0{l8;}_e*!e=X+b;uh)-pHp$FHmwq`Z( z1M`+9dei&!W~SG82}MvHm#fg3)P@m3D0|AQ_VklwA;+|bkuG0V2ZY3hO$gHR5i!xx zuzPRp6%Vj?ya>r?hFR`h>3eBPNUlxjaHIO|DH=@;9zoIdH+uy!` z{_u(EMiV9m02g}?3)g;geW0@NaukmTIn+Q`Ap*EUJ>3LHS3}LMwuOu+pW%NiJoMzPPlIlNEjhrr*7~0Bz z9&)Ygc>-y^~` zE@2swggYL0ymmK!sUJQDN7;SELvc?&-RD(wGt!<7)y?c^2?rtx6 zZY!x$A5*fs@P53wP7o^I&SQv(Iy;Rgma|{H3Wpg-T_AQ<^3`!-LwVYebVg6oS{i;7 z4Z&BFc4zydPDt*FTp4W6ccwuo45~~5nJ1p!g9smpTr3vT!g2`K`K2>GMzYCOBHsqc zV0+oin#T1PCsRF(BqX{gxg_#%e8}*XDMid5?ld@ra7X%F?y#3bZ$?QdcM@%YcIS$E zcErUAI@9JMd@NdVKWqG&>EijOUEVJCF%9gzucYqKaiqL{GfsEBQbTxvHd%voK8x+b zy5ABMC02_;Rd=FII4al*7?BboSI{e1FN~E?A_2MOoe9QruTjGoH?JnD=Se0^^MT)K^>&>h*leX;tZ{JbNQ{jDlg#+$Ta9tu|`8 zMC{7^HMwDhjPKHIjuzm9ti7IE?6%v=4%nggSW#T#`LP!07DZjwA5|Pl&y>F)d0bV& zz-vX{AV5T)l#oIkd0_!%FHO$K;Ox2o*GY&Tm)DHuezVlHra!=G$sZL{hTx-dSXxH? zO97zK>7b2FVxZ$P1^@crhRU%vXthuEDriV2^OCI4GFEEFc|S3rN?5oC7eV#&y|7Jf ztIEujwpP(vl~h*yqlCys^M9dkr;O|htgDcoL3Rzuau9$@kr@o5M=!+gpptj<#>sMQ z``(SE`D;!&WKWpXB_(GTv{5+N*)24DsN|nc@FI@ph=H}l;6SHeWqwm4|AbMUg1xo0i$#uAbp6((meXzSS$+5Q7Yv+JW0{(E?6u(g zyG=&WPWSjn*XNe#VfjYZezGX*20@_3soVX1A=;EQ5{n?)CAvn?8N6hymlz$|N!@ni zctCO3e1h2o|EX%9_FJniDRbgyLlz6W8cg{Ch39wF_=$09mdP5z+WFP>>Sb@BO_)l* zx3+XSN}AYMlDA8}MqRz%3y%Iv>H^f0Y3L?o&=5%vI1bpm8q!%6J15OtXmJEm8d+mI z3hbS)1$=e?%~6~(dJ;Cf_?Hy%VPeK18*-+$uq7P{>D^A~kRV2oHNla>J57n3B$Yf7 z1N?NC5sQfaT{cPreTkyg)8uV3eR4lr_`IusK+>cuBXnY7LRNeMXU-l!$_Z=0#}f9! zSuM{1FA@5IG*&vLT4_X%CMX~{E;O#s{yB@a^MCweXb<@>6ko;%V<-Y2Kuk<-+ zhzGWAjnU-2ZLQq90IucY%qbkA4sGd+#-+za(;#+Z`VWD$e*kh5<| z=Lc1LlgEP@OE|ui^0PWd@R#{>W5qv(z7jImX^)7Uf4BWLwoSrl-zh+I z^JpP;)uX#y+O!cqmC)OIysdQq#Mm%*C>$ij3}OvxApr@#-G}+pxCP7aE7Ub-Ezw~? zfdsRRKjMA@d3LY14$W$YMwGBwLVQlSN!~dEqVwyv?lk<~hQ)mUQlT`84y}(R`aBJ~#9zrt+r$;bi*~p(ie2DAxM}5$CoS=HhbxhGu`x*tJa_6m;BX z#PD;6T&vpg$`CNW`Nu2ULN-cG`p>K5GR9i{s<2*<< zAYB>zvRJ6evBLAYtHK%OWZ)h(yMG22`9%-9f5h4Ng)w%dmRRLD$@Cf6kKl@lH~ReQ z<*S+=dX4!=wL>aU4QEzfr%{5A>4O`4cs3iV291QFISo{g5x4=?lkzh+m@oSSMN4Th zUHotO66DgY6rM*|Z9ZK6TN(A$c%nrN4W&v~%!23vYPT@#SPp&`al;3GMgHJP75JrwYn+_q6+1Mof3}$ypo|G4ODT zKOc-Dx%{&SPBs5?>_%IlFF_yezeB_mC<%O|@#%EFGyzANGc}f>Y(-yZ{lUc46Xc<^ zWb<(8peZ6#8Ocxh%{0Fw3ec9c?D^k(UpOLqUhIvjxp5->$;wj^A6j@>lGq!8BhyFe zMxl}reginjoAD<$M1@Zl2S#DxL3jQNq}AfWi;(_}37HBy+A{S)J`21NpKKbnIUf|% zjiq<5U%@WlVg3DJy5FJ#BrX+D-N&HPIbh@-J4=rXU1!zWf2`yI~M4Kn!c06|8eq3^0 zYaL2XOJ{dPFJXW_Hm)#OBS)dWpAIBc$9=cJu396ebB`9n1@a_5`~oNbvER?gpi}#~ z&{i^n0=|(-2jShYwOMKc?TI(AYdWfb4;ez{K@t#QZsRNqM{`Yddq%di(ktp*0KuiOVeI|9pb00oE&x9i zA$BLv!OB5nT9SB#s8&mo8M?RN-uP0+Ia!Ged9}B1o7yg45PyipAkZTcX(mqK8uuPT zmDX9hdBW@E3}9myWG}GFt)hoUpr8=Y;iHzh&mG0mKK2?<_O^lYfzo8{P@iF%>)IdF z;_$2Ov9dT;VZrASed(opWoXk>m(;mABTvoCq6d+!S|q{5!}K)dx($o1sEgM(Gmy|W^F_4 z*;bwvRlgtx?(^j~yw9M1lt0Ddv_Ak6WI>jk5sj5I>s@$zyF@vn`o&KgN~FINv{G)n zXW{H8Jh)8$GWxs=aA5*kHV5gR6S6#n!9($!$U&$69Sm9TdIPXn-=84UFFUj%D6(5PyO5swV5d^P@aJ$X|F3zG=D*4Ius{9gxgIO5y*u%QVpELaQ9msSe@#K=QPiVhZz*g;UOm@9 z5jr3UE9dHFnkCXhf441X$F{@}bHJ4oe!x-6ALo)L(se70JQ+!!xN zqM#^Cd1EL_`*KW`oLA5T)uw)v%)iX{r481y(|i9*1!dhvADWiZh%n0R?qj1 z(DnrcV4SVbC5ycV0b&`HG5y1~ zPnrjLO;Dh1CT?yzCXAkenp~&;Eo?&S+*__Y@PxRYp99ZG%zRyMOsHnN<<-%chUa(w zzNa85&L$|R?H_cTA}nCGNSWA2{eE?MSv4OX8mX^D zGk!(4x}AXVW_|*t^Io-i*UB@11#z&Od+XEnwG-Ko5Z!)`g1vj98Wb2feHHUIo6D;A zrL6(eQ!eBcA2u`wtCi%JApCEUs8Mukq-?!W$A*^0$LIIqYp@j=9TCF7xwE=IXGpi2 zZ!Ih?VPG4o{aJnYZ5yL7o|M!Gu&6;2P}D2C?A^;o$I3nd#7EBIvte#M@*#{`OYEw^ z5Yn7=khkl{N8JpsHty1jj6~8~})p0sKE(ysG zT*32qfP0O{iVI&neTKA;R_rM0N5%?RoQXja0yP&;BZAGpAkOG^}ps;l4Pw#%>U47``$2#*3ohcu^NMJ_gt zx3sufz_BhC{6Fr*pcQ{IKpH?tXG(}C{9z&U!+^T^#YCB^)M%{|yjDPXT-`t|{sHy* zs7&_~cJ~szXY zt`}Uh&(bww!s#xhxFhv3CJxq8rQ zxJd8i_@v#EJuWXQ3>Yf^4C2EB74MZSG)PC|aNtTI+JE|txGwh5R3GV6ntCQgUaZfx zK>^nNUAE63Dh@WbTxJyv1{Sm^9DKk3v`jWS&#sSYNd0S>oC~~kR#x$#?0gKieJy)k z_`Rp$Sluc-AH)9ns{qj_1tN9(o=A(!{A(vkR1Cu>&BWkTo+2KXY-&3ZXW&k$S)S`0 zB9sYmq?3aO0;Wh?7P|A@FcBRt2#Nb)*ZUEH&(Bhzx3*YC6EW-|_h~nc|eKlT6QHCHfy(Z-lWB)D6YYj*t@zFX4D} zW`C~MQdT(;l{lsE-;=cE)_M0?fr1kKy_b=TTcwm<3aN}UwDf-mtVRGmUtn{s@1E3` z!lI}(S(T^53B)>PxNzqejzQh6Y{5LD#|zpGL2#G|M@TjH@AL^gt&5;?Nnzjj%w?OQ%zy?^;FsYqAx#oH_G z(79ZByXg%vg_Jin$h`k=)ulMqBv^X#ZaX#h7Q0h+|9Q>mXh6{2v&0;M-75FW;_I+H%ADi9a{Igt7aswBra7DF1)>1&w&cN zI6IBwMm4`&sUv+kE|b4rr<)@h`91PCVT>rNC-ha(HUHo*^|SLRew*={p>F#>7ipR} zVpVAGdkvcH`|^kr!0mGj+ES7@MM-1nyz5m|9pSqWagnbR9&+OP+dhUU!@Y{4s~ zl+qux>w3%VDWnUAm%`B)upll!TxWw0g#gAwr<&XU4HD%B_#Iu^&OWRCwBrb(fKNNd zpz-Znvf0)3;x1BkV^!DB+uvP{Esdnwd@C?}%Exg<+jGKBf21nW)YITocR%MByx*7vpt+U4}B?34|^Xk&6jB}ZtUJW6ITCw0%H!=c}EmLMp5gCp~4lBC_BWU&rU4Lr=V7`!D$lN{`bPkaat?DS7g*W9lZe&ni1C?Pa-_c@Z19;!N9OdQ z>KbA+o%k_?C@D+OH~and>{GtsoSgbUFf{^XFM9E*NZU_jR&IBAn@5*pZ%>W#%#%^3 zd~Qv>=jz@8p06vjP%a4=nQ{Qhuyb`Kw4s)qPU+$KS`zE6<5{0U(ThY`l{J=4toXeP z3^RCeP5jl@dCB*bhvrA$zbtOwr(7!UDUZaxHaOHm6D`tSc=+QnODmbQb%Jk|@Nyx9 zVt(?*Ln1)x!tY{jCMgQMx z{))_C1SFtf3~kJsj@o$x*D$#`7RQ;%6w-n5&g^L<8}qx8vUvNcKG?@v(So>L-`0jK z)DWy)HE&ZZZ@GwQwWskSQ$I$iUwR@P z5;%|Y-O5JRD3JZFk}#8nl-@Yfb{6HBx&6V+xkJwu%guX#kXJ?5@`lWdpK15WH62}4 z5$fCS9KZLEA%8GZ$lT6a32qV<-(he)RPdsekNfTmyZQvj$Ly?}&iy=}xdZD9lqGvs zMnW^G@gs1?gwNhxgm|*a{zwGu7Op|CQ!O0TGKjVBU4gj4U?maivr7vaodwg%)^b!gtXe@sBbW|733chksyb@ zxCiK0j_GbN6+_*$W*5K5a|S|7PSWyT;mz5N1BB)8l5)M-1J`@=C^Zgw%9I3LRzw~O z`V-g`%e!AM?bG%iBRjaU8)&3gbyt(q9$vb}kQzK+jkrRdY)-@!so@u#kJh;@%4)7p z=g7mWbjQ7{TQNvFG!jh) zj|&cNs!;lUy$>1B#Aq35ikgWek81WT*#g6=2VUaB{~vSj9Z&WD{*NCkO7@DZP>4{J zW0Re%QdG9G%F51O*`$TYN=AuLR^~C28AX|gvbSuG@AW)-z25K7@ALir`@8+l%k71e z^E}V5}sPdU~nXFnft}r$|zAuV4lL=2@@XO3+hEAX{-Dx#UD=)#>-pvNT+uFwD2c z(E7()$wSM(-Y6DiF#C0+-HNGbyeh?dzK$?Vznh~-7SqiZ%XmHjJ=3NmuZNQQRDR)$ z_Hn-z!94~?Kep&gyJ0l!7RHerDoi#^Hf2AVXSp(R&uW=IA;p_04-BNd^+6Ga7a3%agoSnkaogP{(?taF zp60L8G5qgwmA|z+=LgUJp^R&tu9O|l*Q=RL_@t!CH!vlSk{;_)qB4>b>JYU6f!*m^#5t)&oZ&3dxf)%ZyLzLUc*cC;6BUfy1MMWyr8 zv%66HD)_h16FQSUnn-L{#1Y=*^oK3OZRIF+{$og<$8JOO^wN50q#98HHe(ot(lPn` z`D|?94y?YZev31<*#uo=*a}HV%f?{65dIP0Q@j{hSHe_x2C1g3U(qJ{TmZ5-IEAo@ zlj{;pG88E5Kfz4meLd+x?%f_Jp3~6nn4z&N+8U@|gRyv!C{1=Le%LQ}R#EL3ay!U_ znwL^`)AY}Ilx|mr>)qvpCpj523ff?9{`;ZRiGMqIYUZSGO-(*kx`My&J;PD&S5)}a zu>2WndHmnYS8<&`e{J^+KR>*Y4Rwp})4d}sry$WVCR{DPkeic3?dKz#8d!yYm45{+ zgugEfd>Nyebm28@i-<{Rg#PsDQ>AcuP0eV>l;_W$=|W$ym#T#CMU!{pcIY|=9|Gzm zbR;EgBx!q{ZTREe_^Fzw^q1rD7o}wz>^`{q164%i#bmlolZV#@Bw;|a<@@nT(MXOW zIfeR%ks-xh&#d7Jha%(QUGv39%<#8DE%on531W+#|M`)Qa;UZS(k1#$1HVlyspLZ0 z_>6KZzw99;Uom#tHLt59Y8o1ESILC%uTDEe#(D6=Fs5Ti>Hg?y;dLlwQBhH;f)?6D zCcaxIquHdMKNq~gwe7RHgcZBfNTqAd;A)Tf?aTcB^{Wf%^bFFxWa=;X#;mVb6qxD<`Xm)nubnS zX)7!DC84x%8WjJjKEkGaV__3Df{$xZs7k^wH}Ut1LLL4L95%U%KVLPbBLwo(Mtpao zeSw}<0i^^Nj|8Q<{j|vt`ZD*UcpAD`WT-zm)tzwG;)5NOjPjN+gCY@#?Ihr~I{m(m z?Bm>D$of>2v;!u@NBkIS8N(Qb4Eczu8PR`ov+S$Zu5UwsF1-8`93V*1=`;ch={4hz zKG+K6#D9Cc%46!{F5sEwtz`=pvpIlTAWg|7_jgx6+F7_^d^pBJ1b+R`B=3C&C&Yl#jFB#c|QWG{OESIZ-x)eF0l^S<?*$?os)aQ2i@*bHHPaUO{M86=l_E zZOi0t%I@6{6dO=V$3H(%s-0PI?x!VC7Jtf?Il6(4BX>z*@hiFKj%Cluh85Zryk}+T1fzWZ+uUe5#mQV8;3$dLQ>i_IQ`Lc-a-!#4hwn3s>yZ;wYO`L za12q3{CxodiC(;5SzZL1dnypbSeG5Nq`nnesOpA}Ba%N#q2!rzD=pkK1wqA3~0%T^mlT zR`ON5`O)?yyPIRW6QeYAx>K%yNYR7Y?JF?RhHmsUouNmWFYa&m)mTF}m|o;a{s|cB znT}|BEsvz!tJx3dlAv;fS<9}mqEyYFkN@%%6aMEwN2#GbXrb9&UpI(%@?0+|oLUAP zHgW^X!laisGM{MCj$vNM8()Ifa8GkSF4q!Kb%7*P+F|m_SSDkS0N9#B6)UX*)1MZr zf!Dts2K01|c1BgRD0Z0_lybX{k}$nCnBc>DhK84cSR8WU#;2J#ZyVeUy@F%sK{u2( zqZu~t{N`WfX_W1MZcNQ!NljgyCWDYkP;MsYRj_||-VM=Z+3fsnIQym$$JAWO&8>v` zTvH6&@hjRvjWLiMeRc}z`&R=ZbNgR`WSD2S3XJDyC_Yt&B2*eoBWS-OMWiQ`+f(5* zppogI;WR8umfKI=-&OS*`CRyS3-%Hc@Thn^V=TB(Z~Lx^qKN<|yNn%aYUCAE5!9m< z%^_zDT&b2vOZ56!R=?fl57ymWU+mCB&n|o3QBqMkRJA!4Ifk7uFeli^gkp)&2Phc+ z1q##xO|<%oa|q4f_xbzH|B%vsqXTNifBwPW_8&w2&vR*Y1pmlL{PPqADBCbP64V2J z8xiH1daCJ?0sB{fO@taqcV+^sED`!a*_7=ewgxcjOeC~qJadzWm37yk;s*=ZbyYPUA6yqT7d!oEjO%&VsO3@^h7Qhj?cD3bLgZ$`r|7r8&g}ozi^K1+M;w zW+1taJ!s=xt{Wt7I7cZWZsTEUOlZzbnh-B`Swx(m5dJjU$$pIVAuCj&;}8z5m$8x2 zyu(O!)jpVSkwK&vX!~m7=udMIDZ2l;1u`{Lkz|?~hpynFk;C^NKq#;kLKOM}cnh zXY%*&#$_@EMHp}DFX%30=uxY*Y38gV3GqC#a9kNQ)g?u{*h8yUqSL2OTh|4WaM?xk zNJ!j}o_toRvNXFr&wPEbt%Q`qnbrScXoOSk+r`rY0*$T5yU@)6Ba7Kk0{R>|t{|LA zZdN6q={W{6OM)LkL`W$tut|zCA|fJ3BVLG$YYFa)mS2=$>HeUZ{nw@1L1Gv(Xpbc# zY;(-io^UWKC_@D;4kD?w&>}0hqT&T|!mmimLAT0JW~wW*-S?P(K`V{FPQcbUZUF3ty8N zD~GH7Opp>S)uze9o{)q>#^5fP(pO?kobw6mR>j|jh@w65LnHwz8_R`DR4M6U1c z?FXB#d+Tjrj_fLAtP{pjV$$Ypq=-?_>CA>22=Mnjl4BTqH)aX^vH(eV^@@1S<|ym^ zmJ=UbrmxTt@NihAc%F(rcJ|_K((1dwCeJgYBChPm!M|QzQd3Yo82^7}gqm{VWH`md zDbD9kT{)AdT#Z7is#oAsZ}#-`?17}o3T)&>+}-^0rjZXeSNCC&H15P3Kgiur@mlCE z+25K>-2h~b-!kRV}BRUmmYTTc3k_9P%kCi{7`v z?J1L`%Ub;ebWRm?S5VL;$OmbS3r$3iKsr@e_7Yaw z{1_?HXZV_)UKcbBJ6@EEoV?Hu7F)(4my_hA1NM1;vsq5*Y$4LrkET|+$wMy9DT<&= zB;1X4ZlE+azk1uY(5~3Bz2Wpb$dO!4mGzl<&%oIYoBaQJJVpiiz?t*7;k23&2k}4V z>fpQorT3Tr9~Ka?WB>DytR3Z1_(<;Gr{#l){t<)v=Q$SEzv0?HPoTO+@wmyqze5V( z5a~Zr#XrxAq5oe@t2|}}EYnqRI6a_OYhAZhj2zBmUKFa@*LRQoy&DP+m^M_JFCk)! z{VhryMzq9-Tb1Y%LR5}SLulFEvu^jQU{ZtC3eS+oZHXGlpvz>h<#oi z{~PdlkWQR}n@WB(W-S2Uqf=lCd(JkqDk9M^(y(`XV^RCrvuB73B+~W88k~05ud1-T zkrwIA1L6+D$w!VHk(NQO0uO(8IA%dBi$4q*yU{Se-Ej^sJ9<@ZD8-lPEw<98@o^fk zEA56DiK`?LEcSEbOZ%gaj+Vofo?^DWe6~M|P9n|YApvHC#e}?|s2LG1nFn>1FcF)P zYMCML)pp&NCm8D=!5kiR@2buI~_ccuBZH0l`_@E za{B*rT+)04%MZgRw3a`D1WF~lfLU=BjXhGNEF2U9zJPQBq>_%*{eq{NbUE4%^CnXl z?E%(yy5R{DYl4Z;IxcQcKb?o5UT_>hpac~rQ8Pz#|Mxo(BQeb_gWa%)V0XwA#y|9E zy^>n2yz1rC9K+@U{gWeGsI&sUWvbJGJ*CYcafWs(x;8esd_^4tJ}aMj!Jsodv-{65 zY2$~9ngYLA`!RteeJhSvrYfPnHxpy-6vQq4$8q~@VfrC%ZEuRI?e6&3Yp9trSuA0^NFIuf`FU8#oV*^lfDKA^{=M5mC3 zf{CJ5Uy~)A8*mv4jk5T+L7~>DkcE#@BC_>|Z;r%~9ENSlvo@d{@*IRBIIn2t)-5jc)1*)4)w1-6KgY|@h_-0YP%XAu{23N~3b5*@Q^d_QUi9v2UnT8!ij zUu$b?hWoImYURjl4W?!*_5Zvz6aKByBs84x)~t2s&jYTY2Fa>4sAGN!of&u|l0Y-5 z6a-Yu5+ow25NiX=LCY%&9QDe5q~r*o*C_-Xgv_CyQV^nmSX@WaZQ?b5{shqJR^WEK zAm1hQ^|pla|9ab#pE>N-_~4z>QkLM>K^MqSgNFr5nza#)EQkra!8w+e`a4ii9_>tr zLgl1#62b`~f3g0f47!Rjd-y&E!GdRE;X25}{}Qq){I^NDz zg#|#dw6Qdgs8vU1W+u+RnW|c$Kzm6kr1{g3BD?$M zI=BS*@=ye&L-rj8gDHy{0Wi;mwHZwNyM_Z?BuCkAaRcB!WtV91$B~Y_8`^SvE-q}2 z6y*AD&UB1rur~A6b7v9yumDn?hg;FyMOs+TufaaMS#pp0b!KK4=)_!xP17|z@WJMZ zhau>}q_{3X9`EUVBwI_Y^h#Kn1gn@ewI{#7W9r^&>i(ZL6-65PO>f6wZJ!D=IRHQL z5#Z60fucL)L*RmpdE6?sXImMDhSj<7lOCwcAp+R~`5s55Ax-iJq=CAjE9eJ14v$fS zipdnOr?DouYB+l)&68l*Qo)_k7rtJHx2$4f9^K?48(%!1-u|9<sbFcvi0DO${CS^Ogs;Qn3%wM>wK&H8nLcsl`aQUR5-J)GnCAykUn= zM3MsnePS{7!A!0TaDVT1-r(DUV5Fh726S_tT+cI5NK8x|lNkb7#=^K8Y6?J)>5QI1YCObHey^`;Nhr^Sz8siCPgwNUPe*xN zlPh>XdCiEGLRpBdy9@hOeQtk`*xE?}3Zu>zAlAnOu+)2=PgM1m+P@e)R8_%}I z!eDt!6Tt=vhg7|;a#6u;4#(7GiQkigrT6l)0X-zV!J`6{r8lp;6>@p(V($G1SEbg;a>wBlV!GhfMo#09=7TYUGgN@YuW&} z5@_PyumPO7(HVbCrKOMyS3UwG%)Nl+f$Uhub*wUz(e2H|u`%-s0M?Zw1gqUAc4Vqk zCrGTYt4VPC*V>*yKE2VLr8?g2fx~PTqlyOwb$J0`ustW^4Y?*Rc^i7ieraxJCg_ly z6@(7)hdL5s4j5=irD*<~d|9Yze8(b%YRT{yI74UebtXAf z^Dlh%9B%R%1`J%WP`*RXqefbPY;R?78v3%u^t(Y@hOyli2{Uj{ri;D^^(YC80}&6i zx)Lc|od5w6uTm+{GWiF@Aq+hNc0;}@^kqSEb*O{nN$=v%=VdpYMr#S;eyZ;ep9p2; zVqKnle}^E*;hrZ+1-tQ?PVr{%psYzi>oSnk06QqTSKzj1m1k0pJ5-*1V_{i15hdC| zjcFDi@wT`b8~m~^IU}rm;>BI12yS1;3hsycGpjWcA=Dh5a4rkk-`lcGe7XG?(E%D1 zNd>A9*TCGq=Mf!MeO_K}s_pZKRw z4Sb)+Chk0U=zvYiFS*`tF%5)-m;^N^zZKkO*_OA=-k%=xmAWTyLA9Sni!a3w=h>Yt z{R8_#L<^SH8rXV4@-k#8G;&XE1vI>9TmTbb}B9e~4j!uf@3i>ZqofJOOvkKB$ zMr|jwB&T`ezCOLm{}P}h*9S-TArcJVv6E#tKH3l&xOvQTSrfpZDKJ2pkmE6Ei}mQ% zL3<0glQ))Wv2_v|pvOLFZ8y4WP2L7fhQX(vywt#8l;mP%m9C6N3aL{tai_#4dr~8> zv0hVTJqEkg40cE0XTv~IPVFjZwSN2(MlMBTnKdjnU{Xz5_*VJ-*Xe4%835ePDchLb z(#h!kMT`<7+=XmS=Z$J_31OKPx$UV}W1e^Jyq1%a8rTQ%sqjg=pC6WM5DavLgoMO5 zwR5rt)GR-CA_1{C4!rUsKNi6*>_Twbmr}Dek!1b}`hfro%=SYcpkUVvI{~)5Td+L& zCv^{k{YEPU&-8<~J{|>t>EXcR`cdKlG0Rx-JrgPpMWC$g@}_#t~5*$IyG zwolh@8XKqVKRj;#{)6*Ro9wMmF4MHj756qk^ys2-yxmyM^`+%ta1vOTe?YJ{;Nl07 z4-VkQ%~$*!hT|liu zJ*uHnt8hpTw;cOuUZ`S=Fq+k0dWxm`C6JfAUeJh@zVr(t(%wXp=Y zv8&qfjhF^9s%I&Zu5ZXR;&q9S7NEzk-K_i>9w|A4RXau*&__3q7742FSu3}{^ON70 zpegPYwg3UAGFeiH?xS~N*rb#ils&M{*^a^V+1jE(ohMcyNNr;MjM-}!Ad=7|>;YIO zj{T_3d%Rt$40!cOA`lA)I`zhb-9F&5j958K8ZeWb!9F$c?)==%eP8O7x0F`>t$0Vh zh~R-b8{4fi3Dh#38pq(>Wl~Xn+6QU^GN8 zMEPonpEB~ku;s*EpZEQBlqPOPq2!z^1;!|BlCaww?Zk7?1iYa`za#bZtjtvR$oq3& znLBf1=0*>rvV+Gy=o`Ljpzwax4jH4HgTH1t5SL2%CYPsk+w`mc#Lo1d)}qN;B1obgZZR|@bfj`NF7UB*EG?rV#`(}{$sC%hChmD|E~YWpeyBpZKhljg zfksvq&A?PYFaBWYb6GeeOWImaiYl*4%{k%o=$j zIWT%QZAljGVj_!v$*kQV5q%K9=#Y;@uF7!rnU1o!&LvwlSJQZNv_}SG77y1i7H;57>C>=!T~^i5 zJ(z@LI5n@BNjCI|!>i<1GXwS0?mKI33UFp70qlO<;V5bP{dlrt?Ntl%H?J_f({)#vw&~}|Tq_0&Z=x&zdf}t$5pm)|h zEPKItZ~V?4xxgQRH-PtACPY*5jyKtveBt92T4)(J{yq{$(m~QTlIuutx{|~5+Hvv+ zhN8i*?ikQxck8ucZZH~5{^XNpeoED0WO)7hsq1g>=N4*h$<{lCyb^NjE;G5=wsBR< z@{KYDSECl{hT0|v+dd~_%t=&Z9eauU46!Ucl^oSp-v|C=$QX-&dgR&fWgQW^A0W={ zJ^xWc6~Z2NZf;3~QBwjX4%_x=7xaohw4-6k+1=d@>s+->s0$*EWY{-!L}>LF1$8Jw zrJaum3SDY`n^RV1lt)KgUhxJP4KdfZoO3QPb&QiT4NLv$QVbEPqhlA4I)@42zVHXF zzSZccaMzfoQOoYIRB8PN6D8B01)9sWA&lndEF6;Njo-kST`ajXDW!erk1l7j?d2L_ zDd@N;tk_Uq5Y6SByneo5WsL7=%I!jrSK4fhXObl&3zIS({Z@&iIiwZFGh!has^PP5 z8ULDBlUds^`Mfz(H$X|2%8->7zxHxMuAVURn*YcZfvcyI6B~+IeC1h4p56LYH6VDz zYSpBg$!fAnHp2{%qK6xmD$YPYu3T19@t9gP^YrDK9RHmcyiZmJKfkze&NYcm z-`MjtwVg5OLpNu{(twNqlA05J?N~O6s0BFqGzFh4F5JJDxW-f(9wNwyM*qIJ8N{vb z@mQb9^)7yxStPw<+ae3m=NF)5rC9|V46V-&gagzo+tAKPfU%;*>&{mEq{M^Gl%G>6 z@sn(o{_2?NIHU{V8wbbMQ$Cu~#)FN`rw3+Tw3?i`j13y%CcJC%wGV&Ey&KIX`Nx@W zp#Yp@(Fr$43Z)eNV{3)_aa`W}osq>wMMVgMn&~{te+K{2^XDqSxg*|#w8O=v(c`)@ zf?+LW#G(Yj^|gzTcz3$$0f3v=gCIAk%8A%MRLSzNN8qz}zRD8C`OwT_Q_S1^{`58h z>wbxL&pY5__1q}rE(bBTizxHvvjrE&zA1XwcXS_})0@D!gL8b%&@fVo<5`_g6CuW~ zbm-LfT(D3^3L6!RFA*L7HQo~Ahqdv1><_b zg9|er9V`6(;y9M@kgD#|uP}1a`DW{FkD&vhDO%-52jNg~$5FB^Bfg*#Rc8w>sc100d#Rc;Wm7zg^|7oCJ#Hd>_j z5!E{74@&4c`pFPe))0(x&(`p>#suig{uL8KKKspPqMT}^Z^bZj@tLQ69ltp=ud+SE z^7C_Y6l8`~5xzl&sf4Qh7m{1M5>>|A+Oug{1XXt{w(5-WSVWN6#r7m|;a_WuHT%Yu9eyW~q)_aVoh)v1 z{88sHD7}oWA&z8`9W)`$1xZR-+|#G@g)$tGw;@f21J-K+-Z4fJaKKbqh7)892U+3k zl_ti<3pEfH?Ez3uKi}EW!MKm>^uy7azskvJ@#|J*+JZg-r|&KK@&Gq!EtXZ{%3KYk z2yiw`U^1}x)KL~*px5ICg+P{2{P*`rU7k@*W8UwuR2SlJf z*;L_Q30r7wsre6K^PWkNt*`4Ytb`jk9~pcI8jD+?ODeRj?k5{HYUknSM&+4zU-}E_ zz+DiN_v_8k#X%ss4YJr=_oTr(nBO`aTL}8dUm$Powd{%W!iF$y>lYZ?N%(@|)wQ$6 zu`=rhUoHR%tz8Z(w!R$HF#5|_Iwv|tEm)D0lkb%dKX_Z#r=h92wlUSMI9UI^w>S8n z{>_^+NHEms!`>;;fgV4)59%GkM%A&sq83d@{c3#o8f0!47*{pOIBr&DNwe=I*F`xV zzYp2S`6EAKHX555DLaR@*XNI)6-OEaHcA)6E#M%Z*DZeh!o9G~%Aw@T=b-i4*?6qm zs?0ug6};EK&?&pqCTCiU@>5ZHSOb%UgFx!*K0=C{_h3(7|!#Wqt213I)#8xFNs7NQq@ugk@cTR5MSEBpyzZ$l6d&cx+0wC39;2rSRZs6#}I>aren9D^Lzm0o|;8j;X*_WXKhc4NxE^_i?=;|Etob@e}* z{s_S5jlNLGh&hoUTvLh^7?5!9%;ZncW@Q{xuIb2a0-T1(B{P)UmRpid5>F70>}{{n z7332Cd!1vRaJ)7Ikw16d19!vvG6DmOc>tVpGUA)-!eHX?gV{6CbimGtgO&`_*e2yV zql6g3>;8Ly#JmEQN;t;hhrZyN-}l|*qGIAtXM0dq_c604aMK98wyU>tMdF!ZB>!`jj6jyX%7V9KMr+!?3g@5Jwv?Kwd!l z_vB>H=JL4mF&to`8UTDE(jrj(z=Bk%G71}C2I6egDgVpK=r}Ej-}Du5b~di6a`@t_J6BU^81QZ%1pB3z+il|i;-GDpYT;f z-?sp7m+OeK{i{;$(m1zd*1x$g`7`+BH}Y;gJYcAJs~{)of@HmYHimdJ(DqPlaY7FX zH_0fEs@|BwPOiw{zKn&ZfXTCk#ocmYyM=a7c1uR9ywPuduAfZ<4ZzS?x;6!;{_3(K z*Zw;{3Ncwk)*4w~o0_Qb2M#*Z*s~Xrl>5QE!tUU@KaOOgJ0%Ej12c&0H$6FLIAtFl z;t+5dPa1Y4cYsb~ISF!+HI(U5)ZlS{rBAAY{QS%JM*ihA99D;;JqOJ3iGnqt6M@j^ zez;$$-N5zTA%KwjuVXq%DOfV?ia})gkq=}vxA&-N|%rQWQPPom4_@qWIt>C zel~m@=hpfpUt0tx384TsCrt`T{AL z=Z?UlXyj&oYURaZfKtlD!7=Av#-@YUP7j#)$wSUxtbEzVbu{&XwgZ?jhBKQsK9 zMwL||)q5pejp4l8oWY6Hz&i;Ls@^oWOG0`tMMOqUzqp%E6GsDF;a4_2Sx`*yu%sPH zTPVeXPITPkCr^+*3+a$s)AEuN7S`?^Dg&a3(o;3?rfd+5EtQth966wn;sGTEH%5u9 z%ZV4k$VJW=n1?h{#_(Y?W`J(sSS3d-cTQBa(S%XKpz=x_<-v9${!6D>+W+B2wON*b zZf`#^OLy_{H9?JqLbg(|D{9;nj~^XM4}Pxmyh3ovDqybY1odW|5oa&8DUmuO?M1@F z!H=lFl213rjF&O34WH+>nb}`W7PXq_Xk)uk#4}JdQXn_Z+&);oCA!$r<$7B zEdM?@Rc{8AFsMeF;d8n-Z@y`W3^ypYq(}kg$l=m*01v*|Nj4YN9Lp{@a&p0TH7AR! zaE7C}$O1XZ0!5tBR*ojfPxvp4g3?#xcFkXvhw;C+QF8hJ{g;3LB+#+nsh^w^m^@F8 z=!3!1D}ACRd6)_WQ|n{}72t-RGqZCveNTB8ro{cV4|$m**(xB0Y3b<%p|pL*UT5+v zS6YL7jvZXFM7n5)W^QKSWR>V)N-u)jP$^pmIg@38f=9vSXc`z^zhDS;(EX6!sFM}L zzkxM}eKSSpkiXPO8Qp+asfHXmTnob*kU`X=aHnF(ZNTmctuWL~#4oRTEtHeOXyu<~ z?DVnke{c5i)`^49?KQVB67B5kMLE3MyrCwp9awLS@|=_!35S$22jl}9i|%|`db#LL zy0x|C0Xu|hJsla7VtFx^#>J6MnT)VEHJ^NjzIGxXLqv6RIo2;~eSQ7I0Id3V8A`A( z0zn9N%iCl2)<^_G65GLZS*dhkHtv)2V#ah8Ds5{JBGW@YY=kdLxflyzaBo5VnBJ{B-o} zg$r33av)SIo4p|I5+b7g3NODQ}&XM5DtHw0*NhRW=auuCEi9LpEgjwXhFA zKVfEmzSi%sJ2bAdwi3AaGLy;9qstzY2DgG0|K3;ZOCPDi*=VH`?>#+N9dU(|ofSrj zRK(0g7{g@p%O8pzJuWVD%k9?=urU*?tYp=sf;Tuu#IfnW9qk4!S2`Q;GaSg-=6Si* z!CCln8_fy-+js7m0Y*Nv3#>F-=*N#&%;rn=hjQar zq+<&w4d>PIFlzZL;YwWUuCg#b!S$hWwP6(n{5iUWE!Nib0gk8}`FTM;*2toBti7sx zmStSt;)#SuYfT^0D+v8k3(*;LY}1oHgCF4FdK8U(R+E{qzlh;B+oA_4P%QniSToQn zWP_{$?-CGw*ya@J;Jqw$QT&}}Li>Iz^lTrz|K-f3-KnW5wFfeCawbFTjZ;%O zZ-{I{c5YRAoZa5u?t;*-q~yZdF8GzbJ`lWD9Gp_Dt!l(Az34fTM~uMJh2+5YAOlu|tfA|-Ys-@(8`V%8G=hvjCmAW--@(OSj*?y$SGm?X zvpkXCj=odJUwq1+{x(An8TC1|EPC7x87zeaPmp|Gwpk3~YErs*sPWll!btp;FzH(K z-I-oy=E*xAM#%kJ66a6s?sU{N@3T`*>0K*kAs9PzB{q>z1OMUha|=g5H>?;%Vrpa> z{6!d9u8P;+3!@EilxL6;CnR%d;P}&7cCZd8DYGcUhUNjadESFR_%UYDWboQ6rpOSI z64ND`B}7-SHa%>fR(LKzZd|IrXQxDie;Y~}78aJJ5Mgh#uLIeP;-yz^-IC&NMwpwX z@K9MliG27#ksjs?c^jC9FuYx1r6;(3VdlO;kBI~;rH9d30v;Yh{GhW65w<)&sUb3; zgQCF?2%0{Q>`^XsyM^C^i2`YOPp_UH_Y37pXa0yK-|VeY_jxwoaed=^@2!I&Klr~h z0}T8_GEVpnL%<|IsKw@wmX<9J>C${7@MQba!KeEB0!Q=_PF=Mld7nA)x8NxMJ}dk5 zAI6SLEP{**ym|WydHnBr#Ix|z@b~I$+}_7dC?y=Dk;mVakUza=q~&Ysirh7`U@AHS z+L(vmH2-@Zgt+~r-87f28xRQk_rZ-jERRLgS_@-)8`6|l*@!Yv=B7~Z+;RM%Rg_Q70Ny*!+&=4pRNC!Wt<;b+!zOcv(ay_&o6fe zvC;qx)B}G+%);*PC(z8ZDabt3QthN|ejFK=gt$NYo;N%lC6im+tU50lQGOz$w$O-3 zLyW&F%dSG3G8rk0kelg;CY+9*UZ(x^>eZKvqmZ+&hpJ9(;0kKb_Lm_IchJ-2se5x) zXlyVYa-@)uGhV*Ce=zmM(MtZ8DGmnwMssFO>*}wQuV25g(Z!S;3ZqwGg2{=|;q(3F zC%*4Lz*hc1>CA(K!$=DXL!d1qtcOCk`I~Krf`WoBz2_GaN_n=2+#Q${9x!wi>H)}R zX_JKLJI^N9@|g zcVN`>eCh8>3f8fQ;}??U%iflw&YjoD)78k>-0DP zqIIzSkve|LVgmAvnn{^OU9DiK?6$dn55I*u+r(%I&YeG4o%o9m7jsJLpVs-1aF`&t zgZvY{!4)E8<)N>b-ONtBr0mKGhN^5VLSWQI(g`@Fi|#UUpTjt!qoX|_na;DVh}>_m zL=bY&;14OY@9NQQY1~1vH;95uck`wvd98TD5AQvtH$VnS#C;0@uNbRTA4bTXZ~ReRpZyw8ks*m@6TQXNT5=&& zgPik}twoj+qmEs7h2(_O^_UtRc^LSJH0L>aRz<1`1^7ZRuQo#pHKOHvD-$g<^H$4*cX{7QvE{!9e z-If3Q^>;73jSDq2UuP&ZJqd|Sq`i@sdoGi#0>22@3?hRBm%I>JL2&hz;6Mf_BhN5P9NES-~)`F4&mMTey? zr*Dn~Sp*du6E)mS_P)R+pQlFS@?VD#B~xCcMBbV_u@`<_pfSvcqj>gY(6Sz;T=M4T zWV8Nl&s)s*yt0BB@vov3`j4SG762Gx|~pp-F7oWj{Z zeSp}SKu*?(Fx0v85U2bCBuP(B3?WQO12RN*C#^Z&LO z2(FHy+mAcTef8M)v~q+2D1-+!2*J&z!7|{CjSWEYpQ@enM55JcQYp4I=tb1L4DMWG z=~g`l&R^JPTH}rU1~7;sz~deR1Yc2Kzb`ZPx0>Y}LNeu?%caT5$?)0mXB|v{USU?% zR2z(+l?SM&MxG4`=e9w9Ab!7W15|s`_zj^cK!z3vw>GG_}K8yRH6Y21J zNonq+efe+3JZP49CPosfv%pU55`n~_1juVP z8-?G46wB@?shrNv=nj9;F4!eKF4A&{dpNQ?A-?&uulho+ z#euUy9sC*ZW516@sfWnPs@dckPYZ%0ooR8!l)-~sXX;Gyvx`%1G@PPF$%FlB?+C_R z(BInWy^&*|QrK;-KLCof1#f;JS)$%0cnK5$OvI~1%h0VbMT<5}}y z&Gw}4F+SU)6clDqT)u3Vw<9u;;3M)NxFl}?ob8bE9=b$I?r>>Un*NJg?G;33xzn}bT)Muv&&XFgv z>?TwXe5!IjzfFwW6J_n;SbFPa)xf;S%bVPqFFcwQSG^j&(~C27d_5mq!sol$yw~Dp zi@lSTI6E$%Abajma5`_FJQNh7Z7-J=TbFR6&x93m&0h~4akG#9_D!l z%tvIchF(2=G}g+jLC-*6iTXAxnX{*?N7f>=&JVSEJ_S z=qb#+n%&km3)7p&_;X)0zbJg=N4j0St@~B)oSl>~Wp$Vl&ZuRfMa48S=Fr)>nV%uu zOMFl{N_{eAdO(u3IY7i2AHkxRcJ>m!RF1PPhRGQN>xourW_A{_8|?;X!h$~Q`6h`l z93y`h8x@t4LvLnZ=d7YI55)=>`JOu3vUaS-ihOE8Bcb^@Cf4eE(}T2ryPI^e7J%AU zBz{>9@MH9gXFW^UGAX+uG3d9yH$(m#h*F~V?ocW7mhj>CYu8;}UEer9FiY2>u+ZbD zOaam-DZ4gTO{L@QgNavI6=>&MVi=uQtzpv)(sUI6R9Iwrvcu#)E{fsC$kOhiwatvH z!h!WzomlscMU}}cExn0rW4jjF4tKq0(aAL{pGVwlZ!{I$t zX}Qqu{M~MIz@Lj;e|FWfG};we0@Jt)o{)-)d-*bYch}ohxa|y|v6FP6)^A)&P5Fg= zvf`j9B84V@PUkvoXOo{j@z1sKtJ+cwUs|8HZ*7@cBcrrVNLC-Vzh<(}0G%;}f#P=f zTCF2jrEx*UYm9=qxXw8lVb&Wk))On}rO>@rr>igYkC^mlv+rE2X1=Q-Mt^PR_8wK% zz6kv<`kYDT6X)nkGAQkMr39qx{Jc9DTyk6Wi+y4yX3*4@ln6k;LJGloHsLD{sDKZl z@|jXZ0|a_)2hq2#oHbg!Qs6L9qWO(X0y=Z_j#TbjBn&K5(*P4m6{X1-A$p9QapTKAwI z($(c_?H+PH#(Q8<>!B($04f)rS;UJ!WCCxKbvl^aY%@r*O+-$>WGKwj{?sw5>A~N| z`b9*|yE0dmyMkz53V$6hqIqj!Q;PRYFxbZUn%z6nP+HOIgoBLB7?dVmGv5Sh0AE0s zuofIU2@z?gF2v+HQq1XkK%6Dyi+NN@mAHD~M(k~v8x#Jd<1#8-%YY+2W7@EBx;9Joi1Q)&Qb z?v1|-28WwDE1OFzl&(Bwu#C@4DKe3h`nzWfGl6;I?0S=l)rS=I=#MqWoa)2au1E2i zE78I=u}f*MUn_^RRaI5x&$hqEfb|$c~p%a82PMRL$doH3W zL_!`x;}Yigi<_gaw0aHN=tXhvgT=`rjzz5S>6Z(@B*gk;=ueDcS1&84NC3B!KG|0t~^OZ+P-h{;Cd7vhk4MelFSWh?m@JlW$jFlzXLR;rXxw@FPv7&6A`>4r zPW!FBHR12Rb75T=ACrhAk>lQ(hndFWV|`VT+_B*Egtt$9y`rf{6l_z<7pPOF6UW?> z=gy!V@cRYG=iS4HifFF1O{e($MOS&xPO{OCq;-1(=ih+zp^)5#q3_o31a-c=%0-{W zppivYSJ#iH@5#}1pTv83WW~{$wJ%sgeeiCu*$816jcguQh^Ji%_{MR}qGn%|+zq%j zEbC+NBT(EqI?4$foi-WJc0_>3(t97Nsk?Bm-yex&9Q<|$mQyw=NsWw*MC}hCGqWsY zF7ZJch9)Yv)2!ie1gTIcIo8_Xb@Qcn183QeyX~0YZnCy^QMqze{lFi8uddu^9TjBe z&Z5Lcb1geac^qgZ>&)S5njs{M@q#xp>;VkmdM;%2X2xISCmtXm#_BZP+)$h`Sv-Ic zVoa~R61{xF#ji`wBBYC#j^G?!ZtkhmfwE8V5rbKWJl6Ek6YtV zJe)gt#iv2=;}BTi3CeHymS4Sk#XY@-ScU;6`1y3>GlqqNH*b!NY<0LhLMkcuCx?uT zOd0qd-9LXyj=QRW{{>%`ME{~bsv;`C-bc`Vzc?jI5SeU6f69{YTz$XJ&eH?bA)$EC zrAPDhvwApXZFaWBtCuMZffTqi*a;;bh0voda}p^qxwf0!_{{+hqm#Z6Ut)nh)(lza zXs9e~H<0@Kp5%9b3gClnyrUdrI+r1OS*+!j3Sr-m=eQwVzS&kb ziiwGhlACN|GE243*xSD@DREPYnFi!Q!O3YkYVH7gG&_Yy><};wR<9k!Bcen?f%RmG zm><+PEWaM?3Q`l)jiTG1^HL8TIf$FcLb?70Kpctb3J7Q;x6xh7UE{E$o)O+Pq2YY| z-_T}oy%MSrxn&yUV8N0#g|U)y5#Gi?XlOt@6q9%m&>!sAKu3|n?|bhfP6W!}lU1yB zm-UE!n(q3espN^(vgi$H3I1`kkx@7EN4EFhzvM_zL5t{ee5W_CNH6@M9dN#$hBNVs zDRV%m9i=L!r|1CN#BcOKN43n_BBda*bv)?c7;MhKW+_0zC>O^2rqgUrOPug_k#d(6 z=J~;29~_T$7}$STOy~dZKb@#rtP2`@zs&MASq06hbKg-;?K;FQvJq*;(UtANe<6Dx zC%{&bX$W+Aioc9#%zthfyC%oy0hq*%a8%(DPP(kx7xom74u8EzQ{s?y4-bcnI7>q? zHRCMVGY?^9l*0}fV0J{crqUS6iScIRmsBt}?SD2CpBqWnI~q=JpNjOSD)&r-!^3Oe zn-h~e3-)}pfOXYVf?tLS5(vZNLuqODknh$PlhXvhL{qmee_iL;n^J|^&T99Xd6J+a z>I0~uo|okLTH!zEHs7hnYcEjd{9&?oX677m%%pF~w*L=VZygoY`^AmY-3$oQqI60# zbc!O4Af3`BFm!hfq9EPUNJ)1OAdNKA4I?1ZbCTd_BQLxH%D&HKHl$B}93=a&vm~4Ll zo9RrODI*^xAYKVaU`F;L_*q=xhM*piiEU8bVD88-* znk(43T0{>=<w(tKomZlllJdGlVvUbFY5)q{5AR?Y%g$x+~F;$%TrF+6cIMlB%2m zU7{&d&av}eL9!W;AjTHFi7+ojNZy*>E_U2eA=1;x9Nq)4M1LRgx|?XyY7JoMM2z_e z5G^sq6d)~85tkLf&yfIfDQZLxdMohJ<$zP*)N`RO-q6GRT(X^jw=dr)~K-o zXj5{-Ziic(E}&)I>7;|b!x%eY9JnO+&Wbjo*s~)aejaaN{JHe`SRdtY{xHSEV+J6A z6@iQJe!yXurIl|l>YNQs;o7%O(e%bQ3$w=w@xF3*z}*(j2@-AxP_N>ha`a&;fKz}w z1yE&Q|0p^J473K~iqad68_<}C*Fbb0_5)* zceWsjQ*fZe{Xg#_fPVFg6`_4dC1HAA0KBD^$Fe>FG&DCa>n!7B{#|>)&eq+DI!G-&CL{=WC}y5-<|D$O4i#rGInZ4dR2`1%lJDWYS% zM0A#U&)$&~=GJuU(UxDi%v&ZGIDAi|2aNE2VULU=RRgZ4UOqL&CoF8do`Xq*OVQ_` zeE{GczlAf;j~%nlxtRF||0+r0{{>@18O6~*vx}h5#LjGEsT!d6UW+-v8<5Nng~fm$ z7&vP*HCAbW&7ogN_X__n!Sv!8H~UeJ6PP%*FsIQO&{LPmtbfCg$p!`^{8yhjs{QVO zVyiCGN9ccys*M|psQ5M$G|E=;4Dx@=*qRiH{Ezc$X82y2i2yuc`pBe+k(1fO(?^{38J?6C1UohUROa6tMLT7MXvavvHcZ(Q8yIYG0^} zfhMJrx&QqhDIzJqORKAifmE8n(u4$WFd#18So8->!7w18;pDsVJqe)i(uw!7v$IS8 z_*x+q0Tlp|GxxdY0RU&a4%{6K04gzkaC_(3gDcZVd&S1@!i_}I0`Tg+`Fh;WdFTOL2-Lh@~eORDRs0jF#o7G3?2grtFqUFIyw4x z`e5Zm$AcK-+q~wtSK|>9iGMDD%dR52MD<+v8CB4~YQ`C8ab3YkEsZjuMM+1eBh)iK z{-N0li~oNRu9WW^CLF@yJnZ3s8Tu!&d-3e;#=T9Q9Y0U$c@I(?@Og>S(%j^KCmTc8 z8#n$$)bi~s&kYg$^3V_N;t|!O86b#IH>8pFXh2=87a5-+m*=5~YlwpJQ|;JRKv7M% zfw_9P&xJ<^s`+1s73wz8!xoOH?H^HO(*cn%Z>xxqkPsZPvqe~T7DtifIROGEGujWp z<}~MI`NgK-tiu$T~&b$d5v+2-QO2#GzE8tXUs)6vLxf9vE=DyIl@ ztg6_p&vMu$Jl{xIR#bz3UFHU-gN4kkdyy~BnLzK()~nEI*dki z{)RNT3xTUM^RAa8buRS7VhE^?pWxR2p$nl6`1e)#Upw=q(+pyKJ(>LRi4@=jbOv-F zc~wZpC)s!nfr2Vzuz}{Hb-gi~lf|uPV<0b6I#U)|KE*Iha zwb;A*wPm4@xzu-De0u6ny!$6@RB zpE7Iv=)CtQ@5{y6=pGqV;gzQ@OmE4(A)jKXkTG>-K=DD<)u|)c;Re(3jTq2ib`LX{ zOQpnYbjpGMkz>Fa6e0p9BH-Z%|Nm7L-5J!F1T%xq472Gm6}XdRr-Itu8-IGyWA~ytYS&`D6L}J{E78ei)Me(Qqd57V z1txxGGUBUesi(;8!;<{3S^oP9x&pJrUr`9cS*F|J-_}e#bFsPs2z0ki=+b~DSvqW8 z!KsoQKZP>degRGH3AVafvsn=F+l*ttoN{MiSyy(aBm=g-BA$--f=W=Mnn93a$dP4gsia8kx3PSS{FS-N|}KHJnQ z{r4Im{#t7$31?Zc~z)K@`dSeWMPp)i1E ztPvRbq2-&MIbcR66&`WMOH}f2*66lJV0wtgcyi+J_Z${hm;0Z7rGk8y3abqEirnjC z-t+RjUbiXvD@9qX2;}6RkoEQ6Q!=va_9ClyPo!7^8#Uy}KPF>puY|Jl!fyZe4bF|O zK>6)ib4CmaGPh0D)x5sv-?HW3zNG}rEGHEnZMd0u(zOU~`#(ag7~tCwRe}-p^4 zr|?7yL-Ef|3@%C7%=AhhpH6zuW8{x)fx^_y%UG1BW5B6Fw4Z5zD=#3hiUN|Yo{B&8 zar+Yo+#MLZ0LvXW0Lo2HU!RJr<*?@RV9i-KiY`bB32&Tw%;ZHbuz}s99_1(eAhYAW9W&R4Jb`fI4X+Z#HlspEgVm8<{ zpx8KudbFYfBt>TQb`Fb-KY+EG0HI`;U4;HQPY5M0n#R_C9{CITU-r=TJ52O5OPpXM z)J(cSVu3dy<4gb3^cCf6U8o%3ty2SJRc;4IM=%5;d#RQ}X@9TalN?xmzowxv^ zHFLn|bP04_#n;zBjNoA75rAT|5r?gVR$v1e2*Y|Ck+LDulgdpG%lpp1x$lodl z)hb7Mk;uv&imi110@3~}qQNtz<(>q>;4(HPjQ3*sQo0m=IUet#bK)=I=tK&ZJfb1< z^4(o~(@5B%GFWIq28|nL5oD(sPQvP_p~ghJM2HK5fH37vH1T5qq!VnvgFC^pt$rY7 z&iF1%SqWuMAO&{eH%9Ks{%1Ls`u#3~2wZ1NRY(1bY}Xy-)~{f~ zDN_>@BmiZrCgEtm8gVLYcxI`OW0YFYI~D-9GwuPTX5!Bj)XOh{L8rkWL>(}^z&*O{Hj;nIK0wNKSwJYQaK4Z8r1}(6zWDV0FIE@XEvR+07 z3%qpSOu<&baMB20@cZLgxIAD{pIkPGp z0<6elUoUVYFrO0ua@62q^a$=d)TkrGR*WuGKf>XwtInf_hkFsy$O`~MT*LZOC;lcq zpXJKD^9SleRrt z1*LxY+@no^tB#^e9^26rFq8oB6&Rx@mV88BUfv}H^hVd%0>}${`C{$BccgXHJcr_A zNgK!|WqbHqG>kA>6mpd7*@u-lr2=;7fIWvHSBCv%JI8)>v|#_wlaidRH^z{|<^2MW$DTWEK&HMETgQTYWKfgv%E@%Ggiqotd0`PL^vOChb*8 z6m)njL7K1T3nHIa8Q})>K78-EjVb-kOT4YC8`2{tScdzSdmB)yyqY{0i&%oP4odvV zB`n#cDiqDv%VQ3 z0qj_nXc5X)Oy5(jvP$;dd;z1uJh#5GNPjaekaX4$2$McKa=5ALrnI-W(>`2fKa}(% z_D)XB&85_41Fg`PIP8D0Eo#v84*%kPQ4cZzLokj@-@=3*A`82iHa*`TPn^-odpUaj zR@m_C%v#wW>XuhTJsr)#OQ}`TBt0JH6MZ(^wDTLL_nT{1tsrwd_uZz|)`t0kWcbI7 z#Eh=|Odt{(DKj771%{?-U*jsf-;T>ly`?<<<$+qFzVuc0>*XC)hYs{s#)(0~e;79H zSCa{WAHIKw{OlkwT66O7aG{Tm<(2`p74Cqyrn-!Nb1*9OD^zkC$>y z0t;J^ixe*wTN?`McD9m(n6uHyIZ?P81Iutfc}$4S#riZX$FxsKXl?1NG1^Jy^&6&{ z*KLhSy}?#HC(p5P(DM;=SRYb0IWa4w9e1ZIN9g=+>VHPuSNjihXT%eJy&`J;l^8-f zhgZ9dDcmM?rT<5`iiiNUoO6iE4|F?{vEWo$*Aafxuu{1%!NFk^c~R*vS!2K&(h7-6R1@ z{WDAIaqJP-9)JCgENG@1IK4%1qbrlJ^uWq%{(Y;}w9o4MLN~{;Q>mQ|DF_+QksE!0 z`fWkIAkB2wK?jfITT>xQ%H0pb^9F<&iv=HkZ$v$1M_~%IPiDko~O*^R;a7Mj_~M2-4WW$S!O4a zX^4>@nQlFv@ToHWGt1j{%7aN)^nI?4 zXU*d-(*jRubMD)e(#0<6O~`eQe&S|$m(nhN3a6R8))7BS@k(Ex=qBvj5t<2Xxr4L? z07ySlNJuB8)nUZIbK37#lC?CE_mtL`CJQ_9fSeA)U_Jmq!I;I9lanKWR`&ALt(-4T z3y20K5zt)>3Jzfv9d*+Hi8ii31l;cgXo*9Cu(E^F?U1N;lRFHBMBgoT<1R#>i*Ub{ z-lOG{;nhmR#AvpeGn`TU|K!t^xV=Ki%e*ty(EyDLV?tIIZBqX}km#mn^Ht*@mxnDM z*rQpH;k~%HT!=<;o;yF&~W z5lS~EG{iX0Kzefj&GLmr(vt(gliCS1&C`^-WdC0LVZ?~>6vcv|lWf^-S&%@m^arQg z_R9S=ob4qeL8jO103?(>~qU7-y8|uNz4z5&g5ray1jTm z?R3-A*;)7$>{fnyL7+LIK4;nyr{DY(guixAbHRQRqLy*lLly7>YOQt$Nv@YhE;)1R zJRW@tRuxBI^2n};lIq%mf@@{D+hd&7qBNHz_s%^w8Y&+Io5X{VbFShScweL&s-lLZ ze>zkfSaWip3H?HoMJIZJFSb%EdlKRn>$d7q`M}jAE_N|;v3t7dH03uywoMLrnpU%X zYCm08!~R@V*GFtzsOsN;8O61sv{m1rS86ImO}^QVeh)>@qQem*|J7j(j`ouXtWyoR zXxY?W0iDs#odl9d4rB$1@83R^S1A@;!gR)aZ{HwZOw&Yue`~c`88H21edS@ab$k$V zYbtr)3LgWWd&{*)iNA79k6*obPNhy3yM)SKL(36HmVeqF<)3J;igyi@k_+*YPIs=i z*SWjh9iL1rkmbqG(@Buta73Ab~7 zO2!-?cXDSsCs~aogFF*ywzhiz$Y7^rQ()*uyDTsqL%acCp+JoIEWxZNJ%9u99CIoU z&vWGXRd*;#0-6cqO3P|&Ubh$0dY;oJgZsc(LMY`y@_uCsFl*iyUpr^~bxP5}?Q04?%+ zKzFbPAlFY2<8q1XVC07%Zu%hmU+p)JOMpesmMWUBq~yonaUT#OlvUc)^JP*K052ux z+~hZT5fMXzWIcwl7Z{>(#@2oe)#?{~3)Q3ATS-OxJ1NnjDl>EY?xInH>WbC$^qnjL zqH}na9_zc0dh8_2pFH2S4`_mK^(uhGcInSQqb4~`kJUXe{%Xw+fkMGGkgxSU zS_5N}*>mU@vwH_}P%vh;*!d^6Cm|~5_%u`;5ZWn%#q#yu=!g0aSZ1S}=wq;(++^2a z(mY5WZ>&KqetE*E?jb8o^!NTd$j8kP*&!aDslHcC+`mNQ`HgTq4#whxW_2uS_-Zkerbzh(~=Pr?g#pWiG zftVsg@A2g_j8|BqxSx{otuAxWU45H}k6HfAO`WT_6S7*3f=__{uegQ?vxKWV*!ehv zQW2OYFj%K6s{_$fL~uw(d2-x z@Cc9mbw!RJfjHIfwq3jvg{AeQlC}bnSw4WcROM>ah@zq-VpCR|a!`|T`S+Ap>N!R3 zCdyc;q#?=kadWjH8TpRauTB4(U)-oiUGzx-wglecB^a`dn%Uj z8gcwSe9wo8qll@s-olF4yVOxz)I0Y{nZ*)9Vv1tiZs9NqkQY}s78`PR1yLh0Q#Ufr zGrpf#AC?ZIG&L!aEdm&&6nwA!N+vikvKn;pwd8`c?i@*B`W_7u4@bU5P{)nA?b8`o zeg^6m!)oiOeGjCj)3d8RPvLg#9SS}=9`B%F5PULK(uRc~7GkY2^&H1dzW@%Ty_cWGU~DLe`s+E z!9Sl%D(ZNGs!9czGUnBzjdFQWrvY|{%3WktW``AaZ}W;+%c1;MZ+PPV#ImDkRMWy| zXzh0{RIXMvr~7VP@2%G9QJb?OQ}w|o8S~EX464*@pU^Ca@LJv6df0;9YEQ3>IQ!Ko zcnAbUu}1QQMGJRzH~fw4rg!>n=(b1<9?bI_rUIkLdg^=;P5Ci*6EKhcFyGvs`WU5YQVaW?hJ zK8@aKcO9-;itjVNT~hxbpIJ{tU*LW8sMtD!Jx|+*Yg$DW2MqdX2LD3TcQ-wQvXfnz zc@(>K&l0)aTk$ ztMvxl9;jLnQ**w!P+A96(vbyn&F~3=N(P*$Sh2^;xq_y8&o?@^goOnQ`zRv#^OXU~ zxAxjl%xB}!X9cgE-L@tMArw(v1C+^+irZeqi>L)Kmi&3!jgYP?%6L`)Cq8;Ro~rp`7(8(4LI zg3?Ry$IoQEm9-p;U=2`X9Yu3W0&mbLkw~SjzCn6nu)2dhWbK`8odGElZRUe*xTCBY! z07-$woStnS_HOTgH2+gqs_{hBU2EF2lEmZn3I*M&$j+`$w9luSo)cK2&XCGs9t&8# zA!7EIZUe~~i`JyhpjY73r>omFFTQM7((Wejr%avXuu!$a;`|o_SAoPf|1U-3{NW$n z@jkL=0A;4yxie_P&fQapCd=S%ObcwQeSa*N86K)q(M`5+s(CUKs>w<6rX*-Uf2CAs zkPikvc&o;d^X=>6Y}|PQWJ_0o;7B{E?8klpfCfI7E6`YfY3W4yp+ySZG|aYiKT8}Z zw*lGhEMkn_Q(>VUw}GW$#OmgdCYO!QYTGEzqD81z}PFCrVhh^4i5^Qq*fV0ML z$ulxQS4^vQvKDWiCkii zc7`9opB8!HyePPfJxRZT`^(}xz!0-NBRfb@yH&e;ldp{qwZXwDUBSwK&H`cqSMR3Y z$FXV8eNL&ccz>I|i&wam`zd=uQ<+K;IkrxD_=-WlxnY-I!;hPpx{u>knU?pO7D^bIJvXR%FAJOfg(KdgqvH5xD2nK$@Jce+rvv!{uZ1fpmE~agZ2_c04`p9jiP372IRA?qLvAfp-;M2B6b+HCA@$0a& zz3J6y{HA+36rJQ^<&q~3dn(#`Ts&tBz#?#49d#xUma@9Z0&m%a4eSrqg0b)I&v8^bzv zMX4Xx=3$roKId~HK+QZoOkqK_WG3gVE;UPvey3K%(4Z`GE|Tl`tM(7oSbT18Z4t3g z{TaKJAl$h?%#?1DH+6wF+8(2@dtJCFQ^=Z`ye_X_zg4^%S*!*Z+(5u?{4D?7F7+F~ zkJ-*I^cT%XF-?D{J4k;eF{yWJEsZHJ%FIs5%!SXj%X6z&R?a?2C&n61$=Ns?p@sVy zzNMx5fY;5MQQ1o*y3kN9{tn%z#Ilug=g%?V)hfjO&U0296`Lboc%lTB{OoV8eleM$ z5gP%k&bO1zdr>|$%rar52n5^k9%s2D?>fEvo2yr17Y>+##{Z3U66!bJ7K}OMq zLPCydg461<^IgAj5$o3@!wXCns^(~wb&gq8;+*1@2Z>CFMRWdSptokw!BMzV?@d(M z4^8;t5=}Q%rg!R}39`Xu@lT(N+pO|c6y=y*)rUzHDZY~GYcDmy&pajH`uX&ap3|7N z&esWWDeLl1&^y%fEf?LCj8D>5^cTM91D!9LuTTB90J|vO*CW-R*{ix%Q87fhxwU`6 zEicBFk{-s~{ei5ISjwiuzv_;aq4^@5PPwdV~oY2xzO zA^sXPS=&dm4N#M@&gCzsS++%Gr|5<^A;f$JVNNDr$rTRddUh91-c4TdP@KTGgfO%~ z1n7+4jLq&^z8y5_^6tNS4?51o!1cQU)PEmk@1R-*iEKD(mtd&=Q<0rsPlzxfx~P z)_f}@LVm8EJ{NI6}{?zky~}Ati?fM}josviC6MMeLXJ#?_;v@BkC3%ottx0zWubES<-XB0nRg zaCDSl5ytYUunL!H#~ogis+|=;iNARxYbA~Nv%P&!63KYj)$sNS^^gUd*wWnYk#b!c^2^kGIj{wid&o~plNesuR(Wx9inlT1GTDVSaRcus9mMIXGi+Bl_%t)rDMZ}!+vdiHg- z@9Jd=YAGF8GB-VA=?-LQTqeb8Fi}HH$xhT0bP{UgC?A>k6ZFOF_Qp&TXzs^C78@dn zN!`Nv98$)Lri^(Dk~3+HADHfPP03t2Ai)eKJd*%&vmck;&J0OApJfb^PB^QMtCze2CM7%CatQ?<>%i9ogfiCo-4R7 zFP|B`i?R(wQz&|b{G6IyB`cc&C6s4+(G87gCdEYB1Ih^o^dng8BuhGISat=6jo5Qn z9i8Xd?CQZh?i8kMMOqXz7SVI6zE%AR9l~A)no`3h+NaV^pUC0LoAE)!+Od%Jx>ik9 z%G48h)O=K!$y@Y^CB4`(*CJ{%|Ww;(n zyt<;4R#$frnzz09f7@Q38A`az9Ecyr@kg$Z;67z`@^Sypr&nFdM(T-O#ex(YE zY350rKj=YcW){vMuZmHA%nFx!0^mHD>Cu1sJk(jM;@0>%{ANOE!Rm-*^s6lWVgK$i z&-=_a8-k_KOz|Ot%*zt!OHtD+U)Dvw1t%xwN?LPdW|?~lix!NjH(XR!o|5M|MT#** zOooYds`DxfgL7H8VaM^Js}x5vP#@tD=>f+=nxC|o+m<6SMKRBheJ4(6om7J|Gv$Z8 z4zTMOX2EIo?^9bgMfmRePe0feb?WC#awLU%Gw(KF)V*A$vXS*4)fKx-3L16KqMLGx zc}ZR{pR3yivX}32G|Xm{?Z78MX|h&Om*yE!S5^;JF`S}ZP%7XkQpVkc!S`)d({0a}M?6f+F4 z8z|Wm!m8K|YdOODP_5qZzVS%44X@qF`YBW3Auw72&rN#Pzo^g*ZJ-^Eh!ojOj%HD? z8Vj;<@XlmkAV57$)E12`JB}5rsez z#C~wWRB&2zAOu!yuhz6boD*sP7CkO*P7;D%cFAe2}tRON9VahnjMxpxgI>2T#86#~Zwz{!XLLqK zK)-NhA%@bcf@B(sy2CirzIX7wUNZ0n#W5@o(;n6poWe8lB~(D+5j>f3<&h>Qg?#ek zpXA?UyK?5HQq*~Px_f(3BBR~`a_*!|Zvi74;G^C!D=XVGr|}ujv;L{=jrY-m9BvDC zTT7db=KdAR{TnWxK1H7aY;+a`-&iW~niACUVhI^6INj`Wn~cG)9=++;$orzEP8>G& zO|bwxh;KoJ_xsgqTx@=TFGX&~!d;D~HceNRUFCZsa(TYFLC$f4r9i?2`&XH0xUc6vQZ0bL<3C~V_rVfB&s?3R4{KO zoDa0a{eReOz~DAsFxfez)GmZVCWfuwDAjT$%Ti>1NM#lc^4Q1x?oEOz^^aIH3OL0H zvVaKXp@p5ImmN!5R#vPqb=2u6Q|iPwggx<&c!Xdc$(3dOCb2iLT!GCOT;=w4Q;R%n zp6n&Gox&Kr{F`!dE(V1QgA*m)dOZX_iq%tLGst(#VU*XLPDVn($6Z2)($(J;Of9rN z3e7l~>Uclqw}izNE?;BA^dVm0ZiTNu19iRX^!dyfXZ}lGKh4YX6S|~p_#A)}*+>+u? zOVQHYYq7IQPZ&E^{CSzbX#t;Vu$DWNk84wbc(32ynZ=yR9r0n z3RY*RmCt=@PV<5I)BVuBD0G{vb2SH5q(XutLo!31CnxilBPY*mmRgG{KI)Q?l}h*z zZOeLD3PW>^oM&|QZe|matUU?`T93cxl|!_&F)qdkra;f9$p`DQxz~y5%?(BGlKRWilFG5DG1u;_Jv7$$-EG}|D>~{(H8JLCexTAR{Ge3r~D#U4m-|I8J zJ&u?xBj?fRu#9SX9|^nUL^AVO@?WkLmR5jBV4z~Oji zmG8B76iUZe92gys+eTMIA-b66POA2;mQ{S43;Bne5j*)seBYO$vKRX1<3Uv;bzQ-O zalBw{^m9nKp^w(4ihnU}Pslm+$TqqD8#7TI{;MyHEx@MZ(7Wx^U+SY5OD3q-H-|-V zy=2FpER!FC4~#l@4TQXHlsw!4s$%F`OcR|zT24T8j;eMFRv#dG{eo-kuN3CGsM*(xD`y)+QzYn{tdqRjKh@AqTPw@l?Ci(nRL--qGW@=DM3>;Q z${Bj?Qjd4PFl_Qml!geZY1hSDW031*cP2>kWW-5GPMy0*RIOm!p-|?+W>h|!e315a z`X0_Lrg{dR@}BR~vTJqWvX7#HkOWEiISTtfkD7+dW6Awi*P;kwA8!wUu&B6XRNY4~ zH$hdYC5|}bqMk#*|BU5`racrjMElPNknW8F+6R%?o|W=RbNptU39*!4Jo%rTtPaG` z7)4lEagfYuY!>7$#S=T}8Q z5JB44M7qc-Bkt{UdU$7PPE*QKZ#$;eoH?qJ^IfM><0r_=C+LGy@HxMQeY{62!sH(d zw{h5F+wfZBksxGEs39%(}O zulrRhYo?Cas_JAT4yCG$3aE#mwMc?_GE*k`k7sK?vBs%NHyVo!-(+}M(w47 zm572%oU_MeQmeTlnvHgCti5<5x{*@tpt)myeQj=`a5XrH@p8t@6D?)uXXt+Ea2cDe zS+iq6$7}wCI*1&GY4EAa(Jsm}wDAt)RT60oRhY(}zUDDQg z_(t>)pe>zFM;n2eK{VTXNF|z327PdQ6r5k^wA+;-L%Zz2at;)=byI7S1E1?Y_l&7! zTc3g!%Eq-a8M7Wq}Q5c(ahdG2Mn#nwq z^qgu%h@4fyQC)(1f`?}z>*Us=w&xmmqm8%gD-owGXFdERj9pzVVL2u@ozpg1bP|(T zU}Y<$=`cFWGK+v&UB|(a`aQV~)?7AyVtChw8)%$r`9P)e>eZTLHxM*;Ee$4@V1nPC zXaoKr>FiP@l3}fM^N$cM3-y&4QF-Fb-(gz z`?PBbJHN0oVfcRSF@F}^4pR;{6if%>rp61jG zPBZ+>rD+VZzr;+R4%~@H3whg=uHTMCa2P4_TUEJ6I)cOXPRILzhyqhoRO65(!Yv-M ziRsEKn2?FXRsFM!=Bfb3v=}84Z3q?B=1H5N9^!qM!zaiS2}G^nh2h%MH1?a0o+Ev2 z7Jp{XaCr9Ki%^snIz7)S3K+4b1FvY;_ra})>rn4iE`t^s0@uL zMub-LmoGnr-G(AiSq4f1SF)4Ud0x!zO~P44*#=b(oXb>x28(Kkrq;clJd_I_f;#bg ztov(1uIp%Cn z#qMX!x-9mOP}C^dDAsSuk83PNP-U@7%ge8$3_)YpdJ}et-Gz_cI!K8lGz-?gpKg}; z{N5(Vp=V4v@}*5MOs{gE!|pZu);$(7i)_D-)LMxm@|IRWl5eQk)0%WB9AYXg6kB2V zP$k|EgKTvY!;qI}?*{hfu`Vu& z`t#mm>E+dWW_fX}eZb{}OV#J2T!n!`7KyPjiKD}IMOP!^!Hl(PDKF9qV|fy&7Fp0| z6!!N_*Djl}fl$sXgKu?w(^y0cxtAFXYzW_M%3~l0`T4??yigdB3PPsv>#FIRuJh^ zi10fg`@{zb_Uc@yvpWGi0U(6Njlgm@XRUM^zF2qqTqz||w(vXkE1FFvW4#hh!H$$59U$xbwuI1a0xa59F7H3$b9wt5pvjR{R`Q+O} zh)7j!DY+qhVRV0bk6D{x&1t8B$H+IvL6{m9?(TRuhKuK^yCp;}{Bk?XwZ6 zH(_3J8B5TLW)5`|M~#6E=k$8R+=&odSEp?R%7-hz^6QZXzVobxr=!No{5HkKz0Qz& zTf(V0Z5^xKhV#$-xnWSxZ%^8an+dQc6I4u(QbIFR=4#6eAJcFVDk%Oe9aYdsu%F8M zs4eBAnMOmauaoR=Fno?DwAT)eLVW{PoSwVVv#WgP?}ODYzuUeQhuXU!2fD2^}v=HQ?vwm9ALnEh0c zQRw&ca2Sg1N^JP^^)OQ-bqd2chS(cQoMdZ7XCV(V|J*eJL42{VTZqn zj7}bKdMacV+kb9O99^C8jibmOhG{C?W2^Fq>V)fJ?j+S-yf1e!3FlA+!8{~l42n>> z-SABYQmqN)$(QFkxJ82oScrV_2I4J27NGeP)c9`7xYfEfj@TAjr5b7CK1sF6*@Uq5 z45H=3090r@Ry~xAes^+$J3|Pk1}CwY94o8}rX3l%66Pbw=BFrrbm3v*zVgZ${H?0U zfiG_qJ|OpbDn!2BF*KNQckvX-z-y0~r%R2f<*uc=+LbZd^=xp>DwV7-^ZWN9&9U^8 zU+)_eJrk8aD1*s$J}+e5nXK-hOFD^+Z8y4pl#pabt<*eN$LPLFe$apcaiQJHACr>8 z*fclU`T^JaF<^zD|A_ za1{t?S0Yip2Xa`~ffOuqz*7_o#PnnU8@~6&F*;V_fu=A2Z#?A*!j%W>xc%NSth@4G zCc_gT1-T!{Ouq$EvpSR8|2#XhyZ}54F++Xcz+Q1vAmF!H`FA_5H;+>ju@nXR$NdkG zErFau6Dg55dw=-5(SQQXVAxhnzB^&#q$Q5K?GP{WMM>Tf{WJe&FZze4VE?krU;JP< zXlmjU?U-#;Hx)i@qSL*W(~pP4-?Jma@ZSR6_%O7{gqJPckWC}-2wZBQC^tTDMcsEw zK3x*_TXe|G;OjV3|DJxPaooOlLmLvwfsoUhMk0Rb^uG7PTfKTMaaAieM#Wv!QUhJg zLnS#^dL|3ZA6ru%9x@~#w z1i%s$V_7TRVFrgo4wll8hUK7 zZ@8zfs9mj7{qr-AQ6kz_$-$EHmWn-7fNbDKO{{cyYL+kz59jfaiedT6C2h>=y9G^S zgNU`O&Mff-mC0umV97qqvbA5<+VC|IwlU85S<2j=#L=tUA#`joc{!XigYa;vq%zC` zSV}Ck)+8n&ixhyQCN&2r!7)PzL=`_^{paPn364drW^E)=o_EL8B}upB>hZA8 z+H%O7Z!IuIk&jw01xs|Nr}P36BCw=%Bi#)m-Q5jKcj$Zk{{A!X3^NQfJIwCvInQ&R z`@TQd1?&7ZFpDN#o>|Qhv28{F(m_&v9@BH-()R}ms%MDfWQ}e+1nsikU|ljFvO|Nwk!C+3 zmZm`M3O!#3KS19#b_+UdwZ6Dsy&3~xNc~E&o$35h-II>nah@io+9X0h_lle4++8o{ znO|!hSFp~`L3;6s1|WMc9@W-e={E<1!JeW~98edb^?Tz{haXkrIlaWHMR=$=?{V}% z7oe8;I>J{OE2mS=7lwA!bISa&4hJeQ# z%JC|Ga5YO((+`uWhjpWqVgNnx2=RXMnr^T zTVj^#>gqOtDCs{ub^Dl~KM;M?F#AWs_=k`D7buM+|Hputb^{QJ6r$&msx$zSocexH zcG?GEME?W&mLwSv3ET-~Jr3!#1JMTHk?0E$DJA-sqlpAk&wnLp@H>(5gySu~y<0%T z5)1$)fRh7zwv5_+?`t3A{;Pn{1Bj;o7O!RJo)?GMM_M{Y`F{%VyWf;`0LjehZyS>2 zi4DRWMry6uj+BQ{?hc4{i?1ry3waYdR9Q=f11t3l@3Zsx7z0!JWG=Dy@;HIRW!8)e zB#qL@N(%f#amX$3j{+=Y?VB7R7@Y)oo4WDn!nYa9rbb)6qotBYrn-X8_oDQH5D*L8Y$FTZc%YlWY~Hj5;+uABjkDQ#b@(~Up3s^V3jS7nMG-;`Hr4@$ zc5#ztukxSn+MDeen*k+#qc5qHva3kb#1M10+fUcPf9~xow(U$L{XIA4ZqBYrt$1rz zm)M2?w4CcQBWn^r0^@%q_NOZqi{>c!=HX^vqRmiYT&#Zj{PDbR%Gc;1!Ra-5;QsGA zmHof}4Zq*TAefCZ4V1FQp+=iuvon9`o0QR8;+24##fi3WDakMwBt_=8=B#TQs73d` zr$jYF!3R1^E?h=0C{2aMTF(vhYYVGXuxad7h1a8TAsrRT>nysVB~PpjD#b#~+=#tb zyr^>FdOIVVllB^A^}%%_5e}2n+ns>l?s&ZE?P3m%T1zV6instH0BIB!tiE zhvzv0LMZ41Mh6euv8*aHNQ3K)M5Gy{Z-O(W5eHAF%Z8;OIDSJQI!OKgHUCJ)f@W*0*=witiEX_V5LJd|O!j%!(j< zLsqqj-1^%h;?+C~AF5V!QQ|jWI=F~%faeM&Dq%US4o$%3+#I7`EQU~FuE!{#$@S(U znj#NL*`OqX_PYMEA@W(O&D8OJDnv_JlnVq zGDZ^gl`&;jQ0z}=SQ!oH6G;|=3sb*Jz*2^cpLk@b1$dT&L5QSmO}Q! zu?Rjm3uOxoESbz!y$o|W3e{748?dZjq&=s1?8HW;+EMfCx!RG;uh@6kAlU!9V*&5< zAnV#2oH+F@zthhp>wCR?Ln5?3Z)r?0^3e=@gW9kad&(;@Z?c7-LEcL?m9^{D=J@8% z*0kg!xR`4|9*a_W0nfZZc?Ua*WDYjN`3dZm!THO8&54RAzz-vr$MZbay| zj+Nqlr749)FCT+&@lQ+yq?jMiMx6Y4+bMZp=n4YB(k*p{80LS>(ujYF-v5yM@9_&z zNwpV5NT6znp=>V3fMV9r?|SBZFIDWHTd&{ks+W3mdU~IF%l*oQ!IcI1O{4ePwoqY+ zNQn-o!PF{Qc&+QYkXh4jmO!=fh?$>qWl0|c7qMOe@q)D6=32thQR~9?RkLs;3{(pG zKwZ!zwpm9T*+^FeVqIX2;9un~dj_S@bA?AX`GerEpvFV5Lo*~f4GDy5fv5$lQv4qo zq#N8OhTtd`o@wHTsvL944?aM`NW{HD!EJV6Uff<26569%G4QP(xiBk{DNGa?+f9KC?If$ zwJLW=lju=A?6ZXjzqGAZddAl{AW=qTV%t!cWie!=^d1O@JYKtED*ZpRcY;nMHNgMNle7o3o4nM z#v-eQm8aeLw%2dz9Wdf}s}Q^n@{{~|bE%HLG`b~IV$ld!)+0rLNfWyB@S(zA7RA|I zeg0xzb)?L%t%3vls3qUOua8Q}zT~c=W~qun_F56?3d^ zQ*?2W!WfmP+LcmWEgW~PgutZnv5#(SlM5@A@3eVMhEs?dn#S zOB7~(ZhMF1nN2s3?WvM06HT1h7Q&Lf&p(u}-Op{ZJAw0-QHh8$OhI6f~>Np<61ygc{z777T{-H;gdeE9|*>K zTp(PdK+cyg+1YJGS`+r6l*AY^ceLCv;%9XWLBBJBM9KsqZY{EjBIF=zDhUFA(Ux^h zk;;#Ib=<_@_c7fEpf7XW-5?8~xq=TR>co5_ai;p9=)s&8rZ$aTIVIb~25*!klO{XZ zj2$45ZcjWN>#>%i?m%yH7MJx!$yLA0HMJPHc@^W$O>s_xA;TaYj~f2+YvW&~0o&OI zjd)jj*=tkg9o=AcynZ@g<=@)Idt|Lpm+M>W*Q7Z`uk@gS-m9k16B`(aRANXu7&H8u zH^e>Q)UYaZ5P|g$GZK0~U6ZpE_PPW~hO^p(1Oh$Tt=D>$6qFKrteSJ!?e#}wLoO)c z?BnHY zuCFKgM`=;1*@kQm!GL$60DS0G6enF^|3c?v31HF%Hdd|r6Hb;E(n?q8wr*Hmz+oUip+6^vC{hrH?e zckHQZ_Vzb4c0Kg+ikI^5;QN`I4?CK<%mgF2w0EX(P5U)u;RhdhAeTxQ@0&QYcHA`a zIc3Wtk56_9v@fN6;0Rc26&m2yiy~yF{^t3zz_!g&f*pG5efR8}Ad0|J&88YET)r%x zs7b9w#D}@RsAw(bki5>;2jqw&A4aQSr?Z&aXVr2NeL6&jKt5`* zsLAWaoSStAaaFdp9C*rb^k#5eAJjANm7=lP&P^bsx7l^vL;cmoP%Z{qpqQ_ii^{Kw zLaFLMG4n(B9o|(%^dDhUYOf{2Qx&Itt0m2=( z-M3t|!ZDk??)qQ${_b{;#$pb9og(fc{x}oolLlh`O!KiEjo(HuP31&t!F6TU$Nw-; z%($d0=w2~TVCy1v{X7O+7G5Or`ek3IxNf<2jDIun3A;%Z`rT3G%Q?`ROZR62_PI2I zhZ9aI7oYb}8MsN0@qUrUer-F_=*FL4182Q*v_%H4X;;)dc+N1-3xI23)=b9|2xeBF2PGIC9jY-mEhAjJJ9y?qpyl%3dC|`4mUTE!&zl zNGz+~@VNPI`Oow(UTm~JhLp2?-3uK>5~6OXCJ2!T^v|6at&Qd<$FT!f6@&im~Sow$6C zH%M>9GLG3hws|83yC08yE%daN8z{GA@8zonH*X{S;>Mk!jjvNK+P9R^52+N58CHE3 zxUkH>Z8&u#+PmGmOx)c@%%ZPY&nL@86Aniq{LOv*<~Etvq3VD7{Z!sJj_l47mo+%@ zt)LP1fVyiCmEs#QB>T^__ifa7`oP8X3=`j3`Gq?Po$_Ti$Qv8^7=Vi7&a_(EA=?YR zMP;HeRuJXy(ZM}BCCH%n|7xG;);m$XUU}0}qc(S-?5o3$OM5FhdrI)@v~7KB;toXc zq(^lz9bVdAv8WT5`*elxo#|oP)u|tv6+nef;XlXm=FPzR`g$1_u3;cwGSSE76x}Sn94#MSiE5dmp;k-FxEVG55a24S;8%?!kYT zUMa+~X5;z-zo1dSK?Qpo0EsC?+yT(3!by4q(+3GhRe~>%mhR|rVSb}q=F=D&?g=$D zJiY)9KhBC=E=-+1MtEbS)4cJY7!lBz6*!0i>Z`+qasS2p^w%JCrJlY)LY6E4?f>sY z&^TKO_R@!!&KiZS89t>8ic#ZO-erOb|9Js4{;`4_Kal+l5@U9qab2}w4jyLQd-twe zOBDK~o3j+i84H^7lyvP>_f2ccn&<@9Z+{W>yG^GVh+A~6`MB82upV|lXxA~xH zOvbM$xc1(f&LzXVUk@`kPecHVL>!0^W)mOB0B5}H-u^yo2jEy^89&SWLG+&FOMYiI( zjH#Nn%miAZw3#ZR2KKoOdiXLIL%Kg~F2e2yrHY-=&fCaaG}y1X3=io3=;T0Y#kYBq z6U^NR>mg8rdz*?Sl#C+0ho9{)J2-ZO^OTNX8aqJ z^El`V2Udd#Qvv>D5oJRj;U}Ha4+GBp0VD=BgtRP)o0Of%0ZbVZ3uF!{F;Ppl+Zi%9@ zQi*#J+|;0Q(YFn>JqY>O^e7T+9!EXaSi(~YQGhwW{yBk#qa5966 zFP`gaueKQwziSAI-qW>!U5ntvvIzQ;ubczC=1)Zb?1{k7Cu}?6 zkRP3k`~Wn!o7lndS5LC2_V7@arV^QlEy^Gu=<{&~sHH~)kx&y0@qps7C;`nVj95tq zXEO5f5K$s$6MJKFVUy3mMD5| z-P=WkJaNN?h)^^xo@^aYw>U$F;!UI6K&A|9wl>ZQg$mK=60M!B4g7u?_lmR$0>4&U zMP6!@m!}?|_UQBta^o2G!^NC%G7;Ncd3mt51DcNoYljF7*fFI<7Z zk6bT(D#5*Oi4mjclPn}Z$w3|_Rl?MQC-wrldaM#m0*gTji166oZbI>vf|V6&n_iTo z_EL7gHCgFa1(xZ!t65D1`FEc}2VU-d5-vrdmu?!2=GgbxeqnAwv+GX1*Tg+gIySoR zEM=KP@e1uJzs@`8qqS82c~0U?#w*U_9iRKS(;JzW1Fv2*5tJ9lRGNjiARtl?R%)7;w1L^a8Vy35b-4-6-r;89J&0F2;GF@Vex~ z5G$`#zr?V8H8!N-dH_LsVS6>GyXloD7)Hj&c!=&96_d=Fy z6Dl3Jt&>Nygjvath4R_o_q@7Su-kjY5_o8k>kPAYNG^$8$9vE;`#xSY#v}W>vegrf zW3L|;VqM;6vs05rk3-v$Umj*G70p7>my210&drle46;(|(0RdCyO!+GNpZa zSTjt3yIpK_D6FQJ;+D4?p|8k&98bMPFLY?>o@yTHR1Ny+0oo;^q4?d`JIL1INt6kE z!k6TVVwJOk-B}-_BIwbn_~Rw7d%vgRt(fx4TDL+&N7jo76DVZPCSHvtf~36IT^z4K z30_W%AocIWS$N+`#=h~$>hASaS%QSHTO(?)1l#&cGS!AarkwS!WXf>wBXx1!{K*>XoK)Z& zCznP)xg?Y<*!{3tHhoGkD;O;4A8Ka8_eX>-62~nxH!zETR#4)j8*aK_x4Kpsv(D1M z<1gR1vu=Zr0csh49uw1S1G0JVYo}B+N_Ux%^T=?owQReGJLP<2q^tG?>BWUoduEXW zersuJ7R^LIz3>F=QuJbC)am?A{r|wGTL6bneS$BiJ z9Uq@b44d6q($dm2r_tfutUG|_U3n3G${FS{tEb!QRb7JGO{6C*GyCvw!2+f(l>g0U z3mj{h5PW%;<=l;V2e2P0KC;vT_*>r-x2z>Af~&~xVLVL?g1(s3fRAFkw+9*h)QCZd zCL7_K*Kdp+eaLT}I;erT#m4?wxXYSfGvh|Gjy`1C7jOKp5Z5Wr@=6}ITUOl}dxn01 zt#I%&APQQzS0EDf>A(y1?c9tz+-xHO0}v?lh57Ka^^nfVeDTT6;(jrN5QD%&x3ln3 z68nRNU^fz2hz3c<%dz6WKeG;I(scqju;y+~ZB7Tj#tj^O6kfUGqguIS*48TP4o>(D zhacaUa{`=HQUAGmO7J6O^C^FCD^%YI-rPocxAVp$Xrj{ZEz&^Bk%#GFeioDzA)w@( zMYw*CyR5=6Hm%EZBPTp?=eM5WgqhW?L$h|*Q?#?Mma8F%!QTZ=(8-F-%z&2~z7H>>So$e@idV=ZwCj z-?kRnelV=xsx)?r&+lz5wAv!rJ!iw&Jk zkCY|r!WvW`y>j|SZ?cYrIId57l$WS=JXls+4%^O~iNFwqhP8^LPTxPgqU$5`*}C^L zUZyAiI9@tSANveQTZy*}MzuXyQcXE+x>oD64!Sp9oDQhg3x@(|FkkDD@Tx}5xCIV_ zR0F-ag{R>G^uThlNmIts3g{eHqv!9o`S~V-!nrJH&JmAY+w z6kUE{-=W?hxiB$W0bXk)H1Mh4T<+V;-DyfZ-%an-vqCJ)w5`5m95@i5Qxpw4`q-pA z^XmS}C9A*HSLD;eT$x6*7x!6?XB{FqAphIdqky!cn>x)uvaYoC?tCXwNZ~OU`?XV37=yBC zTq1?>z(wDw%yr3Fz7yHcnU!y0l_H;UnlG{ddbH4cqk+VY(*R1O8^iGGuiwV2&)9tr z%l{^S-s&nB--3B1CA4<*e>L>m=&m7P3-wyjXshUti1@@1-z%^uQpY3Zlr;hXpsi-| zF-BOVLcvNw!iMVF1X=^WC7rSP}yO+%K~Msi8CCKf-Nt z^U#k@I>23u2Q*`a>hLo0qI?53NmT(?F-U56aW9_h5)dO=fIxpN0>H1fOxp(GA$Fn> zYsL>t|IS?USY-!YTEhR@v6|;#ELyRLi8#&kmZp~#8318q!o9op9j-ZMAD)(gK{RT? zI&aRDa7Q@XTUawq9Wlw`NdTq#NBXo>-(@1_da0@@%(*4(+7tM|%P8t`b1;OXf z6Fy(MpS#H@U)4i$GB(k51b=3GDEOqIrQ@q`1Ufp54N`^5QcMVCtY%IEL;0^$C1%vD z*rJ&I)$Sr9skOoOszG%oUL}+PY!dW7p3q3@-A3lX zaVUKvWt5(|5eCkw#J5VeauItmxN~bCylTvBGhC1pi-x^c1eiZPr;5RK)Y(MOBe3P@ ziy65oLl#_I!m0BldD}qb{At4p3+RLXm3k&wx82}ScrxLLJM{gn8}&9eSl78qK7aOu zxe%j28JI|XKGVO&#e_w3ZLLE-lA5ZJiBlmyDoUN<#AU+Fxk_)zbmA!W&h#M`Np8x7 zSO0j?{21p{D&X`;;pwcowP;W=M(?Kxwu!9oNV724nmML{nGdroA6|WS(|u#@&DouN z{ZhZ+*Es~Q-!o06V`~+e7qQCa7(#uTBrFwUvvZb3a?y4-^+W3(w`T9P3H6cG!j74u zt+wByP|{w3qw%li!J?bvzfOP2*6TF*X_z2#!o;7dNW=^G$z%{r!?CyYxF>qnQW*o| zH#fOG9KB%Bhu}f-ql_wRuMeiKA>Wr|4LGz$6E}Rt$(G4LwliC?Zq{GkeUH)D_0y>9 zxs~-3@=Lqs?ZWyQuZ!JWxL|5}>o;#2AmzugsPZNEJj3q5XVdZP@pd0t)0#e|DEZGe zAr%b-e{_m@U8NmcbE_G$9-k`C9>W8H0a7Qj*8qfD(yW%?$4@J^)UTq%WkY!^Udw^NRC7G0dis0+)W;}a zmvw|is~*RYYfv!+`jpxKX?w4~mofe37;cB!+^w`|x#r|o$to*qS{pR8q0&{Ji?o08 zspBm$EAbPyB2pf4BRicc=eo`c#tsbP--M7QY`8E;CFRl?ouwAXJQ$>@AB-+L`FI;} ztrBaQci%kWIP{1Q<4U7Zspg8%T1Kl(t?qu(w6vr`UjnBSP(^mbU9%ZyzS*P1w=17> z+t&4n{)W!rk=fhHMD}dnDcg+QKuKaA+#NLRjMV4@o!JY!uxqc#vY)AoMkWWi-chMj zSIlnBe?$0iybx`8%N(p^l~S4Kf9yaRUe*;}#pT14NjCJJOIRK;v`(U*-wc7E)~7_> z?0cd8##7C@$l2*?Ovf<>?Lc~E`)ei5_&E%kogHzmGU@DzGTkB2M|w4iQf-H>qgduH zZ)f~{`(ttBjwH1oS41ktse=Xh`?CoyL82V)1)b6zAg9`?rO7B(&rhEwgE zULQM;ZU7>{%G{P0s1?JI`Hw+?B$oLEMs4F38*LRQma;SOZ?{rTY+HIPqt)h9=^qp)(AYUdo6jWnOR1A4~%dr zhqr8Gt_)NPgr_rXcaAA;JZYGOZ0(pPG8qlPdKK)~qLx-a7(!tBJK~g7jzRo9nY+v? zHB;P};O~osZr!ms{N03@B{zja%E}*^MpbKWh368ZFP2@~as{SyZSBU3(^}P)#>rP- z=&zF8cV9Np{$(>MM`USKohEh=kZL{xo^--hC9_O$D#@h%>=K zwk^w-rb)ZOvDdmShUX*-l#8%Hlzxn4j#8m;mmG8LWSH^^qzM9P{OkChFf&gk1*4v! zVh5DKU!5+--|H|{bWm0@6&g9r%3;7HV62&^*pN{V8D-WFgiWU)-sy0Y>B#mntj1f0 z!1z|wv+33s&l|qPLG_gYRLQL$kt$~YCQgHorhPucOwys83f+&RT;5HK)$oVuEAIEz z{Q^5oRp$L&&V_x@7evZ>w?NY91KiZIkdXjpio7R9m5ywR15rzn+abjC18sCXbe|nhq2ItdM?hIAvdfh*F^hn22Zc*g4r35>}%@_G_A| zo-V4ooy4F^e1T>9`CY`PnLm61%#<#AePk4`#7(^f%zgGFVwU6y^rx$dI3jM-%VA|N zwU|G9l~La(Y{Ybj)|-Fm{Sk!)t-bltHM4zUh!b~{L&Nj6T7(mYYjMtI$w|ifXFbyk z;upzb2@}TKGQQ+XTacLUxjBa=DxonJ6=zVDNWBN&%%Ll(?;p->sR15iF{*ItKYw)h z#fPvUi#hYTkLADGMYyf*i#m)jeZE&vSGwWTKZiUttGM`TWaP@_4|pi*`!Fg6<>T^^ zGV2G~R}%iNSxQFW0YYeh67X4T>N_{0vZss$s|7YjgG$|rg*lm0e3rP5vwn>8RH;+y zJl;tN{4`7?6eoM7a}X(8Or~zmNuDSXbBwYFSUVE^pp3z z0P(Cc1H-ho!(0M9%V%J78Pr6=h_CPUyxk(i&4)jGNxK*CH!t5a|BEJ&42*iBje|o$ zyYhi~k&%a9c{{5F7Bsw>Gy?@Z1YDO-fc`?ej=0`_AsEn}N=OH%E}6%PFdA|Gmv#V@ z>dHZuk!S?CH3;2Bz#y^m&Ob_TB_?4H@j=)<;)k7km5%Aunht$U67ETvv!nDTTV{sSE}@hoL|ie<=?XdcqkK2Q?K=%72g(f3&#E z*#x+(?%E|(v1MfFFa)FRb<9p%L{w1PE;XOyl;9hmIb8XR?U(>!a*UBrEy5%b>F8JI zX6{U_f?TF~DlA@`$D-)m@s%W=ouJjK{*M?%*;-PU36F z6MCfAYb!w;IT*Po!kvi}C&}zeN~&De(U^p9ABk}6#R3>@!Y>gA-nt%7eN<0%vP&-# zxxBRrpOefX(C3Me0Z}tLq)z|E5B)xH;Jyjee-bK)|5tDhW%;Uq31~MdC6F*QRKrq3 zdI~6>_lr~p=q$ecDImU9b{3%9Cugnqa4*J)f6vs<9kE&Bzx0e!v)4s>RU8qC`VMNg zs3-c7^!SLpSdO*Ip^jIW=%ir~8huD`hWld?a&K*|i0j5hYkK*H z>6NqgZOYBJb3Bpp2Tz1T`kQ$cxx1+<@j7~p5!9vELWH`xIbySG2zf;p5iQ7mUSsDf z;9C;KQ{O z^;d6d{Y3aOQNIDV|JtgG+h9-;GP6slda7v>M`nWowZ*=r`sm8~+Pt7n-63SuYLc&A@I%!q}}{Y+!;M9<3zABzETN`skw_KaOyJK$h*r z4!0ueDjUUtyY!+W%YO0ah48?r2hMy2@*D+zh7(*}saO}TQqG1Ef4JSKnm-sZv8tki zGEd20)26+(c48v>xiw^8m?II_u#5A&3(7Uw2&8WyHJv*P-BPX_Kr67ZV_p*3xbG5I z>SM8%o)#4KKB)*MW_U1ewtBJG7miwh?Q16kW8FJyF?h4(*f#+D) zW-C!kx_w*;RcEZfc4M?*VzR?Y4)f-;IWAta;)^a{?dd~QVj6Td>3Dwn_U&!pWH+r; zF6S{kQ_S=kFG`TyodKB0?D{8H`X`w92Yd&w-K!Wv7A)oYO+V?NV!0s;I{g=gRr;dY zB?&;ZQ?px>Xa)H^?Jd01ng)&RwU#`;99SHw&n;4)Zp5--w)ybt=xCQV4j5Z4O(ShW zML7Yo?r3LVVHXZy-h_ZV{Fv+{a4b3eL%o&M>6=JvKGVXP)lndEf=da&p>H7dc%D6{ z!|(MVE@)r^P0|CoFAf|x-BRXx$PBtg+C=<#OG^vyCgTEmu`P|G#NMfl$zjY$KioT% ze}|{u@Zl~lE%5L}#P`IyI*D>EesThaRTd_IU&RxVX49q2&^GepR>8@*?3zTY(-@q% zypkf1Zht$6i)?(45)q#V-r51N;HsXmi!zYOuuKf*y}DM}(QA9VI=oYBo2y)ex3+b+ znL#-4^GAFa0kwl)NJxI~ATnxN(~;KGL2&X>RawP%7wY*BnW@NUFkqNqf3wm)m^&k?(W^W$Z zK(5Ka)J4!Q0vg7&972pGS+}>Ehb}9k)^C)!nmd2!))0%!IUX-RTrGc<;fuP@e^@>_ z$k637(Zmvabqw#N)8`ouz<_3#H0s11rJ!oW@o;a$^F-Pilai!1@V=Sutv+GG=c5Ee zZKao0zTDhV%y@``O1dgmZo0q!+c6h*0OM|J$!)d$0uLZQ&nYTmK43hiHuY~*%gRy` zlHZ8$$>3Mje=qT0|2A|un$d!wul;-LfOQ(z*eM`15C0b*EjjzFqJleHrWf+@@57vK zv-?4iP)w7eHPQVj5Su-OJE^HWTK@jZztBuP)J4Va^Fh%0Gh&r)UGmCvOTrE-5IP|x zTR=_9if>I^$B1fOaTcQ72UY0Uh<|{&^{ZGQfq@PM-I!6-*JELaLU+Fl6(nTl(Swkw z9VwrWA>}ZKrCLg>1I2n=o5g%!%fVD|V-7qA==H;Yk`FJ;T+a5sIvaBoRUBK_fC6p2QCi?jp&WU?N6W1^#)Vi{kkcs`(JK znaot@q^z3ewYA{MTzsSi-(wp#ozfPTqWL-|!)Cp@J@<^vD4%NuM6vXI_842 zFgvKj^>peuZAg_4W=~F~^Gh-Mh`Ozr>d>N{@Dv1ydbH-NnRGCdi#tr~U}!`swdSXt z#vr5b!k_fg^ZncrW=17MR;RDslrB_cAbCH?yv%QXkCzYnP$#yv4wbs<%)=d3ZEUh^ z$7*UUHAuukg2`v#sC5^2y6K;k*7LW9lqWutg12BKw)J1$+9G>HYQu{Pj{c$$)FE{$ zGvm6ssj-}(34B`W{@^Auj9GfNmd`^-a;EL8^)38-Hi)nB357HPbll7t31||@%)hxv zTVokTLB~gEZ;ONcW~>bGTzwPL>D}=6`8dq3gz})K&KHwX^vdb@dz{;c{;nTkk->f9 zf6;tgzTHu%f52*OvZ8_SP-)M#oPQ5|Ug1LY11H zo_<4VB)~WJst+%-VRO^0k!yiU<=oc#t%)f39XQ~spOgvPe$C?KQ7egiZ z$D@5I9KV1tWV(CVB($(Q@7OtO26aXrciAz3A4$Rb*9@*<#bW(zAK5BmA@U$gsdVG- zQYm8K%#mI1GzT^FBp=^7n(XT$Cnv~rs>MS#M|SpMRm*@?qK0Uy&Yr0xGcvZ=BhraD z&QO&iNT6SztSqWHHc2k1_bvS-EX7-hv)@zGW{4u=em~$DML96Ysnt7gv>a%ir2&gh zR8g2WEk|3-p%>G{t$oo@e3?LMK&z@BuAgkaxK}>m!9MRKz+?#mK8tlm7`EP^T9uHIQK)M68UkYX(>c(sr@)KE|to*=c65r%<>1hjujwHb^*!I2hOJvpR|52h4! zx2ky`x=f_lWV=3CRPQ&w#7{I@0-@jEi__Q<1cwMU4|>CHt`OSV#J~SUM9m*#0T(0D zEy-nsDc1d5Q9&SIjWn~R*Znby3hSN?K6GDoW!JQNBlUiQZGNHwc~536b_sZnm1qWe z6iG92RZ(_|g0wccQOpO{hz+qC9`zbQ6+iql9}iF7~3Xz+o2H45Dnh{baWlKMlx@3wnuDTZ#*X*`t1 zv=_I2ky?pam-AL;Tr(z?-;N#~7_TzOhw}{Br6$p5b)%3w=uCWY-Yb~5ky6j8;P0vb zf%S`sD3DXnE_4cT%u-2cU zN?JB~92$gcBojosyKQFrj8u#Bw)jRj4`&mi5clQx43$Cb3huUk)D`Zb*|4Sk*gIy# zZKY_uOkCTFZq7GD(&{5f03500CPUNnLmKSs#kI3gx*0^DP@T}-1kW0rFD%yL;Zue* zSYfoNq9spTvp19N_v3|ucl~-}+Lrw>2szxmK?RwJ457x1*o&pvS&O%!SPaX08d8RY z(Z>=c`y$!WIcZE|^93BF;iuFL8`@gOI0dk8>s6!a)D7l~KS9>B&!33J1^x`yq+(7+w`Jo)Vn2rgtF~z700;yC>(u5=J4*&Mhu11my%59id7=? z1etm~$tF`L?;CJ#?8fy+nFo#6dxat_bGxv-MEbHCQ)fj!o^xvlENU=wl9@aXFll?X zDkfF5BH<{x3?d77X8@_I+?%+iFY+h?ZG&tP%b1nHUbSJhQVW3_GW*6b6jG^kZE&f^ zOG3mUCnk2>(5cPQIB~DS9eU;+g&8q4%IN1`2DLKZ`(deAJ+dPc*TE!Tlo5r%vt1$M zK<3QFU{GR`HgtxIGC+S8#)?0}^5L@IA`G)2-}XgHH>tagm6*<{!5$;;r!VzI;cf3l zW@~CB$cg zB<7$JBMd{P+nLj3v1l5jA)!s7YLwFn;o(}?oEYcsyGdwD7`X!4fy@rF;AP;1%F1am zjzx-nU{!&1o1w_!oGaLocv5M`rQTWlL(LTK;H6mZh|qFRY=}atxz4g4D2;nHfKiDVDRE~JO*sN zT2t#lCCjH71{of!85xy_#%CLi8g9ggb|f-fNd7C2hCZ_dXFfEu`H8-d@V_3l&*m%BZk4;f+kF2C8 z!fRiF*#dL54j@SyC3?lIb+VP(xQrE@d#r{%ubf^Vm%$2`eiplFd?@m26(KGS1a>$0 z-O@DcMRT4GE7;w3GR5?AHx!n~MhFME9!_Hl+047^RutdJ7AB}@#!Erd9wo@SELiJK;4(g) z-kjPTGIv*C&20H2<&z}I-)T8(JWXBxm^{Ho)c#>?EQ%PntVGTU57q|?7#eN8)_?i{ zaeqbZUOPDfAC+EVh3Q8^fR#SUj3ccu+2HE*AE7>1Stj;|gY6OQOhl3e1{9gsNZI>x85V4S-d2I1Jz#kI*`w-zK`4B;9+JxMl&KH$03_D0 zS3(aYt-K+S`sH0Y>WDkqf7?vAMFK{=q%K0v9pGLI%^d)O<-j;ZBXYy4cj*u!yAlGd z$sK2BwmVsez;g&lVYe5O0XxzIcL49?hCCBY&q&4lxs4Sd&W1zLm_@WZOs&(6lbt}4 zSAVwoI}Ox8o;)It_T4OvF6P~%lRU88@ZzFH*;>+Sw;vh{7DKPJBy+ABL*1g;e9NID zPYi>jW8uF7&!#mn!383Ab4aDEI>pZuXgW2CfQhLt7p5{+M+EFK?`*=WZB>V>Gdjo? z?myeWa~jQ2U~lcRL2JiZDLEupaW?}~Y}e46l0TZbcVBhAkmyOx-XccPSNq;bv#A@V zJr%5~>U?LxPj>Kg;BVnJX;-EwJ3=qSQTg78C2e zFw&O?ru(h=ZmAF@pZZ(JxHy^JD6$&JAXOBb+gUddwqqNMuf{T?Bt zQ6UpTR&I&{b7))IB)}nJk&()bp_rm~NZI*OC%Ubi%) z^h!s^7EC0p|I`587H;%5j)G;HxO@LR;*>7Dui$JAFqWfg2~AM&N7 zy9G%JDd|q>7HL7GJEVCL>6Y#W2@#YQBm_iIIz&KPy1V}Y?|1Ki)^aTu3r@`Jnf>f% zKeP9Gxx||-%HL)5b`_-a)mA9J{#4-$d#WvHLiHAkWoWP0GYidROk$oSgb0_S34Jde z*N~&6FV&#+H%e`W;}KL>+Z7c^=g`Lp%JC>GJg?Zspf@pFl(}iqiCoO~WfRd4z1eMg zp~&<#k@76K5C5X}H`n5OQAuL>lhi}q}A!J?#j)Yu9H5AF(=pVAz6qm`ci{=u7hX_Zj~d>O2YRlp1ihd7Uit5Aqt{PWmQ&T zy1(HHn(Z;0CWbqEc4zJs&oaZ+?aW*8ip%m-)w4|AM`VsT-)Jvt+0gmt$xc0w;M94Q z?^M+Pb>KiMbgAc$=lR3m^Nb}q*;Y6QH{yFT9oSvSzw;hRRL^~HQ7f||9&uzE&CcCW z-ZdP->rY4jI^_-u<-6&$zSmJ5(^4G@xIV}cVkaAj6&hc3>klX{FynH^pdR2AEufq& zp8cbFK|GWFwzf$O#THAQko5QKW~l?_5xuY1)Y{gLlE zyXoBp#2B?m`8dBt*O{^)wuf=N$U&E*e}l9eior!$neC0NpbV{{FPlf9*a=u3eo6cV z*ARL6BayniJOB5MKN>BegJ3bYEIhSFWBgEQ51b1|A-<@jWmN5?I}GC?htm^3dD>Da zY2SS{iB14&RSKr#%B4RNHDWt@mMJExtL}mop=4;Y%_R4$phtelez*g9<+1rUnLzd2 zumRYHPEML%3nfqM^PoD}c6&{fug{#aTq(LJc(MgJcl9kSiD=$e;?TRK9`AZD`~Dm? zU|>kFR+IKdPQtrPtE)6ki-_Rb@(Lz*;^k`9aGP0a#6y1G`uw~++~HqYLy*x{g{ogJ z-)1CTK&#>T+p=x`7gMtf-)+C2A)5BK zHR}?g>gmq$lKV=gm}}a;VZc94{;J}O#g`&0*JbPTd!WMC=j*4DFy(OVX1Nw+OVO;g z<`{=B&xFImoSPGPDEhTypET3`EGzMg zG-IxT`e(MUGh0^eYPqw^mnW&^D0X)q2orJ1g7fGC89T$1$EoWNb>~u4RVpcq!(2yH z!rzhEwhm!?)n4gXgboSXnKUz^b)lP=T-`U_p%SVkaGhM)h)V-UNb;1ne1T?`z`8VQ zF)Q=aDy91+g)slZu}XdUUfTiD2XrY*hqLeD)#Ily_6QAyura%NQd5852sR)Rm1ULV zN9^oLz0T-Z`Wf)%)7FRe=ZSt#N^IE_BT&ko6<)%`2UVSf zv{igOzYIL9h@93E$j@>JsBdy$X<+#nu`p2}#BU!k68lgscEV0@9@z*dPy^Er=ja7- zmAKeA=x*BV-?QjL{j{#ffTWNxVn9N&681h2ANjRLmS&7u8WmSwsrU~kq;H8Rahq&v zKjt?jTKOOAGQaH3cS@u;F1jv5bg@}v`8%C`6$#CgqS0GDgr^>AA0>a3wZ^0E9A$o< zl}s9pSKNug8ZX$|EJQv3yi(1!_uUh80>w@J1j?T>Tv2>h0yJIuXUbcY82E&p(X`!y zuj`*ovIq&4$|bDd=p}~Z`6&Oq|2q%5Ib96*veZ1{PRttnj`ti?p&Rz=vO!M65{SxO zptKQNsW>?5^!UYJt-9tXDNkD``tF89*ch`Y`B;6haYu~mUdNf~um_Oi69-B_ph%gO zjg4Z{KTRGGBB_R1Z+Sd%dr4zaa5`l#mi(Z6ppFg+x zn^N-C>bmP(47kD7q^iJF$K5C%w>N=-<)5PyTAbBaO!5duWi&gVF6e@;Nd4tIC^npm ziVOaKy!4&8Jgg=vco{7kEfkTtSmH*jc{B6qa25!uP!hjUrkB;pJXW_Yox`4^+8OLX z$U6w1#Hr~2=5==9w2rtnS;CwbV=*N7j=e@3w|FF5)mjy~=4($#Q{UV3=sP%CgJ$3eq@>NI-75sp?>

+1?rKh6#Z$O;`idz2k8f*t%2>Ec@$RdK^{ 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⊙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%0AH&^4buBdH1c#CVt{0`P)Ov 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 z z@56mEQd22x#wwA3!Q9ZAgsIk$xVI=Q)WdH zu`FpLjc;MFCX4fdX5VmMy1@+;QpiKOs=VPIW#WhJ`^7&~*=Q0rLIL@tRzlru9&KyA z{vkdVA4ie5kJEZLyuk2Ty{^4S$S8)xcz&bup_pxbziiiMED3 z*9X;ttW4d4kbNZ;^4pM&_MOKU5|lwq?pso}H^22!na}j~>n*b_P5cuFhpY1nH)Zhg zJ@r0zL|R6Zu~>LlmjK!ZK0V*#cqSDjpB#vf>UEwV^>p9#{V4VSr(tlfWq{q_@ZccN z{cuIVYW%^)H9}f|1m#=kz$)o_k^5@gR}G8EI~PgdOCTKeXu z>OrXaOEU={tAbYcR&Z(dVzSnZPwhIy6p}D`FQr2Wh_HjcYj~8|tOJ6WzRf4XPQg*^ zz9g%lCl&Ru3r0+&m`m1!HulVu-gqdmH4xYai0u;4q2SM=p^#!sQJatQqROwSqeU;( zSgYiQp^PFVfNY$bhP8sk3`qKrvO0kArM zS@BF4i3mFdhZz-+&;N)tCK=#t5iPBK>Pl*^DE8}8E`?W@tcB1~TUT0a&1rH`6PNT@ z@ZqU`@{}J<{Rffus4a+bu8<3)?W9L$W};ng((eH=*9C0^&1Z_9(Wt(M-TCdKE&{OH z;iyQT&FACF_FnwhRg&}$KP$*?#oG^xu2d;HP}|+RXAo(qt4k$Xv+T--1%X9~MVQ?! zxuUn6>=6|#duxw-8^7p z<6cUd>gn`H%T_X9MD>oM4SjGJW->)+D?)IVw<`5RhYY@=#kbu;DpS>(knSlu&l{qf zouQ@>1X}15VtNL_qy_q?N)5uBJ5jKy2N0goyT}`3gCJV&~HNocZ(dZ{tP;ViAzs zR<5;~He31eS-|(&>o03S3HKQ~GYMeGuw=z)lXMjLuAG&0hddo*N}(Fg=LmzEiIz`> zF$^$apc}yY*gcsalC`{f=W-i1x2eF#=2E}sT)4J((W(00TezsZEM|2=Cc+!i zaY{w|@g!yZN^ZVK3-Fh#g2uyUjJ@T$nPe;;Q;%;*YfW?zK6l3BRe8kvy@kf+I}{d; zw=S&zs9T|xT~NByn2#?|d#dT10zIO$PktSgPzeSXI5_lVb~UKBo=$o0HkZ8L z%zpB580jywH`f-mON9(!(xI3{Szpw_MBtnEJ4_T^{o=S*Om53ApTOVbFYu7KU9OK- z*QH;4?x}}UTjs*-Ru!({c7B!eL>P2XG;`pt)5uoxdzc!d3FEV}BnL5)t}+hC=cQ1F z0cR#@=5=={Wy_nWO^*~iIgZ%7Jh-GOIl&sj-(+Th^hrw6#yC&+@YrUnOSOb})XUNH z-O`)Lc2%ob)J%^kI4h-uxr$w-@!KUIrgdMc>$lAk?l4n|TXomiV`}!_=h<6txcqt+ zmP&Bw3qmPW7nk1PalLVio@eA++#^JdWu(ooxu|hbM7cX|L*INdV%aNV_dV*pWSnWE zA(bnm&eGY1O9x2zrnF;yJ<>+ji_rVwuD+gHIN>&USgzEL*wa@(rx)sVU9^`Z5ML@2 zEc10;-1aeV3`&1jvIs$1@ZhfZFc>narUSnj_jBW4eznw7bA7S(UiX6Y8|aaHid5>? zeE$3ya5yptt~R3unn(B&(xmNcjU&cnL%3-I;=Z*ibBG-IL0rRoR7$cB0kMC2=<3flB0%9_|3;i~ zI1ckjj*s}q+tR`LrB5#W6{||iv)MoWkHmMF+MLVe2t&)vB%QrPgo>r|te2NWjVvN_e)LLB^V*u@&MN^Xj?wY2XqldoH8vrwYJJD}-|yKwl)m%f zr<5KJ)uAz-R2^86=);Twd*6% z%`aY#tk1NaHoOTe&9-=3pc~LOSCUa^I2{gp5#wXg5_DxE$fD}L)FfYh9n!gxIBl(3 z*dRZ;nr)5Ndp<`mOye9U!pp@dKT7Km6Qb&+bY4qk-to#hs$13LsryX%gPPfoa&YfQ z9p3)B#KtBG z<0@w%C{zmGks9{9KlqB549ZQdkh4BzMscg}E%x0ak3jQgBkqNV0jj-O`QYj#O8xXYH`vgy1F}5uQlEn>|Ij z&+;{xG%Bmsk8BxjU8IR17u@hBo*J62B-1D+Ns(--v3sHm2}TGL-B{isJsMal9jJ(G zh7r1l=WXLYRD5a|PH)~#&6g^1aMuFPFBH|i9TSQE@2Siajf)MW#(rx8M#b%pua+^2=h9?-TbQ)&00xq}*(5=^s8wa|;N9DN34Okm461e7f~pLp)0S zKnXPce9S{fDi|o9+*T*b+>PR}&Yvry`875SqgBdY$KYC1NfrMLwl3M*;(I9iF27$N zfkrKeOZ0HFC;c>?;z!`$tuN=F;(L7_we@$QefWs@NC^oCImSU}~U$asMe(&uD3h~phyKT9&_`XDe!Om<% z?9LG{V_v3{MY|SWD>luWVF7IA+s?0E2ZPvw#q+pXDPq$BU^8%iZP%B2PPNj=L2V~R zup{(oM(;YOQ07U~{B;EO>WRddGnH4=wP(L?@Er>0#xqZ&{nLQfhZ2*tazCAamYmWV zPS)|fzf1)V9m$fwDJgXOuO>+2BX4gBO)ag)3fmY)ImgoFUo}{EVzmI|9tPG)+>9yO zMMfC`nSy76xoxh0y4CYBEd1mEuJs%AFt~}t>A&@`ZsalP$e}{4cBS@xt_VbA;M+!uJTGeLJR7gEwzS!+c14V_`Efbs0D@GNvEdWKBj+N-Q{{qSs>nV=?_D%XIo%m4( z3q8dk3JhBXSy3iZ1?l>Hz;_sU|8S)yms@C-ouq{$yW4@9v$TGLQ--8BTE1cH`3hC} z?q;d$=_&c2b=9C}VfBwQCGdYUYhQZ3GNc)zCx3IjKf6#*Wu6}d13IVAUyQz} zTR=bhSc}e%HvQC>TulUSKC~R6SKAS*P|D-^Q?IP*TN!P~n*aIj&h1CxYx@%2uZ66#)t5w`3{c94DlI|28ZzLkR>37lm*ydI;z3WGw!j_c`9KWvLRZo zGCTcP;LkN-+j_MI`YnkOf6xsjOl0hfjDrU|&&NW2hu->nv238x46)Y)Y`-bX3lTM8XqG)fo@byVJW-QT*88b@fS6G}HOtFr@kT?HA;rxAY_0+uQ5t z{(LrR_z*x-_fZI>k-rMQ(uvo8lai96z%zgW%);Meews08_<#QQzkjh~|1}~+iP<~5 zy8bE|6pwN>UiIZ%LF!LlDd0@+_vdH*g6=ah$zB%c<(X~CD&xMA>h;0Q4+FS??|!pA zmY40HANoK!`tRzv5o4R#Z~BskqG%wUhf`B}kDolre3jnPk_yIRUO_>)IIUWyB3c>g zM?@?l4ndy9OIRibr(W*C}=-#>Z=Eepa1Oj2eh{^fFn&u@#%Bq?L$Yd{% z5OZyT>!3|uYi1TG2I+er|2zTR1P6iB9?P0RV43*cmwheTCQ zr(H+J%S~ms0M^2PG;SI_1V|Ccln0)h>H*ZXFYT7SRXtt4bJq?Yt&ik4G$bj!zw_wk z`m{A4blF2`o@iYD{gfzk%xnSw#0iu(1Z&`i#aVL~SnYA^*1WfA+E=(h%-#TF(t#H>?x0yP zSeg$24>}dE!ic1`=bq&zHLT|(gC$cEewY8vAYkvP=+;4T zM4`{0S4sv;?jyO^dd@#Js{om91W0-*A^j&R`j7%&-~`#=4-Dy-3Z5+AG?2$;ObQIf zS*c%5&D@!896`1@{viY*aSxzEmyDFq-&zf0O-%=y!g@H|R)JC-@?Vk8bo)N`_79r@ zL&c<#R82gVP;`mN127kY2ls)J_De~Mzc=OQ{ckLzpnSL&)j8he&JSD_k(HY~?>2aQ zI5}s$H3g5J(iP(Lwz6zjEYmMa8eT4c3%!>*3Utpx$6`n7%>&C(9uT6GV577W z(39^FFI|;1-Kel!UmmLMyS4}6G9JKzUkqdTBC;79=qPC*$rjCo)pK8ZRxeX83#$oE zRbIcozdhZkl~p=C@n*RY}@3nFNT^meC>pl&7KkY3e9>2dYO)OG=0XV&dhx`)S z@U|-`@3^Wbh8G@^1_tTd{FIYLCY6CE$&o4u=&v! zR-1r@p3dJdB1_D8CQAAAV|RN##+l&V$oB3onfFuC38uIqlijxk=gn(AI8ULvwrT%| z=7KdCzsmmKa*Z;9+Ehuy2FE=qpC;|TukdcuXbF}X2yndXoCV+_zWqErf(H&-YvmDhjA{D1Zx6lMu7x2)V;e5gNu zA{~%Illfvc(^T)4rlIA1x!;Wxsl$KB2sFrX?t<0yR(@`qNwcKJ7(2(?d_)p? z=b_B+l~Ug;&h4rCxSi%x0|vcY)FLs+KsN@y0vtgpVwb2<+k?NKA0k)AgwtZ`f4kZj zNg`>JAgwq1c>G0!Xh`=gzz)LlLtywJy1s^ts7hR)EiPnWE4~ZLt;1VI&NBcb-LvUf zFL~9=$z4%dxej7Q;@gmJ68t)0%zwX+{rC5=hA;Kx|J5J`9c;5~tpf2-erj-iMU z{M%ChdnAkczi;i|u^0z1L;NBrTsD8HkUbP%2xT%Gg3G^yiJE@Bg_KhpZvmjJ2!gcXj1bz# zeMy3uO-$%?ETyyZv?pGg}&y>YZJd;{Y5+*XrG8R0sf>D@Ua{L`n~4gKHLXNs@Ow- zLu=L@MUynit6k=Y^v7)2s`zdORD9d>+oH)iU#xvbVHcwSB87R1(X;~Q!^{>Sww?la z^Ht=Nux)A`3zB74Wj8OgfwWAflS~n^oq4Y@8uaxMSOC{b8h1!c=a5h=au|xg8Azo$ zHN}pEP%tBBo-Z(jl%dB|aik^#;>y2@brZTTjyD%Qe$bz{iDPz(Q9MvnR(YU?TK*pW zhlV=k4-M&}#q5dBa$s)m-*_uo93Has^Tz?*NfkAT zV=|c2u(G{~NsN-|yzdQy4!K`5?h2VTET+5e&K!ZqJP6XSKb*0jV`C#oQEec?9XjuP8o+mG4HTJS?BOb5d(b*J^_ zT0sKYGp=&`hendnr(6^;Y&1TDJ#EMjMru&{vBq|m7CeJ7PK&-$#YzdK>2ehH+mOXM z@USUKBL<{yQm}5_nLCIDj~$!ZVXE@2+Wsz35FZ9Pk^(X%!-!!K0Ik-Gx1pDpz(7~i zV3Az#sfR~{QbY}CU+tRjc?6$k0eonDxXkEX?ZRqY3m`qJ`uf zj+@Q4G)E}nspEoS0z-ai?>kcT(G zDEJ!m^taCzz2v_E@op!AQr{`|280>UE;d1r#&K?LE&@;i?Qg&nTA>5`nG_RKM=Nmd zJTfPx!Uqo6*I=0rR|K*A)y?H90Q*3&c&cE98G0)62}o#5@$-+|%-&p&wK{LUScdB8 zgvSj9eQlGyEwO}To8AC~lW6kL7USkc)7e5q@SjU4q7d-*gS!+6U5LuDxPr~m!s|9>&zTAXVkOUtFlOe93Ip3GPKVNO77 zIvnj`N==ZK{dY7zDj_Q(bCuEhA*2#P19BVghwNq0f03Z~yX(NB>W(|L+KjI^nM9|JjM?^FIT*pX}`Hux>!5;__YrTlzCe;PuBh7ES#3 zDuYK~^e|CS?)}Xs;U+-L#|gwQP>>d}adJk8x$Zm#sTYU$eivoruQ(7kW*6($4wGx? z8Ji=JTPa*VLQjh4@42Ke|C~!&WSzJac|@#8w>IieN&HvQT?wFjKicZ+TTon_4WNk; z!7)8qPOTEF_?9PXYPn$fd^yts%DKc1Z^XA(kn=L& z8~aeMd*0g8Z+LRk%cuLNNZz3f%S9aypb79jtMkBw!3i-7!iFR%XtDdNwk zK|x{0{!|G5If(wpSc9u=K~aE=k`n)sDS*G6Hj8UHN`aRO3<>)YpSQ7>;o;-w7Zp7X zrT8Jbnj#B4Z{a;+wjdYYh3f0;Kd*uP*+{_o=tcj$WHSFAG=G{R5(~B`di5uLFv!PL?~|7oK>Tb+*7xr9|Md~k|6jw}P9^gG zlf*$FO}&Op?vO$(3oC|R`@uxgcX;0PFLVGsDFu+sY0-iaQRjwSbaQ}&#Bdun-BaXF z5sC%Gy&_El@!_pt{gyE^_Fq06kje!@K1x~ND#HKQaJc<)jZW(_pFe*tp=15~ zy3@`5>+!%vKw|Ruz<>UZaiGWi2Tc6u(Ep7U^gq`I-~Z2+;{Ux9`4Om!%wz1w`~X1N z@bK^&=rQ8G(8T_&cuC330=kxnR{!ohe%f=M$}PF?gKef8h5&%3Up+L=+3aR^p^+z-1b_=^2vztTv;`A0nGz3)Xwycnjj37G= zNcB2U=HTXz+&q&wopS85pYlO$M~#DB27FEA?V{g+lD2%)?kNJqlTt4uc63e=1}% z#YPKC@Trzpl5hK|yHC0Zmp~YyHbq1Ta^fj6(ASIv@5ZdM!cp2+1DU)?)>*E=qLX`r zXuTQnvIROU0-*S3-}Fb2!xkvtB4+_|lLCNZnC1&{tW?nNa*{!{%6xw9%fyCm-R6*fgalPN4vH{3V&09{pC=GF-I{-9zf9{5gLQk>x1QkUI&#g-gV%wp` z!>w2MtVmA`pcjlYaRVK;M=)j()m3|=zs)Z!%)Gd`$dY<1;c-M1Z3hgYVQvdyCL}!z zGB!3gJqRRxNaL}V(d$U@7}=d&KCxRhqM8Xp=|}(yb$T}47G{Y9WX=+ie&9AQPrV6L zX=DSjZ@WzW#ZS$QM)RNoAn_)?Ds1UCg)YU&5@rD9_xr_V=vxd-oj=Dv<5N42LKlep zL4vss4EiVnz5_s#>Tn+oMVbpajp@ye7)(LNYZ4qDlqq>}vdx*&2w*Xoon7JVB2@#R zm%am!2*hmBHg)swLaz=ASWCyAfLy>%DNn>V)pi(3&X@ci%L;tL1&UDN^3KlHc6^lN zT|#obDs(CXPtT)$F9SVJcett70USow9{-a}9W?*F zx7#{=i@c{KDc_biH#_6yfjo^{d=|h|zV78JnOSM`Nzxmh-=OfNmxVwUeB^w&bgFuW zMdn)OOy7zWD4is1q3`fZ=3b`AV@j@EUm-Ym2U0{e#8(#=mG4LEaxT7;{c0L1G{1&V zK}PE~hbjhO4=(R_@}ZtP^@=HtU@Mt^u)8}|@7U#91~AQdum$xW!dz#}-7ooUoA%$` ziJr;@RwRCIf8X2GG6+3#0l*o75LH%DiOkb=Yr~{8^T}yyO0lV5rif*X*v&kjiQX-C z-+y_gx0;h|L*ked5P()*_HMVZcxH7XKbRPZjqX?iO_C#|Yu%6Jv$`{%kI~7M=qVsC zey**pgsci8L;Iw|RA3RHJGFWsB3+%f@IJPs^E!{85DldMAgt zV(VTzzWMG#0ASSoN)yyn#LY=*0vsX#~^>;W`#_~OZ>LPQB2+EWvW*$8&8lJqkWv$ua|F! z!0K#!u_|@Lo^sgKkX8>|uH-zBAt<|0N&)r(Ku;MWC$HP&@$}J}{l=a< zY=BLH0W8`8{|%(di9`RVH|lQwje;imk>~y{LWcmu>h5QB!@8d7%vL}0!Rbn}mgD8> zC5e-iw0-gR@tfokL_UXWA@4k1lg*|Ex3+?F80&)jFZaa{8eZD~fbyx%ZX+!SZ<49o zxurT7t;^k3TkUEoREcYT>h6l(y=s*1v@v}uYd}?DiPgI4NRF*2OCD`%@%nsMChyv5 z@+=f`TQ{E=pH0Z+@Llz~%1xk!NR|w`Sc38CxW1=2u)poiR1{j6KU_3AVgLJO&(+n0 zfSX{_Y&uAoM$9=2kn}+J?IpGuYBnCc{Bae=vfR7YWsUETe9ML8>L9jT{9uC z&%v>3%JADTui{Ein6Rw>ES+cV*GXb-o~aq+ao+T$XGW0kjD3F&+C zTqT=Y>o%^WXMWKCsHv6Z5CLhWQP(+Fn*@$65i}HAFr0_+frydBi_3cuqI<7ZS5*AS zc=2M^XSsZ^X#;}2{S3Dm%C!{;@M;Gax8S9JI%X|<(m5qh=5sQFmt5djIIa)Cy4GXl zwWU)$3XYVA&^)PQQE1fZ+0ZO7-U)-djtf2BfZ|P-@>_JRzIgsTdEbMfK z#)sFZpAKI=w!)xO7e>O{j3el~k@>lHVd1e4MBGQnrYM{f57A-Ra{rMSz}0I%VagO# z-_g>Vl3I9|c?h=nlhypc&i^hbD*9Fn?l!SzC8Bt{)C=V)2Qg#!i;QKOyd51J4i^Ut zbqzt`GRw40ENR1R))Lt(E~Eg;mr<~~@$mWVyxdf~)qO37Tf+4hpnOVhl8}wBQMQ8u zx_JYXYzh+ISCHU!?y_4n5bT^4J^%x7RGw1)C_P0lx?Nb22e>#m2_D_)kNgN1ovU>ACE-3mAMH^nL$+h|Kk#7o7L6RvffS9TS#}g5Mgw;jD*p>A|nn z12s4C>MxWN*QaX=swQ#%l!GCm50ElV_DG8oH!s*lCVy*ND|TyvAKJTLrF`I_5bf%< z(4VW((}OsJ_&7T|w;hhdhD*B9vFdE~HD?GwItj-85UB%jU0^L-OJ%ustQ_OER0nf?SEZU_^iXx}V9-DF3B zko@KPUP|hhoVszVMjsi|tO8bXe4ZZR8SK1p2aS1F!U;dsG&Z0lt{3Jl*PBbiPHByad-c|I&{;&UoH-L$Sb|WoZT0bi zE7PJP4|Q&1Ysa;`-6V4yE>7>mHO1m($RlXut)4USHZ*2hetmgGw)X)ET4P?9>jSbv zyGhyT$HGLxjlT!v#PBx9W1XIQ-%oZ9*Y&c`y1BauQ-MX~QqO^KARq$EjFXJjs~>fQ zWyAY&=Idu;_dtGN8f`vtJTu^%O67;N>{h}L7C39Y`?ry>ow|M%z`%$D$>Y2i$Kfj< zMFjIBL!a9zbHEdyBm781TtkyHZLK2AF5j>`o>1=jD^)?)%coO=^WM&!rw`}KUCQV( z1Z?|mn76^7F4mncabKE z^qvl=ns}vK%(kH-UL;~0BKj{k>K&5GFGss@y2?I<+0X9gFY=X)jw!@HWUMGJ&Ocr} zhKTG&!v@Ai#gZ_7t=se5+=k{{V0smYBAlt`2qh(jNy!_R2i-?Is=~u>g9&_9#MxB>k-*Vx&_UqP4cY zI2c29?&Ix8LjJKNG8u88{noPaf4bZ@G$fi&<4}2ONqIejYz8y@zjD&#miRJYMf+ z`0?nFlFWFTos((v4qDJ)$F~5hY`YqL$@9+9j;a?VuN$sSSsdXq_2<0ts1Sz#dg9fp_ zV~|zss`u{kUF$wDsjmk!NUj#D!MnZT&X8KWevh?+G&&wd*;|i}1rEQfkJWM-%Ms0PQwymLmW4yT~Mf05>(bF;xVUjQq`1qL%(Qt{*r3^fh$!^d3G+ zlnSwQEEe~+EB=DGgklqmxAT@TG3g7N-iS&}FuF)yHluTUssDMAqnM}9gxzbYU?%k7 zi21g@r6>)%up^}2v0ML)k89Hv>SDtDgT=YF_HW^+c-pwBJSLT&-l)T5I2|%y z4?FfO#4Jy)AMqOfG_ock$n80yeRqL1cGbh?xO3;vQnjw4K>odQ<&9%qD?{V0W1;jm zZ2YYwjvk%q>ZXOmNG4%d294e0GQ_S=k|>S|3Jpw@oUq2MT5;%DEU`j`#K~vf&~wmd z+yLVcxQ=Lrm`PJ>6B}O)n{>p{E?^UoNevC3bn*9u9_B4<>OOYG6jNkTN#>K6V^K1x zdnDX34w^NRYx%wLh7-QTU4IFCEJQi|u7HnE~ zetF^}{8~u0Bm`^4bMn81I%~yeH5zvY@9orzV@))x5UIs%B3R#>dbX7Qtu@!zfQvL_J9(^;-mP(XR(uZREpO^?k`7|CyQj z4lUKLEC@pGXBL2s01a`;$u}Vsq4=61WrR)Zxse-;Nl5AUipAG%ZpXTE^r{U8@O_VU zZ95%aZqso{ra!T2 z)B6S!nu$utCGhxbDcK94RX&SYw-3Ks(KG2kEb`|jMb5WL^vP7&2$~t-XNbMtK=pgW zCh%6(q4{^KU5nolHV_jzmu$#&zKfPGoARYO6epYzy)3>rzSh!8ZuNT24lN*))m65s znL~{T&X)nHI4ckS4^rwp1Aq94HKK%`h_y+mY#2sQz%K2JSp(0pu8oUoj*a{DpI1U%ep)zXo(v>Y`}4Ie6hv(G5&&&JNuiQ`YZ(T*K#NQh%?;pAY6HaICHzeQ$>-)M!URMlfYvUpAj!@ja4pBAs-V!pG41K`S>e9$I zjKD7FwWWQ4HylcjkuPzY*E|97!o2Np$y+H1-VjXo1fjA|U{sn85E2dM?SKz3_F>zz zfBu942Rn9xSFCa8&P**R#SVdJB);w{6%YEjMky!`EJmoheZ+q21X6OQpC6ikfAKha zq3;k@3(WHI;i2aVF#m@@agZD!^tOo<9|&u+hMrr)hBa{v_`nYz@Cn>ijHae683i+8 zQZWEVj{z14*(5G?UcP5CRoqI;FK&@(Ux(}<$FvgeyI%}#+juwZqiH2XO+9`CIbTrh z!~r&o*KhwUx0;oj&w6$UY2?<6gao-E z3Sbe3?lhP!!KSd|GWSi!GyNnTqPk-cR$Y!BLwJVB!KrAm?jlt{5O(l^xwkvZ0tsl` zH(uJ6{k6Vz>(&vH<5aD5wzaM9fN$xqo*#pQAy0Jg-kq;K-d}8%pzD!Rli1Qefff`& z1~oa_{D9E;fK^%3kvRn6%|~{-UOD2lTZb|+c9$KD0NlAa9KF-rN(LRI0VKN2tL_FY zMN?`iFx|(gsnoqfkcY(VRu3PlAmZByw@Z~ND<>Hqe?`7J`|M7H97FlvZfR-h5n$OH zQtNF@#|WVHq}37U>B+;d@(r`uT@X(l4H|lUKysZ1Z$zo(vji;z%nRP6t3RSifv|nS zjfO5I@nd)|5E6BdzVG_%uLH)Kb+vju6gSuEgBp4m+AQ%*^+)K;m#ud+eI7h^&wd44 z-E^4lgz!&J+e^!LvC_^7S8-kOa$yQrH!5+DW84t~i8N+!t#2??ZjFBUK7POqJInNrFPzT|)Gu0+fg}(IM8M=1##* z-A5f6(^cTVdVvvPUhi}GO3;0-3$x~6Ymvp!ktp&Xh%c=*3+Cd4_*{D3<@A6q>L4oL zhkOV=`9|8{1((4bV$=X6oZvQtAH9B8H2|}laB1wAL(rST6luiFdVY@i|6Eo#Fn|o< z-yAy%LB%S#JppHq6|}7XHx&Q=qlx#Q-u1t~m+nAA`;RgB_jhbqkA0JF8yTr1dPzW^ zKzbL^bN4L3qVL{4@&+XNE#y$KtpQIp!+=Xaecvm#@k%lEwR1NB|DBt)X*lQQ%lm)- z^NpkhHFk3K8i*v;ja(;!jzJW6Iyrz;-Z%j~x8nfP^kcx*TE~!f635?O-#E(CEyNpc zMJ5TkzMWs~t5|e-mw@&^3On{+ObH1Iw}C!SJQy=KgSF$-#oKzy7y*#=7GT#?iV?zS z-3m9rq~{@k$%1Jf^~q&L4Ip@Y1eNzb+S2Xl?j{@2htVhlDZooHmjdAs*s(4cK&9*^ z0JrQ%O|wowCvHOT;@L^YE`d?|liolL6@|Xq(4U2`^BeY0i(#Upvsj1Z(i7`&DVINu9eqIcD` zuwjGtCnfY(ED6BUgo@NM2qM$7$F1m~v=%V2EHb#dGv-tH#1TY(xNA2W;x2=oBasHH z!{u_Ck5Of2f6lUF6lz=MlP2??MmX6wKEp( zki8`JVr9*UOuZj8g@__nwn9Vk`MaI=75fg(V=If+CB24Ra45xp%8vTzA45m9XS-$f z>XHBdEq7g_W%*B&C;eT^$cUR!h}M0MVJ($O8VDB#O|@cF{F0qS91ttqlTW+Hy4Wr@ zOeEYt^NB}!)A^EBsiWEj@Ib`&#EbSn&^AFu67B=~RJFs= z8n4fA{PbYqQNMdqir`LO{R0ENV3VBCvte``NwxRu$>psBFh=jLvY(Q3y5-8N#AQfn zm>0`Z3O01{ZSzYTdvcc{?^HUh{y}X&z2#0bY_zL~QYHTHxwRjU&@*M2Vg8@15t&Ic zlcT{Cghif>NK$)Z|1q^Udk{Zyq>$Q__QkB7zOrn7+da$B9!?+O`J%HChlsyb*n_XHp!%q+IpR9agsW3Vu@z zL%&R={5O+hc) z0OmLw8j@xfMmjGr$R3SHMCbNf82!T8-0_tVzb*x*_USKrG?|}y(-^a-t!wK39||6& zJrcbh$%A}X5WlF2gIb}mt=9vZsz4ia69M`ct6N0mw25NEeoPNL`SOO`fX*W&#Lf?0(dBkavFTn4rPFkYZ$6do(sMl zdU%{L_p(bkL`T8kF~}#vJ~>};UzKse13Dh1WU7ZfA(BeVp#3mq)En?rrYKJL$DH+M&Oc#mNU!B~c-Y z>Iz0Il4{U;uF4=?Vi3l$7$1g_=vkVWmcpSDRfVnX5)(4WMDe*=Ifz=7i540^Wg?vR zTyLiJ2qNl&!}mF@+ccqKG$r!VSH(jbH8&1N?-moYyv~*LeYdvfiEx$n0UrGtijQnS zyvIo!57_-06uI0HXI>v$7?keAFhk4wCH$@+J91pgOIKfJODji{uf((!$KCdiN5@9( z<{s{rRbP)zisvz$xwl})A$nlmX4pSbImS9Q9?&ecXl2#@0>=z1Yeo=FAlW{aqxHf| zGH6>h`8t@q9Jtz8q`>6y!23k&%ZNf_H${o961iNIsh^f_-iiNJMqdu28hvb99UUFU z{i!cIzcaz2`nKap2%UElY?C#igR@X^3dP8Tg{7Ies7TCM<-tG;XdXR2UOQ;}Q?App zC)?ayXOI1!!FtHL=XQ6`qZ`K-JC{7Z2<&uns|t0FRVN3ZKl$R;c>W%r)$_%W^ONfA z`oz+GlvvQPEXoVJPF}dGv{;Q-Jv0A#3*QtVQe=WOIqDf|STs(t{9>o;M~RT$S3mhjmQ0OQ5qWw~zht zCTM-7;9yxXO)=_?IkS~DS)vVxPWsOB&0zX~?i-rsKU3zM|qQ^mmA{bN&8a(0;&!MnHmxOu8fT+yIfPtwOLXGgD%X z^1AyM?F1dU=7DByLxAud%^p#kTV6Za+&!AU`Q7`x>iA0(tP`bRGYnO7!!G9*O3QCZ zc@ykJwo8qtYfuR)!N1F4#@azK$c+V0xVqaD8-j-;i>f~h*z(wjeZp-$^6#CkCnERWPYAT3DKCYHt#{az^M^EQ3~; z-Ag~>NAIWtkXVY0Lr)q4gg5^F{w5s%N58)4|6 zJ!VBdNGTs+LYC~pBsHI`_*19&RzKR=5yOlR z>|f%tS5c@5vw2a~8r=p&FuvDLxPl}0t?_^1}Lth>t{}g(fJJR?1q7Z>Qd|VWmOhJFu3DZRt z9Rt!U@ICOCC`F7|2-`mWe#YU8{1L@0TCyFIkBNR-N-52Bf!=!K=O;2W#)wzf(3RY! zQMua;|8twU7vR~;Tsr-DMqek6rMY{T2$C0+6};POFC?OOPWAph>p+csv@gZ~xfXaa z>)iM~oO~)HRi)_=&2!9gjMCq~Q^^th7f`_)io#U9u4tJ+X$JgZlGS&2!Ao1?KEv^7 zF+BmA<~^kCYZI{x(|? z#s7SV9d`1*a&`my>6--nQSlkc+{a`O$Ukag$>Got3QC{q=}^q#pi@E)LJdY<=OsNv z=WIrITA=RB5Q+-JAf$)yq*6t--|Vq}dtFfuLx~6TjfJv zE()S~I}7AvW1XZ?Vax_og7C9yvMUZf7YR#YUZIwQf$~H^#0N`PJ~<5Rk&drzZv#=t z`1%Uh<6^KszDD)7cF*NSrl2Wej4$3Vj?|MuWz0U@LoT3h712>U693Q6k@wFEuR~eB z(=l54q5hi?34_lgYTYQ^3gms;yxwZOB#>a%$I7b6COaL_m&|YsNm1+h64-XMBx)F1 zj6)y|LVR9?^A+&gcM^rt)V51VTSenO5bx`5pGJw}WXL07D}sANra>HS3G2thMe|Dp zj{+8b-sz?&7dOwlGgX|4nvIhaujzgVM=PbNmZ(gG`%X;Hd;gwDPzEU#g1(AP!^jaM zt%-()xFtb6NFasAOp!)tnEI=oL~jD~+ZCIklCzR3dle|lq=@n(&Seo{hpv9zuK*wI zgP=>@rVg_gOic9S_$DEpeA;|AbyC{;b@@oiPL;Ow(deNhEan2iDQrd1S$nkP!CATQ zB!;5AXksw??|vvcLAsjJ#)LpKj;N%?Fg-%4AB9HhpoqBgMhdPG6`Meh&P*id3qOW> z;BZhz5%xekpYPVgXKTc`1EP3UTr!SVp!3#{k@2&dYz69C4R%h_@+ZSYmZw3-%?lX+ zHa_gv`6Wr~2GOXv$-opr>8z@M+Zz2ILU2C(o^^8*)UK^}Ho@p?-08fE7S25`b>pR3 zbhrdoNjQr}Py0{fe3B|MEcJ0H;>sJoHq{!FbAkA3()JK!V~>E9V<@~tBbs37K7R#K z2{vy)DNAs5PcJ>Pk9MC9bUb?b90QXK>U0;C@&0*Cd{lj8No81g@5=ZqR0H}g1Fy7Q zq3~BBTimBFktQZ%SZY8Ii&OF^jfcTRDPi`%!NQ0=FaF*KHsyy6O9exm$JqmepBa7I zHgy-Aw4pr z*k6F@G=@R;s6$6I)7d^z6qSGO%~q0>kEA;V@)@e{j}>=oQ$*RgeZ`>@tJ9E4NEo^c zf_*@VW&ntr28NJi>w@B4)w}wP(pdxy&MRx0!7NP74vq7oOhjy<@0c{GXohQ3bBHlJ z08%AOorEGI>G9b-F)C@87e3f|Tza$QT-Uy%7-=q~15Si$U2=CE+drbW-@oMqm|` zpFZ{5jEYARAw>3!^ne8-?B#Xqdrieit$05)GzD-g8|im=TKx(D+@lV=vD4G7a&~gY zJqCpI{c&cKZp;gQ$c@p*$zUiElSFw6UK7lQ7GP>`y9|NgDU5d0hv{I^I7z{s;I z=Yf1)B%Q;BQQ99pWF(H#osfRr?L*;nqVrEr-r&LJG?Wc8dIV7Wvjz$ou9~yIVNBkm=1pxy$nW`vR?< zA0I|WXTQu+BNjBz9|^x{iZSL11q2@rs#sHqgrGCg!mi|{OP3yJKoNn4$l!d|$&#g1 z1eCrC)btpg?Ca{g{YiW;ymQ&M+7C9PNx;GsU0im`dLC4i=AmN;y;FhII+ap{g-{wp zh5$pxHHQg3RKljZ6Bsqc_~V%vih>z;fTip~zxKs?_6oNDs#+AP-Q~~HC^kXLPwFxW zGeUYwKzZY?<_oPy*UzhvN&i~ek9i&YnI(cWg`no-Xk`jiWuL;i+B-TL009q#Y<|j8>L6M4 z{Fr*&AE>O-WyJajPJwpNv~(Ppo;yAp5}@8AINoiQn!G%=+fvpo54VK;c1}#XQX06m z_hi<94lN$X$1WD~#>xY2_+P(y12au98ql`Hd*0$cTlqjm{|GwOCBsdcw@&e45QL!! zVOR!BtVgc*_xA%^g}FPYDD__R9wC>vDf2E{PAbvZi}~W2?z9Mqu{Dmq`n=#aDrmwd z4yS5tYy`mdh9})3Z8IOBlMgDG}J! zd&4vy1jv8;aMV=0x8Jtg7P)CePjS1|u_d*=HDYe_s^4wnLW3Lw8Z53H{u&|%0ZBYp zA}{Wxk)=gPe;%>c`WlDyWaAH)6g;>AOn6(n|JS890upjEpk)*-Epx)hS=rf@-SM08 zY?uxQ*}aoSzFI$9ZXCPlCyhFH?%YCYi%kaPEv+%U10TDZR!9o=r&j1B1HEt!`3GacqCz8t+^J=G!Z$5CVMdC5-1_jbN7mG5gE1*>aHW& z2&w99%v)^=q8`)G+@gX|`Zhg+?JbelEJFd-UL&!y9XE_Dg>WJVGra$bL@p2UGF`8T zwrQ@Iuuf`Au50{?-)b}_P;`NFiqrM|0bAKj#oywz0g1c`{DU>mlZ~O5<$}liO0F0q z?iFltvlGXGN0pA$)B|HNI8%FOC;Q|Ll4FJv+!G%xjnaq%hehyOT3U*@H)?jia36a@ z&tqkRWFcGHzcmMcDf7;)IhS0k)k?yN4Ek~8T^p`UxXtPMmGzwjWGmPqjinZNMB7|^ zco>wp{#_SVyytLvhl?GtXw#E^?eO0B&gr5;n}+7fjiBgwS0e{~!&#=h#|~$Nbb4hM zJKh6Psw4d6)hqg&Zj3iB_7R zUstfYLZkd=&@T$%O}%;_VAm4QKUo-385}p79Cc%sF5GM(de}@X#pq}LD#@5%#gsJhWS0q-nPHIM{>YnzguFdA8dGg)9CptCDTrKf$qWDp2tlIbyl7Ys$ z9`^GA!B<*tc6K~$>u>V%t{L(Np46;&T)Wvi?(CSdSGf1`Dc!N!tG0%Leb1p~Gl>@M z*^-=EEdT(s@S)fr18!d)r`=md`$WfUF+Ss<)4U^(%hI^G^L27jBb6oy;_punWqR{u+HE6#Kh$Sq3!9PuyNib0z#8c*EM|p=$h+-zjW-*?*JTyHnmUBqA@uPW z?7M!rTvgK6V^C4?p3niHsodJV6?~uF8%{1RnQvrUXV*d)nu8!zld9=y#AhkYnv$I1 zP5K#L@o*Nnm?%)MkLkzCXFGE7uZac8N-f5$78ll!S!e9`=X@I)3U$E|&ww_t`i@@( zJx0k2DGSF`zS10YP%|$Xm{Vi(kzphg|30dcecqoOom)HRu^qR9?cpAM@VjziRLNrt zB+HbL$+JK~vW}sFB!wmiwm&`d8z!Y1p^PBD$x%MCl;nnKW{L}H_b|M~#U;%!M?c8- zsEVuIvVP{G%;02YXnU&`*PkBybGL5oz7BF8cRV@<=z1J-YpsSIh;Bn08e~0Z_%k#J zNg|_-8P+AR@~9#xGLze8#Xax5A&z7W7qT^7ApEC`Si$X2U8xIkfWK_kX=xm zoL#SgQy*RzX%7-F)lX^VBv7kyeya^5B0DF$N;wEO4}`rE^O7nq53;L&jye(W5L z;%Fs)0r7$>Kyjd?sAx5K+AB|f<;V+4OeX->Zvkb3J)f1+1$Z3(^h@WIFxogskticD zm$y&-kE=sGMr@d#?Cl|~E^K`M$;PJ0eq-&HbW_?!w2<&^rJ#xyUM{vG1l6b%K#w^qc1WI?CoXc z&8nLT=`FHaROB8cX)trxbytt)CRJF-K1n8IMwf%PxaPguwXa-Ro?pS=Lv#5}OBei9 zS8~5MW-?{$@T%l)J-+GH*G21bF`gJ^W@gY5@J{oxCF3XLodg&Y9~gs^mN$mGKi6P? zg8M9rm~8qTj%o)FFj_Reb8JN_CXHN211cjg3FVMLf*|k_uYf=xSW}WiF^M=5<@C4~ zB1JuVr52YAT_-TBcfPDNhe&QR!0ypGfV>66BtwQ#dMOT@0DflR@@2JephENi_B)KP zI1i1Fn62od2~#<0|96ofQz(iNZoB$HhR8=zqN(MQFIaM!8ag=vK~pPLQ+Ok+JrY6k zE99K_vS?v>GLvx|<}dj2{5-oA6C-I10*|w+ob08vmB-01qoTLC_nwl&Kb;rd{Jiy7 z?6Xm|B_+9JL4Rprq#ndR)}+a6U|>KmC3V7Ce6#m~sjQC_5pvZsL*${wGbvv;hNH3R z;aQZXDhc>2ahP)Z%8mI`(R;kccF)F+O)mTIsIVU@kq43&a*rcYL3{s`53J43;z+gZa%6gK^~Fn=`{Jl-y%@0wba=t}+bkr7ND z;evm(U!qLIehl^XYip6p#3-gH;c%Q@$>~!d_$}W=FDSi4a5f;s+-iUM!k?uO(yL*$ zG*0oGHnOW^DY)u2hf73tg$|n-#J~t*rjL?rz&b1!+P#= zxY|IxO$ZyLvO)7c4Ofnpf~N8C1!598R+Zb;Lw#+LRcRMt(OrfnWyp~H{s;)e)HS2M zj8wXmli;U1%im4DI>Qry?TmvZ9ldi|H4n`+ zieQ*nrQW1ta@ynGIdk^c4}zDvD7bE!NA<3p-Q3x~KZnct4xMd<9IYHq=~QUwFBp8g zq!~8ZtQ@;;o3|v$Mwqmcc>Q)hTP9}%jA3$~0IiAk>~s)G)-s--3ruDWwBhtWelF*$ zMCkNC55t1+N15&qC%sade=lDn(JPoH(c>NLdRzB0AA4U#!9sw({*VCfrns zqs(4Lp0nc1r3YgC!To1jl8Xd_XVk1G7FLhuFd(1N@R^!WdgwMdNeGD(#k!0R~+nF%dQD5K$=+QLy=;oJ1+@N{Z#Qu_t||H6*3UgZ!2LSCm9EeBM!%4B*|5uYfSuI zJC^x^rcgOcxmE#Z1M=!7NGfF^H~nsAY>YBGTF_k^J2@KL9mkS_dw`16D>b{#+@_H1 z_5GDmh(n?XVF>5rUc3mQJ6;W0*aEc#K3KN!K!y6iTFt@e3M2K82%)y8g9af`(Ui9X ziU&4^mX#eAngdYQ=;jtUI67+R>qmm5#~|(VO#!NA9bJPU;4TLWtO`CV6jYzy0)IHH z^3y$>r!y?4&S5yG?q!&hMjw~Iq!uB4av)hF-VK?r?-D9WPiIeHWm50>!xqKIKResE zF9o9a{d7^Mpr&pD1xsdN&w<(I(eNJ|KkiaGc5moYkzj`)b`^$7!Lgh172>z|aRt^VbF_KENjPcx?5_ z85=WJMYjEZ@addxxF5NqSQ9zYt><~3_S4+!-7!+B4|RGEyPU_SW@%z_q_&(6SN4ti zGhOn9tZRo{oL5?fn67exDSFkY4L}n#?Cxe)$9X}|Hn}@SB2%*#Wjp>X<1lL<_BoRK ztah-Ok7*R%#Z4N7eF#fx*H5{93r=^1FA6eKP~jhSq6#M6zRaJm-N_H7vjrQJ-K|2O zD3BDPgF(hZWZA!^2&eGBHSvrM^Lb+=D%sDSvM;J@sPEx3*AH_bX-%=s)nqnt*0lW*znD5lRr>tq&=UPPe>Q}i-L}>b!aF_`Oy}jA5)4_ z`-F%G)Wn2IB5miVG(!3xoBGbTQN@}D22p?i{-v~faW>ii?}?I=UFXoFhm+41@hYWU zWLx@)iEB`VW}Q=um*?d8|?uqpmK4&jVWN()JI+j%1~XtyaoX}-3vqaT%wzL zjR9;0k{iiA^b{A_(U@5*7cfb4n}1ODHn5VPO@%KEzIuJIC!cN@NzF-d1Z&s?Gob?B zkz&98R_0@WqVy_ZF^$mq78)!8LCUK<+=q`R-`}DaB3~0_CXu#~9U36=(2EP?~V z+2q543F!?Bv6X$sIYi09F0HGjm3e3Qa3kZy^RxO*i0EhnbTDo+20pkl`CG}a96HwD z9|L1sn=9V2c1hj15u7&y&mu7ySIgd!kq8LobV(&nhFT?qk$^=}U0vOC46)}c4lKk% zN83upS9q|515v%;@n((`+nT?8w~+PEEXLb4N6WT(%Onc2uL-=j@{CMCjZg)36ZU zmxWy9-Tv&1HNxf~%srLIDiiaXb zPzhkEn+q$D1{0@I9BuC<@Bam!$-mfxf##;) z0|*S*cv6Q8Txo8+bo`3*iR>6Uv{}yGGpS%OgD|{R#^)W~h%ucfQy$VHFRwmKaGO z*svRG{QMwOXea_8IG*oXVTaZuJhs1ij<*W&1O#=AM=DIkH*ZV*{OMlw+UMM-tDjc2 zd$b<5J*pcK!F&HBzn-vV<3q}Ilf}l*gU%Caoi*24uuDCtBcr0ejOLteYcPXt7*C@> z;KQ6j;{8AqL&?B^263h)u@fnN5Jc_M1zU3Ns_T;DPu$XTfP~eEiq@<0H-D6g%d%9rb9 zCQ28sC~}J6`SH+UHE7%m^=A`3*j-(F{or#HSnq->w{-Li${kPGu>-NHI@2YracHaBk z{hW}auhn=R-OFo#<%xQQ%^+>rqm~vhk7@a1S69v*MKduf0)y{Py@Wfht~@RUWXv6%TiXQ% za)eGqVe-zOIVX4s@E%)dY)LA~2OYbZV_;(tRmjGQ2m<&Szy~=|dFM z(;?A{@)ohsf*ED1TKFKG?=#MrqF(^xEki@bD*qEQ(zhc&4aAUO>VLkks|a2kA~@nU zh)WM>3Kh^>Z)pR!Bz6yhX!QQ9t_oYfb%+K*ZeS`VStaog~t!c9~hsZYcvlR6<4h&w`l$zN`!N;}hK-Uh|5Lfn@~9K55Wdjfh@1bPBe48C&IVI+DUpqF4! zagEKuH-Dshg)8vlMO3{pBcGWqHhoag1vI(GzW+UM_=MF02<*eoC&RpiBa$cL^}|<~ z1o&i}=$;}M(99VH9NCH>g}r0KC`7)xN0ghpU3ML-Id#q611;-S9T6I%;6K_3H@C2` z6)Myn=N(V4bDJH;ARhgi-&x9%R8PoBRYh&nKghqt#NdnJ&##Lip=BPNd_J#Ih(Tqk zfYS;iG;fD-EiEml zLYboL5DVWjFVR`P5#!qRmk-=i0fKp43-&0)z^*YYEG)!6dlmr9ieX z4^vBpIL0~n6ptW?1xRb*@GmxP4$m4agfe#V)w*+403)nI;o_?=Uud8<+}qQGnMh+& zk%yuQO!a+1bE_J58Q%HSGXoY%Ieyw2)X8h0cS5LhR~*VE*SwAa4x9uerpcvdgQj|| z<+2_q>kyH>6aTdR%UQn5BJi@_-rl(F@$xLxdJwm#%<>KrFWE1^gX0H-VP9LX#rwN6 zLbYMQ91eaq=Wb$raCYA-L~@Y(V*mgZcvr=x@OZ+=gyeiB4!s#MOgMg>bLOJuBF?%= z6jZ${o!t&hEG%x9wX8L)j0GOrdG_?Vf2BADj=F@sYw75Y=Ai$_*a>Yj*&nZm53ym$ z`N8N^G!-l|g~5Nu4yn9X9F$BGk9rEeGZq;?{;CBd;)v&(|c!T{BJh^#5 z8FdJJr&b)+3j=3L$yGo6ak!(HkvCDG|H42tZ`)%&K3lX335S5#r*41jQYa}Yxvis< zxJf}lQHLPfhdVweLI}$D{z&p@UOg`~2K17&pk%0PmE7hX7z7l?w#7{7`gL}~ph=Rk z*0xl!zg0J^4;tx?Ulm+20uRTdRU}xO|AGu!v3Wbu(@T$5e2!;*zBdtv-$i^HL>0hu z6dakVvz7rtT&UjI*x+^ftA7X-TS|R8@##sfRB&K|Y)`!6hA`v}PqK2xNTkKL(c3O& z)$w7*{$dM%_IYuegU@WJa7;IL)~_+HI?AUM4;!}tOW_n{nHas;r_3umm7t|okMF%2 zu)7#Z^{Ve>Vam5*Rm)8zdjmjO^XM~JOKRV_)3ReSjZ~t(XS{@LgxkfmjlWt|%H>}N zR#3zlPdbSXcQltFM$ALm8s| z5MBGtS=ss}kFkUF62xuFASxH(DM3G3E}@HXjW3=SH*uLpV}>~;kG2UDK&ZyY(nTvf zaa&VBDSHL=+G|OyAw50k-_BHn#!01}n1f4CY(mcXS|a8-wn|{Vd}+XXjFK6pA1S7=`9{Y4y_?k@$w-KtE&Lq@E~9TX)p#-Qu&1S^u{XSG>#BVyT^umd z<&{4f@^SRn^@*$VJhpT7~S+HF@?<(D%@!^VpD|tQT(ybBO)kw4@JQ6g7 zHn_GHN=V7X#6-E{1$CYFfTHHj;b~DQ2YJb`8tMhHWV2=RnAEiRu&E(H#u{rhx7Ylw zwIjBc+vZbxQ^nYsfk`!yk9t&+3ZRm-BB=F&Inf?u`h|?atno-kiL`5ll&#+pz0DmT z3zuCO^DnKf1lwN!hkmLa-my6R=+hqq8s}Yuwc$FYpAs@>+Xc=McBUV}IEuZqPs>=I zh6_WXWLp?L%ZJDDF?$|Lvm``N`q0b*BNRsWkyY2qd2x>)*_1a<-%FYK_AMrYRSe*Z z6fF5v)`t@11*CO9B}0<}wb^ay#IX|Dzkrx(deyN88O-D2u>3Gn4em^==I*;S%sVmnH zV>e9kl6}T5#iPXXkHnOj2^_w0u;BbkUTW4Q3m3+)`&gCW_yA4?W||kk z*w56?SpD#tYn#DW&E}YFv;k#8w&)A(YQsYJtOmLd&QkhpO5fJH6^ZD+#}POSQ*#OD z9~ga0b2Actwj+_#>s%{v(C6DrszTY^uj$P8Mn$hMNb1+gV(sy*fj>zXH^lV<8a-_a zu9|;I06tj}=l4xtznpoh7C*!tG7!x7hoV=hI@%UQ6H}B;%>b@KdF7 z%&v41U}N%#7hAIbc1prlH-6~Jx`9_bMUX473@`Zr7Gp_jzo`e_NQF zV#Gac*sBpT7W*CU%~Y+vBPTGF=P!Y&OD%<+2zQCEdsdiJpZuo{`Nb zo(bng^grgNp6X1}n<8Xt48D<3OLyOMJ`15mFZe>XyOA+p^z&<-%kEs4_NeD_CfumMfVS=`21uTz3BYvMvv8mRpp!)<QA{mF8!Ep+bsHVlJwZf>L{jtdsN=_0|Mxb0~4d;f8(m&vp-G5>e^35y@9AS zbusSX{joLl(UAqDSP7fPuRR(XHbKDJSXr~hDHsftQe<{^cGgtBUNNJ!%2}jYJ)n2w zVjIM5YXm&jHsRd6gVq@zW5*Q>;qf~8PVR<=_@H*N-r=9Smh?mT)77 zzOG)jHYKO2og49KwFM{FDmJY(d@_o6FH#$NxUQ=?eJ?*gM=^YUy8GOF^>fwjqzNA% zMyQo-JCA2Q^ZoRx|3;JD$@7EaPmbmL2Z8&<{Y-8-tlwO7oZtKzKohh?iL`%oofkK| zC!TFB`B&H%w@H)yoYe1CVM80AyAo3QGdu&?W!k9G9(0MGb0UJ$1MSj(Q?tH0iA(M= z7unFPrthp`UH`5(SdJI-#0MkuwZ@We1)XHo3D$%|Hi_br2kD%v%E?^5Fdpm8{6J=v zD_!<=n?u)h`3CJBuF{r#u)Pdznth3+7a|r0k~$scos@2NtBLA-c`H5KE8UBBGv)41 zob_uahY8tiYNg6P@%~63n`4&!b4TyCb*6}~N%>K$ci=xZOqr=gQ^UXQNpRau^E>AF z?blH`8RuuZF}p=^mA;Y{IU2M4{cTrCgxlfJnUIEVtK8vNeCO2~w?gyM1L>~^D8&*r z6|6N}Zq(bi?p<$xnuz^1@{sze@G~|eF-DzclPzK9`PCJH-{%B=b;n}S`w-stcy5zY zeo~1RBaS}(2W>V3KPwA6L~5>e?E3K~)d1BtXUn{8?b)2^SUkKdOC*2swbL)^wcz-C z=0^`~@V&bvE{HBS(7C#N_tU#76yMFq?AjQ zubb;5mFG5}@m_Mh)4|EdRyMX>*)%paFY;Zag3cqdo8A}K80>Z#rd3kLQQtOo>G{w$ zzno8?J>Q?6{2XsNS}f_AVdcb^6-*A?cR8(km%pv!)06e?5Xrx2Hd3N;w5_=SP~j(o zuV3qae5lKjERU!sy>Z!Z+h=|@lT&(Qv@X6Ar9SCBGil8~FuyP$ZIxFeN%AZEYh8-; zApgEdGj+w+`*_nsgdPTY4*cuB5&!X2p z``Mds^`s|&v7h8D*n1v~jNK8W>zc#;VQVbcj!+2dKKp&HuqWsoT~N4|^zA&&hEoz^ zLa+<{xeC5>8hEZXKNicxhFyMG$=0?|+3YDKr0>e^tgs!zD?^=!>A979ok6YH<1!}U8gxi3`>7i?bE){~`u~rrw+w2t`@+3( zFB+Vn#i51b!3zW^UbMItcL;99EkFwt3&q_XihFU_;%-HY%Sr#wnKSSEC0}ySotey@ zz1Lprx_%dk950n?kKMxmB+7__LChfc61noL4kB zR+Ms90@_PIl&~yngDJn4<=}%rW{>vXKP!N5B2$0Apo6CAfa!##VEUl319fTX>q+bH z`x-**eX_jr0K0p1-7wv+Cw0&2!g=J}lITq?o{SD9lWOZ89n<_N^FK;+4|p3cbRTS; z&x0Rrmpc-BL?bg_5Rh$yoDj%X%VbES%@R!!PgD`Ctq>gAlGwYx;&qAf^x<8&ZB2XD z@~Gjnw0F3^`^XI;Q^`KZn zaT6D zMMCXk!@gO?h7%_p#-rc9t8~7|aRSZ1v>%+F?`QOPf%$g7GL1_VQe!7L_nhB(oLtp) z@}J$%0Z#xB&sdfy9R}C^-a;!0&?E5na!H(7_RECVu-P=O`lOpUI!?JtO;3Z!Ss-N7 z1?RV~>&1`@R>X~c`&(+(N#VI@@wPi=3vt{5*Xfmeqg5$D!u?lu8_!N zU%KJ)m=1dNx02v53{5Aa%U^SgJ)aI@a9s_g-HlzE%D%!$w4ZnxkV;R2PDU_CFZ|H?oQpTf)QWmQ5}*qNPugv1$E)jnoMyS zduU{}Xfy&jA4+^TD+)gR@`!hsrl`2TkN2KN^Aq`{+M!&qLCy^-tzC0f?uooB(uRJI zPa-{s3_dj401L1oIxLj71x0$7ga$py9+m&;lv!{ZkuKC&z&i@?=~mo7o!6|kaZ9n!UEg3J?iG9jsQRS9 z{YCj!#dnjaM6Lmo0eK(Aa%KP?ET_qqCl0U8b#;g$jojh_D}>`9HS zG9ovSJP+i1_mKubJGl0IEpT;pwGO|I*PdJ(Y}EdEDr@m?{Oy9B440HfWvs!`j^`Nh z@IstYTi+S=AEDHplbqmdnnU!LQ8{8s3!xuj$U64g6v!Y}sKwFc4Dbv<&JAf@IZ4`U@?QZUH`>qwuro6F=U z*~0G!x1Vijr^iyG$9ubG(Mu_>CV_EGRL5=^sbfn+MD;xOt$NrPXm2~p7?e`l2kLsR zQx5d@t9H0CbH$)ApEB>~1?T`FE(A2sT8Cc|Q4kzox-0ygRA-u6`qS0bT>~v!&IFVv zl-(+J;Vp8pbrpI)@OF9dO4_>+e*)6sZ|KbuZ;%Z<0p34ipfZ4vQ|HDMB_EG#F_~XK zgb|Rt;lAZCjKIcg#a9j|vi&*7)XTLKvVC#LqFSe4d9UKU0A3K6QNMq|Q!)q^~ zJH@XapQF5QP*h!(QZ)g6Seik*w z9^VcbzW3zQE81MxCSsTpZ%o|OkQ9)iYWbCz?4feTS7R^Nb82hJ5i{-aL4O1?BE4Rp zuRN6pRUVKqYySm9)Dg0?h%gRsh)Ear!g$r~xl2N&Qf~hI@ukZ`=)e0$;8qAj^WB&7 z9^#W(JAj>~kX&X!x4}BnC9A8w3!k^qbAtp)KMiyzqAb;MjU5TU5P?2M*NFpu5Rr9t zTZyjb8r^?|&b`~4ww6-!$T5m*Y^FgeiQ%5VEF)pj_(0@G!|i>@KqEg=NOd|*;!Z{| z*!=AWW=8Fu>JN{jzk6XNh*>A9Dc&y+fBEQ-1)}n%;S71~>_7Tho6=dkiZGHeQ4R`4P8a#{(GZWR=n+1hH#bUH;2aD_IAS)sUZ3! zc-{(&zo?feT(d|1ZxDZe5`$*yh83O6Ll}ZO{i&mG2rdtx5l0&sg@<_D-129BuO9?u zv-Cs$tDHvw|MeTM5%)!Q5Dc{%aE95xvpav``a*9g9?b47znCC#Hz|>tAY80hc$zgG z!>TtZv}d(P1UzvI=9_nRE;w#9-js*RLEY?WN-jXXy&WH3Q`}=NL5Z@tv3#y0%?- zX3aSPZaNAwtlh-YO1)CsBXQ+G34=F8Xi5T69(lMD4!V9dwC!mf& z%Gl~2?f$S$H7n^m266)lsHoO*N#*<)XqtPGYauXuBL2g&+tlMXr|k>|&ErZ_We;?|$(v^h^;KI@(b>k3}4M(#AX1zMOXmEj_A@VgIZ1vRW!k>dvFDgG@ zVT*vznfbL05JZ=%RXpdmw4V0v-zFi$@>ac zVs@g7P%4a<;tEv`2BWj&x@SFv?{yd>I`xz5W^kQUwYe3gKlNPC5YKH?E%j^?@M1;b z`S&c!3A;&u{%*T>zMk$}$doI}atQM-arkEaV?OQ%x+q@ADe`K^YsW?;<*7hgz+Hr) zBoDq4A4Mfr^*MK)M##TVhGKvmQ|Ds0mVIGc2?L9u5>#1eun?;2=E2;8GGog*xA7Gn zs&oMp&-6EP$o}ikB_PnzxQO}e?#8wh&e<;vz zILj(=#|?5PGqQY*p&m!Bt7YP>^GfC?Kqm%)oChUd6h1b@qE(mq*U<7u!8r9RxXh`t z)V2*#l~C>deU6d65^0w`A$h&5f*nar4Ejs4*yNnnoWY`7t8z)m9yI%^M<^1$2QIuj zp$cftBprmqX$OASaUE%?=8dpTx$^I!gVoi@suwo&RX^qoP%Zb3qeVqd*P1Dwg`yt{ z6nc;-JoH^zI5XHfd=njBE-yzDC$SSk z_5oD--vq@>l!)e1*BdrQbvg_SLrfAe)j_otAqTewT<>Y#*jmH~m*9RJGno5jTqpm# zYixF0k@&McUM|l5?QSG)g*L84#s23*DxRE7s9ZM&GKg;8!*<{faR;4+AjHqokX^m? z{Yz=&J|1W~5tz$0)Tv8MZc@?t8HUq+PiTIk>xWC}T{ms-d|(RL+u!62pQEB6O`5^- zQ_o`4AIpDgLBjxgnx84v=lJd^pZw-sHksQorl^ME8mo^p5hti?tA?}vFbr)fu}Ql3 zkh(#GfuoR;YFs69j0+aSk!@!VZK0^$X{m&UNX}AVW zj?Hh?{cPHTUL;1<(fRowe%hw`5kUg8Iy@&;9iG@uYBZIkeMlf-FODd~=1hI!S!pe; zat#7JK$32l9*!^pZ6nx-()}&Dz+h*3gpAp_6$zB*ng%vS6=26cfE33^MXgnwH}afg zmAdy!y|`+@Fvf1u6uU3y3uFJn^t|edUP5FOa8*E&fY&k8-$`*gNHJ(ArkA@?Tm~PU z?u1kHU|aU7GHj1*U56GR$-%zw)fQQ)ij4q)dv_5DF+UgkudV=eT7BVl7EW>T$LOq6 zD5s$#7VR-l-0&*yfDq~@=HKUX)ds|R`^Ew?Ta5jTuRjlY*@jH#rLY!7B{LdEH@j=h zo_*$POv$Mh(x!0=q;_qkE|cYD%p36pQ9|m|yjNz4(QzkBq-G#d%^l85*SS?}}Y4cY2O@=Knn@$b_I+4j)e7F706g?s9h0*S!2EI7{I zH!*eh9nem6CFWqj!O$*!=luoQe|@y6)-LIKm`P}MpKIy&WX?xpZbCD8>+Vv^ib2b? zd=~BAsqAFEQguOs0!@=N#&>5-4R-Pi+|f(a-bKo_y)5zN<$hK)*4o|ZsKHIJw4O~h zN}?y*7^}z}Ps*9DP3WWh`SnBs*pfFpIGVk+`9r|;wc0V+ghJHlKB~GKH}JT}&(>{- zp(5VC21_u`ukFg(flMK zu6E7zm>U4MJ#sYtDz8_=(Cv3Z8pX-&?(ceQbq;we?oX<%68UkaAL>q4G(N--HIRr3 zoZ#4Z&y9Lp2=%en7V&GZO;;SgD3M4O(wl@&;_NiC`=swcVr2PYHEo1eOGd6SA0ASI>yNRFzPJ^L@QC=%>+Glsz zND;|Wwv|~F!RKmEl2_tY?~N+!Tf;}JFl~LXl5I?wd1ESIuh`siVMhRh$XOG`y_0^! zlP(MIcTwIU*IJsDQEO7pU9nr892H~4$6-wZQ|*j~;a$hY2pEwz3rlSRC5P3X!M)uj@QRaC~r3;a0jn z0wx+n9H|!|v2Pp~EyS-%wMB)Gd145}pHni4rG{Ga90oh-pS9H23#|*-#F&ThKY<6O z5-k2W?;ZxA&lgt@SC8%!jtLb*eX(-YyNliyM4M7DgPT*iC_>=>Zt|%2pN*#;77$Ss zXNc)#qWd&UXRQ*|fKWY&aK9wD!DN|4^oFA#x!e&ilr`|I)@+DZ=a>g8>G6?UJQ!oo zk&oFe+qx9@lL^IJ+Xjluc8hJI+)$>*=`2)SaMjr}?=M(spMvIqbqgK){|R;@wdbah2c!SsUL`qRVcU*`co z!{pRBw4y7`5;=s`B2m~lbD?15@?>Vm*#vGK@8SEdf~`zd4DJ_y(-S6ljydr9kS7tA zykfm{3n)hV9`)f!bCL<*My1>fUY=|<*h}2A2_R}1e|$KoU)C7P7SYahkxQ?_BTce8 zFIcYYVIcu4^s0PLbx|H*x}R(*=NpCoJ^e1=R`Pzs?N}F;4T^br`e%%^&Xuc>aIktC z9`HQnROMm6k}>Bv*P-o5rA0vChJR|*9`F@rv9lDsu=qD;gNkEzl90)bgkq8hm@d!@ zOHVeTY^*i8L}~bIuR`Reksiwu+mJc$e(nG|D@P)RHG{9D=ab#f{cD!EAMBT}S>`j>9D` z(M|KUN^3NVdwp`KL>2vo1_k}z&I4ic%hT^>LeAF1%+H5=tCoNImAmkhewU7i5si`| zZjR<7Y^qIS{M1YN4Pf$oUi_pk4WGHc!pG8>CXi6nn>^#Sn=Bq@0V%-n)dh1R1|tZM zoV`}$JUmtb%s-`Q(&-&D`?~&cy=e(Rhd2Q1+rkwQLkL9F=W4kIDEmYT|C*B?KCtn| z%$)!a8ILmTS4-_^a{0;X`I=#{`?W{LU(D$S#kPmiJ^QQGD|5Iquc7YXE2XauqJ2=h zm~_=%ew57i{_=C5S*%dQg09WImBdM&&r70fIosD~LVNb~?*Azz{wIg_fX~C>I`ctc z5xZX;A|nw<>@hRzCBBYsNWsB+^=ADo-2#8ETyiU2F`6q3cck+%O#9rxZPl*f<(J6` z6xa$R-NezxMFDMXm#mJNQGy3YnG!)iiQV0k^&eOvhK>skw&4>{29h2O2A<>NiH%Hy zpyzfLtc+J|ErAJST8ikxCq;=y7Q<5~fFs{?@)Om(!BTDOLKlYRBv+_?jVWkBTi`?$ zvTHsrPgpc^jUUjFFi=3-#~_Pt{!ADXi&QabKO{M#IShf!H8^PB9kG_AOrjQ_oZqCM z$XDlnoII}7`iB1Cv4ln2Dh7yexOUKn%0W4!WV93|2i6+F;gi*CAD0w`6Ii&Ws(Gwu z>oHLUK}CA9l-yhZtx0ypgU|Dh*T?*6MtKx^}S;#kCOIgvgd$Wu=j2w`N1|kKbA{KfVyBITkJ-vt7r<%Oii#-Yi&}&zw z7Or<OwLk}11Z)!K9GYXBK=U14dI<;*DhX;l#`|wrLTCZLMqE zw|PGFxNY;e&u&9TL@Zfh8;k8%Z=ubsk$hB9Ei1;~8p_9Mf<$-|Zf`+y%MwDOR>7K56$ zg!n!T*x~izMG+O#)8__7F(BVl*SMDKj>;H!hdLQ!H2(?WwX9>kz%eeYQQu{SFGwrx ze0bZpl!banLkZZlm=qy+$t8lXL2r7<=EXy3jG?rD5L;Zt#Pg(C;;CV`w9%w&%`<(| z+q$!V8eQyT_52?A)EPk&C0UFl*FYDTLO}cTazh9jvz}@ZRuxOL0%E`}+ zua_4$L}b%qdKS8MdA4Bp&7T|xKdg%2;2_;qF!7D6s*agkP7UJB1(@cM4B+)SQ3_}L z#9C4Mz)=V0PfbaP{MNv{fQJ(PZuu81mp%_ml(VQfGC%UHH-p)Vc}w-P5@&<_V)cQ5 zx(3xL8vS&+^#A0>{~g#qG`1^vrDX5mel2sFK->)t=IVoE4oo~2X6KnPF9jpzIp3YY zykJqjmcR)~(S+%&Cx--GO-j0N>PgC{=NT<-dz_9Xzwg*gzbI=83zrFOuvvpSNM!8F z1Pyzaqu92o$Tbcc9y2fgJ!cMDK(C)LwG1bC!{{nZ&@b2zu2F*-!B%%4Z8Qe@6SrIg zSuLABiV?3N?ND*J2$)WGU-e!ce>uDh#>k@Sk$R(H&M3>BGH>6G&Q_BDc5`AgAr>Y{ z^2wvot7+ z3L#S>Y|~A+%(A*J3ukfC`AP++m?f3BhJ8XH1N%Ee1oCd<;wxfCdexM{8R~i!NlvVs zo-l^B&#aBiG@?BgPJ*U_#)f8J@q`w~#$ry?>JXzyoya$CE7e&1pZWY2hcm3WTH(%QYBJhgZ<2orSNt>Z}GZZU*zsGanXy}&%m^}YIy7=bJf-^1%uOknc55G`0r*<9#Jhu3598XxeD zrS6$8^O+g#8X}b22?EkwNV*K9*n~9C@EK4+$#nL2>!9u=6aygy^T!KxJ zaH^pFynp5L{fL(}Q_ZK44S45juq3}gqJ*i&wNC-7q%vn*EH7f2wf_0h`Mb67C$nqF z{-9Axewz~~w~sJ#mlqk02krPucng~k^Y`3dyYbdK%@^r>)}cAvspN<@n6oS&8rWq6 zqMX%UvjU;fE;b}NIn!pwk}Is5v0aE<5}evUbtBHH?a&aqAk|oUTRX;PtBJdPZesLN z^xJFU#U+2e#Nqwv*}#;Z;AF8j7ca@s1QKRcBbm2f&U(a;!S?M+aOH)Im%FfTkFw8R zR!>l}zn|ZpWtFV5IFA+3Jmx56B^dnPc!aKpJ(Z8`EK^GV~^uVmm_ibT&1pn|-RMHOu&O7kQ_Sg=1z zxl9fx@6C~`zE1P>9QkO{CEX7(bjQwT>XPwFu*poNbT6I9Vjg7o`>Di8woLHru1+RY z5}8QR@==!)1&IQq2<7n7W|YRb-CygU~{@Q=;-RJ}c$ifTHTGBb>bj+ncv zs91yLLPL9iiIh176glQP*Pq4J6>T3y3q~27;97TeHlcM)gY+SDMlx}3(WAu)Tv^sL(JJ<*vo zd37>d?j(IH{3&?ruM04T7dWnh%>cPBZWEK zSv@Eg!?O@qQ${6CrOX?83=9)qE+v3^tLgIMqQtndkfcm8*$HYgw2@O;Y;bFkdmU1C zUkj*6>2dcn$gr?QbqhJ10G{|~zgc!0a$!(F za{Mk&rZaj?i=1tkPsif@1a;JFk&(OZh7OLS7nx)5b}4ZCC8NY~;XF7V5o@1)jbn17 zA}ZJX)n6y7SrnADjp|45ju##jl5*?(JlkE;w8-a$leis&FM4*vc1^3+R@Ds57OZg= z!>71wj4d16+h^~tA!w$rhR8E1OM8vu{Hpia3LWHpc(HRO4RDsQo_d!-b+9xfA7O(a zlI@-Fgiv1`kEQJ!MAe``!d`En*FNULTTFoyjcMp;;Nhz)+CpPMMGE=`B3xU{^)BzD z*(+f`E6S7l6-$M5IxUiV#Dpu0v*#?D3g43===CzT>?fj?!SNxf&eYgs=Lf7sz2#jx z64#s>PXrT^fX2C(D*2$DKm6bE{8BK z8Tt=^6LPjMJp?ia#cd2m*qlDQgET*!a_m)wFZKY-Z`MbuIMu7FjB zLLYcM98+JkA48yxm=?Zl=V5IFF=Y|KlL@_+(Fg7dY~VQ@l9`Tp z`d|Y3h9>pbhSBkNm!%24NRU$liSd`V%j4;c7>_J2c09Upbm6Dq2FQL$E-VKJ;^`U( z(o19z_h~iE|0>VG8$lQ+JNvRgO;%rS8*k1mRlWRdRr{fN2YVW-^jhAWiZN`W#*Ciq zt(Bu~A%>HA)wIxR-o+wmHZ>>Yxj_eqv6_45%09YwG8f_; zi>5v;!9!qrVMy*{88u9cCA1)$X|}R%ddB=T27WEcAFYMyqc)smJIze!7D@MRzJHhjjY_qwU8qL>X~5xQ z>Q7^~$9wxQ#`G54%~#?$LVPSwpvcNvr9%_a_iNVc50q@MhH6uA zpj*Mw=r1+o0wPfvgo8h5XiU2$)dm@}tv*oSg1;1}X&PMXZ6H8eDZR)={9=M*d3pkx zZC=qm4aaIGT}|<)Ws?q{_vJt5spoi1G;n_zhr4b$c|vVelGfFynatH}(wngBSg( z8R{sGWu0Q9zlun77c$$={bNG=r;e>;pY;L6%gYDkCz34uL7QJVwzIoeyTq1|jFRyX zJqY^g>8`4pe6Z?xs4AwFO+n2cbAU}00ZzUMGBUUTW2oQc)+CAf&(;VFVzcfI$@Eyc z{AII+?4EZPI{~jL)J}7^e&V~Hz#v4TPO`y+zt{rT4r+neEu!@-94!$M`9*-vj6GMhi%A~vU633vm{`xEU`CeF=-lfrw1gW>8p&^u{qi-7{sR+=JV z6j9d%*tcfU&mHxRM-RfWlO$4B)s8AEcwGEwx7^zE-CRp>=cpE>;yEG$MU+i+GE+KG zmE*S_oWxZkH-azG`X=iyjV_9D*WF_ug6;RZ)xtk!wPHD^V_6!{q{IM>#?Mo40(44h&+Jd`WVP9E-k>I7HJ6MzekOb$*8Yp$oEwb?S@ zu!h~OW3kgme^m6*4#UkHfU`^CjXwa=<>itPq<6D~ZgVlSWVOAL5ZT!NfdXSS$MXItO1xi9IM#P&szz}&&a^zS=uj%mb$(Td== zYff5|zbuMnOhA65+H;7pOLxgyy}o5K<bFC(onIYt%{!) z>Tj6g)zyOF4i0leqcL}9%TN!ed|#87{eB&G|3!k4E=n(2kc8gHH&4m|g)S3XiQBY| zZ6k(UT*v059PjPAi&4Um*>J0zw|&;xx2FE`KT#{FL7=dNb&RO!j6uheQ5LEMsx@Ef z{*|GzjrwrrlN?kEbeG|M*h&fTI5}y??e?8Zh}mK=$j@+c8#FP5Ngmz(T{}3k`Z(r2 z_AmBAm?1FV>{InP=8rKekU<+1#7H}}QJhi56oZQqmqYuLj3L2S&!oHVn_mC9vU?#a zi#)ZeFAZ##+XDz<%K2cP^^FfoA-}2i2 ztW_*dugd4?^}F6_M!&CL3HR*!Yd|caNXeF@Z-;_$>z;kwa#?>{{TEI2?JN7hMyuvS z*}W#cm7^h&O11fK_r^)gi&1E5j*Q-5wuGbO_t}KmoH8&^p28`bRlJr9{SZJ>9e4MrpkGM%F-oG+@ zZ}os?N3EP$t0cHrfm+poeb%nLF_2p!%20EmPy zVFuj`b4@i|Ht4 zc<5G1Hu;&X-yr)CQjTOV5)ea;i+ep|+$XyZaM;3?L@ciUHOEfytujGUSF^c@Zpfo4 z4gTekS1*NyS!OLM%iDSWTk_^Le~5JhQ{*#kE49e=nU?6yw(?gZxYbQ^fe|WpZ{@ZC z$ZUb9WSqm*g49O0-J~;X%7sMmBx+o^gM=mv4metFbR2+Npk%IYZnoeSmW+lrRTdOH zZR`IAOs&{eb5B*no;-S~d`N?E7joc_$8F~Q!|a;$@jKdo$SPo9xU#reT$r=u^@98`^$q8=XBAHu+o>-d2IRm1=M zSt6j+J5CdUdre&{6`M3Vh({9>*hDhWc+e~6E*Gh&IDYbqV>@RK9BHB8)L43Ax(;)KwkAN0f3iClVGjIBa6*B?&RlR}1?61Ej6g`?T%2Pd=FIKZDF zPj*ms3+5)!o3Y*pNF6#+0_L{4MRr385)61RDvuPgn3!QJ5iVebrFrUqMn8x z3Md#2JU~oQ;A0Ob5Y<9u0|}5)Z{qi{9EpSmiW-hrJE*rGtQq7227Z!h^z^aeEOuwH z60CbCEi24`>-kEkA)WuI8umJnt55xPgqUNAETBizIm3QM|6A5E^`gTuR{JIT|<2i$n>Z?tlw3Iddq`4Dg01BN&E=bz) zj!LwBRP%9X00E|gWT1i^ik?+9fw|WtE3~Ys`*!ZhIE@iZmPq~CHuy%`(pZRO$Agal z{(bA)s9K`S;y>*eQ8fbzK=$sG030u`NU`C#ea&J;J*y}RKvM2!9tIOP92^r7LYWz& z5b=rN>s5C$*Tq5+N*5;az6C)A1O-e;i7 z;W%#Jb$NbhF{5xVxD#H*w)`roo@K$oGr3$R11(S4o;$IKTB0lf1#3v^b9)x%RzjIP zEWRRi`#|Tt+wk^*=wUw;q(kDLz=l$4MWnBudiHG;@PdaSdz+EFB2L>5G5k3lr9hyW zK(2rQ+!M0(OU;xv_h!jYjMv@A`Ncb{FBerEOWYm#Mbf&6^l6e1C-gX!q1&|_Gltf& z2s5`!mWz7mV~z@2wiAZ%0L0Yq#v8Cl%)VTFgP%))X$wp>(r8|%6=x4v+WIjtC?6R^ z{wlWQPSFqIgZ(vRqBzUorxoYwx5x2{a`;P!Q*>9a0+PY zs@Xe!{;+?d=6`<3nY#eE;<-QIX+B_7XYD_bSRRSw8u8lD&(u$Jfsb%XM;|==s5 zI^Be0P}s&}+0?oz+%kk(iUDrhXI;#+64+O z4~Y@caEAl-o3Qb{2zcZwuPH$j@Q(qU$~KOb!_oWTgRAOdWg0%kP&X*)6MUqm(}Xnk zhVxL`OVnp=;z2VLpA`0S<7ovbg3s?-OX`@ zqO@!I;gw$@p})ygy5p#`AJs7K|(|bduWH*jz-EW_xgu)|=j2*{Ywc z2I+|m*Ri+3`QfeCibGKeGXtE#^Ql|8Yafh~BiTy8I&hX{fLM$Yx*=IcVcXfON@++{ z9XFLt)?jZ%c`tC&V^JWqESr^O3M2KTxlFql=Iu*OC6v5qyZdz+huHBWWm2vTU4}0F zT8Rvn$VRAEw?So%rSyoyJ8)^PYP{Fh6Ok{XvKsR!7$GYuB>DkkS*!u5A|Mv~CF4uo z^@T5TGDr)6!dmu*#V~7$6~hPB-|6$0%Oot|kN)<@uFkjq>L<3Z!hg%4p`&Z&4PY{7 z1pYG%li%1nIu5{7Sfb&+UjHF8f4CD>)pP)!yB80G#s2g1Mv`~H0T#2i@F0nP#_#%H zT3bbYFTVZIIQ=y~J^-g9m3(wiTVIE?LuNI#i%gm&I1*0@Q&40rUx5g_{Xa;@b;wNj-XrJU#IG$&zS{Q)|DeS)-)H`DGM|*_ zLX1BCvs9G4?R@xxU|NtG_0rFU{dsRLdrUoCd&v+UJUAV04HBMZJ2!@rNZht>63dsK zN7qDG87sHDe9SK&Y+T~b5!-L&1Kzo_Q4%3znVRgbU=|P^E-xu!2>3XYu$bA>4T>3` z9n*tb8)Euw&1OWMwnwE5BpLpBy^zva1AAe&^?~e#8qox9rg0v<*kb87NDN6s`kljX zm!$>z2KYlG16%m(%;2&vX^0R0IHNRE}12KHCwod&M#9 z9d959Xq%$!jhFznD6Rct$XJ^WS6K_zFBlT`_xm2Cw z+z^QEAmb(Y<)YPP*-zm^|Lijm$jW}e$}&wp{IKHLHlc~p6g!*Cp+`84dRSVjjUei; zvAv6^Id|59vK5W^0_hY+pmG=!Z6yW&DC7taRS-AV132mvp+y-cvadi>hj{4hl!B!^T&eCiS(3>_7*71t5vn^J_8UOaG>t1kd9pQoktP#Lz=$4wP&2dIH-f=j<(yyld zimE;jm=C-$s}?4WJ{nWov%pdUgb9r|0&WQwD8iQUs6LgRX1}+@;j=Ht0C!`|W<=?P zRSSU7>{ckcB&uk*W$|2q1R65F`yR9Vy1XWSk$0a?prIS&k@O%gQsf|n8km^5P@DXo z7zw%B%WliXMu@s-oZtYyd)$&W80)hq!#*gcK@`5{FDrq;nftGTkpT5bcU;fsd`K~vf>-)CDEbma_( zB&{fR;KzcU;Rx2Q69{`kw{li1Jh9q&&F_W|A7dRJ#r83QO8q>k(iim~UE=ZdAK>ys z2A7dp;^05@I-JbQ|0a-2mtk_mn>e9cj!+%pZUZmifA+3hIH-VfE$$O~Sq40o?!1T) zoTwl0^w$$^dH%l~M3YlYS{t=@pGD!w*^p94!+cR{cEJNROnbzEc z)9_REAKlCpfvWfsBC_ZW)v?Mw7{m#M)j!zLNpYQ;+mI)}KFkjF7$e-$lIs2p{P@P9 zfFZ4P+u#Ptt3y4Uh3u#&G{|tjC_Gl?1w3`kpZT1^AjxQ>5nKT*EAcczOj|JgeD z#v6Ih<6!f=FOJ11D~!GKp!XU;E4+v4>rzF~HHeaPH;(j4Y=<6XO6jBnNRc%vhx5wG z!u;Y&AffLOeXW{4<iDkyE;8oOa={eDsVQ~OKuJ8rejX_Ky1D_LjB{67}EUb zV13jFNJDO|UHbXb_2rc+mGOPb=PWSw`~E1B$h5e)He~C2Z-+7DM$kK~H8hAgl9q;)PT59#^8*II%o3l-H1kkM;wtM#)nD zvE>;(kuWMOEs=;<>q2|Bkt5p4Bpp&^acLNrGJeo8m*!HFb%ge!+|)! z2+a*;L9=?@6c*j=)0L>LKxhCmOoi65>)EMl-FGHP?sbDggQ9SBE6l0-T6R+MK$w^& z4>fa=De?Y3ap4^|fs`0(e76l}yyB*k1qz09GRJ_`zL-YHqrCOVS4Co5#1J(#=LEKQ z6_uq1v6wyV$HxcVp#egAq&5LFt&K#k5H|LKpd2RPE#RTl8IN0(K2*apxkdY=i0_n6 znZQE{Avg9ubND6w3?K?UmX7xI@Nf_hfdGkXfifDTKytwE1I~05W~bpBko}t@ z519fxp}2k3fnDd1+6vVwL^+|;1fkOl%oMJ4HgaC~B45`qEv26pBKl1+(1q|SxW`1C z!3kvJGsyiNjH~2oCufFjR840{t?7#}(^*vcW}#3I;h4nr)B1lY)G~Stk_16W{r~WI zr=s8|p0-(YDsL3kpfO0KX&Z7em@xz9-88 z<@HG6MkbiZ}AM4iW&W*JIcfAXSH^nP$)x_|bvRn6h+ z^}yV}m#fP`-VC}yL4e?$z%5t3u5F6td4#vAJ>6V>{gy#r**@zmVeQ2sRHX7C&+0)J zLN?X^+8kQGjQ#GwOkdSs57xd|q{MJUPJW(sQFZ9RDALJ-DG9uwVDyErXpM;D3-0Rs z83nz4-VzC829Hq;@;{r>7}a3^*e)FLX?fw-Icd|WOu|DJYyaG~~kv0UfD z&gJF1L9-^zqYFXRPwFxLeklVhkt)0L$hFaGndzA3nkaw?(vFs>a~~A;Qw(o=QivSo z`99#+lT#l)g9-OH8NkaGZ1% zL)yce6h9`6}=V5OD6C0iVweFogLS>Oia2$7064x}G7u4l|Rwz;Z*8^N87`R~b%A2)iS| z0RhuaZQ(c4vtJE+bNDcbE8fq;*1(euwzK|~9qWAs0xN+>y0_q3Cl@;uBdj=tmpd_C z^jfvMZ`+BoCoevL4`!vam*~%iVcCdrx?V;!X%efgk{lx9I4_qsxuQ;7yDy!(FZAeA z9?x%U+UQ1ZUJxFhD#&mx5mdZ$Jm(I&N^&cE5ZT=ip%pETCV!ZpnV-it1gN`MZO8gp z5gMMv(8t9joteUt%e2qFOvmz!9m&XB%S8$h{rLUm@salTpNJ@~#pha;tj~#2v}ea= zhPjN!8UF)A1EE)!_xB*IO4DoOP%7kkO!$BtU zqfPeVeWK9&o|{qem8x^fEdB~Fd*xJytDX-BsooBh+(Y4GotW5x;eh+I()eC^pu z)KVIZ#|VhwR;f+aVOiY02u-$?<#bk86s|NpfG>F#c8M3!S!14%X=x@yjIK}@jpQgn zD`_&BtMtATv1jmi>M7Td$%{lGBpc}Z!$^&=4U~%>dzPxp&4}MsdO*FC3T<0wooZtY zDQs#NV_&HIZ1~k9BK)BZssz9DZC7a%ZZ2-LZ6nJOf~s_ej~%iSqXdVbGISCbXjSJa z!JYLQL;SU9&h)(~5@e0x>zYq@IKc}ww>Ruu6e;XhIfzEz(RxE{C5l2Nd9 z$l{Q1=Ku8xsp&c;&_6TDJ{=C6zoqUv0>MrRxY}i##0!6vo)X|ObqK)Uaehj`#3?J` z7f1UTvn8k{Wjv7F_5kETcFZ5m$;mPJAk^=7ux(gHtH!RhphN~rjhs;}|3!6m&ZQCD z-%tMYbxg%ShHXjCHR)S^CTvO;`m^da|A*|nJn7k$+aE7?G#c7RGOrbxho7X~-J6x+x@@Rw8 zK_B7m%nw)w{9eb^1M$O*ORSF%YpK}ze^^(a{U<8%hd+y=Jn2sK%>Xc)rY3*SnO(M} z^97Ec6pOple~Pr9OuR308%kgHjG4J{nRI+?V(l=snkt1H#l6u2Xn$wR)i6GY8M9lAEM4WsI6#=*Ekd??k>eGK+)h@DDLj=5Zv7fr3H#> zad&qwUR;Vhq&UTS>Amm1H35H+}9iK$WrjnP2Z}oFZdsMn^)?Wi=Z^_fXGGRt&szP0DDHa7)^wzE$nUrZtLOKY z^`DgB3YmzKTp>+M%zdWqX=b4woNF2`s${3WXX|b1F=U?q4sGS5f~S6IAJf~6*=EWA zk$r^r>;JnS02U!d1JDq@)Yo%0`If{DQL$b)R};t&p=USC1VfqQ+l_NdpHV>vr~%qc2k}I8Q-GpRA&3`Vey2;GRv1a z&1fNba2_&1Ja80FNN(Sp&su^#wb;|(8ZG3@0llPmwjV@EQ98D+_e@#EM#NBFO$j(* z%*In`pLgxIj(i9>H)+BvHZk972x)l9#7))_jWyHThh$|vvcH!4A-pDWE>MifCdwRr z?I}&>fcC%c58>a!(2)PAzhK2%(H^isGl%F#lHO@3w|$~yS}!<05Y6XuNN%~+s4T`k z3K^yW+S_OVbBg?^A&j#wuaFY~fGC0wi1Zfi=@EVZJ6)GX zX%Z=W>}?Ah&m>0?c|?v!PoyG(6WSlTAVFMZ2*nE=25_A%3Cv9klO-9GN7z7of}LS$ zCZR)9qfhRX!_adsi-gH~J^|Um{xB9gX0IrY8YJdryAXx^%|qz-CB2bz5c!CsFRnDL zAcx09W?~u#p_8`4{(+Yn`s+6K!jibQh(r~s%lU!dEMO-1+ljKo&~I%Mi!`5x;H-Kz zs*ww+NZIYN_kE%gZOoCyL!jEbwas3E&r_M0SEF z6q^Sl1Y-PvfV%M}3B@QXE!-tix?(<)*32A^+p8a_9(zl0mOgTthrkHYaw^0FXP@qU zpLg@&QkajwelF-ep9&4~P9VY6jgY?3^x?#QSDt}9MZ@q+TZs*G<7c<6|5i}WnLj*N z+_QZV)g6S#PC56eLU?qb8d33-P8dl%Mrg|m4{Wn~x11dp<5EKs6%Qlu z3eT_=aeM0eOK$vPn3TdI>U5jZ)Tx1J-Dl-Ov!PU8O9*aIv_N|?^6IAx1mAvsx%;fX zR6d`eJ1~OtP~e6PTfVZ<<1k@Bw7=l6x4B)t4w4u&Xj^h+)TLTPgDzC@y#{%pb9!=_ zlZtHHn?!3#hOP5;fdkt}3r_Z}A{xJ1%)z`chjt!WiNasgC&rKGsQ1VwF@ttk_k1UY zgSLGOCuIjL74%p9UiL;U;Cl@br!j$nQn6PYbw`@Ht=MM8LJCS#cdEN%XwSOwt*GOm zKfX(w*=P~B$XV0?d3eyEilyiSQ@F@u*Zq^HPzwbb@3B382w``*1Qo#|(?}Wy*Tgh) zSAp>3eIW|lqA96<3mowEh7Av6v-+_w#c>_fSzI~1z4KfpiOetC*i{GHviV2jcpa*O zV5I30fPKXlmfh1kMA2l3;k|wS-DAQu>=ejeZommB9VB&kaOt>3DUA6zM0 zGLyVWv|+Hk;qanyzwpC3e7aEHc77`I{WEdbr=8Ln8@x&Doe-+ZAyFlhAs;rHU_IC) zYw9TCL(K?F9VVq^i4uRQh2k`@Uu(C;-fezWL>+TPy7&|qqtiYKO>)dUeP|+ zbmDw=B-rT0ol}FbyE9UHt-CU^Eo^d@geFn?L4Yk6;Mfh(zw02)+3UoBGxH-05jnJH zLv1LPia_Av?>bbjgOocR^`4Y>%ij2j1T1hsq*-XLy|vQ37tgKU41pG(H2(Q#$@lHG)yEt3 zg%5TXF&YKa13h)Ky+ITrggi({D839KO*7k$Fadwb7X?TtzBcA4y*f0^5P zfeTQ7wnPqq?|Jp%B|{7GiGs~>2#8-*e&d*F#2Kv?oBR%K&9wtnQ}rW1V=CYLb!>rs zkFiw=P%&(MPs9Ne``vs4v%9c)&UGztr|CrIWnx=63`RifA%)2R5|um77H~^54?=x^MF4a+cB>aYWZJ-d z9%cF7e4h%Py^Us21CrLzonzOcsBMqSAqSF%P#u*@F~q_}-zDK-L&*P&G~@k+R3N!mT#w?8|ii zN8=K-324 zsqa0rNA*7b8)D}TkP1k8|8t4P#o;lDfIih9TZEv;$}#Ce-ofrj67+|EopL2o|GWf* z)Vf?MmuJ(7Mzn#hksI0L&RYftDd8|c#AKG9m87v&#FexIu-z7wc~P?IhGWmfUTqqvH?w0o-15j|wg z>OOK8PL&Y5@X2F9jeiJk%Wc(Ik|+aGS{oOxbv8M({4wxiaB~}#Sy_fB6A-fNH zVvsky2ZCIm1hlvN;W;#hHbtjhZR)RiH4}?QT*L$Qv#oWB7IQZHob4X@x zhT5@*7xV_a_|;B8R(E99YRKOD8B^K955?1x zR{=vaF({R7gsJ42*|ul?S8bn<^|mz_<>${}TG78GG?}llb7sK0&MT@dm<`;Vy&KNc zrNZi|2)<2s)7@vF%U;Pj4DSoNb(Sa`>vJP}XpY1jlF2iLFoE0qp2@5lQ5bh2Bs}&3 z>*|ME#W)x%H~(AqJQ^5pW~5TLvJ05a1zcvlV8@5&gqWAy0D{&xIg{7Sc0fMqpJ_CRg63_F&FNG&9YUQFQ8Na9Kpa@412Q?cW>trVPmyoDz() zzr>W4T6^(U3F#HDJP23~0cq-Te(|VY$U$^SY(*2Nvk>&R4>>A5Ly8L!( z+hlUzt!=zOsosPJ>rAflw=jI}1$Xgj7;Z#jX#lh0q3=;R{|H%dL)kDh`Qzs@&nk_a zAOV+dPFbSFpgL9xp$3*th8Xr6C=Bas(opC>gGRZ zCRqQK#X0uSt=X9Z2UQUdutRzRyXZzTE~+DT;0jspYd@PyZ&%jUsTO6Kt(LP?w@SPt zFsL1-IeOGXCP+0pWF6ZG87nqQmUn zQWMTt0k<1TSz9Df9H;uNGaOX=QyVdHu2Ac`r%kcM6KaK}<8iL8d(&ajL-GJ`w1-+C z?-~qnj7ZeTo78qE(l=bGd@a~5FNm6eY0WGz`CK9^bR_0$Jm-d$i>`LTNHm~?R| z*L*SPYLLb^DSp2i`%Mx#<8#$d=krah7V}94;S};e_JX=C?#;D-I!~PM49S#}JbQ;| zj?Nb3b}Ftbwq5D65G*Z2qU4U+h!v^B>o~>mkc<%+{O*HSHpy?xoPXMuZN3Roo<3mL@D;@MHk^~lHs1FksiA+an-lp3 z&Q91yhj5-R5aOg4IUxKU^1;Eev^w&h(-*NI!pEfO!|!XHgz zZ=Q9Raz6mx$}PavAdX9|Q@&{R%1QtmEKtYB<-zVl@R0#ejByGq0Kx_xo_-=0ymbTw@Rnme4%V{Q zPx^5Hg|EJ(5f6Snpa8AA{E=s}NEKwL{q!^#?D{2(IU9KlX=5(D`}iYp_qSMNAm3j~ zA{e*;#~1->$=ATOI}6f7d<;PN=v_e8u0S_&AOEr`l#pD3?m2On_L65J6&tn0P>z_+bxf%b|(q7G@0m@=qvUR7^rfCPjs%atn39 z)HW;76A|~DlevG@@>N5e|&nngo+FP31Q=$-+JDjMDeq^xVQ>v#2LXe z&G@K*15RIG-wUs51kNp=%+Oe#h3}eD|HXtZt4qP855bK>2M0|xrOu%y4lQHv2g~au zSqeFp_*bQ2_b;Bje_^*dAyPk;Dr4OQ3`^N&D9ZUr_0O`)H{2i=iIFp+wQ^m_?ft9% z%Ch4`fLZ&~(Zip&au5~P3%jHrJ~L= z1;@-@$0A~y5{MDV_j?x;$c_T$v}QOFu>^qwkpqGrDJ?!ur0I+l`xpI^KAcBkAJvKx>TMkYT_C85l0nr%84 zXOjz89Z^Qpz4IvZL_!DR`{2t>dEPao$5f9Ty(uh}IF{m0I`(}Cp>NuZL|&xDiR=Bo zFRALegAB0O$-r3Ou!R&A0mWxQO%V#4(1NTGR3s=8)3f5IC0n7a| z(Sa)|!7SLCGO(P}-%5UsRoS1VY1q6=Y|b0`1Wc8yJackb0vieX3rEDL-|iKBlr6#6 zoy$9~n?HpnIllI2R9*ZPlvUY1Rx@9uTyENFtz^+lX;Li`C%LimG-HwVb$Z{KgF@i5 zmIBlNnvQ`x5O5*jqdYW|sa{k)_QT>kEQmua>PcrE=#3x<=V?FsEx%Qa(J6w4I$LlO zk4xqoC^%Dv)wKOXvt{0Ims<6$396a2Q1P#TB=sukZ(k@;j!|MXymPMt_ivBmfLB$> za=if#5%1`TRNhBh;kkR)Wb7CP>HA3lYD2D(Xy479sfbx-Mhl#mh|P+yH>WX-Uncc| zndli-R6)(0%f!T~u-DK>kvTTA`WRy@YAC?G^YNtO=h*W?O`s;5QN7523%Us6X(W#_ z^iO`xSE=u)pf3nJ9z|wZdwr+C+`wL#Y!G%jb9;Oz0m z$!VHOfk=tE+T;NBZhqlj3%L8jR<2W`M_uDqP_nl2Yu4;Mp1uv_k#nD4C3i08A*6`z zNlTPAgJDMdNWCystN`IW1N8hp$|G=BTa!E#)W($^mId&pb(3r|D>yhuEq9pD*B%*PlV%N}cv#A8F`q>YI8fdW5OJT33O?6CEc?_%<&y9<_|Gb&d+_z0#} z51Vf<#<#zpQ}vxxn+RKDH~d|;zy1$Sr%sDa<=g<%Z{~tdsI>p5<6LVke9W|+w1spO zwW(B(%2QzP_{<_U7hFfMUn-}EZU2=|yUK+l8oj7$m~So=j}RX555fM;m_?LQ$w9tW zis$fRQm%H?>_B#`lj$Wu*gx1zfUcWqn3dXsUO6K1VF#>e9)HL1FXteGv?AHtfL-}^f@ zzb_3OZ2BP{vHJP2{Q0#HATyJczuB0FOXe8*EmS-fAb#I1q)ix!6dLKGk+a^CLk1nE zV2Sz-(BrWFCAyUlXDqx7Ke4}~J+ZMdXc?*ARNxFV|2ky_1mX=GUHnP6 zQIyXtn&KeQn&l!!#8UIGeJtVafEPLBml-amgq0`>bn?a}15?4}7=#OzQJmnRVuk~O zqz~0F@-*;sxMF6UQt?MM7)SP;mI%?}K4lxuGmKxlK4VjziOxMJBl~ImH7~aR$Q1!F z#YbnX|6n@RXJyv~P1a%}J_70S=_lM($=05QR-oXQ{j^>kf2GoNu1T%cE`@M<9rq-@BnJsB~`o&4Jko+O@p8PghEH8Tt1!zr2>W1 zs%Zn3u+X`dT`kSm4Wq>v^T^K1u-VFXsZJED$FVm{RMvjW=N>9AzG3RIqTs4A>rCE^f7EIJ$Tp^T4DcxuFI0X$bK&|HXRZ+2yBd^N0lW z`Hfnw6TnF$Qr~Bh6OB>PWW4Z(A9xQ&XJ?PC4$RA1TH^iI10>5;eq5ELc2F{udKXG> zb%PusDbuqoK|S39v%!i?-~-&E%nU^MLyo!jB|9pTGQt^kpN*NbFGUUV`EY=IgommoMOk+eUo3V=N{DE8DC z9+TX@HI^j*O-f-#DW?MYbsNh}0d&NcJrAzp&jB`>h?&xCE@1SCM%Gq*LQCXLYl@tdTmcQS=^!xU1@H8P_QP25@P!0L44Z0+3;o`UVUti_1?nIzD zuMsj(ynECCeN0W{!SqWn_UkhS18y~R_BG_`@leb9J^JTavw-0S+LTDhoO_UK>(W? zL5;&j(tcG*8QH)ZTG=A~a`$+Kh5cH=tJCpYZwRp^|EG2x-j+NOcB1*II%7xCJ!Tc9 z>#s*B<^IPJ#Y`ydWwX0YBhz?pyk@$pT_g;F?ge(>m(GuW{uyi)-cdn;Fv>x;hTLRe z#>YrqeQF-#?_j|zOh2rCqN|Gdi%>kXHV}@PW%rA;f!Y#cB6n~|KI_`fYWx)m>6AEv z_?{*MVHid&RulG%DTB%|lK_z}1tEbSaGP?0N2hq;D9`w}7rPgpurB@_4t;$&hAP~r zrUt^KcTX9Fa_Ej?0EC-})PBeHR45*Z`R7ewrM=npY%;-%xM`gED4vxNUP5sxcb^}} z$U@ZCJwhn95p74Nh@>HS{u2@bV+r?WH5-0Bz+V0D$tQl0>6P5S-I%v~h+D&}I_g@3QQ!^S8X?>kdbdcelQO{#N{eCBef>mNrQ>ZLET9uRv zU(efNJtOP)F<{WRGO?gr_G!%o{x*|FkX?}hB_+%+aBsP%=i>oFp*irT@!hR z1m_@`SUT=#*o%&iO1JtNv5w7oyjAXdTU9148xAc`X=u1(=nEt|pKD+_$GA@NWlc~g zR}1&kZtwun8l!x76n)j3X_1L&YeVNKNU@jObiO4WDSzV@$`m58piw zyWlUIg98n7>7k08DBg0K-QT##y^#0kUt!cVwp0u3J`l*{Ce1Rb`!buMra}cyvAmfy z*|<%cKKOdSk4U*uGn89keARqg>g6D%eoYe2r)2esT&AKPo=WsYtvF2W^m59UsJK-x zcc8mb6aXMEDuDjdL(oI)Am#L_rp($%28btZ%V2H@K3-;;^YrvwiyOoH$^hXL$Ff2o z5ZSD^MEj?oXn;yf{tYz$l3Wh>ak1YWV*vdEbYJg@EEjUii$*01HM{*Mmo`G~MfOkB zU5=c~y~%+_iK?!izLZC1nEi@)sX3Gz*nzc^-764DQVuYw%8*u zTLwV@>1kfxX~@va%wR1Jw62=&mC5x9cdJ(!+{u>D%w!qN2nS{@3i5A9@&zFTgt$91 zIyzG7At6w>fq&gW>IGw zF{Fqg%f}64gRRW<?PIaJxT~jQ2fZs59;HD5N!2zx%c~ zO>PJ*FP@20pJ=@CqOZnjkiLYW2&^++KL*#`@Y0gVc;tJkIN7!k>Sbh*G4}ggmbi`v zIyhhdWtR1mpWTVZOKWpe*2#V^}oVcM6p4Ci)LuAm~<5I{EO9M6+_fA0$M@D&M>t!>pnWR}Y z2MO3qPN-B$eDrPv3FtM{vOoRR@AYx-tL??5$&uQwA znEb&iJWEv4f-?J>&UX!5?L#b05ZllhbzeKA&|>NJ_C*J;NqV?zRnYlYqsF(zalqO) zQv+HYDa{Z9K|bEe267}VVDm9W3c2~l)!OEGK1t8vY)M7qzZd5w*D5fKq`n5IiHM8;yn8kb_G#si&B6oI<`g&r(J(Zk;!G_A1b zuJI;eCQhGr;y8AoR=gNy{~V}}5}!qD>mbv4cxNbXvwUvZD`sd5^&=z0#MYL-!|(FB z9Gz|Zh&ms}Q7^NPt2L*1GsF(2vTqpZt)ErS(CtdFoa2)<$H22lc=&Mk$OqzEFvO9wy?fv+SngX-XZ2G-(C!S4u>n?XA~G zfS(^2*&wR@gY{RIV~!M*Qiu0|gH}|PEW=9jhau#mWm}DxW+#2R=06kawxMcsUuH2P zVzR!{^TfmJ2hwNI?TPfM|JGW4Y zVCBpiFO0K6GBAX!P&nd=j?$t4S^A+ccpwbir?J1^E%4OES0hetPKnU+YY)~@;NrbQZQIoD@5uX;p}S`0l*mMyuZCUma*$f#@X*rV z){=Sn($cC3s?pUUG>jG%jioi+C>12m+(rt>8e5BB_sHFDecO1Zyq!$S_MAJ2(P1 z`HhIb=gAOk1k=PeNb}kSR6j^=o#Rt{bAaA=PJoDrc*H9~3<7}|lzo^w&8ta=FpXLY z3TRp@5!e4)-zk1%hbnV7j9|mbpcc{AT`+J%{@Xc)4uJP#{8u%?$mRv6kpsVtZ=K@@ zlbv}+XWHZIXH`E#d_O7Hk0&VYU|Wlz>UN|e+8hVh3;rN}2iSy-D^S2fj2Ms*VflPS7rTP*&FYmd#;&5SF3 zQ+HU}eQFQ@MIEk~CzU8Aitho7VGPC{G|-rt&Kpgm8DlQu_BmJ0oCPPL*HUgs3OnQk z^wGK7v$0{5S@~1Lw|&?w#On~)C=%l+-S%81EkSxF1^)5i)O-TX&TLf$`s`OF&AI+u z&6sCa$+SOTw6zuePJCALlT0Yz3e*}L(F`xrYKRn86~ip=lPxY`Q^eVQw3 z+<{C@M{u8u@R#hS&;8+i41|-kmO9w6aPZEn&~)M>%P-<(W6I42dpMN8+}VF2*#?i! zlo6=}ux5%OLyTX}U^4CMrvYbW zA==Hg`FBXv60%-hw_m_l7>Pr+>~@SOTxrWFm{-T2s_9Uqgrg#BY9#W{dw!qSF{r6T%3DIfS+FPg(S2KFO)E7nSoN;pg8TU2E66UM0+Ty z1}Mv_8%>_WiXM+y>aM>S`rFDcb{qpSG_%oVP{XSDI&C_Nm-)~{?nNz+@MoXXzhAH% zPKzs7W4`7Y8)8;`k`9SYuHOtj-LZ|^Vc9=6%AtxN)t5t`STxeHG1E9or)L zn&vVuT#RZFeqH{Z#GzkdTkgEa3mfhP`sA%)_P0D)EeOj6kSrGow?~!@S-OWd#;OY0 zU6Zi(C~&ryLq>Ke&EgQz3}T_cuz$?FA(;Ai&ezA6U=LriELWKwoU6c{fn7IfdH8d! zhl?=OzW5nOjK~!)MtWX920v-T7;=_s!CjP+TmA$L2JgmjHlktr$F7HlBqD@3o8quXN#V$>h2w&Jc z%UjzRSKIzkEWv3*-J=`(=|&b7^kLUDY<6|=eDJKBLg>Pxt?_sS9Id*B>t&Gu@^D-p z)D&3D!5AFBfu}4##!SAvJW>>7Grbfwev^aQKEyfCZ};`6sozu*6|PHfQeX_8 zox%xNLkX?@zU3V9FLQa)0!xb@o*uF}Sy54uf`wB*e$CKHyX|Zh^Zehn=Y<8k=U5GU z)ixb~q5od_dMX=u2~A?^y!5s~kr*z}5PFwpNu6^){y}5|cZ*e#o5L)%gJ9mf>^b*9 zF3VZJR5Bv30t{vJk-xfgZ89(8jh{Ev27H8SWq=*KQ#Ndk7Mhjuz@NM)5sRpTovk#v zN?p5{29;UC?zLX`xI+?06Ghjlwm(pr(Q6iFkRYr|*zQ?FEOiz!v>QkjVR2=qM;}EV z@}!|I6y%PkoT0_;D!W_%90p9w1(`HdaxZjk0B6=I<1*zF+g#GS(Sr9QAHs=cRsbbzn2A*ro9V##qSA z%3QesjQ6sEWg1+0tsWs2S*a?tetiZa)ocFo$c|CBpUgdsreX~?LGp^R& zR{v2i!#T69M4(mu>)7UA2HbX!XfwYwo|4dpZ08ZNG>}p48|FItatEKPZ3k;&_}$g; zeaKI;H8dXz#7KGWT0z$@mrjr$p8TALz58|ss$^UI4Gj(TZV}CMUF=N81-90%$7*>q z7tePLXRYS2{PCxnO`Gy5NO4T56PmA!uByhEWO^l#+T2P?HD}M0r!cdKLT}3qa(r=1 zgPMA27R?_R+3TI6>T3fj_feD3Lbt19vCC=-%9nnBzEugj=)nRM%+)2~7~HE0JXbQ7 zuD+M8m7#f!Zi5ya{b$n}itn8z>YO8XuQ=#WO<3EjLnv5k2Bm+=iBRbh1aP?@!)B4K zkYazJVA*HC>nNqA?Wc-MLQnmuLEmZ2^sK}b%m}=Ooa&Y`@&zdVJXmCqmQ8ap0N@MJ z&MQze&=#kCU!|Br9=69Hj)E8cRmI~pApkbdEL)*(F>kh(^?m#(Lob+B`dfK({ET*L zp{(Gx(`T;Eobf}vTf<^S#?hQA&>iDXOHT$a@e^yqZ(u+I?`^Uo_; zT3M+PSA+r89RG-_wVp}O$CRYh9Ds64 z@0J>~Pb9ZYGD^=-4JX#HT-{f3B>{{^#5FH!v7+BsA=vg ze>K$XLaok1g{bVxacOtkxuXzqt!j0`p^FrJi>vTggnDvc3(38Ccvd;RO(L8=7V0TX z+|4}vxg{v=mUFA+{z_-(%^9av{!t1FtnW_uJV@YkKVds~D3M%kG>1ADFrFHzN;Ga0 z3eGj-#4HASR{6K$_bEgDQ(3FhmH5VL{0 znHtDxGck?yEb9EEN2!L9P>>Pr9PHS_S>^cXrMK7vtSfSdZIokXv_k1B<#pTvgPr9} zlC#oiadtnviryd9rI6i+hr`=(Jf@=w%b=^r^cNZGcx**04WuF3n(?@O{Bc~*W$ogD zIjr>~z%<)vLJi5GutoKavAsJa7GH%&-2j8IUA9Bhm#skrZ3rMkRd)1kNAvN0XArt; z4V8Qd7*3OX-G}ZnS>xbktTg(&(XZ*1oQNT`-JKlb$-%>T7wXk1@pky5`(mnM2dDYn zHGNds4KfebtA4ac=c%e)n`2qa>l^49g4YVMQxa|@w+@0y?AKcAETK*F1^e} zGk`TRBt}m`3eEE~OiW+Ma9%!&4k9;B!eGRz$_DJ^&N=(vYBZ`9T_=wkDQvA>ft2|h z?PhGM%FMpfkFf<=YnAcGKGZ$(XjH|^ru{uW#;$eOKbUIgq15n#L)LP5Gz?XDx5NC` zU>|0^kWfOFC9!&B(oq_q$N`GYIKh{dyN}v>38ZkwX6Bj{B(HqWb7~L zk|A79BUpR^Xew&k>M#8Q+lspc^u>zyQhG9J5((JWcrNkLi9ZDTT2KTKA1=+itQ5ks z3Kpx@BJQAXBiSs!KW+CxZ|85@P)ZxK$VCX|Ru*VV&iDVekwO7HIIvgH`k8yY?C}uH z#rZ>ci;ijQ#CA%GgZE+GS~=QKMQ6ZWKj1xs?K+L;@zi* zgG0?^gzVXPq_Nw*lZ8k3<@95*_T0It{JW^zO~mo!Wr-4ITKP1))BW#F-?CZKj@|j@ zlG0eNjytUd83c=u0mZmidCUW@`gU0w=W*|VH|(xOu3AYr0%-)1G~>I8_J`TW-dv}N zX^?!FU;F23n1b=dY}g!~j;r~!x!{f|hFw+k(d-H>(aas}2(r7)ipXY{UviHciun;x zb2&o?aS?V4u2*f1c0~%g@N|E~yI%Futo$=>P~DDs;;{|VT>f-Bo4X1-%N&O1V&K;0 zaXfD!8jfdtkZd!IIb;>PvVh1yZ2MJi=}C^4=POnzSP+%@F}PncP)kHcve3KimTn)0 zFCulo4&!rU)NY>w?!XZyXd!@8U7qe_vXR=G<4Nlzp1^Xy3{AaNpS@{BQwm zgc%oLI#~CB4W~gOf4~lRK*Zt}*8B=%CKYT^r-fwtL#sMz=_g55!LQomutnBIIF!Q~ zS90%f2cybtdO1iV!6PLnu^(2B`RMDuYL0TakEkoBo6#L=a+{gyf&HCh2;LLvnkAre zBW`{T+jax)fU=l~E*e5YIh=2yXRtp8bVm#^2B|i(+`ltzqs%iXNgE|yeO5i^t+T1M zxb_K5@sd|4ByA23nYXQ(pW>7B;w65J+Q;66Qk@B>z1r1B{r}!S+$i)QMdo{y4=qFo z2Cq5ykWUL;qfZH4E8O}@N`|3&5pvDER2u0jjA%!&r%lo{7Q_GTLk@X5Uz$Ef&_uL5 zMz7Y3i0wq(zwb7OkhcbnzqnevuZw>|27<;xw~$5SibkHF;)Vg`s|r!&$6tyEo@#=m z*Qtk+fflyMY7;D3C1j_69a@otHh&cQ962Nqma*&Qlm9Xx?|Sj_9pcKq=Q&r;JRaq` zt_I=1QoiPq8yW~tN5e>11Ek?MMjKt19y=Oe>WgAXNFF|WG`=Gb2fmde5~_i${8z5) zM(BUR|8@y8Vw%38w~~UH^Gt^ZNci4xy(&8-r9aOEDt5baxqEVDM+-EKmORm zNFA?aMi-7! z-_VZ%`vjS5lH}uV>5-n0;hrP={ffjIr$Zj=4;a#gnNITju1q>hnF%!MRsNvY&S*UddQ_K~$*;98)(~{saFus4B@x(= zJQH=(sVc&ffADJ*7Ig7?7GF}`ZekLaa4eqbvzPkQj^@3GJvb6&dsy0DnEYud*@Lgg zwIPEP`gXJZMIUyYGw+RoPtD&4x0m|tq{YbpNU9NRIX)BEK^Kg7?`|ROMWtPotZx2e z1SMb2?Vd7zmh(4%tV_}n^!2v>{VyG@m^Y@Syz1#7SeKfyy9*;^sgU+AM&vSUGDuOSCUF8!>CGUcAD^ zX+N1}hM<04)~He4YSKFmn_&rILIvXay&D124i`sIe;O`q@_j8-SHA>BFXfayW6aYa zNC(QCrJHBoG4Y;%B}eVVD{9Y~QBA=kd=Gp^-@07Z4tgTJD6RVw49e2A|BMyhr3@gF zvbSf+$jtmk@!$Cf=n8Fz`TD=DqUhVhv?lez~HIfLtAWVan+(%iR`Ob zmh$7t0^Chj6~`aP+o*1W@W;u;-;R>iaia2epU#S`S!8J-fB;PGs>~^u04^hwKT(a> z@ejWh8AQmRk=!S`-d`LGpNvg}iB0|>>V@Z(;>MXR z>((F=!3%1N-it%{3&{m3MQ`$@LhR-)Co^c>r5euD`i~`%{TYoEjJzgRSgG=|Jq(&A zG`IF+o+7}T4O72fhDXt3DG3d}WD(}t<}<3f?h6*`9nF_ye?VqOtK!ZGnML#mwCA7f z-CO1SZ9Al29k>g)DHOyR3s1tv8)PJ^yB8P=#XNh1#rMFAqM=YvsbeDp88{k&WYm^& zg1XsHlz{H-ATk{uHB{B&PnHBAQTt=vu_W|(B()t?DKvjPW4mdvvCXUG`&6)A!yUZz zJDK3L3-9yviWC`cz0jSwCY?5B8AIRFJ1gWTY-s|sro)pu8<&%^ML#t#DKE6G5mjD%4 z2O2gU@|WlD(!ESbc$Ad|a~hNfLpw>t9eA)iS44217!_giM@PE%gogr~ihJbcL!>7J zB6+w%;avu4T+m5W-_ykh|5^%5n{`we8ewGE=ujuPQi5utP$SFs7>Q{1?Y;_2!9TGB?k5T zZB`&k${eViS&Hh3Y9op-ca*s$3g7AM?d_RtboxM*=@I!3%Bb07&Z(;NfY*0`yBQo zY}$kRL(nTmOym>XP#IchicI4%!vP935e+A6;E7&+A0*GF7kc~5KHDUE|${G@2h83*^5d(1injlhBrfGe8=T zN(<-k_3~H=Z8I~=!9z0h@$b}AE{*p2^MVII1#6^%<0VKV2#Q&OuCFm;5@}2nZC5xL zUe!h|z2*&@Pzt+wf;sgqmcpeBb-0HZQNCrde`YnzF9It;o=APb`?5npO_4y4qRBSJrowsf*w)V zw+mlv8PxRt5T^PcE2@7dXcid2)eI{5y71u*FdVe#jR5)CI1GOo1(yxpxlzu9Y-p|G z9R#2kmn2s8_jsw(Qjdyn%U`DMc2OUfCz@YWN4kY6pI-?!8C%2ZJ} zFi*yIHI2p&WA6Ux!Zu16lJn>iGA76A zK;@=cND@Du=i7@j8N z?UL~bJuUL+>(hB+*d)ScsIbAd;{k_qNYDF8n(_3~sT!?Bxv{eOM7g}{HI&u52=LRK ze`+Zvkf_UKk!uu2dtE72B*JWb3=JpgU9-ykwmHtxkIV^G?KH#Etj)O-zQ|$z=9TlW z+z&hj!IB}CYDcX#S6!MGH79k#lcD&I>zBW!Aii~hl>|M(cXq8r!w^-;4OU3}2`YOZS0yyjtOXlhcBms7 z8Gwu`bFKqM-4T2!3ydW`3NlQ13(v5(0Nr!|WT_d1^bazOKbPGr+(w)*s z%MjAicaQJ;`@Vbsxaa?wbM`rV@Aa(bdDhxXw-hXUJ{lInzFxiW_^Pn@@S|AgLzAXw z=ImVYbv^OxRc zDFQ6Z3a9siN+F34vZ{8)kGaw@LNCq3MN|3196ntql}>(>yZb(ynaNH@g^SW``YBuC zL#|V@hGSfNHL9BDZ5WF#nKR1w0HELp9h{!F+&WIxs(A3#(EPa^~?+&L3}Uv((JJX^B3h{Nn$Rqbg3cAH_XxDG3;|m z;n8kcV7sgG{7p1v?mVfKr3{ijFOsLbWcW$a%)2Z)+F>DDh#=-o{;106Ee1&f@o8xA3~jKzcB zs8@;!pXeWM5GB5u5;its=7T#Uq0`niU2W}7$j4gl6iTK)bWih5^ z_Uh*!K~P7{nGGxu;+e$c22QYsq=O+0yNGhF=MD}WEG#U)Ys!3yp5J|0`TKBGwMg0k z)ZgYEHN`)7XP$NXM#S<)+s%zXLU0N1%YF~5{7iuh$A5sXoHcjiBI>q|V+FLI$LWjj z*Ft-b{{_O|zs0NAxP|81w{HrB=xUSs`V~vN0{_GoOw2Pw;~ z2rr!0u{r}})TzWAx=RZ8VtfNyfl2|e zI{r*SX9I;&obKp+mCR#xv$W}0?~d~Rv|ZWH+*p;bLhETce*RIQ1`UH)^f$CqzfL21 z(8ps9TG*bliCdC{NX7kWGu`3@<)RLtgp9$#!1ri;&zBPPq!%~%@x2T5cU)!tvt=a_ zDog9j+dOD|eWq>Txf=gxz`Z%g7G7#lPg;=a*PusY$vs~GAJ_A>6umXA-PVZ|-N&Qx zzj(=3wKDkAma{ZMIK0;s#Pc9`w)&~FWm9urLd}eiH(nCkkGV>G%|T=-$}-(%kGw%v ztT@tm4+AfUpyQST9-QJ)owv)^)~?dLmdXqbBR{!u%jb`ljIXk9*vH1IDBP5LM2FCk zwQ&FN`P&%}_=r{Mpr;T0a7xkmKNJpc%3jhEkd6KX4J#GS&Ou$!hxY`Ypa*%Jpz}dL zD6J9M)%=QAznY*w=1ArsvEN0v_romm`Eo}%Xm@X6!EjS}1MYKuzR)?@a^?E3Oxg2Q zSzs=gpz0dD6^+it^J{Pn&f*!WO#1;Yx)HBaH$&pbX~v*k&y5f7euGBkx6oC8k9c`` zSN~rx=x-J;mGji&1xwRDp9A_#9Wb9(HzGrS4wIP9+Y0KCWv^prts2EY<2J(m7T?r) z3og%G&e&F6)rb*H(cR{fJGfOlgUrvDB48FTZl^JtdEOsg@3Ox1o!nS68}r(**{7aVLg}Hcf!D7*miOl4pPt!f zUN6l1whBGXC#Ldut7;l4I{YL@c3WCn?H0DQ=r!ojx%5(JAYxAAJ<*Nh`MoWxWff`c z8!Q1tkE0nMHnG{0*G^tY45p^Ps7&2roHBQhy=eC9Fb9^MSaUho;e&`(h<6FFMVF-cC|Jm;8(s)dWGxJeaw&MvQOXJYe3AAZMQCh^d?BLfmt%bEYb`eE&ZzbXJVoG7&OK%KK^K0l@&kQ}><#Zl<$~W^=&>QK&`WhSh zJ;l{YMHZuN2b5~Y#Sdcq)pZ@`yDg5D12qQmmQL1dA*@7hTR$qk8B8ipF1~YZaW%F# ztJc(h{``Zvl~w9uXaN^!{_Hl8Q|h{x`}y+^rMpFDs?6e9VK6x>O(WIKT6O7 z(QuyE+ADdRkj{mmpU3w;G^3_WU{Rg4{stY9w2mn-x6QHc*;>y7OQAoDfve-%#`Yh_ zAqWe8zqC?7wvdj8j)7rfI7q}lcI{6{?ki^*!dY%a<>eqWjPuiL{_B-N|INeMF@t56 z>9TLd`Z4~!cLD2wMM(;WYXqFuv55^TS_sR++xFgw(=g zyPm(y_^u^v#K|_bu6M@}* z9|@7wHaXoC6%T9-?ZRBQVd}L^Lr}2X@s)ZRj0Dxl$*)Dv@uAp{0v?}C?OIrcFATLh zPG9&;6zekT=Xjs&tnm}+pj&1;&$&(}U*Cd=AD9)d`rmH7B5TVDK#LBV$;ZA zVPfiJKX|~(syJO^XH|+?C6>5Y7UrcJGIVec84PKK8ncNvgP8%0|*`S732v+ z*n&CG=)mcx=L!Zdl>7aU&r3LnFUa3v_?5m0?-h zc+m9wNBu#bi23vvgVe|q)MS~_IsUYrTCa@FBdPUkaI4;5dIxG!;APQ)6B)P}s^W}n zmk-lL+!gMT{c=ycQ_zOZo?{W7EaF}|!~H6ZkC>=+qw1twXi?1%Z zDk&LRzh?SCuYTEgryn1rH!9eX+mH_vxC+Dp0Y?3!X!>Ka1POB>NhwA)z%!wK6`I2)+Mf^BgN0U>S-DX*_-khzT6bq zdKBBA-T%WiQ}(oy18i5w7M86$HCNOnlx$G8;rdalmaBg43oa2Dg#1m6)On3hq}R@* zWuf&aHa$A#A0|=_7K>wbo|eN`yA<&JJ}qe{FXW#TSd59{Z#y9f8q_M*xepp`eVR;^ z<#~vX$eG6C{j)K6O?vtZr8A(&5WvwxB&$`!Mv$= za}u@gU{gr3Ttsf<@nPaTHYP@CB1C2W)vu8}nUJDQnFuOo#YB!0*D%W(&A}IY?*E2` zAK%3mALGbjVk3&D>v|K|d93(t0wqHyy0)ilimHz7A6iozizzB5mi3NW213YI4EU)! zW6e>-fN5ZiD( zf`%6Z6QU1?CYV1{z^C!%6l+85@QZzk#xdJjUQ6TPL0I3xjCkSo+!`*0Nuy=l3LZSU zvcAf)pW6)F1R5*x8jRdzsK|a6$oE(R9b5(_u6e^TQ@O=3m6>|4dU71~0(F=|UFVMY zrI>25rM|nV-6tj2=2*S+U0u(JLrCaOKFrf~YKlwUh=#7a+l`rxnU?~|b^K3@5jiz2 zx%U0M)$cLshKzZ6d@bcwRc3i#4CsaGpS&k{-{<^_`cgNdY1V;8TT^dkboo`9Zp7TV z^8-H-9(!sqQ5)eq#QD`jQ8VZ)qQ_^~c7=#ZlG`W=gcYo*-1F zp22wFDWa2Hr#`V-8gJOBAL_fS2Y_>6we{0GY_&e;_PA5k%!VVQ?mcU>ztWSR&3Kqs z?B(F1M4uHm*^TnS%(q(l4X$_Y{M;EPu6tBPAoT*Q`A3Us zOI*ph;ro3Nxs!=N@K7*^6DzAwHbY9*moFcXF&;*Ju3>l}A{DXal}j~#`Y^K|6h_IX5EC0K+3Wz`1%e(6@hP$Wy%y13=yboAGmxLtK1T56QoCN~tKE6AEKepz z#*{+gIiZ8NK^bS*)5e~r9BT7Suc-184+6#c28^z=WZOsSjl(Q{TsLH)gF+C=-| z>dWJQ8khOxluBKEavgAg)6QUgwGpxIaviJGp5FT6ikc7)zeX8fvw&^t#vcK3^tb%= z>Ez-g4M_-k077d?W&!-1b5HkOt?(f=f33j1Ke_64j4P#w?HC|LPJKVJ3*g|IzLuot z9ORM+MR9BTrj!&pd)J>nCAmkYkMgh+;(d&ZJR7YVJ`7@1Wuoy^*VJt9y$NnK7C@>K zP6fRzVgF(?$_RX!FB^SZp%YT3w(Q>NM)$J%F>ZaYwWQ6ds)Ah4&BYtgZ%Q^fIcF@G z=rj4@E#jh-4>(Lc1eiCJ+Gmy+0PqqjQKHv2-!(b`d-;nZmgiY8l1aqd0lKyXHPoMx z{SjmWCiL-FzzvSyC<`IbdMj0F5CI+o&Zc1UtQQXq*X_2|WT~O^&o|^f0N8Hr`T2v0 zX9i-_5MzVWBopPG{?3V%I=MR6E@ z!9`#YDSeKZ^c=eb;UAttkS$1C5MU!FP`xH1LI#-% zadB}Cbm|;@B!ZEEe}|wU&8HZ>RX8HyM*wd{U09}1jHrDM)3mca?eF$4(@YGS7spZ?KLJDgyCg*sa+br5~g z7cbwqx1T0w$Q?9Z87WYu)vdA&uNQY(M0lOm-Xw(of8G@j!qklF-Ni512m%&$ zgqlq4Eh=qLsC8U$C{<16@8^}=ovp7DJ=@4}KACfW=Y<}N3H9M5;_<=SQiXtQIVL=$ zJED{PPRQ-M!aFlfGcTtqEuNj0oF%k6r@s@Jxa1wY#9{~Q`hD1orHopBvT9iei(?CL96wf@XIPM`C{uk z`%o~BILGHjjMIZbiPh{-4(|Rz@1sqINduSg3&6*!m%dqnLC@7OiVRZtswVM}8?yEB zw@k5_Ht#{howQEKDLmYs(FREJ*5)%9 zgw<8k=HbOd^rF2H8^L=n83^Codu$!B6BGXdMsn%(kzNk{@Ae)p`L z6(x^D1mKRydkQ9=6Irs(F)=YKfES6+i4azh38%C;Lt673ju&Yw3i9AC_VjdF;$wQP znHW$pyny`cY5u4V7E?ekxBH(z3np;G3C`#;iEp)?(@UdZ&X^cpusEH@n&TtEg7DHT z-=NBG$`)bDpBT`aQkA8?24MOExlty`|+MvrHqd2Sb@)?R6*mTfHa}y4S z^!|ag-{tr)p<$I0@6b|17$SiTz(5G$gk}M`9cBe>hO^&vo*x_>tiHyji7M16*pER! zqHDRApN<&f;p*A`=HX-5$H3Q(5I8QK*FS;|5CU4?N=K^ZB%LnLJp&O zPgRLJ06OiBGaNGF)$^xBIvy_i%X^0WSn8Exjk2C9vY(M^a4!>sOyiRYayexU(vsl8 zmdG#H&C6GT#BNxR4H9qBaSd?(K_os)Jv*d;K_2(|`94>2p(Sb+bno_{oQXn12 z`MdO5GZ{Ayp_gRf0T+A@!tvbz`15{kO_H1Ey6KQK+A1q8{RZF9S__uays}~*5*e8o zeor99BsjqWbI}-*3WVvUC}6_%>n5n7LRFmL&AG-;_zjezKMuGt@DZb!SP*3*4&p5_ zEeF^`6Iw1-IloYYH-kWKz?O8oRQ(6LyQ2YjFoA`)({y4)#t1pKnfX;DyAs%Czgr%e|g_oslJKzlr?*wA7+ zPN}i)(X)C`HLwaA0>#;k=I=S97d@;Je2qKY#W6a=94i#?!oou5r4XhR`PH?xp096i zC`&|vToF_rofv4m->6&gyK(dhf;QXqU7Y)|hW+3v$e$^TJ_UxUQwUtmVo!;6Vd1`u?r%ajpBsZTH|C z17ZBaV}+gvYx!Yg;0Q2E^k(MgOr%t8r#+r_k?KfwV(0XAv;TRxi*H&>?=a`i{(EN^ z!$dywU^-0tq}TYy-pC;=YUl|Hq+SVN;ty<*6W-%jy1F<}HF8GZi8!v+HWvy$?gEJ& ztx|0#NOtM_Q}}pX{W5*_wPIuME( zuwbRqyh7fg;o6erV+KX4#6X<-$TCN$-IZp3OawDmuf9Z$9T!s5IGR@mSpwfVkzvED zXh~u*&9(m2&R%p*@+TE$8sGYt}QRLyte;Bk2{gCo72NF>@=;??PEuqT5lw zhkMEbVWQx}~j6OSH_kIux_B6bV8yuez z085Jb5zm6OAD!!Zp8YED>_&e~S~ZNKXbd>Hu}_5*nOJm5^)Xq9q>SQ-W)VFE-M@kS zXclpcLQsuftZ6OL;fT}7KXFwR3Zj8SBz{H!favW?07AVV3;YutNvac1aep|%bnS6| zTV&&Ig3QZa_6PX*;Z-l7=t2GZkCy$m5w1iASd@@W@Y>4NF;vmXqgy-1rwlW2rg(jm_a?X+~Bs|^KU#s5R(kzA+eG( zx@0I=py;kilgE#Ec%ICqefgkZ4})f@bCh$@cfkrDKlnBUJ{w?Vm*sA5g6&pZxAsNy zj6FCSGY+I=-4WCxebo+g!Y=3gtGx_jVur%*J8bNF)r;fU*`k>AW3VWkU6?ur76$t7 zAZvv#XfF)H+pIQe!=L~FaK=8CQ8@;bT^nV9E+k+>dwXzvi%uq~7qqjJXH-e+D!L&R z)q#f$Y7oE`L;U>@1br56uoV^}JFd(%(bd4-tUxu>ff0%>W41y9mh*@il~?#-o^pSp zZtU*AKM2G^6oc;rlHT;|benHoZ;9?HR*XwZO{%F23;38r=jQAitk>=xG z>#ntxHiGJn$N*<=&n|#-(H99z>7{tF8MzjMep>o4It?8J!M=(XRYt0;R8K*)Hs4?A zj>*jA1le|sbsa$ALK|6uU*=n!R~1HkF`)-dxWRm!jt7N~`S|}n*~ib8-akyKDd1o@ zaLkoHxU)yW^NOluqX|{jYR!Zc;ro>j;Ym{O8%1zcg1Fi0Ou!)IW{t9MVOPf0)%I zw6Jh+@W)zQUtO-LyJw+Ed)MU=ZhhhVq8r|MyQ$6Z_*3Z~=+REpE;jhW&!oP&nUs~M zVoH9``|c_}m>u(gM~mkXrk64c74C;u;x%H;<+(#)qpmj&Ya-)ycp|?pJ&_MpJP^$P zT>PUVZGSqEjA#bt^Q{)?G<)-_g;>*H67FiE^^K(yn{K6)OxQoqRf4=g`h*tx6U`#U zCc=ha>|qj%4q++Zl(=w0AEnETc|K*8DL+$dZ!whh*cr4YK&z$?M+;OFgMzToTb*)b z8!nAUYo8=-3+P>pmZp@VB*g&nlYhALhTO>dYNFHUa9DO96o~f#d23~~0X;Qen%LBGy{kD+2faG9`*M_qsOB8-B^cD7VRG6iQ>frp;g zRg9A}vSahP)Zhjy8(SO*o((cWfoDTJM6c!MZ`P7KCf0aQ_U!zb<945!)$6>OQaSfk%?YNn;t5;)97ChU@Q!q)kWCeq>GnX4x|$I@ z)6$=XeaX%e&$ji|vk4ZL)9=lk^iv5`<1?@e^gErtNkBkAA7dT$Sa)iH5^oqjxYtR$ zOONxp0=}CY7eQ27|x)*tIRZc`{?JlcfD1E;`*rN zSF+Nh+rp2f#TH9d#1ojA@b@)iCL7re&;>}2V*bCf69+-~+Z>e-DdH3nH zm@&;im&ml~^|2_9qTK3s&$*gOo5FYh6TLuRy(no)d2a8oCbXhwg{R626%5q^H{6MB|g(J+W6A! zdZ1+`5?qh%!Z6J<{*4=2VkPnmqY_eYc=gNl%x?>ze^28^w{1$-IS4-cXM|03HYKab zLw~z}PLWk1ojJD|O9FzzQ6O42A1=E*_Sw-h}Y{)E>-Y zzz14YEV6QhSr^T)6@cCvd)3^s^qzGETv)|qC=DV1ZFPlOAe*`-#P0dX03>`jS$b8%t zmU%VDxJ{NV@+2eQx}Yq)M)K~)=O*uyl=MDv-?OBuxoVqbaH99G7lQckN?vm)x3oCS zguRoEbpp_&c2rQ-uY@MAqjBw3^zM3i_-a&9l4-m5!~f)?&?nxfHgx+y%^Jd@D$ZX{ zQU35c;$T2T6(ly~r+_M11@VRNpf=#IdUOG}8Ru_A0!bM(s^X`)fAu4@>Qc|q5C&>3 zRnW?vZjEicO?F0Rrenf73cbt1FEHUm-;X@%T*HDGH=ahp0)|G`_JwUcx#pgNkeoAh ze{2RV!5aC&zv?^=L9>9Q<2?A3BAD$2Dp(Ad?TR*>Xpu}5-Mwv1U2(BtL>%d*9tlbW z-YH24_BRZ@T>>GG3q}~4P&%@&OIbejR~#~MYQqLT&N`7!Ys+rn?l8xo0fvp>ZeIVZ z)Ajx@Y*y*63Ct}buA7=ANWsUtT$j=Fn`HVx+!`j0zarX=guB+6Xm?9#Y!VCh)+yneL+Phcc<)G_BAVGQEsoKCU5cizzG_QaB0u9Gs^1k>-gp*u zTlS-5`SPKiua=@REHWZNP3|^Fo3@ z0gQ%;O&1xnVIZ~E_nUvgHa@o)((OdRUD53G>V`fgZ>7%M&RpYagvd@*C`ZG`;RzUG zV}tyo${9B0<~-FzB$lH^p+Vx)%+=2v=+pvzk+2Z~T3Fc6l)ACvlRNxtYF5tAt%Vk2 zKs#A^y;jN;Pfw%?R%?#SxBbYtG2zQax~#NIi1iNjL`>9wz zfncAhP`c@{0j+b97Cjk?l@MdD;4x*mitvzcX4U21?S4^Bc5;u50{%GPiqsCke(U11 z!}|JqbP}xK<<;;7Bu%8W3xX&Z{E$~iP2Fh3i2`1OrT15&x}g2<&aFEEbNl<8oT=nX zJIgx>TFfN@2{3gvJ$NC0;eF5OmZ?AC2WJ~JITjuTKVz&FgvfbAmox)| zO3Nu%e6`GgRuynA=qp>>&!+jnOUp>B2@_u0$-1ww|Ku*j%*M)_=r8n}bANzhH_7bb zlz?SwmZGl3@8!rXiIt?O&aUGx+obk*$ku|6HNdgEG?t*zY;rO)Q<_u2?c2Az00y)T zxG!7?qDpB0T@QImNLj=1k{d9X*;XvpRR^Dw1cCl~)aRFji}&|IhTw0cF|jYF4~r&4 zm!>B**XOjR->yhc^xYg6&Z{}V8d>>c4y>J|JZY$(XQDYU7|EDTTL3m%8LgXPR8FDy zKc89nOE~+VY)y@BUjf=v5%AuguCE{V1IBa(lL+})TxEULMqI1ot(|iJ8C$RZH`ht^ zznK^W2Q@(J!ex$wCI0zA30ajv+#6~-n_ZB6L=l09W@1JXN8w%}BRCJN5`l-5Dx9ja zIu|Xit@!X_5fkpEXfkDLPkN7x_0BN?*@j%g%8&(eY}jdz!rCTRT=DPl;D^qN1{m{uU4YA+416FqATLR=~z9%OM$+xx$NjQln zyFo?@F8DsS7-nwqYiTN5lu!lb z2XA~Oo!+efUNN2mN>!hYY9mdOr$G7HZx}JV07sR{T9HKQUt0Bj$D+N z%MhTO&=*!CmR8^q#9Y*fD|bW~m9aEGC=_!G3Nd~8@+DtNA|}EY6Fyz{jpI1V3W-(p zf3w4KMH9Yy8n_Jy1^nslJ6V9xfqw+b#ranjOmymwzNFYE38U=mXTBET$`t~cb|j|? z>nvC(+#O`6<~s##fIvJHB+SCxx!<-9C#%VW(;D!8Hd{K;Ce`a7be*I0uP2TJfvWcGk>RHTCz$TlG{dYi=ZyV>e7h;|c(7@*v zOt5W)N?|0bga6yV9vC07gO9g90B0yF{Px<@Yy2Puu|tZ)D`V7 zqDBIdTwH+Uxz#;5C@=*Fc8gfRittT)LDmnzGzb}!Q0>DTdFO#9b`><{4eD(#B0;~l|WAi7Int^xD4=aS-iY3 zT-Nh%>ojouVQq|1#*L44;Cun?1P((Mz_i96?#$_anl3`0NS7ku$N{97FSFjeO(P!y>0-!Vc||Gla8XLqQD^n`_3>(y88x9h zHVTv-0Qrs+5Xx>j#l*;=LRQvqeAa3U85Hw9>ewPf*~PT@<94rNfUN>th?Ob@O@?XG zJZa|}bu$>xsg12OW@oV^4yDwI-v1%Z#jA!jaOO3RvMQR~iI*MhMxh_ecI@Hlp#K#e z8n(JG_-cdte&SQmZoXxRT}^;@F6y3{EymHWn!N~>@85TDZ^5K+SZA`m@}(XI;DBd% zLyy@m1E?1CHQdv4JOsVILysqeBX^LycAq`)nU2>aX?2vkACboJW-f zx&h|Rt*+KwT4uIc3Pn3J*eJCDlg3;2Q{S(Q$D!*zv^!(**T{X2SCSj-VG$&5tn{6rbk%XC(Gco)9gR;RIG(i$l(K)tz zRG#om&qeo4^2u&h$M}hBWKCxZz}f4K{j6mV2WM%>$<{}?!H*H?{~AR;7c+skPx6Td zP6;m$zygY>g9UN}KM^1pOQZYU5c3fyCVdlk;~T;#JeTEgfu7|^2@aqe<;#A5N9(uY zx&<`b{@0hAfazue%9BIg_wV16Ef+jJJ=N8hny8dC4!h_gKVy5?-m?lnS^<>GZx3(7 z1AC=2qdRx+rYtJ!CZEU*T%}0(`wgwV`F-ct%;T5R6~+B}cBTI1*O)GMC0!R*eV9-; zCKY=kZg(5s@`x=<8==x|^e&XwuJ-faslhH zDD|Vp)3sEKo;YR)+i+NViVw^kx>DAS|E+N0O9<#EK@|m^=XMJ&O zVBdHhKAa<~p~e1Qy4NjhwIqSlz@apfMtpji0tdT@fZjnnEo_79$xW1pPHS%uM_+=g zL@7^Rc?XS9ZHF(bpTYB;d+sZOg=KyH$?6TwnmD!h9-4V;v$NWprK~vg#oyn4*Y(55 zHSstUcx7DCUKs~mz60Un7fenC7*NYejfh;+7AN52&~p$*XKo}`k+FjMX+OSm zkfJ=A`Pze-ITO>849X@Se9tgl)3|?!ae08<+HgrnM%@SSRl9Lgos~U#v-WNAG`+$E=hoM~aAqd{nn7L7e zQTfXE98kCMia6icWky<$e~^4f+20RNu!KsLeh=Ms95DYqmNr}R(!)13t5MX5N3}SA zqg44v;4n0&Ab&K5HFt#j?!H0N+7!8 zJxzD@Hh5uhnXpXx`{TosJ@+H7qvzOy#k3E{2Xo6Y=+RpzfR*Ot79u=|!xhzjj4A!k z0*f*m^_#Ofgs|JX9teEt8QxpU9RO1R7^%?TF2q%1ik=5Z+X5+tzdI&~R zjo*NJ8HyfD9j@G?O8u`y6!72OhrdSAH1iid$QJmbw?a&g*MBF#NVob34I|<)Y_Y`- z>!benCvmL=T4b-*@#AaTqxc`YTO!*}6JXgOI`uJ7z=L&CHZ^B*+afm60>|ma!62$; z7ELXkuCEBH_k7X^Tx^=(*{_irJ8hmF5MhpOnt|ux@Q)}*{Ys2i2`6;Tg8%@Vuj7rR z4V*_K&A#69Dk=#e z8W>HK8lw0ufw|Bb)W#^t$h_sXn@~b;jvxp)nE72EX$t|P3Ij8Ux!7Ka`93DrEn8rw8ITVoY;alk zO2rW|aPRBs=>fTtGKlaLBS$O`A4Y+#saNb|mJXN&4p0@bOsa0)H-$Z?Z();66Ov5M z1Po*5eo!!}#}O*_)bAbZi!$NU$AyBl{QR2Hs1|LG2F~x@Z-B(nLU*JnL~d5{K<+rw8l3AnaKOu#g+Riaxjkymv1?QyLtt_kwP+U4YngRDpXPPg$j# z-DTIKM;8L%XRsMIXfi4#ndE~5ulvi;+&ALe(e=>fbziQM%iI(b-4G#3k+Zac=`;Ld z#vx3pThQb7(Zv8h3rowCs^#Jq?J^_wU%!6s1Kzzi>b@jB7uQqJXIUo)Yoa}btY2jo z2nV^qF~=C3O+n7Uuw!9+@e&YMDb!spS4U-*^;dH8@-MxOgntRctbY)aplW|4=~R55 z{+f@KfT}FsBAsL-yG+A^czv1DU&Wx!pw81a1>>JpRkwy?{T-T)w1faFX3>g-?eF?u z>jNQat?xFPffP+$*N2Lic`fCEaz}oTf^6ZGG#jxzl zzJe!UxYB#QR-$Fm`dl13gx(bWji?9RKY4D9a55D&Bxh4xh95!*?{{xky^wpNnPWv7=;`rbtpKM{54?{a36xH z?iw+?S5Z;Hs3?iaDr^aiGci$W@ozpR-vhg68M-=UVL;dt9p!r`xwM?VCAt=tqAOHN zlOKMnt{zhYfDdIKtn%W9i3pU5zu4F&(CF-*+-n)qpSF=TV;7S4?qY*1Z3G!;3oz%*_F0{4rctfUXvg*y@TjA0JTplS za}DE3?_4u+5QmketAHgR?@tpNH8<84aGV!C@ctsq{u8^L9XW{g`w~+9lfLNCeZ{cG zT}wYPRcAlith}~=V&5{kvAPzz-B_F28{bkIrTk-1r0P%vSlE&u%gxak`*F!uMD?*Rql)P$BRi<{1IB8@>%H zNZfi^h6zdRTT3tH3=~^7DV)93BvmcnM;5$$#%uO(aS`HS^F7OJ?wPodGrN`+9M{Y* zT-*8;sw=9|9QF-eAfM>B->$8T6`5RMmacuUZh!T8ebrlPU+OIpHDif7Fg;6H$r&gZ zAPzqDGuUx*B`(W^$3C_%nkFB!oI63SY!}xte2{)JG|6+vn8 z1|JU#)%e_OK&E~pC$#Sjv-EMa6USc{z7!+7 ze%@=`Z8Ixuio+M&+uJVzy&=q#;^ORV-W|h$COlkbfbr!1ojZ31$X>n*v!p>$#7zt& zWyntfZ>Gjo4`ohoJvd`39V}L_#xfL0c8A7Z%+?KiUZSbcM)rm7?k3d)r$mi7GmcaS zK9~6k#+vY|v6K0)O@6puZsdX(Wb7Jx3bsDhDOo5l{k*PA-Im(Ih)+Vg*gH&HQY;v7 zJRN!Y5Tz7edGuyEiscKc9h^bY&*ap#8K{19cpa9M^pA#$;(8shFRXt7b_ukrndfnQ zL#0UdU4tX9Zm+j#HDm;EEDHE)%^}#UaDv~F>bNzE(KD16Til5k8W@2CGVg0-f|((Z z*bf}-`Ab`vYTn7N52Pz2mVh}d&Zx;N8QyMRH^)dV{3;5cj4^2sjnC6OmO{8a_s#$6 z*HM!G3$_~0)CB`V>r|tmlK!|09?Riq#jcw!QuG0_*kP1Qy|$riJe5ly*M2J|ao6XU z%Pai?3vu9J8~F_1W8L-Lg@y@i!0Z%GWuP|fo_F_zhGA|@Nl&d+da94VloFdCdQcAx zavKMSOs!d+>}VG)_!hBJ;4Hr;fdC8b<{VFNOVfPgJKWQHuqZsw>&+(+7EEO4^K#$K znc!P=pwdrgK>Ykgvbe8TdgSO{=?nf;X7+OX8Gf|K<=`0jFOucmX@Gr64JDfCy(7d^ zPsw8$hK@vj5}c6uF;tj`r8VS*^mzFCnFFUlEb6i?Dj~{}<3M4bsy7$Vs6o_3+`ty! zb6PjfvkW}fQ2=rGq7S|}Jw0_EmL^YDiUjz)=fX%yLBSa%Qt+7gvZRRV7>%L!H*z8y z;*G{TmcePn$=#$NIgeKYcDue&Zl6C+p1|_aAMynB;|)FS7quFoLKhsSoB8Mhtp}NJ z?md63cYRZP>P%KU_^a3-(D1q-oXm795Z;OTdocRCQus$Wp+meF3=`SkF!eEBEK zt-gg{25%*%wSZ)Em}r@o+pc}&5g`Q}F0<&kZ%!fPoExI9Rq&cfwT(#ZT$#z(BegCM zxJzp0ca;s>Zb3weun`haR#WvjAQ`4k2R#8KBA$rr<@{J*DER7gKrN~b#^JQ(F=>TB z;_7Hi?b1PEl~gGHcag;LAlz2!waxIgwP=a@|9qr*s8es3w=g)`({ksD|bMdsG6 z_eT>b;*KV0XtWYSBmlWjf1mNO!WIMLja>Z$2h#2f)I0_h?9~kN$V#jPyHi&G)TmQ3 zsDgv;Qt4mf$ESkbF|}S4zKjeeKw7)Fj{|{yX4`%ggZ0iTWztZr(czyr>>X=;H}UVX z4w)XY?mbgd3N!Bz3V4(0O4*m^$~uw=9C`E=V;{^(X$n0VuiGR8^RHY&I-WA=j})6 zARuUZGXvG^uktjaem+l^e2@a}XDRQ&q8y(RMR@^4Qz5@&=xP5_inKD_D-1Y* z1`c1R2_qyKXUU77@onpa_Uf<_dcq3O89q%tzhGGgwkb9uAUXYM(=D&^K(^9iT9LDy z0S-5foY;SPe5AED(4)XIb^!VR&FhHuI`9+& z1$ND^;=#|zfnW;xy|j07z@}rUAvxEK;!ANVX_?D3@Bn`QB=7cym2E4`` zsq^@jZ^V^(g9k8;Njxg$g5AGM1Nhc#5@8UoZv)Koex{EYzg|?;MU+m z2oku-)3IW<_gvsri)#9&9Z%ReZ>ARX1Q6W_Fv2Kuv9yXjp&dJeyVRSmzh{hxRo=G> z1Z-u0MRcuA1U$TD$#gkawMcyJY|R%7L9&{!n#mD}Lu9)(4h^;QAfDWU3XL3C;~2_E z$f(5-Z0NKXTtC+)i;eU8i}{@|zn}v7Raqrlg`*rnNg(OShgyeSVO_Au>#r8ZuZjFX z7@~m#ox^VG${bm(V6*zAM8mQm%M#Gx$;~BaDF~S?VGAtxrj+cDfG7lxFWlcXGINy{ zz4R%+?9~2$veFfgFV~=Ja%@hdxE^3Z9P-gAq#v;63a`(ABsFqyIm3IWaPkb}w*)5r zZK9so<(Php=Qhu~5}t}-wu5ki9t4R)GA&b!UnO%SuiYLSbJ;`U9v^}2nUw_Q;etFm z7n5HRc_Sp^x+n7EM-rb(Cp$9�CfxX!^Z9s7A|NC0y#A>l}d=VHvF-gQ~&O0_)WH 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