From f2169cf57cc976570228b881f460952facfc4f6c Mon Sep 17 00:00:00 2001 From: Leandro Henrique Date: Sun, 17 Feb 2013 19:50:55 -0300 Subject: [PATCH] Todos os manuais, relatórios, código-fonte e materiais relativos ao projeto PPB-Ginga --- Projeto PPB-Ginga/Manuais/Manual Plaver Framework.pdf | Bin 0 -> 594001 bytes Projeto PPB-Ginga/Manuais/Manual_AstroTV_MOPA_DommXStream_08-02-13.pdf | Bin 0 -> 1006171 bytes Projeto PPB-Ginga/Manuais/Relatorio_ Avaliação_ Middlewares_Comerciais_08-02-2013.pdf | Bin 0 -> 622476 bytes Projeto PPB-Ginga/Normas/ABNTNBR15604_2007Vc_2008.pdf | Bin 0 -> 864608 bytes Projeto PPB-Ginga/Normas/ABNTNBR15606-4_2010Ing_2010.pdf | 37024 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Normas/ABNTNBR15606-6_2010Ed1.pdf | Bin 0 -> 4608014 bytes Projeto PPB-Ginga/Plaver Framework/Jars_JMF2.1.1/bin/JMF.ico | Bin 0 -> 2238 bytes Projeto PPB-Ginga/Plaver Framework/Jars_JMF2.1.1/bin/jmfcustomizer | 88 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/Jars_JMF2.1.1/bin/jmfinit | 88 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/Jars_JMF2.1.1/bin/jmfregistry | 88 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/Jars_JMF2.1.1/bin/jmstudio | 88 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/Jars_JMF2.1.1/doc/attributions.html | 298 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/Jars_JMF2.1.1/doc/formats.html | 780 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/Jars_JMF2.1.1/doc/readme.html | 523 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/Jars_JMF2.1.1/lib/customizer.jar | Bin 0 -> 71638 bytes Projeto PPB-Ginga/Plaver Framework/Jars_JMF2.1.1/lib/jmf.jar | Bin 0 -> 1903983 bytes Projeto PPB-Ginga/Plaver Framework/Jars_JMF2.1.1/lib/jmf.properties | Bin 0 -> 22743 bytes Projeto PPB-Ginga/Plaver Framework/Jars_JMF2.1.1/lib/mediaplayer.jar | Bin 0 -> 39078 bytes Projeto PPB-Ginga/Plaver Framework/Jars_JMF2.1.1/lib/multiplayer.jar | Bin 0 -> 63515 bytes Projeto PPB-Ginga/Plaver Framework/TestSuitXlet.java | 326 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/apps.txt | 19 +++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/ClearRectTest.java | 72 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/ClipRectTest.java | 73 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/CopyAreaTest.java | 79 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/Draw3DRectTest.java | 72 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/DrawArcTest.java | 74 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/DrawBytesTest.java | 75 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/DrawCharTest.java | 73 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/DrawCharsTest.java | 78 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/DrawImageTest.java | 77 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/DrawLineTest.java | 73 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/DrawOvalTest.java | 73 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/DrawPolygonTest.java | 78 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/DrawPolylineTest.java | 78 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/DrawRectTest.java | 73 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/DrawRoundRectTest.java | 75 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/DrawStringTest.java | 73 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/Fill3DRectTest_1.java | 72 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/Fill3DRectTest_2.java | 73 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/FillArcTest_1.java | 72 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/FillArcTest_2.java | 72 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/FillLinearGradientTest.java | 71 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/FillOvalTest_1.java | 74 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/FillOvalTest_2.java | 73 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/FillPolygonTest_1.java | 76 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/FillPolygonTest_2.java | 77 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/FillRadialGradientTest.java | 72 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/FillRectTest_1.java | 73 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/FillRectTest_2.java | 73 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/FillRoundRectTest_1.java | 72 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/FillRoundRectTest_2.java | 73 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/FillTriangleTest_1.java | 73 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/FillTriangleTest_2.java | 73 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/tuner/TesteAddResourceTypeListener_Released.java | 106 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/tuner/TesteAddResourceTypeListener_Reserved.java | 105 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/tuner/TesteAddTunerListener_Tune.java | 131 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/tuner/TesteGetAvaliableTrasportStreams.java | 100 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/tuner/TesteGetCurrentTransporteStream.java | 100 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/tuner/TesteGetDeliverySystemType.java | 62 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/tuner/TesteGetInstances.java | 73 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/tuner/TesteIsAvaliable.java | 83 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/tuner/TesteRelease.java | 110 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/tuner/TesteReserve.java | 109 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/tuner/TesteReserveOne.java | 101 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/DownloadableFont/InstallFontTest.java | 81 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/DownloadableFont/InstallFontTimeOutTest.java | 90 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/DownloadableFont/fonts/Tiresias_803.ttf | Bin 0 -> 65632 bytes Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/DownloadableFont/fonts/tiresias.res | Bin 0 -> 43944 bytes Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/Screen/AddResourceTypeListenerTest.java | 113 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/Screen/AddScarceResourceListenerTest.java | 87 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/Screen/CallSeriallyAndWaitTest.java | 38 ++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/Screen/CallSeriallyTest.java | 41 +++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/Screen/GetAllPlanesTest.java | 41 +++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/Screen/GetAvailableScreensTest.java | 41 +++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/Screen/GetBestSetupTest.java | 41 +++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/Screen/GetCoherentPlaneSetupsTest.java | 41 +++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/Screen/GetCurrentScreenTest.java | 41 +++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/Screen/GetDefaultScreenTest.java | 41 +++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/event/KeyEvent/AddResourceTypeListenerTest.java | 121 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/event/KeyEvent/GetInstancesTest.java | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/event/KeyEvent/IsAvailableTest.java | 98 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/event/KeyEvent/ReleaseTest.java | 90 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/event/KeyEvent/RemoveResourceTypeListenerTest.java | 113 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/event/KeyEvent/ReserveOneTest.java | 94 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/event/KeyEvent/ReserveTest.java | 89 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/event/RemoteControlEvent/AddResourceTypeListenerTest.java | 114 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/event/RemoteControlEvent/GetInstancesTest.java | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/event/RemoteControlEvent/RemoveResourceTypeListenerTest.java | 107 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/event/RemoteControlEvent/ReserveOneTest.java | 92 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/event/UserInputEventManager/AddUserInputEventManagerTest.java | 152 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/event/UserInputEventManager/GetUserInputEventManagerTest.java | 98 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/event/UserInputEventManager/RemoveUserInputEventManagerTest.java | 154 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/debuger/Debuger.java | 64 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/dtvtest/DTVTest.java | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/dtvtest/DTVTestController.java | 278 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/dtvtest/DTVTestEvent.java | 24 ++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/dtvtest/DTVTestListener.java | 17 +++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/dtvtest/DTVTestLog.java | 156 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/imagens/fim.png | Bin 0 -> 35220 bytes Projeto PPB-Ginga/Plaver Framework/plaver/imagens/inicio.png | Bin 0 -> 77571 bytes Projeto PPB-Ginga/Plaver Framework/plaver/imagens/logo.png | Bin 0 -> 21381 bytes Projeto PPB-Ginga/Plaver Framework/plaver/imagens/meio.png | Bin 0 -> 7345 bytes Projeto PPB-Ginga/Plaver Framework/plaver/javax/media/Manager/CreateDataSource_1Test.java | 92 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/javax/media/Manager/CreateDataSource_2Test.java | 98 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/javax/media/Manager/CreatePlayer_1Test.java | 96 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/javax/media/Manager/CreatePlayer_2Test.java | 102 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/javax/media/Manager/CreatePlayer_3Test.java | 105 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/javax/media/Manager/GetDataSourceListTest.java | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/javax/media/Manager/GetHandlerCLassListTest.java | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/javax/media/Manager/GetSystemTimeBaseTest.java | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/javax/media/Manager/medias_jmf/v1.MPG | Bin 0 -> 24576 bytes Projeto PPB-Ginga/Plaver Framework/plaver/javax/media/Manager/medias_jmf/v2.MPG | Bin 0 -> 14336 bytes Projeto PPB-Ginga/Plaver Framework/plaver/javax/media/Manager/medias_jmf/v3.MPG | Bin 0 -> 16384 bytes Projeto PPB-Ginga/Plaver Framework/plaver/javax/media/MediaLocator/GetProtocolTest.java | 65 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/javax/media/MediaLocator/GetRaimanderTest.java | 62 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/javax/media/MediaLocator/GetURLTest.java | 71 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/javax/media/MediaLocator/ToExternalFormTest.java | 61 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/javax/media/MediaLocator/ToStringTest.java | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/media/Awtvideosize/EqualsTest.java | 82 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/media/Awtvideosize/GetDestinationTest.java | 74 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/media/Awtvideosize/GetSourceTest.java | 75 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/media/Awtvideosize/GetXScaleTest.java | 75 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/media/Awtvideosize/GetYScaleTest.java | 74 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/media/Awtvideosize/HashCodeTest.java | 78 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/media/Awtvideosize/ToStringTest.java | 73 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/util/TVTimer/DescheduleTest.java | 76 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/util/TVTimer/GetGranularityTest.java | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/util/TVTimer/GetMinRepeatIntervalTest.java | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/util/TVTimer/GetTimerTest.java | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/util/TVTimer/ScheduleTimerSpecTest.java | 74 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/util/TVTimerSpec/AddTVTimerWentOffListenerTest.java | 78 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/util/TVTimerSpec/GetTimeTest.java | 74 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/util/TVTimerSpec/IsAbsoluteTest.java | 62 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/util/TVTimerSpec/IsRegularTest.java | 71 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/util/TVTimerSpec/IsRepeatTest.java | 72 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/util/TVTimerSpec/NotifyListenersTest.java | 78 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/util/TVTimerSpec/RemoveTVTimerWentOffListenerTest.java | 81 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/util/TVTimerSpec/SetAbsoluteTest.java | 70 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/util/TVTimerSpec/SetAbsoluteTimeTest.java | 74 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/util/TVTimerSpec/SetDelayTimeTest.java | 75 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/util/TVTimerSpec/SetRegularTest.java | 74 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/util/TVTimerSpec/SetRepeatTest.java | 73 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/util/TVTimerSpec/SetTimeTest.java | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/util/TVTimerWentOffEvent/GetTimerSpecTest.java | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/qrcode/BinaryVector.java | 808 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/qrcode/BitToString.java | 81 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/qrcode/MatrizImgQR.java | 351 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/qrcode/PolynomialVector.java | 44 ++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/qrcode/QRCode.java | 216 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/qrcode/ReedSolomon.java | 709 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/qrcode_new/BitToString.java | 81 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/qrcode_new/BitVector.java | 151 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/qrcode_new/Encoder.java | 611 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/qrcode_new/ErrorCorrectionLevel.java | 39 +++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/qrcode_new/Main.java | 239 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/qrcode_new/MatrizImgQR.java | 377 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/qrcode_new/Mode.java | 81 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/qrcode_new/PenalizeMask.java | 215 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/qrcode_new/PolynomialVector.java | 107 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/qrcode_new/QRCode.java | 105 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/qrcode_new/QRException.java | 8 ++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/qrcode_new/ReedSolomon.java | 784 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Projeto PPB-Ginga/Plaver Framework/plaver/qrcode_new/Version.java | 379 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 163 files changed, 53685 insertions(+), 0 deletions(-) create mode 100644 Projeto PPB-Ginga/Manuais/Manual Plaver Framework.pdf create mode 100644 Projeto PPB-Ginga/Manuais/Manual_AstroTV_MOPA_DommXStream_08-02-13.pdf create mode 100644 Projeto PPB-Ginga/Manuais/Relatorio_ Avaliação_ Middlewares_Comerciais_08-02-2013.pdf create mode 100644 Projeto PPB-Ginga/Normas/ABNTNBR15604_2007Vc_2008.pdf create mode 100644 Projeto PPB-Ginga/Normas/ABNTNBR15606-4_2010Ing_2010.pdf create mode 100644 Projeto PPB-Ginga/Normas/ABNTNBR15606-6_2010Ed1.pdf create mode 100644 Projeto PPB-Ginga/Plaver Framework/Jars_JMF2.1.1/bin/JMF.ico create mode 100644 Projeto PPB-Ginga/Plaver Framework/Jars_JMF2.1.1/bin/jmfcustomizer create mode 100644 Projeto PPB-Ginga/Plaver Framework/Jars_JMF2.1.1/bin/jmfinit create mode 100644 Projeto PPB-Ginga/Plaver Framework/Jars_JMF2.1.1/bin/jmfregistry create mode 100644 Projeto PPB-Ginga/Plaver Framework/Jars_JMF2.1.1/bin/jmstudio create mode 100644 Projeto PPB-Ginga/Plaver Framework/Jars_JMF2.1.1/doc/attributions.html create mode 100644 Projeto PPB-Ginga/Plaver Framework/Jars_JMF2.1.1/doc/formats.html create mode 100644 Projeto PPB-Ginga/Plaver Framework/Jars_JMF2.1.1/doc/readme.html create mode 100644 Projeto PPB-Ginga/Plaver Framework/Jars_JMF2.1.1/lib/customizer.jar create mode 100644 Projeto PPB-Ginga/Plaver Framework/Jars_JMF2.1.1/lib/jmf.jar create mode 100644 Projeto PPB-Ginga/Plaver Framework/Jars_JMF2.1.1/lib/jmf.properties create mode 100644 Projeto PPB-Ginga/Plaver Framework/Jars_JMF2.1.1/lib/mediaplayer.jar create mode 100644 Projeto PPB-Ginga/Plaver Framework/Jars_JMF2.1.1/lib/multiplayer.jar create mode 100644 Projeto PPB-Ginga/Plaver Framework/TestSuitXlet.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/apps.txt create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/ClearRectTest.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/ClipRectTest.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/CopyAreaTest.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/Draw3DRectTest.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/DrawArcTest.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/DrawBytesTest.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/DrawCharTest.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/DrawCharsTest.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/DrawImageTest.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/DrawLineTest.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/DrawOvalTest.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/DrawPolygonTest.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/DrawPolylineTest.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/DrawRectTest.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/DrawRoundRectTest.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/DrawStringTest.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/Fill3DRectTest_1.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/Fill3DRectTest_2.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/FillArcTest_1.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/FillArcTest_2.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/FillLinearGradientTest.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/FillOvalTest_1.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/FillOvalTest_2.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/FillPolygonTest_1.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/FillPolygonTest_2.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/FillRadialGradientTest.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/FillRectTest_1.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/FillRectTest_2.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/FillRoundRectTest_1.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/FillRoundRectTest_2.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/FillTriangleTest_1.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/FillTriangleTest_2.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/tuner/TesteAddResourceTypeListener_Released.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/tuner/TesteAddResourceTypeListener_Reserved.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/tuner/TesteAddTunerListener_Tune.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/tuner/TesteGetAvaliableTrasportStreams.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/tuner/TesteGetCurrentTransporteStream.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/tuner/TesteGetDeliverySystemType.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/tuner/TesteGetInstances.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/tuner/TesteIsAvaliable.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/tuner/TesteRelease.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/tuner/TesteReserve.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/tuner/TesteReserveOne.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/DownloadableFont/InstallFontTest.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/DownloadableFont/InstallFontTimeOutTest.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/DownloadableFont/fonts/Tiresias_803.ttf create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/DownloadableFont/fonts/tiresias.res create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/Screen/AddResourceTypeListenerTest.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/Screen/AddScarceResourceListenerTest.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/Screen/CallSeriallyAndWaitTest.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/Screen/CallSeriallyTest.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/Screen/GetAllPlanesTest.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/Screen/GetAvailableScreensTest.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/Screen/GetBestSetupTest.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/Screen/GetCoherentPlaneSetupsTest.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/Screen/GetCurrentScreenTest.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/Screen/GetDefaultScreenTest.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/event/KeyEvent/AddResourceTypeListenerTest.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/event/KeyEvent/GetInstancesTest.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/event/KeyEvent/IsAvailableTest.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/event/KeyEvent/ReleaseTest.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/event/KeyEvent/RemoveResourceTypeListenerTest.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/event/KeyEvent/ReserveOneTest.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/event/KeyEvent/ReserveTest.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/event/RemoteControlEvent/AddResourceTypeListenerTest.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/event/RemoteControlEvent/GetInstancesTest.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/event/RemoteControlEvent/RemoveResourceTypeListenerTest.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/event/RemoteControlEvent/ReserveOneTest.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/event/UserInputEventManager/AddUserInputEventManagerTest.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/event/UserInputEventManager/GetUserInputEventManagerTest.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/event/UserInputEventManager/RemoveUserInputEventManagerTest.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/debuger/Debuger.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/dtvtest/DTVTest.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/dtvtest/DTVTestController.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/dtvtest/DTVTestEvent.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/dtvtest/DTVTestListener.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/dtvtest/DTVTestLog.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/imagens/fim.png create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/imagens/inicio.png create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/imagens/logo.png create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/imagens/meio.png create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/javax/media/Manager/CreateDataSource_1Test.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/javax/media/Manager/CreateDataSource_2Test.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/javax/media/Manager/CreatePlayer_1Test.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/javax/media/Manager/CreatePlayer_2Test.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/javax/media/Manager/CreatePlayer_3Test.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/javax/media/Manager/GetDataSourceListTest.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/javax/media/Manager/GetHandlerCLassListTest.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/javax/media/Manager/GetSystemTimeBaseTest.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/javax/media/Manager/medias_jmf/v1.MPG create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/javax/media/Manager/medias_jmf/v2.MPG create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/javax/media/Manager/medias_jmf/v3.MPG create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/javax/media/MediaLocator/GetProtocolTest.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/javax/media/MediaLocator/GetRaimanderTest.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/javax/media/MediaLocator/GetURLTest.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/javax/media/MediaLocator/ToExternalFormTest.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/javax/media/MediaLocator/ToStringTest.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/media/Awtvideosize/EqualsTest.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/media/Awtvideosize/GetDestinationTest.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/media/Awtvideosize/GetSourceTest.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/media/Awtvideosize/GetXScaleTest.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/media/Awtvideosize/GetYScaleTest.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/media/Awtvideosize/HashCodeTest.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/media/Awtvideosize/ToStringTest.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/util/TVTimer/DescheduleTest.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/util/TVTimer/GetGranularityTest.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/util/TVTimer/GetMinRepeatIntervalTest.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/util/TVTimer/GetTimerTest.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/util/TVTimer/ScheduleTimerSpecTest.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/util/TVTimerSpec/AddTVTimerWentOffListenerTest.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/util/TVTimerSpec/GetTimeTest.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/util/TVTimerSpec/IsAbsoluteTest.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/util/TVTimerSpec/IsRegularTest.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/util/TVTimerSpec/IsRepeatTest.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/util/TVTimerSpec/NotifyListenersTest.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/util/TVTimerSpec/RemoveTVTimerWentOffListenerTest.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/util/TVTimerSpec/SetAbsoluteTest.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/util/TVTimerSpec/SetAbsoluteTimeTest.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/util/TVTimerSpec/SetDelayTimeTest.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/util/TVTimerSpec/SetRegularTest.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/util/TVTimerSpec/SetRepeatTest.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/util/TVTimerSpec/SetTimeTest.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/util/TVTimerWentOffEvent/GetTimerSpecTest.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/qrcode/BinaryVector.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/qrcode/BitToString.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/qrcode/MatrizImgQR.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/qrcode/PolynomialVector.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/qrcode/QRCode.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/qrcode/ReedSolomon.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/qrcode_new/BitToString.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/qrcode_new/BitVector.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/qrcode_new/Encoder.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/qrcode_new/ErrorCorrectionLevel.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/qrcode_new/Main.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/qrcode_new/MatrizImgQR.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/qrcode_new/Mode.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/qrcode_new/PenalizeMask.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/qrcode_new/PolynomialVector.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/qrcode_new/QRCode.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/qrcode_new/QRException.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/qrcode_new/ReedSolomon.java create mode 100644 Projeto PPB-Ginga/Plaver Framework/plaver/qrcode_new/Version.java diff --git a/Projeto PPB-Ginga/Manuais/Manual Plaver Framework.pdf b/Projeto PPB-Ginga/Manuais/Manual Plaver Framework.pdf new file mode 100644 index 0000000..6aace6b Binary files /dev/null and b/Projeto PPB-Ginga/Manuais/Manual Plaver Framework.pdf differ diff --git a/Projeto PPB-Ginga/Manuais/Manual_AstroTV_MOPA_DommXStream_08-02-13.pdf b/Projeto PPB-Ginga/Manuais/Manual_AstroTV_MOPA_DommXStream_08-02-13.pdf new file mode 100644 index 0000000..2570fdc Binary files /dev/null and b/Projeto PPB-Ginga/Manuais/Manual_AstroTV_MOPA_DommXStream_08-02-13.pdf differ diff --git a/Projeto PPB-Ginga/Manuais/Relatorio_ Avaliação_ Middlewares_Comerciais_08-02-2013.pdf b/Projeto PPB-Ginga/Manuais/Relatorio_ Avaliação_ Middlewares_Comerciais_08-02-2013.pdf new file mode 100644 index 0000000..c58a3de Binary files /dev/null and b/Projeto PPB-Ginga/Manuais/Relatorio_ Avaliação_ Middlewares_Comerciais_08-02-2013.pdf differ diff --git a/Projeto PPB-Ginga/Normas/ABNTNBR15604_2007Vc_2008.pdf b/Projeto PPB-Ginga/Normas/ABNTNBR15604_2007Vc_2008.pdf new file mode 100644 index 0000000..0c9dc8b Binary files /dev/null and b/Projeto PPB-Ginga/Normas/ABNTNBR15604_2007Vc_2008.pdf differ diff --git a/Projeto PPB-Ginga/Normas/ABNTNBR15606-4_2010Ing_2010.pdf b/Projeto PPB-Ginga/Normas/ABNTNBR15606-4_2010Ing_2010.pdf new file mode 100644 index 0000000..1898494 --- /dev/null +++ b/Projeto PPB-Ginga/Normas/ABNTNBR15606-4_2010Ing_2010.pdf @@ -0,0 +1,37024 @@ +%PDF-1.5 % +481 0 obj <>]/PageLabels 454 0 R/Pages 466 0 R/Type/Catalog>> endobj 1176 0 obj <>/Font<>>>/Fields[]>> endobj 332 0 obj <>stream + + + + + application/pdf + + + ABNTNBR15606-4_2010Ing_2010.indd + + + + + trodrigues + + + + + 2010-06-16T13:49:32-03:00 + Adobe InDesign CS4 (6.0) + 2010-06-16T13:51:53-03:00 + 2010-06-16T13:51:53-03:00 + + + Acrobat Distiller 9.0.0 (Windows) + + + uuid:32936fa1-89c7-4bed-ab5c-bf3dc4515cd4 + uuid:122bf6bb-24a0-453a-a8f8-64ae443f708f + + + 1 + B + + + + + + http://ns.adobe.com/pdf/1.3/ + pdf + Adobe PDF Schema + + + + internal + A name object indicating whether the document has been modified to include trapping information + Trapped + Text + + + + + + http://ns.adobe.com/xap/1.0/mm/ + xmpMM + XMP Media Management Schema + + + + internal + UUID based identifier for specific incarnation of a document + InstanceID + URI + + + + + + http://www.aiim.org/pdfa/ns/id/ + pdfaid + PDF/A ID Schema + + + + internal + Part of PDF/A standard + part + Integer + + + internal + Amendment of PDF/A standard + amd + Text + + + internal + Conformance level of PDF/A standard + conformance + Text + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +endstream endobj 637 0 obj <> endobj 454 0 obj <> endobj 466 0 obj <> endobj 773 0 obj <> endobj 467 0 obj <> endobj 871 0 obj <> endobj 977 0 obj <> endobj 1068 0 obj <> endobj 478 0 obj <> endobj 1148 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text]>>/Rotate 0/TrimBox[0.0 0.0549927 595.22 841.945]/Type/Page>> endobj 1151 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text]>>/Rotate 0/TrimBox[0.0 0.0549927 595.22 841.945]/Type/Page>> endobj 1154 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text]>>/Rotate 0/TrimBox[0.0 0.0549927 595.22 841.945]/Type/Page>> endobj 1157 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text]>>/Rotate 0/TrimBox[0.0 0.0549927 595.22 841.945]/Type/Page>> endobj 1160 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text]>>/Rotate 0/TrimBox[0.0 0.0549927 595.22 841.945]/Type/Page>> endobj 1163 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text]>>/Rotate 0/TrimBox[0.0 0.0549927 595.22 841.945]/Type/Page>> endobj 1324 0 obj <>stream +BT +/CS0 cs 1 scn +/GS0 gs +/T1_0 1 Tf +8 0 0 8 56.6651 38.2639 Tm +[(\251 ABNT 2010 - All r)-15(ights reser)-30(v)25(ed)]TJ +11 0 0 11 537.6613 35.9389 Tm +(95)Tj +/T1_1 1 Tf +-10.613 68.636 Td +(ABNT NBR 15606-4:2010)Tj +14 0 0 14 260.7052 734.7589 Tm +[(Bib)10(liograph)20(y)]TJ +/T1_0 1 Tf +0.222 Tw 11 0 0 11 56.6651 683.5589 Tm +([1] )Tj +/T1_2 1 Tf +-0.019 Tw 2.19 0 Td +[(SOUZA FILHO)40(, Guido Lemos de;)50( LEITE, Luiz Eduardo Cunha;)50( BA)120(TIST)120(A, Car)-15(los Eduardo Coelho )]TJ +-0.05 Tw 0 -1.2 TD +[(F)45(reire)15(.)60( Ginga-J:)50( )50(The Procedur)10(al Middle)20(w)15(are f)30(or the Br)10(azilian Digital )50(TV System.)60( In:)50( ______ Jour)-25(nal )]TJ +0.105 Tw T* +[(of )1(the )1(Br)10(azilian )1(Computer )1(Society)100(.)60( )1(No)40(.)60( )1(4, )51(V)80(ol.)60( )1(13.)60( )1(p)35(.47-56.)60( )1(ISSN:)50( )1(0104-6500.)60( )1(P)50(or)-40(to )1(Aleg)10(re)15(, RS)20(, )]TJ +0 Tw T* +(2007.)Tj +/T1_0 1 Tf +0.222 Tw -2.19 -2.473 Td +([2] )Tj +/T1_2 1 Tf +0.141 Tw 2.19 0 Td +[(SO)20(ARES)20(, Luiz F)30(er)-25(nando Gomes;)50( R)20(ODRIGUES)20(, Rog\351r)-15(io F)30(erreir)10(a;)50( MORENO)40(, M\341rcio F)30(erreir)10(a.)60( )]TJ +-0.022 Tw T* +[(Ginga-NCL:)50( the Declar)10(ativ)25(e En)20(vironment of the Br)10(azilian Digital )50(TV System.)60( In:)50( ______ Jour)-25(nal of )]TJ +-0.01 Tw T* +[(the Br)10(azilian Computer Society)100(.)60( No)40(.)60( 4, )50(V)80(ol.)60( 13.)60( p)35(.37-46.)60( ISSN:)50( 0104-6500.)60( P)50(or)-40(to Aleg)10(re)15(, RS)20(, 2007.)]TJ +/T1_0 1 Tf +0.222 Tw -2.19 -2.473 Td +([3] )Tj +/T1_2 1 Tf +0 Tw 2.19 0 Td +[(Sun Microsystems)14(, J)20(a)20(v)25(a Digital )50(T)120(ele)30(vision \(DTV\) API:2008, < )]TJ +0.127 Tc -0.127 Tw 27.264 0 Td +[(http://ja)20(v)25(a.sun.com/ja)20(v)25(ame/)]TJ +0 Tc 0 Tw -27.264 -1.2 Td +[(technology/ja)20(v)25(atv/inde)30(x.jsp>)]TJ +/T1_0 1 Tf +0.222 Tw -2.19 -2.473 Td +([4] )Tj +/T1_2 1 Tf +0 Tw 2.19 0 Td +[(Sun Microsystems)14(, J)20(a)20(v)25(a )50(TV API:2007, )]TJ +/T1_0 1 Tf +0.222 Tw -2.19 -2.473 Td +([5] )Tj +/T1_2 1 Tf +-0.014 Tw 2.19 0 Td +[(Sun Microsystems)15(, J)20(a)20(v)25(a Media F)45(r)10(ame)20(w)10(or)-15(k API \(JMF\), )]TJ +ET + +endstream endobj 498 0 obj <> endobj 501 0 obj <> endobj 441 0 obj <> endobj 801 0 obj <> endobj 442 0 obj <> endobj 324 0 obj <>stream +hެX Xײvqi +EEYT""%2qYHИ+"EAFྡbB!8N2d"JLjygl{}zS]U(T] <8>>1*`b2CzSMwAt yJG1_FR5kT0WuyBWMoFхav,Zg}B:#]09,u3nA>' ;'}yO܊̌ԜC||-[3թ'gjzvz>X>>9Y җf-XxEFNAf`*g fd, +sً,NZ=z`蟢+.(vU V)BXE8PDy* bBQP\W(h*T)**)ZfҫK\ +%< +UUE?un/tڷke]v_^~ѽ۴n'95$.sB7sl!sw,JRbK2'[p䃉,M4Ѐ@ %E8ov(dG"{ޘ25*hT‡_bp%/`0~\|Cr!yrp.Y8dZ/wF>{a煛Zڏ~!=W*.eCH-N*~Mgm>9pz)m\ }Ԑ5r: ƞ9ٸp FANc[%iXanFvF֐R#*.HƒqS ..9UqGt~`<* w|ZKq@2&g3t}*Exک >yٳ#i| Wq+@ ;{b˝N=:9p= ֕C-ra3XTnGVg<򳆹pp8GUQWϗWl%YR$C #=/yG!-wۅGП* 䎍 =8g,cM3ƛP+ DHbƯ"f1So&mfd>lcU8Y0_y2`# <^㧀7}7fLVkblħC G9X `8!}q'9[q2aƅ=iJ̰ flSYtZdQXOqM4`ExdGTz|77ET5g;HU%OEr1/O%&?_^A@4>Z^ 7 jugatdzB~5SS7'B!;HM\j#ݨIQsBfrҠ`1Vjy]/roc*mSVb ?Ua.`D9YӃ'7Kh 1=e-$ՙ<`(etЅ4{]/T|CTEe֫RR@:('QsIA® +N4B%ISMTi- heV#d=(IS^`N jGK04 0ۘ P}a&(5х{t|}銠AK8 UKv[ $pM ~=A 3ExI(m3ː'Cu7xuWwHKxǩuٶP; F\|k H;͢( &FEaTW3kdj{A$|;0xR7q۔iҊhW@\CvB+aSߞ_UAe}۽E,9a03MYa豇EfǗOn')ly vX v;n՛J䄙M>U;4u$p$brNxG,N>9)Ǫf:ʤ¦ ĿI޶QGTwLGOX,0O|=mi_ʷl.u]vpܖbl*NSaq+]z ]oVluS<#LZBjJZ/@xQ,'l>ͭ*B8'*! +ȧ HV +D~ʼnڧ52v%tֵ3:ǍwQ ayjzKEΜ|$5vW;?a ͩEF!{ϐIQ@0K&^utf^{D BI)wnAFh;[ Ϟyh8<<0PՎ=Փ{uW>%W%M12fd)?^֊ JF~Wzquӑl!$MЋIFQ+mn=TP.rB@Fʹ2 4^BZVB>xC?.`2EDGΛ$K*wB-pV7#w^̪<;k͡J qTY8UG@{\hfph9QD.z #yTq trJ +hy̵;Us`*sq%Kx0+Y`99NlqL. +4ԻLgoO_ˁs $n򍵍ͷv͎j0wRgϓ^`|jCy_Yh#lDN5xa2$-U- C|ɪkA_J"#0"}Q'YҖGiY ލj bj_P $4ґ(Z`{)p%{6{:^w Ojic~Ilm MV^/]n]\}"w.haj: +$.]M+3>@)UY㕫K#OӁ <(2]̷OhZmӖltlm jbvk$_LsݷTv@/XTrLoimI'%M{>yNIMËOkfE:5f O>(oz^|Mg Gw;qv[T]ԯ][-H]OPo@Je +endstream endobj 776 0 obj <> endobj 500 0 obj <> endobj 488 0 obj <>stream +hlW XWNHP"2 Kp& +n*E֍%"*`պ u+j+բֵbź|VЪS).ui ;>3Npf=,s*JV{D5,XY I6ewa/slk]rPK*#s2:w6O Q~t7 HH3d5fΎOHOˈkNj2 54Zim4gdۿ1%gbMs3b̩)issͦMein漸،dsfRӥrR\vN*STRTi*UJ5Ҫt0ULUz!&Pc<Ҏ.p]\ v9$]n2'S;8b_;9w"E~Z&U}>OUVtb뉭u6W 8"eE|4-&# +z}XWt]q'DJ3K2 oQh쇞sޢ 0't ebt!tPׁfB}liP\9q|jhe P?T)WPմܢ 5P4O@'W9pblŠUWL'ੀ !P š EQ_/Q5o`HȼK%˲'Њ^&E9O<05MB!{(L삱BtuF&B|qN3踿Aim'O{.wnxn20R:0/ŇM 03x¡')a$- $F_&[=qGw\E }GΨɽǐ0epE߶&ݤG.ҀMX*Nəl{fA)%6K,89@a}!+]+H_Id)ӍՔ~TDIBpDz:'ɫt'%պ&'^jeH*Cw[-WC07ɏxsБA~- 4i`@9 O\GqpMWPLڬ9 (}X<><+0ر7M)tȎQC-&q +_"a 79y-mi)!UpZ + c,YxdkG hV;X=c}, )#+Ew\h0M8F?<_OƘ#}%}L6qCZ`?Q_ +Bxo? lRBp6Lj/5SJ6PvG~&39]WiiuO7P`7`T@)iARA{1XȚ7u'e8Y_vJYr67 /*sXW`؂lO EG\7&qĞ#x$; OꉹfcMAP@ F^NDUV| xgrK9eΦ%pV>Y2 +*hhg^xba \ /}KϿ^>25}ѼesC{jt9ûD>{ejХ:ocw㇥7Xp|h]uƏh<{E.s輱Ԝ^k%ۉ/Ϯ;Jh#ϺEcE ]FĢ4_z[$tz6 + r(#@xk75سVJL ~%"A8i ?Ja9W+<3؏i/Hva9E8D´֢IcGW<4Akv#7pϋ䱍p-a̘Pa* ęm54MlRza=쏺R${S̴/͛Pz6lB 08jy3JĿ{[Կvk} #䈧>gOCo|%8'`Yˎ0z7uG.3'u^L:|Y?"j׿h,ߙ̥u +@*X7]BcAt wa>-B LRmLBó`qގb.'k[n'B|E+ d'oNf'LC1 Wk +p-fkw#LwBΊ!ʓ;bٜq'w<ȥ^3qhzI9R|}vo + JDh+Zh f+E!HcTeVz1xRǾ߅[,%E Gڮj:10l +ARPcۡ4`3,BMzems!mYЙ2χݒߢ-[ʃr΂&ylMa@71Ǎ8qЗ='˕seN ;׾ؾ>1.XTTDG]nŖm+J\ Kz]HVEgʽ"μ::taU3#Rʁ΍ԙ\%hvYtPCFFҨ.Oh`;VN[ۗr۾eҦR~% WlN,8;EQK| M<3 +endstream endobj 497 0 obj <> endobj 487 0 obj <>stream +hތX\WaT\eAkfATPDQDJ, XD,!"hbA5XQb%K61$(6s7gwL{;sg{s Q0 24hH #EY'eeH[[}qoe!p(lYV0Lvؔys&8}ܷ۫c=x8̎ t4bQDL\lL\XBNN :5rwK4/))!.lvdtX(ybRb#9-4_?oyW(S(NU P(jsE"IHQ()+ +&bBqD(QT*saJpS0]FenhjksG򙭗~rv k·}λs{v45vm,Yz+6wjiۢȾM[*Zhr{3-Q5W}zʷՎVhݣ֏l|V9T۩E(  +gm:&]Q.񥣏(,ˎm#m]Reֶnk*IuDuN()'B[qB>t-ߩ 6t"J7l'.:.C;[Q,M'nU0%I_Zg)*)Z)СD^}ޔg8#'i#z~VyXe,;R/yfkRFO\,R, m*V.m]IWSȢ͘ޣϿ$ g𣁋B]5G07g-;>,pj!䭲jnކ1WK=nVj^tU'ptoJܼXD0Pc[Aϱ - kb +q:@ !p?bB 2 +p[yD7ܽx^imißx7"Y6|S +N'B[uJ +gEѸP 4$rUc 7m4i:xoRR1!] gᡈ=!h\ ҙD$3(UBy8 ׳w8U40pVI/"Nwvqxի(:lX3pl\.r qO$i堡VMqP.i+[m7-i*25Zڑbq>Ҿ98}¢XG_.vdIEm:ͯ%vᆳ.ںP% /SdAA}&Fl^+wlܡ^xmT^!.W0N)W_Ne_=L= +Cd7my w_ ;L^.ݸ1UڃL?1)INd ZƲ^pM$0]p52ěky)EZZs.}zoA~O>ZEŞ<bO@36Y э2@9UWj$*j1j2al#+i_=x@. /)S#Hla Q%<%b:`y6aDN36nK#S@>SPI[x`W]; :JgU}zXdPRk +ud%#>=oqbIx=cf^o+>?[CBY;#4eaf@Bb[z%ؠBܹ͡QL6xbiș,\2M+ ; ;v@C\OFF(0!}sA[{G rz[@aa36:uMׂ[N6ttiN"$jDz?T`:P*u $KIhD8m.§v>z(`);:aɷ~~@y}KH7_F 0dl="ٯ"p5eTf,VWuuV"rřccz8j%->|RGy>6m,CAn%͋ըWgDG ?%4E*_TJsAen(-_q1fB;#šcç~{P}Ph-fS +9XY "su"]>Z2FX$hkFK-yA +2jTt%d}^Gy%$WJkՐgTՓ|DH, +,~6Gw7 -F#r-^G;d쟅< h}]ZI&mՌT$.'1u"--rW*H 4ՙûRO4'15TsصQZ\m@|2~u`s$r7#F2߈,+#=eE`)757@ +Xp +_fKM¬q]EfՒJs9%gY޲,k^S`%+H=tDŏ$Bc4%jA)$,Va,,0d=Š(b؊^Њ-?xpE7<{ҢW#haD nȷ=B%]böʻMͪsQYjtYmuifrc#rKIp8#q-"֗iʞtߜ{mPBL8]a}j?B{=:V#} R$%eKd/iRJkDG|(w|㍫[Kor׷*U7'kFVZp :XEzmuaqeV%ey癚wG$,ʎAM;W֦ܺWk'Km\ HO/Q.o`zfzXinOQ ]hVUK43D-'Sq:lvYemOFAO)Gi螸K_~]7Z!]*-<^)99-ͨwڃAw8O(wXua-xO ֺL L +{tw%<>k\v~EWv4kbhI}7֤EBu60FvPQYʟsj{Ά %q˵^=z` 5P^:hG}*hZvޜP'_wqR:|nS8q@ 1QӅyI׫ڂ;=-y&N qgJQ)|D)şKߑ![ Ld|.b& ;Op`".,}ʠ/rVi*Tdk*g(-oӞݱQKsCgJO<ˋ+2X.·Ν3et(5zwmctj +o^Y&0Z)Ldp.4x`I'=C}Fyvգ3u~zpiMZK5ht2d1:ZS%N U>ܲ'tV%D4L.jۻED'ZիW'XGV?ᖉ;M\_" տXR 1ժ+MBˮ?pkm\1=|\Z7z'Þ@@MHsrpLn\K^$00ͧcケ3>\pNFhO4G"sf_Ͻm4[2{*i86Ot t_{<զҽ|܌327$]d̑y]Q9va{~||BU:2 BΚۓlgYXZ[O%yX)DhDۣ %F\iJn5tDŝĝu\k7(&se+;+ҮKk-1[BpcJ_һ,(9 +ɴ͛̂7LN4G'8y]8-Oټi,ㅂmi;n͆7߮_1GH%E&,TP&ZJ:> <6-Xmb!`W}LVs^lx;& jPhikc#6oIle$&~X;|Ԑrw`K+NV^?Y|KYu\:@^is/fn_0*j]r\mqgVh+^=|n5+勷i\/* +W;J%wEp{2 *ϩx|W [;s&[g0d +p5ƈSW& s&)arIɅ%2to{{{{}PAɷGezW.YpHGZ@t2$f )-jqA @-h`Dqzϗ޾8g||{7-vŏ[/Ȫu0qKیWj@I==8'tzf;x)pJ777 %m z)e +endstream endobj 1164 0 obj <> endobj 779 0 obj [/Separation/Black 780 0 R 782 0 R] endobj 780 0 obj [/ICCBased 781 0 R] endobj 782 0 obj <>stream +Ŀþ½~}|~|}{}z|z{~yz}xz|wy{wx{vwzuwytvxtuxstwrtvqsuprtpqtopsnprmoqmnplmpklojknikmijlhikghkfgjegidfhdegcdfbcfabe`ad`ac_`b^_a]^`\]`[\_[\^Z[]YZ\XY[WXZVWYUVXTUWSTVSSURRTQQSPPROOQNNPMMOLLNKKMJJLIIKHHJHGIGFHFFGEEFDDECCDBBCAAB@@A?>@>=?=<><;<:9;98:8787576454343132011/00-..,--*,,)*+()*'((%&'$%&#$%""$ !# +endstream endobj 781 0 obj <>stream +HyTSwoɞc [5laQIBHADED2mtFOE.c}08׎8GNg9w߽'0 ֠Jb  + 2y.-;!KZ ^i"L0- @8(r;q7Ly&Qq4j|9 +V)gB0iW8#8wթ8_٥ʨQQj@&A)/g>'Kt;\ ӥ$պFZUn(4T%)뫔0C&Zi8bxEB;Pӓ̹A om?W= +x-[0}y)7ta>jT7@tܛ`q2ʀ&6ZLĄ?_yxg)˔zçLU*uSkSeO4?׸c. R ߁-25 S>ӣVd`rn~Y&+`;A4 A9=-tl`;~p Gp| [`L`< "A YA+Cb(R,*T2B- +ꇆnQt}MA0alSx k&^>0|>_',G!"F$H:R!zFQd?r 9\A&G rQ hE]a4zBgE#H *B=0HIpp0MxJ$D1D, VĭKĻYdE"EI2EBGt4MzNr!YK ?%_&#(0J:EAiQ(()ӔWT6U@P+!~mD eԴ!hӦh/']B/ҏӿ?a0nhF!X8܌kc&5S6lIa2cKMA!E#ƒdV(kel }}Cq9 +N')].uJr + wG xR^[oƜchg`>b$*~ :Eb~,m,-ݖ,Y¬*6X[ݱF=3뭷Y~dó ti zf6~`{v.Ng#{}}jc1X6fm;'_9 r:8q:˜O:ϸ8uJqnv=MmR 4 +n3ܣkGݯz=[==<=GTB(/S,]6*-W:#7*e^YDY}UjAyT`#D="b{ų+ʯ:!kJ4Gmt}uC%K7YVfFY .=b?SƕƩȺy چ k5%4m7lqlioZlG+Zz͹mzy]?uuw|"űNwW&e֥ﺱ*|j5kyݭǯg^ykEklD_p߶7Dmo꿻1ml{Mś nLl<9O[$h՛BdҞ@iءG&vVǥ8nRĩ7u\ЭD-u`ֲK³8%yhYѹJº;.! +zpg_XQKFAǿ=ȼ:ɹ8ʷ6˶5̵5͵6ζ7ϸ9к<Ѿ?DINU\dlvۀ܊ݖޢ)߯6DScs 2F[p(@Xr4Pm8Ww)Km +endstream endobj 1323 0 obj <>stream +BT +/CS0 cs 1 scn +/GS0 gs +/T1_0 1 Tf +8 0 0 8 417.7962 38.134 Tm +[(\251 ABNT 2010 - All r)-15(ights reser)-30(v)25(ed)]TJ +11 0 0 11 45.3266 35.8089 Tm +(94)Tj +/T1_1 1 Tf +0 68.648 TD +(ABNT NBR 15606-4:2010)Tj +13 0 0 13 45.3265 735.5309 Tm +[(E.3 )-990(Switc)10(hArea c)20(lass)]TJ +/T1_0 1 Tf +0.111 Tw 11 0 0 11 45.3265 712.3309 Tm +[(The SwitchArea class e)30(xtends the com.sun.dtv)80(.lwuit.Component class)15(.)60( )50(This class shall be declared )]TJ +0 Tw 0 -1.2 TD +[(with the \336)250( )28(nal modi\336)250( )28(er)50(.)]TJ +-0.024 Tw 0 -2.291 TD +[(It is a component that de\336)250( nes a rectangular area f)30(or the video/image selection plane)15(.)60( Each rectangular )]TJ +0.147 Tw 0 -1.2 TD +[(area added through the com.sun.dtv)80(.lwuit.Component#addComponent method\(\) corresponds to an )]TJ +0.039 Tw T* +[(area in which the static image plane will appear o)15(v)25(er the video plane or vice-v)25(ersa depending on the )]TJ +0 Tw T* +[(component's \(com.sun.dtv)79(.lwuit.plaf)30(.Style\) style color)49(.)]TJ +0 -2.291 TD +[(This class' instances do not suppor)-41(t f)30(ocus or animation functionalities)14(.)]TJ +-0.026 Tw T* +[(The f)30(ollo)15(wing methods inher)-15(ited from com.sun.dtv)80(.lwuit.Component shall not be )1(in)20(v)25(ok)20(ed directly b)20(y the )]TJ +0 Tw 0 -1.2 TD +(applications:)Tj +0.695 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(v)25(oid paint\(Gr)10(aphics g\))]TJ +-1.315 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(v)25(oid paintBac)20(kg)10(rounds\(Gr)10(aphics g\))]TJ +-1.315 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(v)25(oid paintComponent\(Gr)10(aphics g\))]TJ +-1.315 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(v)25(oid paintComponent\(Gr)10(aphics g, boolean bac)20(kg)10(round\) )]TJ +-0.046 Tw -2.01 -2.291 Td +[(Through the com.sun.dtv)80(.lwuit.plaf)30(.Style associated to each component, it is possib)20(le to de\336)250( )-18(ne whether )]TJ +0.013 Tw T* +[(the video will be displa)30(y)20(ed on the Still Picture Plane or vice-v)25(ersa.)60( )50(The instances of com.sun.dtv)80(.lwuit.)]TJ +0.144 Tw T* +[(plaf)30(.Style associated with this component ma)30(y only contain solid colors \(ja)20(v)25(a.a)20(wt.Color\).)60( )50(The color )]TJ +0.008 Tw T* +[(b)20(lac)20(k, ja)20(v)25(a.a)20(wt.Color)50(.)60( BLA)30(CK, represents that the video shall be displa)30(y)20(ed o)15(v)25(er the Still Picture Plane)15(.)60( )]TJ +0 Tw T* +[(By using an)15(y other color)50(, the Still Picture Plane content will be displa)29(y)20(ed in the front of the video)40(.)]TJ +ET + +endstream endobj 448 0 obj <> endobj 327 0 obj <>stream +hT1o w~ō2`TU% )uCۨv8H1Fg<\7m@w8^VL1@k!4; `Zv+<<+PEs 4x>U]l ulx7{t2 ʿfbd08z,2{ oOEZܕPR'"V.鿷pz",R 67?vZK@q +endstream endobj 449 0 obj <>/CIDToGIDMap/Identity/DW 1000/FontDescriptor 450 0 R/Subtype/CIDFontType2/Type/Font/W[380[604]404[604]]>> endobj 450 0 obj <> endobj 329 0 obj <>stream +hޚ@A  + +endstream endobj 328 0 obj <>stream +h{y|TEBBB !$IXB}tV,f@@ @b@| [ux舠rtWpp\Fp8чJ[շCQ?{YTթSˍ-1"jKRĤsI< L*^XmB"֑ofy.vo!C?k♝i\VZTrrsFܗ ."t@Ary5XWȞs+HB3ʶw<@yw#/eTeUieNsDvALY& XQ/4-UQn[!E]1\?XhFz10D0u"-Pg5"OOmm|*.zͦ=.^:D%D -{h5Yi +4k){Xgc?%:ɴS80>eRyVRu@h,tN]ACFOcwa:d\FR1?-5ޥslcd!TE[i*3fZTʦ(G `K4C7U4M2B 6X +Gҟmhh cݙbHwi-Sj<O'l%aNc9-YIDIRc@aW= Va)J64!݌}BE]$q/ͲcuWrhGߘE󍍔`5.V6URW؍L~ʒi$Z囚/F;E>a)Uߤ\J6g=O3h}^-QҀxTh`Tf̥8#YJKq%aÆ4p@R~}ճG\lwgѵKtTdNa; n6f +g'ÙYq3&A"(( +u 6V(ʹ.XlaY-Y6F&2~"ݩyٔ7;ݚ%ĠQP3fiδҀ>Tl[pz'ge4Iw^Hgzٙ.<Е،}ĂwB;gLՃ ftknhEohVhzo(,qM-Е"h}K##;Aepw{Bc*q07f€.2 +jw Ǩ +!eaFHS B!QuTz$)vUX&W&ˋ4 +~!yB#L"lPfu7mACSQɷm(`Yg V7B@3,tMVi {؉|PZW =n1g%Q;#4zhHO&}^2>ӧk1)'f| ڦo-*ZD H ucRY,=nge?m2-Qm\Q4yY7%o|7A XZJGˁS%P?1 +X.I \G\`4D1b٤a6S$eDykΫvf< + qfy/΀>vpI'&xËؔذ1o2f}}*ӷfvuvbQQX/"fKnDrKOSkOF DlXwYM<րnA1+S1."`MtdkT!rOcH!Yh=e;QkpP/RҋZAVSrxlgQs czzwS0e˖=|䯡-hKe=-g (քszdzrSkBupG1?aϷOG V=cMak>\B\"y}/k 5sH{es+u@`PŃ1,}OW}{j~'bz/aqjxʰ6XOu݁kw-;}ZEdqw^l.`{I=+eA8 Xԅ(QBv@J[ĭ8Ci:YmO _V/J0MW Y@=ҕ[ +) uți:|u:U+u\NIw +`e*DŽlc1Y@C \H_h3¸Ü_76GQDƻ@6LhMiJ6-fAdxHZL?-I`9>d;J >] Sim6BcDpky帗n0  XQGB+ʵ-QXO)'W>4g&T< &!jNbg)DY '@O篕G)["|B V;|eF@A4Z@]И?2`1_~r~K=IcA@悎6f1?K>nasuM\]Yu m1B!]Cq&t8zAC7 D__ Fv^fYY_/}5W_3awY_OC\ݠa}@(okC\;K1ty.i >C[~kz ZP8>?㧘φP+S{ˊ?T~{,%,,; ,ҟ|/2ύ{+!@Ias0Nl +ƞz w͇&5qJ5^i=:gK_q&JPcZſ;Y/+y?w/pzR-%~%o{L$E6źꁫw-qz#,÷s`i;_8-@I) f%"t m\[! i[`z2n\1fr[O Z|C8N]N1.'wAt 8`uy)ݔNt0Ht.```SS,eKTq N}s&I'N&}>=Ğh>>4 (hJN*2v~Fڮpjj\JqIێ(*1+JaUX}Pn 3 _b_IRh/pPx`Dc1XG )`uw*h}}rI)c1drW4 w5!ND,AmIiwQL&rm{ʑ* 8 :<h4>zqfD9>rF?xSq=:^Nڡy:@kPPǥrdlw,юhQ˸+ؑ71GpQAGr͎>AAG?c{^ѲQgWYa/+smےl}l16-jvծڹyWAGف`J>~8;(Y<+7eG)kSt3Yڌ}H|n:tC5^Fy^f(CXrM #CG#I_}"]MY.n=I0Fwg]WbF! C(UF+,/$Hc_󥴳w%MؑfⳋEyuvmPmFکLUwH]tҨZTwҚMl qis<#lQ$:&] hi"ɤ&F%]M}JSپ'qΌRP_,Bдb[engi^LFL"{3fMu׏pp0pH65pT6AT6P5zȏd٣E[CD[CD[]e[$c|BARiS}tox-qT;"&bia\HvQxLՃ"DV;G3+b鈘(ͬ;S)fAȘWb}i|zҫk޹Yz)u6Kpm qԧ pTFC)tmژUOc݊5+c+3`v%q},ieIS’iT ֑h;uZ:Hj]kޭhE+Zъ/nE+ZъVhE+ZъVhE+Z K< 2,cϚBxɫǛ4 ^.jQ@Ojv켟$٥U+**f3ZU5U%Z Ls E5Z9V4D+[] f}z(Bdr19r"@SS6u)/_J'UZ$ kovѠ&1v / <=.w{ +!{ 6C[ +endstream endobj 1161 0 obj <> endobj 1322 0 obj <>stream +BT +/CS0 cs 1 scn +/GS0 gs +/T1_0 1 Tf +8 0 0 8 56.6651 38.2639 Tm +[(\251 ABNT 2010 - All r)-15(ights reser)-30(v)25(ed)]TJ +11 0 0 11 537.6613 35.9389 Tm +(93)Tj +/T1_1 1 Tf +-10.613 68.636 Td +(ABNT NBR 15606-4:2010)Tj +14 0 0 14 273.4312 734.7589 Tm +[(Anne)15(x E)]TJ +/T1_0 1 Tf +-0.396 -1.2 Td +[(\(nor)-25(mativ)25(e\))]TJ +/T1_1 1 Tf +-13.734 -2.4 Td +[(API speci\036)306( )-27(cation f)20(or graphic plane suppor)-20(t - br)60(.or)15(g.sbtvd.ui pac)20(ka)10(g)-10(e)]TJ +13 0 0 13 56.6651 630.7589 Tm +[(E.1 )-990(ColorCoding c)20(lass)]TJ +/T1_0 1 Tf +-0.017 Tw 11 0 0 11 56.6651 607.9209 Tm +[(The ColorCoding class holds constants to n)10(umber the diff)30(erent coding models possib)20(le f)30(or each plane)15(.)60( )]TJ +0 Tw 0 -1.2 TD +[(The possib)20(le v)25(alues correspond to those retur)-26(ned in com.sun.dtv)79(.ui.Plane)15(.getColorCodingModel\(\).)]TJ +0 -2.205 TD +[(The pub)20(lic static constants f)29(ound in this class are:)]TJ +0.695 -2.205 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(pub)20(lic static \336)250( )28(nal int ARGB8888 = 1)]TJ +0.685 -2.205 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +(indicates that the color model in the plane is ARGB8888.)Tj +-3.248 -2.205 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(pub)20(lic static \336)250( )28(nal int )90(YUV442)]TJ +0.685 -2.205 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(indicates that the color model in the plane is )89(YUV442.)]TJ +-3.248 -2.205 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(pub)20(lic static \336)250( )28(nal int )90(YUV444 = 3)]TJ +0.685 -2.205 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(indicates that the color model in the plane is )89(YUV444.)]TJ +-3.248 -2.205 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(pub)20(lic static \336)250( )28(nal int ONE_BPP = 4)]TJ +0.685 -2.205 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(indicates that the color model in the plane is one bit per pix)28(el.)]TJ +/T1_1 1 Tf +13 0 0 13 56.6651 341.5489 Tm +[(E.2 )-990(StillPicture c)20(lass)]TJ +/T1_0 1 Tf +0.065 Tw 11 0 0 11 56.6651 318.3489 Tm +[(The StillPicture class e)30(xtends the com.sun.dtv)80(.lwuit.Component class)15(.)60( It is the means through which )]TJ +0 Tw 0 -1.2 TD +[(JPEG images are added to the static image plane)13(.)60( )50(This class shall be declared with the \336)250( )28(nal modi\336)250( )28(er)50(.)]TJ +0 -2.205 TD +[(The pub)20(lic constr)-15(uctors are the f)30(ollo)15(wing:)50( )]TJ +0.695 -2.205 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(StillPicture\(Str)-15(ing path\))]TJ +0.685 -2.205 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +0.04 Tw 1.852 0 Td +[(Constr)-15(ucts a StillPicture object.)60( )50(The passed par)10(ameter path shall correspond to the location )]TJ +0 Tw 0 -1.2 TD +[(of a JPEG image in the application \336)249( )28(le system.)]TJ +-3.943 -2.205 Td +[(This class\325)70( instances do not suppor)-41(t f)30(ocus or animation functionalities)14(.)]TJ +-0.026 Tw 0 -2.205 TD +[(The f)30(ollo)15(wing methods inher)-15(ited from com.sun.dtv)80(.lwuit.Component shall not be )1(in)20(v)25(ok)20(ed directly b)20(y the )]TJ +0 Tw 0 -1.2 TD +(applications:)Tj +0.695 -2.205 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(v)25(oid paint\(Gr)10(aphics g\))]TJ +-1.315 -2.179 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(v)25(oid paintBac)20(kg)10(rounds\(Gr)10(aphics g\))]TJ +-1.315 -2.179 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(v)25(oid paintComponent\(Gr)10(aphics g\))]TJ +-1.315 -2.179 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(v)25(oid paintComponent\(Gr)10(aphics g, boolean bac)20(kg)10(round\) )]TJ +ET + +endstream endobj 1158 0 obj <> endobj 1321 0 obj <>stream +BT +/CS0 cs 1 scn +/GS0 gs +/T1_0 1 Tf +8 0 0 8 417.7962 38.134 Tm +[(\251 ABNT 2010 - All r)-15(ights reser)-30(v)25(ed)]TJ +11 0 0 11 45.3266 35.8089 Tm +(92)Tj +/T1_1 1 Tf +0 68.648 TD +(ABNT NBR 15606-4:2010)Tj +/T1_0 1 Tf +0.695 -4.899 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(static int PRESENT)120(A)120(TION_P)120(A)50(USE)]TJ +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +0.258 Tw 1.852 0 Td +[(Ev)25(ent mask f)30(or presentation e)30(v)25(ents \(presentation type\) whose action \(action \336)250( )286(eld\) w)15(as )]TJ +0.092 Tw 0 -1.2 TD +[(the pausing of the reproduction \(pause\) of an anchor de\336)250( )120(ned f)30(or the media node \(element )]TJ +0 Tw T* +[(\) that includes Xlet Ginga-J)29(.)]TJ +-3.248 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(static int PRESENT)120(A)120(TION_RESUME)]TJ +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +0.098 Tw 1.852 0 Td +[(Ev)25(ent )1(mask )1(f)30(or )1(presentation )1(e)30(v)25(ents )1(\(presentation )1(type\) )1(whose )1(action )1(\(action )1(\336)250( )127(eld\) )1(w)15(as )1(the )]TJ +0.07 Tw T* +[(resumption of the reproduction \(resume\) of an anchor de\336)250( )98(ned f)30(or the media node \(element )]TJ +0 Tw T* +[(\) that includes Xlet Ginga-J)29(.)]TJ +-3.248 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(static int A)120(TTRIB)10(UTION_SET)]TJ +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +-0.067 Tw 1.852 0 Td +[(Ev)25(ent mask f)30(or attr)-15(ib)20(ution e)30(v)25(ents \(attr)-15(ib)20(ution type\) whose action \(action \336)250( )-39(eld\) w)15(as the de\336)250( )-39(nition )]TJ +-0.039 Tw T* +[(\(set\) of a par)10(ameter de\336)250( )-11(ned f)30(or the media node \(element \) that includes Xlet Ginga-J)30(.)]TJ +0 Tw -3.248 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +(protected int id)Tj +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(Identi\336)250( )28(cation of the e)30(v)25(ent.)]TJ +-3.943 -2.291 Td +[(The pub)20(lic methods f)30(or the NCLEv)25(ent class are:)]TJ +0.695 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(NCLEv)25(ent\(Object source)14(, int id, Str)-15(ing v)25(alue\))]TJ +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +0.05 Tw 1.852 0 Td +[(Constr)-15(uctor method f)30(or NCLEv)25(ent, which receiv)25(es as par)10(ameter a ref)30(erence \(source\) of the )]TJ +0.091 Tw T* +[(object that or)-15(iginated the e)30(v)25(ent, an integ)10(r)10(al \(id\), )1(which identi\336)250( )119(es the e)30(v)25(ent and an identi\336)250( )119(er )]TJ +0 Tw T* +[(\(v)25(alue\) of the node or anchor related to the e)30(v)25(ent.)]TJ +-3.248 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +(int getID\(\))Tj +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(Retur)-25(ns the type of e)30(v)25(ent.)]TJ +-3.248 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(Str)-15(ing getV)70(alue\(\))]TJ +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(Retur)-25(ns the identi\336)250( )28(er of the node or anchor related to the e)30(v)25(ent.)]TJ +/T1_1 1 Tf +-3.943 -2.291 Td +[(D)30(.2.2.3 )-1218(NCLEventListener interface)]TJ +/T1_0 1 Tf +-0.109 Tw 0 -2.291 TD +[(The Listener interf)30(ace shall be implemented b)20(y whoe)30(v)25(er w)15(ants to receiv)25(e noti\336)250( )-81(cation of e)30(v)25(ents distr)-15(ib)20(uted )]TJ +-0.001 Tw 0 -1.2 TD +[(b)20(y the NCL f)30(or)-25(matter manipulating an NCL document that includes an Xlet Ginga-J)30(, which are objects )]TJ +0 Tw T* +[(that are NCLEv)25(ent class elements)15(.)60( It e)30(xtends the ja)20(v)25(a.util.Ev)25(entListener interf)30(ace)]TJ +0.042 Tw 0 -2.291 TD +[(The application y)20(ou w)15(ant to monitor the e)30(v)25(ents)15(, gener)10(ated b)20(y the NCL f)30(or)-25(matter shall implement this )]TJ +0 Tw 0 -1.2 TD +[(interf)30(ace)15(.)60( )]TJ +0 -2.291 TD +[(The pub)20(lic method f)30(or the NCLEv)25(entListener interf)29(ace is:)]TJ +0.695 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(v)25(oid NCLPla)30(y)20(erEv)25(entDispatched\(NCLEv)25(ent e)30(v)25(ent\))]TJ +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(Method e)30(x)30(ecuted when an NCLEv)25(ent e)30(v)25(ent is gener)10(ated b)20(y the NCL f)30(or)-25(matter)50(.)]TJ +ET + +endstream endobj 1155 0 obj <> endobj 1320 0 obj <>stream +BT +/CS0 cs 1 scn +/GS0 gs +/T1_0 1 Tf +8 0 0 8 56.6651 38.2639 Tm +[(\251 ABNT 2010 - All r)-15(ights reser)-30(v)25(ed)]TJ +11 0 0 11 537.6613 35.9389 Tm +(91)Tj +/T1_1 1 Tf +-10.613 68.636 Td +(ABNT NBR 15606-4:2010)Tj +12 0 0 12 56.6651 736.3029 Tm +[(D)30(.2.2 )-1094(br)60(.or)15(g.sbtvd.net.bridg)-10(e)-20(.nc)20(l pac)20(ka)10(g)-10(e)]TJ +11 0 0 11 56.6651 711.1029 Tm +[(D)30(.2.2.1 )-1218(NodeMana)10(g)-10(er c)20(lass)]TJ +/T1_0 1 Tf +0.075 Tw 0 -2.291 TD +[(The )1(NodeManager )1(static )1(class )1(has )1(all )1(the )1(methods )1(f)30(or )1(NCLEv)25(entListeners )1(registr)10(ation )1(in )1(a )1(w)15(a)30(y )1(that )]TJ +0.043 Tw 0 -1.2 TD +[(a Xlet Ginga-J)30(, associated to a media node \(element \) can receiv)25(e e)30(v)25(ents \(encapsulated in )]TJ +0.145 Tw T* +[(NCLEv)25(ent class instances\) of the Ginga-NCL en)20(vironment.)60( Additional inf)30(or)-25(mation can be obtained )]TJ +0 Tw T* +(from ABNT NBR 15606-2:2007, 10.3.4.3 and 11.2.)Tj +0 -2.291 TD +[(The pub)20(lic methods f)30(or the NodeManager class are:)]TJ +0.695 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(static v)25(oid addNCLEv)25(entListener\(NCLEv)25(entListener listener\))]TJ +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +0.032 Tw 1.852 0 Td +[(This method registers a NCLEv)25(entListener to receiv)25(e all the NCLEv)25(ent instances distr)-15(ib)20(uted )]TJ +0.01 Tw 0 -1.2 TD +[(b)20(y the Ginga-NCL en)20(vironment to the Xlet associated to a media node \(element \) in \ )]TJ +0 Tw T* +[(a Ginga-NCL.)60( Application.)]TJ +-3.248 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(static v)25(oid remo)15(v)25(eNCLEv)25(entListener\(NCLEv)25(entListener listener\))]TJ +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(Remo)15(v)25(es a NCLEv)25(entListener pre)30(viously registered.)]TJ +-3.248 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(static NCLEv)25(entListener[] getNCLEv)24(entListeners\(\))]TJ +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +0.193 Tw 1.852 0 Td +[(Retur)-25(ns a list of all NCLEv)25(entListener instances registered with the Node Manager)50(.)60( )50(The )]TJ +0 Tw T* +[(listener objects added v)24(ar)-15(ious times appear only once in the retur)-25(ned list.)]TJ +/T1_1 1 Tf +-3.943 -2.291 Td +[(D)30(.2.2.2 )-1218(NCLEvent c)20(lass )]TJ +/T1_0 1 Tf +0.015 Tw 0 -2.291 TD +[(The NCLEv)25(ent class e)30(xtends ja)20(v)25(a.util.Ev)25(entObject and is the root e)30(v)25(ent class f)30(or all e)30(v)25(ents gener)10(ated )]TJ +0.136 Tw 0 -1.2 TD +[(b)20(y the NCL f)30(or)-25(matter that manipulates a document including a Xlet Ginga-J)30(.)60( Ev)25(ent masks de\336)250( )164(ned )]TJ +0.146 Tw T* +[(in this class are used to specify which types of e)30(v)25(ents a NCLEv)25(entListener shall listen.)60( Additional )]TJ +0 Tw T* +[(inf)30(or)-25(mation can be obtained from ABNT NBR 15606-2:2007, 10.3.4.3 and 11.2.)]TJ +0 -2.291 TD +[(The NCLEv)25(ent class' pub)20(lic static constants are:)49( )]TJ +0.695 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(static int PRESENT)120(A)120(TION_ST)120(AR)30(T)]TJ +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +0.098 Tw 1.852 0 Td +[(Ev)25(ent )1(mask )1(f)30(or )1(presentation )1(e)30(v)25(ents )1(\(presentation )1(type\) )1(whose )1(action )1(\(action )1(\336)250( )127(eld\) )1(w)15(as )1(the )]TJ +0.051 Tw 0 -1.2 TD +[(star)-40(t of the reproduction \(star)-40(t\) of an anchor de\336)250( )79(ned f)30(or the media node \(element \) )]TJ +0 Tw T* +[(that includes Xlet Ginga-J)29(.)]TJ +-3.248 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(static int PRESENT)120(A)120(TION_ST)40(OP)]TJ +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +0.098 Tw 1.852 0 Td +[(Ev)25(ent )1(mask )1(f)30(or )1(presentation )1(e)30(v)25(ents )1(\(presentation )1(type\) )1(whose )1(action )1(\(action )1(\336)250( )127(eld\) )1(w)15(as )1(the )]TJ +0.081 Tw T* +[(end of the reproduction \(stop\) of an anchor de\336)250( )109(ned f)30(or the media node \(element \) )]TJ +0 Tw T* +[(that includes Xlet Ginga-J)29(.)]TJ +-3.248 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(static int PRESENT)120(A)120(TION_ABOR)30(T)]TJ +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +0.258 Tw 1.852 0 Td +[(Ev)25(ent mask f)30(or presentation e)30(v)25(ents \(presentation type\) whose action \(action \336)250( )286(eld\) w)15(as )]TJ +0.111 Tw T* +[(the abor)-40(tion of the reproduction \(abor)-40(t\) of an anchor de\336)250( )139(ned f)30(or the media node \(element )]TJ +0 Tw T* +[(\) that includes Xlet Ginga-J)29(.)]TJ +ET + +endstream endobj 1152 0 obj <> endobj 1319 0 obj <>stream +BT +/CS0 cs 1 scn +/GS0 gs +/T1_0 1 Tf +8 0 0 8 417.7962 38.134 Tm +[(\251 ABNT 2010 - All r)-15(ights reser)-30(v)25(ed)]TJ +11 0 0 11 45.3266 35.8089 Tm +(90)Tj +/T1_1 1 Tf +0 68.648 TD +(ABNT NBR 15606-4:2010)Tj +/T1_0 1 Tf +0.695 -4.899 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(boolean remo)15(v)25(eImpor)-40(tNCL\(ja)20(v)25(a.lang.Str)-15(ing impor)-40(tNCLId\))]TJ +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +0.239 Tw 1.852 0 Td +[(Remo)15(v)25(es the element identi\336)250( )267(ed b)20(y the Str)-15(ing impor)-40(tNCLId from the NCL )]TJ +0.371 Tw 0 -1.2 TD +[(document element.)60( Retur)-25(ns )1(tr)-15(ue if successful, and f)30(alse if )]TJ +0 Tw T* +[(otherwise)15(.)]TJ +-3.248 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(boolean addNode\(ja)19(v)25(a.lang.Str)-15(ing compositeId, ja)20(v)25(a.lang.Str)-15(ing nodeStr\))]TJ +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +0.002 Tw 1.852 0 Td +[(Adds the de\336)250( )30(nition of an NCL node \(, or \) contained in the Str)-15(ing )]TJ +0.005 Tw T* +[(nodeStr to an NCL composition node identi\336)250( )33(ed in the Str)-15(ing compositeId \(, )]TJ +0 Tw T* +[(or \).)60( Retur)-25(ns tr)-15(ue if successful, and f)29(alse if otherwise)15(.)]TJ +-3.248 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(boolean remo)15(v)25(eNode\(ja)20(v)25(a.lang.Str)-15(ing compositeId, ja)20(v)25(a.lang.Str)-15(ing nodeId\))]TJ +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +0.105 Tw 1.852 0 Td +[(Remo)15(v)25(es the de\336)250( )133(nition of an NCL node \(, or \) identi\336)250( )133(ed in the )]TJ +0.089 Tw T* +[(Str)-15(ing nodeId from an NCL composition node identi\336)250( )117(ed in the Str)-15(ing compositeId \(, )]TJ +0 Tw T* +[( or \).)60( Retur)-25(ns tr)-15(ue if successful, and f)29(alse if otherwise)15(.)]TJ +-3.248 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(boolean addInterf)30(ace\(ja)20(v)25(a.lang.Str)-15(ing nodeId, ja)20(v)25(a.lang.Str)-15(ing interf)30(aceStr\))]TJ +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +-0.045 Tw 1.852 0 Td +[(Adds an NCL interf)30(ace \(element , , or \) descr)-15(ibed in the )]TJ +0.002 Tw T* +[(Str)-15(ing interf)30(aceStr to a node \(element , , or \) identi\336)250( )30(ed b)20(y )]TJ +0 Tw T* +[(the NCL document nodeId Str)-16(ing.)60( Retur)-25(ns tr)-15(ue if successful, and f)29(alse if otherwise)15(.)]TJ +-3.248 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(boolean remo)15(v)25(eInterf)30(ace\(ja)20(v)25(a.lang.Str)-15(ing nodeId, ja)20(v)25(a.lang.Str)-15(ing interf)30(aceId\))]TJ +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +0.028 Tw 1.852 0 Td +[(Remo)15(v)25(es an NCL interf)30(ace \(element , , or \) descr)-15(ibed )]TJ +0.144 Tw T* +[(in the Str)-15(ing interf)30(aceStr from a node \(element , , or \) )]TJ +-0.083 Tw T* +[(identi\336)250( )-55(ed b)20(y the NCL document nodeId Str)-15(ing.)60( Retur)-25(ns tr)-15(ue if successful, and f)30(alse if otherwise)15(.)]TJ +0 Tw -3.248 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(boolean addLink\(ja)19(v)25(a.lang.Str)-15(ing compositeId, ja)20(v)25(a.lang.Str)-15(ing linkStr\))]TJ +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +0.202 Tw 1.852 0 Td +[(Adds the de\336)250( )230(nition of an NCL element contained in the linkStr Str)-15(ing to an NCL )]TJ +0.27 Tw T* +[(composition node identi\336)250( )298(ed in the compositeId \(, or \) Str)-15(ing.)60( )]TJ +0 Tw T* +[(Retur)-25(ns tr)-15(ue if successful, and f)29(alse if otherwise)15(.)]TJ +-3.248 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(boolean remo)15(v)25(eLink\(ja)20(v)25(a.lang.Str)-15(ing compositeId, ja)20(v)25(a.lang.Str)-15(ing linkId\))]TJ +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +0.003 Tw 1.852 0 Td +[(Remo)15(v)25(es )1(the )1(de\336)250( )32(nition )1(of )1(an )1(NCL )1(\(, )1( )1(or )1(\) )1(element )1(identi\336)250( )32(ed )1(in )1(the )]TJ +0.005 Tw T* +[(Str)-15(ing linkId from an NCL composition node identi\336)250( )33(ed in the compositeId \(, )]TJ +0 Tw T* +[(or \) Str)-15(ing.)60( Retur)-25(ns tr)-15(ue if successful, and f)29(alse if otherwise)15(.)]TJ +-3.248 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(boolean setProper)-41(tyV)70(alue\(ja)20(v)25(a.lang.Str)-15(ing proper)-40(tyId, ja)20(v)25(a.land.Str)-15(ing v)25(alue\))]TJ +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +-0.075 Tw 1.852 0 Td +[(Attr)-15(ib)20(utes the v)25(alue of the Str)-15(ing v)25(alue to a proper)-40(ty identi\336)250( )-47(ed b)20(y proper)-40(tyId.)60( )50(The instance v)25(alue )]TJ +0.014 Tw T* +[(f)30(or Str)-15(ing proper)-40(tyId shall ob)20(ligator)-15(ily identify an attr)-15(ib)20(ute name f)30(or an element or )]TJ +-0.017 Tw T* +[(an element id attr)-15(ib)20(ute .)60( )50(The or shall ob)20(ligator)-15(ily belong )]TJ +0.03 Tw T* +[(to an NCL document \(element , , or \) node)15(.)60( Retur)-25(ns tr)-15(ue )]TJ +0 Tw T* +[(if successful, and f)29(alse if otherwise)15(.)]TJ +ET + +endstream endobj 1149 0 obj <> endobj 1069 0 obj <> endobj 476 0 obj <> endobj 1101 0 obj <> endobj 477 0 obj <> endobj 1132 0 obj <> endobj 1133 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text]>>/Rotate 0/TrimBox[0.0 0.0549927 595.22 841.945]/Type/Page>> endobj 1136 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text]>>/Rotate 0/TrimBox[0.0 0.0549927 595.22 841.945]/Type/Page>> endobj 1139 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text]>>/Rotate 0/TrimBox[0.0 0.0549927 595.22 841.945]/Type/Page>> endobj 1142 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text]>>/Rotate 0/TrimBox[0.0 0.0549927 595.22 841.945]/Type/Page>> endobj 1145 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text]>>/Rotate 0/TrimBox[0.0 0.0549927 595.22 841.945]/Type/Page>> endobj 1318 0 obj <>stream +BT +/CS0 cs 1 scn +/GS0 gs +/T1_0 1 Tf +8 0 0 8 56.6651 38.2639 Tm +[(\251 ABNT 2010 - All r)-15(ights reser)-30(v)25(ed)]TJ +11 0 0 11 537.6613 35.9389 Tm +(89)Tj +/T1_1 1 Tf +-10.613 68.636 Td +(ABNT NBR 15606-4:2010)Tj +/T1_0 1 Tf +-32.419 -4.899 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(boolean addT)120(r)10(ansition\(ja)20(v)25(a.lang.Str)-15(ing tr)10(ansitionStr\))]TJ +0.685 -2.308 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +0.198 Tw 1.852 0 Td +[(Adds an element descr)-15(ibed in the Str)-15(ing tr)10(ansitionStr as a par)-40(t of the NCL )]TJ +0 Tw 0 -1.2 TD +[(document element.)59( Retur)-25(ns tr)-15(ue if successful, and f)29(alse if otherwise)15(.)]TJ +-3.248 -2.308 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(boolean remo)15(v)25(eT)120(r)10(ansition\(ja)20(v)25(a.lang.Str)-15(ing tr)10(ansitionId\))]TJ +0.685 -2.308 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +0.077 Tw 1.852 0 Td +[(Remo)15(v)25(es the element identi\336)250( )105(ed in the Str)-15(ing tr)10(ansitionId of the NCL document )]TJ +0 Tw T* +[( element.)59( Retur)-25(ns tr)-15(ue if successful, and f)29(alse if otherwise)15(.)]TJ +-3.248 -2.308 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(boolean addT)120(r)10(ansitionBase\(ja)20(v)25(a.lang.Str)-15(ing tr)10(ansitionBaseStr\))]TJ +0.685 -2.308 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +0.038 Tw 1.852 0 Td +[(Adds an element descr)-15(ibed in the Str)-15(ing tr)10(ansitionBaseStr as a par)-40(t of the )]TJ +0 Tw T* +[(NCL document element.)59( Retur)-25(ns tr)-15(ue if successful, and f)29(alse if otherwise)15(.)]TJ +-3.248 -2.308 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(boolean remo)15(v)25(eT)120(r)10(ansitionBase\(ja)20(v)25(a.lang.Str)-15(ing tr)10(ansitionBaseId\))]TJ +0.685 -2.308 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +0.094 Tw 1.852 0 Td +[(Remo)15(v)25(es the element identi\336)250( )122(ed in the Str)-15(ing tr)10(ansitionBaseId of the NCL )]TJ +0 Tw T* +[(document element.)59( Retur)-25(ns tr)-15(ue if successful, and f)29(alse if otherwise)15(.)]TJ +-3.248 -2.308 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(boolean addImpor)-41(tBase\(ja)20(v)25(a.lang.Str)-15(ing docBaseId, ja)20(v)25(a.lang.Str)-15(ing impor)-40(tBaseStr\))]TJ +0.685 -2.308 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +-0.16 Tw 1.852 0 Td +[(Adds )1(an )1(NCL )1(base )1(element )1(identi\336)250( )-131(ed )1(in )1(the )1(Str)-15(ing )1(docBaseId )1(\(, )1(, )]TJ +0.492 Tw T* +[(, or \) to the de\336)250( )520(nition of the element )]TJ +0.104 Tw T* +[( contained in the Str)-15(ing impor)-40(tBaseStr in the NCL document.)60( Retur)-25(ns tr)-15(ue if )]TJ +0 Tw T* +[(successful, and f)29(alse if otherwise)15(.)]TJ +-3.248 -2.308 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(boolean remo)15(v)25(eImpor)-40(tBase\(ja)20(v)25(a.lang.Str)-15(ing docBaseId, ja)20(v)25(a.lang.Str)-15(ing impor)-40(tBaseId\))]TJ +0.685 -2.308 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +0.085 Tw 1.852 0 Td +[(Remo)15(v)25(es the element identi\336)250( )113(ed in the Str)-15(ing impor)-40(tBaseId f)30(or an NCL base )]TJ +0.152 Tw T* +[(element identi\336)250( )180(ed in the Str)-15(ing docBaseId \(, , , )]TJ +0.007 Tw T* +[( or \) of the NCL document.)60( Retur)-25(ns tr)-15(ue if successful, and )]TJ +0 Tw T* +[(f)30(alse if otherwise)15(.)]TJ +-3.248 -2.308 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(boolean addImpor)-41(tedDocumentBase\(ja)19(v)25(a.lang.Str)-15(ing impor)-40(tedDocumentBaseStr\))]TJ +0.685 -2.308 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +0.36 Tw 1.852 0 Td +[(Adds the de\336)250( )388(nition of the element contained in the Str)-15(ing )]TJ +-0.042 Tw T* +[(impor)-40(tedDocumentBaseStr to the NCL document element.)60( Retur)-25(ns tr)-15(ue if successful, )]TJ +0 Tw T* +[(and f)30(alse if otherwise)15(.)]TJ +-3.248 -2.308 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(boolean remo)15(v)25(eImpor)-40(tedDocumentBase\(ja)20(v)25(a.lang.Str)-15(ing impor)-40(tedDocumentBaseId\))]TJ +0.685 -2.308 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.262 Tw 1.852 0 Td +[(Remo)15(v)25(es the element identi\336)250( )1290(ed b)20(y the Str)-15(ing )]TJ +0 Tw T* +[(impor)-40(tedDocumentBaseId from the NCL document element.)]TJ +-3.248 -2.308 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(boolean addImpor)-41(tNCL \(ja)20(v)25(a.lang.Str)-15(ing impor)-40(tNCLStr\))]TJ +0.685 -2.308 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +0.03 Tw 1.852 0 Td +[(Adds the de\336)250( )58(nition of the element contained in the Str)-15(ing impor)-40(tNCLStr to the )]TJ +0.106 Tw T* +[(NCL document element.)60( Retur)-25(ns tr)-15(ue if successful, and f)30(alse if )]TJ +0 Tw T* +[(otherwise)15(.)60( Retur)-25(ns tr)-15(ue if successful, and f)30(alse if otherwise)15(.)]TJ +ET + +endstream endobj 1146 0 obj <> endobj 1317 0 obj <>stream +BT +/CS0 cs 1 scn +/GS0 gs +/T1_0 1 Tf +8 0 0 8 417.7962 38.134 Tm +[(\251 ABNT 2010 - All r)-15(ights reser)-30(v)25(ed)]TJ +11 0 0 11 45.3266 35.8089 Tm +(88)Tj +/T1_1 1 Tf +0 68.648 TD +(ABNT NBR 15606-4:2010)Tj +/T1_0 1 Tf +0.695 -4.899 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(boolean remo)15(v)25(eRuleBase\(ja)20(v)25(a.lang.Str)-15(ing r)-15(uleBaseId\))]TJ +0.685 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +0.091 Tw 1.852 0 Td +[(Remo)15(v)25(es the element identi\336)250( )119(ed in the Str)-15(ing r)-15(uleBaseId of the NCL document )]TJ +0 Tw 0 -1.2 TD +[( element.)60( Retur)-25(ns tr)-15(ue if successful, and f)29(alse if otherwise)15(.)]TJ +-3.248 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(boolean addConnector\(ja)19(v)25(a.lang.Str)-15(ing connectorStr\))]TJ +0.685 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +0.225 Tw 1.852 0 Td +[(Adds an element descr)-15(ibed in )1(the Str)-15(ing connectorStr as par)-40(t of the NCL )]TJ +0 Tw T* +[(document element.)59( Retur)-25(ns tr)-15(ue if successful, and f)29(alse if otherwise)15(.)]TJ +-3.248 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(boolean remo)15(v)25(eConnector\(ja)20(v)25(a.lang.Str)-15(ing connectorId\))]TJ +0.685 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +0.02 Tw 1.852 0 Td +[(Remo)15(v)25(es )1(the )1(element )1( )1(identi\336)250( )48(ed )1(in )1(the )1(Str)-15(ing )1(connectorId )1(of )1(the )1(NCL )1(document )]TJ +0 Tw T* +[( element.)59( Retur)-25(ns tr)-15(ue if successful, and f)29(alse if otherwise)15(.)]TJ +-3.248 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(boolean addConnectorBase\(ja)19(v)25(a.lang.Str)-15(ing connectorBaseStr\))]TJ +0.685 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +0.053 Tw 1.852 0 Td +[(Adds an element descr)-15(ibed in the Str)-15(ing connectorBaseStr as par)-40(t of the )]TJ +0 Tw T* +[(NCL document element.)59( Retur)-25(ns tr)-15(ue if successful, and f)29(alse if otherwise)15(.)]TJ +-3.248 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(boolean remo)15(v)25(eConnectorBase\(ja)20(v)25(a.lang.Str)-15(ing connectorBaseId\))]TJ +0.685 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +0.031 Tw 1.852 0 Td +[(Remo)15(v)25(es the element identi\336)250( )59(ed in the Str)-15(ing connectorBaseId of the NCL )]TJ +0 Tw T* +[(document element.)59( Retur)-25(ns tr)-15(ue if successful, and f)29(alse if otherwise)15(.)]TJ +-3.248 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(boolean addDescr)-16(iptor\(ja)20(v)25(a.lang.Str)-15(ing descr)-15(iptorStr\))]TJ +0.685 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +0.147 Tw 1.852 0 Td +[(Adds an element descr)-15(ibed in the Str)-15(ing descr)-15(iptorStr as a par)-40(t of the NCL )]TJ +0 Tw T* +[(document element.)59( Retur)-25(ns tr)-15(ue if successful, and f)29(alse if otherwise)15(.)]TJ +-3.248 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(boolean remo)15(v)25(eDescr)-15(iptor\(ja)20(v)25(a.lang.Str)-15(ing descr)-15(iptorId\))]TJ +0.685 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +0.017 Tw 1.852 0 Td +[(Remo)15(v)25(es the element identi\336)250( )45(ed in the Str)-15(ing descr)-15(iptorId of the NCL document )]TJ +0 Tw T* +[( element.)59( Retur)-25(ns tr)-15(ue if successful, and f)29(alse if otherwise)15(.)]TJ +-3.248 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(boolean addDescr)-16(iptorSwitch\(ja)20(v)25(a.lang.Str)-15(ing descr)-15(iptorSwitchStr\))]TJ +0.685 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +0.111 Tw 1.852 0 Td +[(Adds an element descr)-15(ibed in the Str)-15(ing descr)-15(iptorSwitchStr as a par)-40(t )]TJ +0.197 Tw T* +[(of the NCL document element.)60( Retur)-25(ns tr)-15(ue if successful, and f)30(alse if )]TJ +0 Tw T* +[(otherwise)15(.)]TJ +-3.248 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(boolean remo)15(v)25(eDescr)-15(iptorSwitch\(ja)20(v)25(a.lang.Str)-15(ing descr)-15(iptorSwitchId\))]TJ +0.685 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +0.126 Tw 1.852 0 Td +[(Remo)15(v)25(es the element identi\336)250( )154(ed in the Str)-15(ing descr)-15(iptorSwitchId of the )]TJ +0 Tw T* +[(NCL document element.)59( Retur)-25(ns tr)-15(ue if successful, and f)29(alse if otherwise)15(.)]TJ +-3.248 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(boolean addDescr)-16(iptorBase\(ja)20(v)25(a.lang.Str)-15(ing descr)-15(iptorBaseStr\))]TJ +0.685 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +-0.016 Tw 1.852 0 Td +[(Adds an element descr)-15(ibed in the Str)-15(ing descr)-15(iptorStr as a par)-40(t of the NCL )]TJ +0 Tw T* +[(document element.)59( Retur)-25(ns tr)-15(ue if successful, and f)29(alse if otherwise)15(.)]TJ +-3.248 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(boolean remo)15(v)25(eDescr)-15(iptorBase\(ja)20(v)25(a.lang.Str)-15(ing descr)-15(iptorBaseId\))]TJ +0.685 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +0.029 Tw 1.852 0 Td +[(Remo)15(v)25(es the element identi\336)250( )57(ed in the Str)-15(ing descr)-15(iptorBaseId of the NCL )]TJ +0 Tw T* +[(document element.)59( Retur)-25(ns tr)-15(ue if successful, and f)29(alse if otherwise)15(.)]TJ +ET + +endstream endobj 1143 0 obj <> endobj 1316 0 obj <>stream +BT +/CS0 cs 1 scn +/GS0 gs +/T1_0 1 Tf +8 0 0 8 56.6651 38.2639 Tm +[(\251 ABNT 2010 - All r)-15(ights reser)-30(v)25(ed)]TJ +11 0 0 11 537.6613 35.9389 Tm +(87)Tj +/T1_1 1 Tf +-10.613 68.636 Td +(ABNT NBR 15606-4:2010)Tj +/T1_0 1 Tf +-32.419 -4.899 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(Str)-15(ing getV)70(alue\(Str)-15(ing v)25(alue\))]TJ +0.695 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.614 0 Td +<017C>Tj +/T1_0 1 Tf +0.01 Tc 0.335 Tw 1.852 0 Td +[(Retur)-25(ns the v)25(ar)-15(iab)20(le v)25(alue according to the descr)-15(iption of the )1(en)20(vironment v)25(ar)-15(iab)20(le)10( )]TJ +0.107 Tw 0 -1.2 TD +[(entered as a Str)-15(ing.)60( )50(The complete list of en)20(vironment v)25(ar)-15(iab)20(les a)20(v)25(ailab)20(le can be seen in)]TJ +0 Tw T* +[(ABNT NBR 15606-2:2007, )50(T)120(ab)20(le 12.)70( )-10( )]TJ +/T1_1 1 Tf +0 Tc -3.943 -2.291 Td +[(D)30(.2.1.5 )-1218(NCLEdit c)20(lass)]TJ +/T1_0 1 Tf +-0.013 Tc 0.079 Tw 0 -2.291 TD +[(The )1(NCLEdit )1(class )1(off)30(ers )1(methods )1(to )1(edit )1(a )1(NCL )1(document, )1(which )1(when )1(encapsulated )1(in )1(a NCLPla)30(y)20(er)-13( )]TJ +-0.033 Tw 0 -1.2 TD +[(class object;)50( instantiates associated NCLEdit class objects \(method getNCLEdit\).)60( Editing commands from)-13( )]TJ +0.118 Tw T* +[(the )1(NCLEdit )1(instance )1(only )1(alter )1(NCL )1(document )1(presentation )1(\(represented )1(b)20(y )1(NCLPla)30(y)20(er )1(object\) )]TJ +/T1_2 1 Tf +0 Tc 0 Tw 42.55 0 Td +(\226)Tj +/T1_0 1 Tf +-0.013 Tc 0.118 Tw 0.543 0 Td +[( )1(the)-13( )]TJ +-0.055 Tw -43.093 -1.2 Td +[(or)-15(iginal document is preser)-30(v)25(ed throughout the editing process)15(, as speci\336)244( )-34(ed f)30(or the NCL editing commands )]TJ +0 Tw T* +[(in ABNT NBR 15606-2:2007.)47( )13( )]TJ +0 Tc 0 -2.291 TD +[(The pub)20(lic methods f)30(or the NCLEdit class are:)]TJ +0.695 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +0.413 Tw 1.919 0 Td +[(boolean addRegion\(ja)20(v)25(a.lang.Str)-15(ing regionBaseId, ja)20(v)25(a.lang.Str)-15(ing regionId, ja)20(v)25(a.lang.Str)-15(ing )]TJ +0 Tw 0.081 -1.2 Td +(regionStr\))Tj +0.604 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +0.008 Tw 1.852 0 Td +[(Adds an element in the NCL document, lik)20(e a member of the region base identi\336)250( )36(ed )]TJ +0.037 Tw 0 -1.2 TD +[(b)20(y the Str)-15(ing regionBaseId, lik)20(e a child element identi\336)250( )65(ed b)20(y the Str)-15(ing regionId and de\336)250( )65(ned )]TJ +0 Tw T* +[(in the Str)-15(ing regionStr)50(.)60( Retur)-25(ns tr)-15(ue if successful, and f)30(alse if otherwise)15(.)]TJ +-3.248 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(boolean remo)15(v)25(eRegion\(ja)20(v)25(a.lang.Str)-15(ing regionId\) )]TJ +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +0.117 Tw 1.852 0 Td +[(Remo)15(v)25(es the element identi\336)250( )145(ed b)20(y the NCL document\325)50(s regionId Str)-15(ing.)60( Retur)-25(ns )]TJ +0 Tw T* +[(tr)-15(ue if successful, and f)30(alse if otherwise)15(.)]TJ +-3.248 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(boolean addRegionBase\(ja)19(v)25(a.lang.Str)-15(ing regionBaseStr\))]TJ +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +-0.045 Tw 1.852 0 Td +[(Adds the element descr)-15(ibed in the Str)-15(ing regionBaseStr to the element )]TJ +0 Tw T* +[(in the NCL document.)59( Retur)-25(ns tr)-15(ue if successful, and f)29(alse if otherwise)15(.)]TJ +-3.248 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(boolean remo)15(v)25(eRegionBase\(ja)20(v)25(a.lang.Str)-15(ing regionBaseId\))]TJ +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +0.053 Tw 1.852 0 Td +[(Remo)15(v)25(es the element identi\336)250( )81(ed b)20(y the NCL document\325)50(s regionBaseId Str)-15(ing.)60( )]TJ +0 Tw T* +[(Retur)-25(ns tr)-15(ue if successful, and f)29(alse if otherwise)15(.)]TJ +-3.248 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(boolean addRule\(ja)20(v)25(a.lang.Str)-15(ing r)-15(uleStr\))]TJ +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +-0.116 Tw 1.852 0 Td +[(Adds an element descr)-15(ibed in the Str)-15(ing r)-15(uleStr as par)-40(t of the NCL document )]TJ +0 Tw T* +[(element.)60( Retur)-25(ns tr)-15(ue if successful, and f)29(alse if otherwise)15(.)]TJ +-3.248 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(boolean remo)15(v)25(eRule\(ja)20(v)25(a.lang.Str)-15(ing r)-15(uleId\))]TJ +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +0.019 Tw 1.852 0 Td +[(Remo)15(v)25(es the element identi\336)250( )47(ed in the Str)-15(ing r)-15(uleId of the NCL document )]TJ +0 Tw T* +[(element.)60( Retur)-25(ns tr)-15(ue if successful, and f)29(alse if otherwise)15(.)]TJ +-3.248 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(boolean addRuleBase\(ja)19(v)25(a.lang.Str)-15(ing r)-15(uleBaseStr\))]TJ +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +-0.064 Tw 1.852 0 Td +[(Adds an element descr)-15(ibed in the Str)-15(ing r)-15(uleBaseStr as par)-40(t of the NCL document )]TJ +0 Tw T* +[( element.)59( Retur)-25(ns tr)-15(ue if successful, and f)29(alse if otherwise)15(.)]TJ +ET + +endstream endobj 1140 0 obj <> endobj 1315 0 obj <>stream +BT +/CS0 cs 1 scn +/GS0 gs +/T1_0 1 Tf +8 0 0 8 417.7962 38.134 Tm +[(\251 ABNT 2010 - All r)-15(ights reser)-30(v)25(ed)]TJ +11 0 0 11 45.3266 35.8089 Tm +(86)Tj +/T1_1 1 Tf +0 68.648 TD +(ABNT NBR 15606-4:2010)Tj +/T1_0 1 Tf +0.695 -4.899 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(static int A)120(TTRIB)10(UTION_SET= 32;)]TJ +0.685 -2.308 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +-0.067 Tw 1.852 0 Td +[(Ev)25(ent mask f)30(or attr)-15(ib)20(ution e)30(v)25(ents \(attr)-15(ib)20(ution type\) whose action \(action \336)250( )-39(eld\) w)15(as the de\336)250( )-39(nition )]TJ +0 Tw 0 -1.2 TD +[(\(set\) of a par)10(ameter f)30(or a node or anchor)49(.)]TJ +-3.248 -2.308 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +(protected int id)Tj +0.685 -2.308 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(Identi\336)250( )28(cation of the e)30(v)25(ent.)]TJ +-3.943 -2.308 Td +[(The pub)20(lic methods f)30(or the NCLPla)30(y)20(erEv)25(ent class are:)]TJ +0.695 -2.308 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(NCLEv)25(ent\(Object source)14(, int id, Str)-15(ing v)25(alue\))]TJ +-1.315 -2.308 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +-0.032 Tw 1.919 0 Td +[(Constr)-15(uctor method f)30(or NCLEv)25(ent, which receiv)25(es as par)10(ameter a ref)30(erence \(source\) of the object )]TJ +-0.001 Tw 0.081 -1.2 Td +[(that or)-15(iginated the e)30(v)25(ent, an integ)10(r)10(al \(id\), which identi\336)250( )27(es the e)30(v)25(ent and an identi\336)250( )27(er \(v)25(alue\) of the )]TJ +0 Tw T* +[(node or anchor related to the e)29(v)25(ent.int getID\(\))]TJ +0.604 -2.308 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(Retur)-25(ns the type of e)30(v)25(ent.)]TJ +-3.248 -2.308 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(Str)-15(ing getV)70(alue\(\))]TJ +0.685 -2.308 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(Retur)-25(ns the identi\336)250( )28(er of the node or anchor related to the e)30(v)25(ent.)]TJ +/T1_1 1 Tf +-3.943 -2.308 Td +[(D)30(.2.1.3 )-1218(NCLPla)20(y)10(erEventListener interface)]TJ +/T1_0 1 Tf +0.018 Tw 0 -2.308 TD +[(The Listener interf)30(ace)15(, which shall be implemented b)20(y whoe)30(v)25(er w)15(ants to receiv)25(e noti\336)250( )46(cation of e)30(v)25(ents )]TJ +0 Tw 0 -1.2 TD +[(distr)-15(ib)20(uted to NCLEv)25(ent class elements objects)15(.)60( It e)30(xtends the ja)20(v)25(a.util.Ev)25(entListener interf)30(ace)15(.)]TJ +0.255 Tw 0 -2.308 TD +[(The )1(application )1(interested )1(in )1(monitor)-15(ing )1(NCL )1(e)30(v)25(ents )1(of )1(an )1(NCLPla)30(y)20(er )1(implements )1(this )1(interf)30(ace )]TJ +0.132 Tw 0 -1.2 TD +[(register)-15(ing as the NCLPla)30(y)20(er using the NCLPla)30(y)20(er)50(.addNCLPla)30(y)20(erEv)25(entListener\(\) method.)60( )40(When an )]TJ +0 Tw T* +[(e)30(v)25(ent is distr)-15(ib)20(uted in the NCLPla)30(y)20(er)50(, the e)30(v)25(entDispatched method of this object is e)30(x)30(ecuted.)]TJ +0 -2.308 TD +[(The pub)20(lic method f)30(or the NCLPla)30(y)20(erEv)25(entListener interf)30(ace is:)]TJ +0.695 -2.308 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(v)25(oid NCLPla)30(y)20(erEv)25(entDispatched\(NCLPla)30(y)20(erEv)25(ent e)30(v)25(ent\))]TJ +0.685 -2.308 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(Method e)30(x)30(ecuted when an e)30(v)25(ent is distr)-15(ib)20(uted in the NCLPla)30(y)20(er)50(.)]TJ +/T1_1 1 Tf +-3.943 -2.308 Td +[(D)30(.2.1.4 )-1218(NCLGingaSettingsNodes c)19(lass)]TJ +/T1_0 1 Tf +0.159 Tw T* +[(The NCLGingaSettingsNodes class is a class that represents an NCL node)15(, whose attr)-15(ib)20(utes are )]TJ +-0.038 Tw 0 -1.2 TD +[(global v)25(ar)-15(iab)20(les de\336)250( )-10(ned b)20(y the document's author or en)20(vironment v)25(ar)-15(iab)20(les that can be manipulated b)20(y )]TJ +0.048 Tw T* +[(NCL )1(document )1(processing.)60( )51(The )1(complete )1(list of )1(these )1(en)20(vironment )1(v)25(ar)-15(iab)20(les )1(is )1(sho)15(wn )1(in )1(ABNT )1(NBR )]TJ +0 Tw T* +(15606-2.)Tj +0 -2.308 TD +[(The pub)20(lic methods f)30(or the NCLGingaSettingsNodes class are:)49( )]TJ +0.695 -2.308 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(NCLGingaSettingsNodes\(ja)19(v)25(a.lang.Str)-15(ing nodeId\))]TJ +0.685 -2.308 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +0.057 Tw 1.852 0 Td +[(Constr)-15(uctor method f)30(or NCLGingaSettingsNodes that receiv)25(es a single identifying Str)-15(ing as )]TJ +0 Tw 0 -1.2 TD +[(a par)10(ameter)50(.)]TJ +ET + +endstream endobj 1137 0 obj <> endobj 1314 0 obj <>stream +BT +/CS0 cs 1 scn +/GS0 gs +/T1_0 1 Tf +8 0 0 8 56.6651 38.2639 Tm +[(\251 ABNT 2010 - All r)-15(ights reser)-30(v)25(ed)]TJ +11 0 0 11 537.6613 35.9389 Tm +(85)Tj +/T1_1 1 Tf +-10.613 68.636 Td +(ABNT NBR 15606-4:2010)Tj +/T1_0 1 Tf +-32.419 -4.899 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +(boolean stopDocument\(\))Tj +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +-0.072 Tw 1.852 0 Td +[(Stops )1(the )1(presentation )1(of )1(an )1(NCL )1(document.)60( )1(All )1(document )1(e)30(v)25(ents )1(in )1(e)30(x)30(ecution )1(shall )1(ob)20(ligator)-15(ily )]TJ +0 Tw 0 -1.2 TD +[(be stopped.)60( Retur)-25(ns tr)-15(ue if successful, and f)29(alse if otherwise)15(.)]TJ +-3.248 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +(boolean pauseDocument\(\))Tj +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +0.281 Tw 1.852 0 Td +[(P)40(auses the presentation of an NCL document.)60( All document e)30(v)25(ents in e)30(x)30(ecution shall )]TJ +0 Tw T* +[(ob)20(ligator)-15(ily be paused.)60( Retur)-25(ns tr)-15(ue if successful, and f)30(alse if otherwise)15(.)]TJ +-3.248 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +(boolean resumeDocument\(\))Tj +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +0.059 Tw 1.852 0 Td +[(Resumes presentation of an NCL document.)60( All document e)30(v)25(ents pre)30(viously paused b)20(y the )]TJ +0.004 Tw T* +[(pauseDocument\(\) method shall ob)20(ligator)-15(ily be resumed.)60( Retur)-25(ns tr)-15(ue if successful, and f)30(alse )]TJ +0 Tw T* +[(if otherwise)15(.)]TJ +-3.248 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +(NCLEdit getNCLEdit\(\))Tj +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +0.288 Tw 1.852 0 Td +[(Retur)-25(ns an NCLEdit class instance that off)30(ers NCL document editing functionalities in )]TJ +0 Tw T* +[(e)30(xhibition time)15(.)]TJ +/T1_1 1 Tf +-3.943 -2.291 Td +[(D)30(.2.1.2 )-1218(NCLPla)20(y)10(erEvent c)20(lass )]TJ +/T1_0 1 Tf +0.138 Tw 0 -2.291 TD +[(The NCLPla)30(y)20(erEv)25(ent class is the root e)30(v)25(ent f)30(or all NCL e)30(v)25(ents gener)10(ated b)20(y a NCL encapsulated )]TJ +0.098 Tw 0 -1.2 TD +[(application b)20(y an instance of the class in question .)60( Ev)25(ent masks de\336)250( )126(ned in this class are used to )]TJ +-0.003 Tw T* +[(specify to which types of e)30(v)25(ents an NCLPla)30(y)20(erEv)25(entListener shall listen.)60( Additional inf)30(or)-25(mation can be )]TJ +0 Tw T* +(obtained from ABNT NBR 15606-2:2007, 10.3.4.3.)Tj +0 -2.291 TD +[(The NCLPla)30(y)20(erEv)25(ent class' pub)20(lic static constants are:)50( )]TJ +0.695 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(static int PRESENT)120(A)120(TION_ST)120(AR)30(T = 1;)]TJ +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +0.098 Tw 1.852 0 Td +[(Ev)25(ent )1(mask )1(f)30(or )1(presentation )1(e)30(v)25(ents )1(\(presentation )1(type\) )1(whose )1(action )1(\(action )1(\336)250( )127(eld\) )1(w)15(as )1(the )]TJ +0 Tw 0 -1.2 TD +[(star)-40(t of reproduction \(star)-41(t\) of a node or anchor)49(.)]TJ +-3.248 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(static int PRESENT)120(A)120(TION_ST)40(OP = 2;)]TJ +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +0.098 Tw 1.852 0 Td +[(Ev)25(ent )1(mask )1(f)30(or )1(presentation )1(e)30(v)25(ents )1(\(presentation )1(type\) )1(whose )1(action )1(\(action )1(\336)250( )127(eld\) )1(w)15(as )1(the )]TJ +0 Tw T* +[(end of reproduction \(stop\) of a node or anchor)49(.)]TJ +-3.248 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(static int PRESENT)120(A)120(TION_ABOR)30(T = 4;)]TJ +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +0.098 Tw 1.852 0 Td +[(Ev)25(ent )1(mask )1(f)30(or )1(presentation )1(e)30(v)25(ents )1(\(presentation )1(type\) )1(whose )1(action )1(\(action )1(\336)250( )127(eld\) )1(w)15(as )1(the )]TJ +0 Tw T* +[(abor)-40(ting of reproduction \(abor)-41(t\) of a node or anchor)49(.)]TJ +-3.248 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(static int PRESENT)120(A)120(TION_P)120(A)50(USE = 8)]TJ +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +0.098 Tw 1.852 0 Td +[(Ev)25(ent )1(mask )1(f)30(or )1(presentation )1(e)30(v)25(ents )1(\(presentation )1(type\) )1(whose )1(action )1(\(action )1(\336)250( )127(eld\) )1(w)15(as )1(the )]TJ +0 Tw T* +[(pausing of reproduction \(pause\) of a node or anchor)48(.)]TJ +-3.248 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(static int PRESENT)120(A)120(TION_RESUME = 16;)]TJ +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +0.098 Tw 1.852 0 Td +[(Ev)25(ent )1(mask )1(f)30(or )1(presentation )1(e)30(v)25(ents )1(\(presentation )1(type\) )1(whose )1(action )1(\(action )1(\336)250( )127(eld\) )1(w)15(as )1(the )]TJ +0 Tw T* +[(resumption of reproduction \(resume\) of a node or anchor)48(.)]TJ +ET + +endstream endobj 1134 0 obj <> endobj 1117 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text]>>/Rotate 0/TrimBox[0.0 0.0549927 595.22 841.945]/Type/Page>> endobj 1120 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text]>>/Rotate 0/TrimBox[0.0 0.0549927 595.22 841.945]/Type/Page>> endobj 1123 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text]>>/Rotate 0/TrimBox[0.0 0.0549927 595.22 841.945]/Type/Page>> endobj 1126 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text]>>/Rotate 0/TrimBox[0.0 0.0549927 595.22 841.945]/Type/Page>> endobj 1129 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text]>>/Rotate 0/TrimBox[0.0 0.0549927 595.22 841.945]/Type/Page>> endobj 1313 0 obj <>stream +BT +/CS0 cs 1 scn +/GS0 gs +/T1_0 1 Tf +8 0 0 8 417.7962 38.134 Tm +[(\251 ABNT 2010 - All r)-15(ights reser)-30(v)25(ed)]TJ +11 0 0 11 45.3266 35.8089 Tm +(84)Tj +/T1_1 1 Tf +0 68.648 TD +(ABNT NBR 15606-4:2010)Tj +/T1_0 1 Tf +0.695 -4.899 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(static int ST)40(OPPED)]TJ +0.685 -2.179 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(Identi\336)250( )28(cation f)30(or the stopped document.)]TJ +-3.943 -2.179 Td +[(The pub)20(lic methods f)30(or the NCLPla)30(y)20(er class are:)]TJ +0.695 -2.179 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(NCLPla)30(y)20(er\(ja)20(v)25(a.net.URL documentURL\))]TJ +0.685 -2.179 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +0.112 Tw 1.852 0 Td +[(Constr)-15(uctor method f)30(or the NCLPla)30(y)20(er)50(, which receiv)25(es a ja)20(v)25(a.net.URL class instance as a )]TJ +0 Tw 0 -1.2 TD +[(par)10(ameter f)30(or document locator)49(.)]TJ +-3.248 -2.179 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +5.688 Tw 1.919 0 Td +[(v)25(oidaddNCLPla)30(y)20(erEv)25(entListener\(NCLPla)30(y)20(erEv)25(entListener listener)50(, long )]TJ +0 Tw 0.081 -1.2 Td +[(nclPla)30(y)20(erEv)25(entPla)30(y)20(erMask\))]TJ +0.604 -2.179 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +-0.011 Tw 1.852 0 Td +[(This )1(method )1(registers )1(an )1(NCLPla)30(y)20(erEv)25(entListener )1(to )1(receiv)25(e )1(all )1(NCLPla)30(y)20(erEv)25(ents )1(distr)-15(ib)20(uted )]TJ +0 Tw T* +[(b)20(y the machine associated to the node link)20(ed to the long e)30(v)25(entMask v)25(alue supplied.)]TJ +-3.248 -2.179 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(v)25(oid remo)15(v)25(eNCLPla)30(y)20(erEv)25(entListener\(NCLPla)30(y)20(erEv)25(entListener listener\))]TJ +0.685 -2.179 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(Remo)15(v)25(es an NCLPla)30(y)20(erEv)25(entListener from the distr)-15(ib)20(uted NCLPla)30(y)20(erEv)25(ents reception class)15(.)]TJ +-3.248 -2.179 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(NCLPla)30(y)20(erEv)25(entListener[] getANCLPla)30(y)20(erEv)25(entListeners\(\))]TJ +0.685 -2.179 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +-0.002 Tw 1.852 0 Td +[(Retur)-25(ns a list of all NCLPla)30(y)20(erEv)25(entListeners registered in this NCLPla)30(y)20(er)50(.)60( Obser)-30(v)25(es that the )]TJ +0 Tw T* +[(listener objects added se)29(v)25(er)10(al times appear only once on the retur)-25(ned list.)]TJ +-3.248 -2.179 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(NCLPla)30(y)20(erEv)25(entListener[] getANCLPla)30(y)20(erEv)25(entListeners\(long nclPla)30(y)20(erEv)25(entMask\))]TJ +0.685 -2.179 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +0.067 Tw 1.852 0 Td +[(Retur)-25(ns a list of all NCLPla)30(y)20(erEv)25(entListeners registered in this NCLPla)30(y)20(er that listens to all )]TJ +0.135 Tw T* +[(types of e)30(v)25(ents indicated in the long e)30(v)25(entMask v)25(alue)15(.)60( )50(The listener objects added se)30(v)25(er)10(al )]TJ +0 Tw T* +[(times appear only once on the retur)-26(ned list.)]TJ +-3.248 -2.179 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(ja)20(v)25(a.net.URL getDocumentURL\(\))]TJ +0.685 -2.179 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +0.032 Tw 1.852 0 Td +[(Retur)-25(ns a class object ja)20(v)25(a.net.URL that is the NCL document locator being manipulated b)20(y )]TJ +0 Tw T* +[(the NCLPla)30(y)20(er object in question.)]TJ +-3.248 -2.179 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(ja)20(v)25(a.lang.Str)-15(ing getProper)-40(tyV)70(alue\(ja)20(v)25(a.lang.Str)-15(ing proper)-40(tyId\))]TJ +0.685 -2.179 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(Retur)-25(ns a Str)-15(ing instance with the proper)-41(ty v)25(alue de\336)250( )28(ned b)20(y the Str)-15(ing proper)-40(tyIdpar)10(ameter)50(.)]TJ +-3.248 -2.179 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +(int getStatus\(\))Tj +0.685 -2.179 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +-0.087 Tw 1.852 0 Td +[(Retur)-25(ns an integer that represents the status of the NCLPla)30(y)20(er object \(PLA)100(YING )]TJ +/T1_2 1 Tf +0 Tw 34.682 0 Td +(\226)Tj +/T1_0 1 Tf +-0.087 Tw [( in e)30(x)30(ecution, )]TJ +0 Tw -34.682 -1.2 Td +[(P)120(A)50(USED )]TJ +/T1_2 1 Tf +(\226)Tj +/T1_0 1 Tf +[( paused, ST)40(OPPED )]TJ +/T1_2 1 Tf +(\226)Tj +/T1_0 1 Tf +( stopped\).)Tj +-3.248 -2.179 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(v)25(oid setDocument\(ja)20(v)25(a.net.URL documentURL\))]TJ +0.685 -2.179 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +-0.012 Tw 1.852 0 Td +[(De\336)250( )16(nes the NCL document to be manipulated b)20(y the NCLPla)30(y)20(er)50(, receiving an object from the )]TJ +0.034 Tw T* +[(ja)20(v)25(a.net.URL class as document identi\336)250( )62(er)50(.)60( )50(The ne)20(w e)30(x)30(ecution status f)30(or the NCLPla)30(y)20(er shall )]TJ +0 Tw T* +[(be de\336)250( )28(ned as stopped \(ST)40(OPPED\).)60( )]TJ +-3.248 -2.179 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(boolean star)-40(tDocument\(ja)20(v)25(a.lang.Str)-15(ing interf)30(aceId\))]TJ +0.685 -2.179 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +-0.057 Tw 1.852 0 Td +[(It begins reproduction of an NCL document star)-40(ting the presentation at the document interf)30(ace )]TJ +0 Tw T* +[(speci\336)250( )28(ed b)20(y the Str)-15(ing interf)30(aceId instance)15(.)60( Retur)-25(ns tr)-15(ue if successful, and f)30(alse if otherwise)15(.)60( )]TJ +ET + +endstream endobj 1130 0 obj <> endobj 1312 0 obj <>stream +BT +/CS0 cs 1 scn +/GS0 gs +/T1_0 1 Tf +8 0 0 8 56.6651 38.2639 Tm +[(\251 ABNT 2010 - All r)-15(ights reser)-30(v)25(ed)]TJ +11 0 0 11 537.6613 35.9389 Tm +(83)Tj +/T1_1 1 Tf +-10.613 68.636 Td +(ABNT NBR 15606-4:2010)Tj +14 0 0 14 273.0462 734.7589 Tm +[(Anne)15(x D)]TJ +/T1_0 1 Tf +-0.368 -1.2 Td +[(\(nor)-25(mativ)25(e\))]TJ +/T1_1 1 Tf +-4.45 -2.4 Td +[(NCL Bridg)-10(e API Speci\036)]TJ +0.028 Tw 10.706 0 Td +[( )1(cation )]TJ +0 Tw 13 0 0 13 56.6651 617.2589 Tm +[(D)30(.1 )-965(General considerations)]TJ +/T1_0 1 Tf +0.065 Tw 11 0 0 11 56.6651 594.0589 Tm +[(The br)50(.org.sbtvd.br)-15(idge and br)50(.org.sbtvd.br)-15(idge)15(.ncl pac)20(kages ha)20(v)25(e a set of a)20(v)25(ailab)20(le classes f)30(or the )]TJ +-0.024 Tw 0 -1.2 TD +[(br)-15(idge betw)10(een applications wr)-15(itten in NCL and J)20(a)20(v)25(a languages in a Ginga en)20(vironment.)60( )50(The functions )]TJ +-0.069 Tw T* +[(a)20(v)25(ailab)20(le )1(in )1(the )1(classes )1(descr)-15(ibed )1(in )1(D)70(.2.1 )1(per)-25(mit )1(de)30(v)25(elopment )1(of )1(Ginga-J )1(applications)15(, )1(including )1(Ginga-)]TJ +0 Tw T* +[(NCL applications)15(, as w)10(ell as Ginga-NCL applications de)29(v)25(elopment, including J)20(a)20(v)25(a Xlets)15(.)60( )]TJ +0.011 Tw 0 -2.291 TD +[(This NCL Ginga-J br)-15(idge API mak)20(es it possib)20(le to present and manipulate a NCL document in a J)20(a)20(v)25(a )]TJ +-0.052 Tw 0 -1.2 TD +[(application, through NCLPla)30(y)20(er class)15(, preser)-30(ving the or)-15(iginal document throughout the entire e)30(xhibition )]TJ +0.088 Tw T* +[(process)15(.)60( )50(The classes that br)-15(ing such functionalities together are pro)15(vided b)20(y the br)50(.org.sbtvd.br)-15(idge )]TJ +0 Tw T* +[(pac)20(kage)15(.)]TJ +0.181 Tw 0 -2.291 TD +[(A NCL document is also capab)20(le of including Ginga-J Xlets as one of its media nodes \(element )]TJ +0.077 Tw 0 -1.2 TD +[(\).)60( An element with J)20(a)20(v)25(a code can de\336)250( )105(ne anchors \(through elements \), and )]TJ +-0.002 Tw T* +[(attr)-15(ib)20(utes \(through elements \).)60( )50(The tr)10(ansitions applied to Xlet will in)20(v)25(ok)20(e the methods of the )]TJ +0 Tw 44.839 0 Td +( )Tj +0.052 Tw -44.839 -1.2 Td +[(ja)20(v)25(ax.microedition.xlet.Xlet )1(interf)30(ace )1(\(see )1(PBP )1(1.1:2008\), )1(representing )1(the )1(tr)10(ansitions )1(of )1(the )1(machine )]TJ +-0.047 Tw T* +[(states)15(.)60( )50(The tr)10(ansitions applied to anchors )1(shall gener)10(ate NCLAchorEv)25(ent )1(class e)30(v)25(ents that encapsulate )]TJ +0.023 Tw T* +[(the tr)10(ansition and the anchor identi\336)250( )51(er in question.)60( D)70(.2.2 presents the classes that are responsib)20(le f)30(or )]TJ +0.002 Tw T* +[(Ginga-NCL comm)10(unication with the Ginga-J en)20(vironment when an NCL document )1(includes a )1(Ginga-J )]TJ +0 Tw T* +[(application.)60( )50(These classes compr)-15(ise the br)50(.org.sbtvd.br)-15(idge)15(.ncl pac)20(kage)15(.)60( )]TJ +0 -2.291 TD +[(Complementar)-30(y inf)30(or)-25(mation can be obtained in ABNT NBR 15606-2:2007, 10.3.4.3 and 11.2.)]TJ +/T1_1 1 Tf +13 0 0 13 56.6651 305.7579 Tm +[(D)30(.2 )-965(NCL bridg)-10(e API)]TJ +12 0 0 12 56.6651 278.3579 Tm +[(D)30(.2.1 )-1094(br)60(.or)15(g.sbtvd.net.tuning pac)20(ka)10(g)-10(e)]TJ +11 0 0 11 56.6651 253.1579 Tm +[(D)30(.2.1.1 )-1218(NCLPla)20(y)10(er c)20(lass)]TJ +/T1_0 1 Tf +0.021 Tw T* +[(The NCLPla)30(y)20(er class is a class that represents a displa)30(y f)30(or an NCL document, a g)10(r)10(aphic component )]TJ +0.002 Tw 0 -1.2 TD +[(that e)30(xtends ja)20(v)25(a.a)20(wt.Component.)60( Input e)30(v)25(ents \(k)20(e)20(ys)15(, f)30(or e)30(xample\) will be handled b)20(y the NCL displa)30(y )]TJ +0.005 Tw T* +[(\(the e)30(v)25(ents are repassed b)20(y the Ginga-J en)20(vironment to the Ginga-NCL\) while the NCLPla)30(y)20(er has the )]TJ +0 Tw T* +[(inter)10(action f)30(ocus)15(, among the g)10(r)10(aphic components being used in the Xlet in question.)]TJ +0 -2.291 TD +[(The NCLPla)30(y)20(er class' pub)20(lic static constants are:)50( )]TJ +0.695 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(static int PLA)100(YING)]TJ +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(Identi\336)250( )28(cation f)30(or the document in e)30(x)30(ecution.)]TJ +-3.248 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(static int P)120(A)50(USED)]TJ +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(Identi\336)250( )28(cation f)30(or the paused document.)]TJ +ET + +endstream endobj 1127 0 obj <> endobj 1311 0 obj <>stream +BT +/CS0 cs 1 scn +/GS0 gs +/T1_0 1 Tf +8 0 0 8 417.7962 38.134 Tm +[(\251 ABNT 2010 - All r)-15(ights reser)-30(v)25(ed)]TJ +11 0 0 11 45.3266 35.8089 Tm +(82)Tj +/T1_1 1 Tf +0 68.648 TD +(ABNT NBR 15606-4:2010)Tj +13 0 0 13 45.3265 735.5309 Tm +[(C.2 )-935(Channel c)20(lass)]TJ +/T1_0 1 Tf +0.097 Tw 11 0 0 11 45.3265 712.3309 Tm +[(The Channel class represents an object that contains channel data detect\ ed dur)-15(ing the s)30(w)10(eep)35(.)60( F)30(or )]TJ +-0.009 Tw 0 -1.2 TD +[(e)30(xample)15(, )1(from )1(this )1(class' )1(inf)30(or)-25(mation, )1(it )1(is )1(possib)20(le )1(to )1(tune )1(in )1(a )1(channel )1(from )1(its )1(vir)-40(tual )1(n)10(umber \(remote )]TJ +0 Tw T* +[(control k)20(e)20(y id\).)]TJ +0 -2.291 TD +[(The pub)20(lic methods are:)]TJ +0.695 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(com.sun.dtv)80(.tr)10(anspor)-40(t.T)120(r)10(anspor)-40(tStream getT)120(r)10(anspor)-40(tStream \(\))]TJ +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(Retur)-25(ns the object that contains the channel.)]TJ +-3.248 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(Str)-15(ing getNetw)10(or)-15(kName \(\))]TJ +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(Retur)-25(ns the descr)-15(iption of the netw)10(or)-15(k in which the channel is no)15(w)60(.)]TJ +-3.248 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(Str)-15(ing getIT)120(r)10(anspor)-40(tStreamName \(\))]TJ +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(Retur)-25(ns the descr)-15(iption of the tr)10(anspor)-40(t stream in which the channel is no)14(w)60(.)]TJ +-3.248 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(int getRemoteControlK)39(e)20(yId\(\))]TJ +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(Retur)-25(ns the channel\325)50(s vir)-40(tual n)10(umber)50(.)]TJ +ET + +endstream endobj 1124 0 obj <> endobj 1310 0 obj <>stream +BT +/CS0 cs 1 scn +/GS0 gs +/T1_0 1 Tf +8 0 0 8 56.6651 38.2639 Tm +[(\251 ABNT 2010 - All r)-15(ights reser)-30(v)25(ed)]TJ +11 0 0 11 537.6613 35.9389 Tm +(81)Tj +/T1_1 1 Tf +-10.613 68.636 Td +(ABNT NBR 15606-4:2010)Tj +14 0 0 14 273.0462 734.7589 Tm +[(Anne)15(x C)]TJ +/T1_0 1 Tf +-0.368 -1.2 Td +[(\(nor)-25(mativ)25(e\))]TJ +/T1_1 1 Tf +-6.845 -2.4 Td +[(API e)15(xtension speci\036)306( )-27(cation f)20(or tuning \226 )]TJ +1.796 -1.2 Td +[(P)30(ac)20(ka)10(g)-10(e br)60(.or)15(g.sbtvd.net.tuning)]TJ +13 0 0 13 56.6651 600.4589 Tm +[(C.1 )-935(ChannelMana)10(g)-10(er c)20(lass)]TJ +/T1_0 1 Tf +-0.005 Tc -0.103 Tw 11 0 0 11 56.6651 577.2589 Tm +[(The ChannelManager class speci\336)249( )-77(es )1(an )1(object responsib)20(le )1(f)30(or )1(the )1(zapping )1(activity )1(\(changing\) )1(of )1(channels )]TJ +0 Tw 0 -1.2 TD +[(through the netw)10(or)-15(k interf)30(ace \(land, cab)20(le)15(, satellite)15(, IPTV\) that e)30(xists in the digital tele)30(vision receiv)25(er)50(.)]TJ +0 Tc 0 -2.291 TD +[(The pub)20(lic methods are:)50( )]TJ +0.695 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(static )-287(ChannelManager getInstance \(\))]TJ +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(Retur)-25(ns an object \(instance\) ChannelManager)49(.)]TJ +-3.248 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(int )-383(getNumberofChannels \(\))]TJ +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(Retur)-25(ns the n)10(umber of channels f)29(ound in all netw)10(or)-15(k interf)30(aces a)20(v)25(ailab)20(le in the system.)]TJ +-3.248 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(Channel [] )-427(getChannels \(\))]TJ +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(Retur)-25(ns the n)10(umber of channels f)29(ound in all netw)10(or)-15(k interf)30(aces a)20(v)25(ailab)20(le in the system.)]TJ +-3.248 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +0.224 Tw 1.919 0 Td +[(v)25(oid tuneChannel \(Channel ch, com.sun.dtv)80(.tuner)50(.T)120(unerListener lis\) thro)15(ws )1(com.sun.dtv)80(.tuner)50(.)]TJ +0 Tw 0.081 -1.2 Td +[(T)120(uningException)]TJ +0.604 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +0.147 Tw 1.852 0 Td +[(Asynchronically tunes in the channel pro)15(vided b)20(y the whole par)10(ameter n)10(um.)60( )50(This method )]TJ +0.1 Tw 0 -1.2 TD +[(launches an e)30(xception of the com.sun.dtv)80(.tuner)50(.T)120(uningException type in the case of tuning )]TJ +0 Tw T* +[(f)30(ailure)15(.)]TJ +-3.248 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.031 Tw 1.919 0 Td +[(v)25(oid tuneNe)30(xtChannel \(com.sun.dtv)80(.tuner)50(.T)120(unerListener lis\) thro)15(ws com.sun.dtv)80(.tuner)50(.)]TJ +0 Tw 0.081 -1.2 Td +[(T)120(uningException)]TJ +0.604 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +-0.004 Tw 1.852 0 Td +[(Asynchronically tunes in the ne)30(xt channel on the tab)20(le )50(T)120(r)10(anspor)-40(tStream gener)10(ated dur)-15(ing the )]TJ +0.023 Tw T* +[(s)30(w)10(eep)35(.)60( )50(This method launches an e)30(xception of the com.sun.dtv)80(.tuner)50(.T)120(uningException type in )]TJ +0 Tw T* +[(the case of tuning f)29(ailure)15(.)]TJ +-3.248 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +0.664 Tw 1.919 0 Td +[(v)25(oid tunePre)30(viousChannel \(com.sun.dtv)80(.tuner)50(.T)120(unerListener lis\) thro)15(ws com.sun.dtv)80(.tuner)50(.)]TJ +0 Tw 0.081 -1.2 Td +[(T)120(uningException)]TJ +0.604 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +-0.035 Tw 1.852 0 Td +[(Asynchronously tunes in the pre)30(vious channel on the tab)20(le )50(T)120(r)10(anspor)-40(tStream gener)10(ated dur)-15(ing )]TJ +-0.038 Tw T* +[(the s)30(w)10(eep)35(.)60( )50(This method launches an e)30(xception of the com.sun.dtv)80(.tuner)50(.T)120(uningException type )]TJ +0 Tw T* +[(in the case of tuning f)29(ailure)15(.)]TJ +ET + +endstream endobj 1121 0 obj <> endobj 1309 0 obj <>stream +BT +/CS0 cs 1 scn +/GS0 gs +/T1_0 1 Tf +8 0 0 8 417.7962 38.134 Tm +[(\251 ABNT 2010 - All r)-15(ights reser)-30(v)25(ed)]TJ +11 0 0 11 45.3266 35.8089 Tm +(80)Tj +/T1_1 1 Tf +0 68.648 TD +(ABNT NBR 15606-4:2010)Tj +0 -4.896 TD +[(B.2.2.34 )-632(SIUtil c)20(lass)]TJ +/T1_0 1 Tf +0 -2.231 TD +[(The SIUtil class includes a utility function rele)29(v)25(ant to the SI.)]TJ +0 -2.282 TD +[(The pub)20(lic method f)30(or the SIUtil class is:)]TJ +0.695 -2.282 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +-0.018 Tw 1.919 0 Td +[(static ja)20(v)25(a.lang.Str)-15(ing con)20(v)25(er)-40(tSIStr)-15(ingT)120(oJ)20(a)20(v)25(aStr)-15(ing\(b)20(yte[] sbtvdSIT)120(e)30(xt, int offset, int length\) thro)15(ws )]TJ +0 Tw 0.081 -1.2 Td +[(br)50(.org.sbtvd.si.SIIllegalArgumentException)]TJ +0.609 -2.282 Td +( )Tj +/C2_0 1 Tf +-0.609 0 Td +<017C>Tj +/T1_0 1 Tf +0.005 Tc 0.369 Tw 1.852 0 Td +[(This method con)20(v)25(er)-40(ts the encr)-30(ypted te)30(xt str)-15(ing to the J)20(a)20(v)25(a object str)-15(ing based on)]TJ +0 Tw 0 -1.2 TD +[(ARIB STD-B10:2008 P)40(ar)-40(t 2, Appendix A.)60( )50(This method inher)-15(ited from ja)20(v)25(a.lang.Object class)15(.)]TJ +/T1_1 1 Tf +0 Tc -3.943 -2.282 Td +[(B.2.2.35 )-632(SIException\(\) c)20(lass)]TJ +/T1_0 1 Tf +-0.042 Tw 0 -2.231 TD +[(The SIException\(\) class is based on the SI e)30(xception hier)10(arch)30(y)100(.)60( )50(This class e)30(xtends ja)20(v)25(a.lang.Exception.)]TJ +0 Tw 0 -2.282 TD +[(The pub)20(lic method f)30(or the SIException\(\) is:)]TJ +0.695 -2.282 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +(SIException\(\))Tj +0.685 -2.282 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(Standard e)30(xception constr)-15(uctor)50(.)]TJ +-3.248 -2.282 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(SIException\(Str)-15(ing message\))]TJ +0.685 -2.282 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(Constr)-15(uctor with par)10(ameter \(Str)-15(ing\) to indicate the e)29(xception reason.)]TJ +/T1_1 1 Tf +-3.943 -2.282 Td +[(B.2.2.36 )-632(SIIllegalAr)15(gumentException\(\) c)19(lass)]TJ +/T1_0 1 Tf +-0.052 Tw 0 -2.231 TD +(The SIIllegalArgumentException\(\) class is launched when more than one \ improper argument is passed )Tj +0 Tw 0 -1.2 TD +[(on \(f)30(or e)30(xample)15(, out-of-space n)10(umer)-15(ical v)25(alues\).)60( )50(This class e)30(xtends br)50(.sbtvd.si.SIException.)]TJ +0 -2.257 TD +[(The pub)20(lic method f)30(or the SIIllegalArgumentException\(\) class is:)]TJ +0.695 -2.257 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +(SIIllegalArgumentException\(\))Tj +0.685 -2.257 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(Standard e)30(xception constr)-15(uctor)50(.)]TJ +-3.248 -2.257 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(SIIllegalArgumentException \(Str)-16(ing message\))]TJ +0.685 -2.257 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(Constr)-15(uctor with par)10(ameter \(Str)-15(ing\) to indicate the e)29(xception reason.)]TJ +/T1_1 1 Tf +-3.943 -2.257 Td +[(B.2.2.37 )-632(SIIn)40(v)20(alidP)30(eriodException c)20(lass)]TJ +/T1_0 1 Tf +-0.032 Tw 0 -2.231 TD +[(The SIIn)20(v)25(alidP)50(er)-15(iodException class occurs when the speci\336)250( ed time e)30(xtension is improper)50(, f)30(or e)30(xample)15(, )]TJ +0 Tw 0 -1.2 TD +[(initialization time is fur)-41(ther dela)30(y)20(ed.)60( )50(This class e)30(xtends br)50(.org.sbtvd.si.SIException.)]TJ +0 -2.257 TD +[(The pub)20(lic methods f)30(or the SIIn)20(v)25(alidP)50(er)-15(iodException class are:)]TJ +0.695 -2.257 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(SIIn)20(v)25(alidP)50(er)-15(iodException\(\))]TJ +0.685 -2.257 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(Standard e)30(xception constr)-15(uctor)50(.)]TJ +-3.248 -2.257 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(SIIn)20(v)25(alidP)50(er)-15(iodException\(ja)20(v)25(a.lang.Str)-15(ing reason\))]TJ +0.685 -2.257 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(Exception constr)-15(uctor that has a reason to be speci\336)249( )28(ed.)]TJ +ET + +endstream endobj 1118 0 obj <> endobj 1102 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text]>>/Rotate 0/TrimBox[0.0 0.0549927 595.22 841.945]/Type/Page>> endobj 1105 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text]>>/Rotate 0/TrimBox[0.0 0.0549927 595.22 841.945]/Type/Page>> endobj 1108 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text]>>/Rotate 0/TrimBox[0.0 0.0549927 595.22 841.945]/Type/Page>> endobj 1111 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text]>>/Rotate 0/TrimBox[0.0 0.0549927 595.22 841.945]/Type/Page>> endobj 1114 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text]>>/Rotate 0/TrimBox[0.0 0.0549927 595.22 841.945]/Type/Page>> endobj 1308 0 obj <>stream +BT +/CS0 cs 1 scn +/GS0 gs +/T1_0 1 Tf +8 0 0 8 56.6651 38.2639 Tm +[(\251 ABNT 2010 - All r)-15(ights reser)-30(v)25(ed)]TJ +11 0 0 11 537.6613 35.9389 Tm +(79)Tj +/T1_1 1 Tf +-10.613 68.636 Td +(ABNT NBR 15606-4:2010)Tj +/T1_0 1 Tf +-33.114 -4.899 Td +[(The pub)20(lic methods f)30(or the SIRetr)-15(ie)30(v)25(alEv)25(ent class are:)]TJ +0.695 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(SIRetr)-15(ie)30(v)25(alEv)25(ent\(ja)20(v)25(a.lang.Object appData, SIRequest request\))]TJ +0.685 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(Constr)-15(uctor of the e)30(v)25(ent)]TJ +-3.248 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(ja)20(v)25(a.lang.Object getAppData\(\))]TJ +0.685 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(This method retur)-25(ns application data that go through the acquisition method.)]TJ +-3.248 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(ja)20(v)25(a.lang.Object getSource\(\))]TJ +0.685 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(This method retur)-25(ns a SIRequest object f)29(or the e)30(v)25(ent of or)-15(igin.)]TJ +/T1_1 1 Tf +-3.943 -2.231 Td +[(B.2.2.31 )-632(SISuccessfulRetrie)14(veEvent c)20(lass)]TJ +/T1_0 1 Tf +0.147 Tw 0 -2.231 TD +[(The SISuccessfulRetr)-15(ie)30(v)25(eEv)25(ent class e)30(v)25(ent is sent as a response when the request is ter)-25(minated )]TJ +0.047 Tw 0 -1.2 TD +[(nor)-25(mally)100(.)60( )50(The result can be acquired b)20(y using the getResult method.)60( )50(This class e)30(xtends br)50(.org.sbtvd.)]TJ +0 Tw T* +[(si.SIRetr)-15(ie)30(v)25(alEv)25(ent.)]TJ +0 -2.231 TD +[(The pub)20(lic methods f)30(or the SISuccessfulRetr)-16(ie)30(v)25(eEv)25(ent class are:)]TJ +0.695 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(SISuccessfulRetr)-15(ie)30(v)25(eEv)25(ent\(ja)20(v)25(a.lang.Object appData, SIRequest request, SIIter)10(ator result\))]TJ +0.685 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(Constr)-15(uctor)]TJ +-3.248 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(SIIter)10(ator getResult\(\))]TJ +0.685 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(This method retur)-25(ns the SIIter)10(ator object that includes requested data.)]TJ +/T1_1 1 Tf +-3.943 -2.231 Td +[(B.2.2.32 )-632(SIT)80(ab)10(leNotFoundEvent c)20(lass)]TJ +/T1_0 1 Tf +0.113 Tw T* +[(The SIT)120(ab)20(leF)30(oundEv)25(ent class e)30(v)25(ent is sent as a response when the SI tab)20(le that shall contain the )]TJ +-0.06 Tw 0 -1.2 TD +[(requested inf)30(or)-25(mation has not been f)30(ound.)60( One of the reasons ma)30(y be the f)30(act it is not being tr)10(ansmitted )]TJ +0 Tw T* +[(in the stream connected to the SI database)14(.)60( )50(This class e)30(xtends br)50(.org.sbtvd.si.SIRetr)-15(ie)30(v)25(alEv)25(ent class)15(.)]TJ +0 -2.231 TD +[(The pub)20(lic method f)30(or the SIT)120(ab)20(leNotF)30(oundEv)25(ent class is:)]TJ +T* +[(SIT)120(ab)20(leNotF)30(oundEv)25(ent\(ja)20(v)25(a.lang.Object appData, SIRequest request\))]TJ +2.695 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(Constr)-15(uctor)]TJ +/T1_1 1 Tf +-3.943 -2.231 Td +[(B.2.2.33 )-632(SIT)80(ab)10(leUpdatedEvent c)20(lass)]TJ +/T1_0 1 Tf +0.19 Tw 0 -2.205 TD +[(The SIT)120(ab)20(leUpdateEv)25(ent class e)30(v)25(ent is launched as a response when the tab)20(le)15(, which tr)10(ansmits )]TJ +0.128 Tw 0 -1.2 TD +[(the inf)30(or)-25(mation about the SI requisition's target object is updated and the descr\ )-15(iptor inf)30(or)-25(mation in )]TJ +0.096 Tw T* +[(compliance with the old object is not a)20(v)25(ailab)20(le)15(.)60( In this case)15(, the application shall initially update the )]TJ +0.088 Tw T* +[(SIInf)30(or)-25(mation object.)60( )50(Then the inf)30(or)-25(mation about the descr)-15(iptor shall be requested again.)60( )50(This class )]TJ +0 Tw T* +[(e)30(xtends br)50(.org.sbtvd.si.SIRetr)-15(ie)30(v)25(alEv)25(ent.)]TJ +0 -2.231 TD +[(The pub)20(lic method f)30(or the SIT)120(ab)20(leUpdatedEv)25(ent class is:)]TJ +0.695 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(SIT)120(ab)20(leUpdatedEv)25(ent\(ja)20(v)25(a.lang.Object appData, SIRequest request\))]TJ +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(Standard Constr)-15(uctor)]TJ +ET + +endstream endobj 1115 0 obj <> endobj 1307 0 obj <>stream +BT +/CS0 cs 1 scn +/GS0 gs +/T1_0 1 Tf +8 0 0 8 417.7962 38.134 Tm +[(\251 ABNT 2010 - All r)-15(ights reser)-30(v)25(ed)]TJ +11 0 0 11 45.3266 35.8089 Tm +(78)Tj +/T1_1 1 Tf +0 68.648 TD +(ABNT NBR 15606-4:2010)Tj +0 -4.896 TD +[(B.2.2.26 )-632(SINotInCac)10(heEvent c)20(lass)]TJ +/T1_0 1 Tf +0.166 Tw 0 -2.291 TD +[(When the request f)30(or SI acquisition in the FR)20(OM_CA)30(CHE_ONL)140(Y mode is e)30(x)30(ecuted and the data )]TJ +0.006 Tw 0 -1.2 TD +[(requested does not e)30(xist in the cache)15(, this e)30(v)25(ent is noti\336)250( )34(ed as a reply)100(.)60( )50(This class e)30(xtends br)50(.org.sbtvd.)]TJ +0 Tw T* +[(si.SIRetr)-15(ie)30(v)25(alEv)25(ent.)]TJ +0 -2.291 TD +[(The pub)20(lic method f)30(or the SINotInCacheEv)24(ent class is:)]TJ +T* +[(SINotInCacheEv)25(ent\(ja)20(v)25(a.lang.Object appData, SIRequest request\))]TJ +2.695 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(Constr)-15(uctor of the e)30(v)25(ent)]TJ +/T1_1 1 Tf +-3.943 -2.291 Td +[(B.2.2.27 )-632(SIObjectNotInT)80(ab)10(leEvent c)20(lass)]TJ +/T1_0 1 Tf +0.048 Tw T* +[(The SIObjectNotlnT)120(ab)20(leEv)25(ent class e)30(v)25(ent is noti\336)250( )76(ed when the SI tab)20(le with the inf)30(or)-25(mation about the )]TJ +0.102 Tw 0 -1.2 TD +[(location of the requested object is reco)15(v)25(ered b)20(ut does not contain the ref)30(erred to object.)60( )50(This class )]TJ +0 Tw T* +[(e)30(xtends br)50(.org.sbtvd.si.SIRetr)-15(ie)30(v)25(alEv)25(ent.)]TJ +0 -2.291 TD +[(The pub)20(lic method f)30(or the SIObjectNotInT)119(ab)20(leEv)25(ent class is:)]TJ +T* +[(SIObjectNotInT)120(ab)20(leEv)25(ent\(ja)20(v)25(a.lang.Object appData, SIRequest request\))]TJ +2.695 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(Constr)-15(uctor of the e)30(v)25(ent)]TJ +/T1_1 1 Tf +-3.943 -2.291 Td +[(B.2.2.28 )-632(SIRequest c)20(lass)]TJ +/T1_0 1 Tf +-0.069 Tw T* +[(The )1(instance )1(of )1(the )1(SIRequest )1(class )1(object )1(indicates )1(the )1(application )1(acquisition )1(request.)60( )51(The )1(application )]TJ +0 Tw 0 -1.2 TD +(can cancel the request using this object.)Tj +0 -2.291 TD +[(The pub)20(lic methods f)30(or the SIRequest class are:)]TJ +0.695 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +(boolean cancelRequest\(\))Tj +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +(This method cancels the acquisition request.)Tj +-3.248 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(boolean isA)40(v)25(ailab)20(leInCache\(\))]TJ +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(This method retur)-25(ns the a)20(v)25(ailability of inf)30(or)-25(mation if it is retur)-25(ned from the stream or cache)15(.)]TJ +/T1_1 1 Tf +-3.943 -2.291 Td +[(B.2.2.29 )-632(SIRequestCancelledEvent c)19(lass)]TJ +/T1_0 1 Tf +0.035 Tw T* +[(The SIRequestCancelledEv)24(ent class e)30(v)25(ent is launched as a response when a requisition is canceled )]TJ +0 Tw 0 -1.2 TD +[(using the SIRequest.cancelRequest method.)59( )50(This class e)30(xtends br)50(.org.sbtvd.si.SIRetr)-15(ie)30(v)25(alEv)25(ent.)]TJ +0 -2.291 TD +[(The pub)20(lic method f)30(or the SIRequestCancelledEv)24(ent class is:)]TJ +T* +[(SIRequestCancelledEv)24(ent\(ja)20(v)25(a.lang.Object appData, SIRequest request\))]TJ +2.695 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(Constr)-15(uctor)]TJ +/T1_1 1 Tf +-3.943 -2.291 Td +[(B.2.2.30 )-632(SIRetrie)15(v)20(alEvent c)20(lass)]TJ +/T1_0 1 Tf +0.054 Tw T* +[(The SIRetr)-15(ie)30(v)25(alEv)25(ent class is a basic class f)30(or the SI acquisition request conclusion e)30(v)25(ent.)60( Only one )]TJ +0 Tw 0 -1.2 TD +[(e)30(v)25(ent is retur)-25(ned f)30(or an SI acquisition request.)60( )50(This class e)30(xtends ja)20(v)25(a.util.Ev)25(entObject.)]TJ +ET + +endstream endobj 1112 0 obj <> endobj 1306 0 obj <>stream +BT +/CS0 cs 1 scn +/GS0 gs +/T1_0 1 Tf +8 0 0 8 56.6651 38.2639 Tm +[(\251 ABNT 2010 - All r)-15(ights reser)-30(v)25(ed)]TJ +11 0 0 11 537.6613 35.9389 Tm +(77)Tj +/T1_1 1 Tf +-10.613 68.636 Td +(ABNT NBR 15606-4:2010)Tj +-33.114 -4.896 Td +[(B.2.2.25 )-632(SIMonitoringEvent c)19(lass)]TJ +/T1_0 1 Tf +-0.037 Tw 0 -2.291 TD +[(The object of the SIMonitor)-15(ingEv)25(ent class is tr)10(ansmitted so the listener object noti\336)250( )-9(es the application of )]TJ +0 Tw 0 -1.2 TD +[(the change in monitored inf)29(or)-25(mation.)60( )50(This class e)30(xtends ja)20(v)25(a.util.Ev)25(entObject.)]TJ +0 -2.291 TD +[(The pub)20(lic methods f)30(or the SIMonitor)-15(ingEv)25(ent class are:)]TJ +0.695 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.008 Tw 1.919 0 Td +[(SIMonitor)-15(ingEv)25(ent\(SIDatabase source)15(,b)20(yte objectT)120(ype)15(,int netw)10(or)-15(kId,int bouquetId, int )]TJ +0.015 Tw 0.081 -1.2 Td +[(or)-15(iginalNetw)10(or)-15(kId, int tr)10(anspor)-40(tStreamId, int broadcasterId, int ser)-30(viceId, ja)20(v)25(a.util.Date star)-40(tTime)15(, )]TJ +0 Tw 0 -1.2 TD +[(ja)20(v)25(a.util.Date endTime\))]TJ +0.604 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(Constr)-15(uctor of e)30(v)25(ent object)]TJ +-3.248 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +(int getBouquetID\(\))Tj +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(This method retur)-25(ns the bouquet ID)]TJ +-3.248 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +(int getBroadcasterID\(\))Tj +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(This method retur)-25(ns the broadcaster ID f)29(or the broadcaster)49(.)]TJ +-3.248 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(ja)20(v)25(a.util.Date getEndTime\(\))]TJ +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(This method retur)-25(ns the end of prog)9(r)10(amming when e)30(v)25(ent inf)30(or)-25(mation is modi\336)250( )28(ed.)]TJ +-3.248 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(int getNetw)10(or)-15(kID\(\))]TJ +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(This method retur)-25(ns the netw)10(or)-15(k ID f)30(or the netw)10(or)-15(k.)]TJ +-3.248 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(int getOr)-15(iginalNetw)10(or)-15(kID\(\))]TJ +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(This method retur)-25(ns the or)-15(iginal netw)10(or)-15(k ID f)30(or the SIInf)30(or)-25(mation object.)]TJ +-3.248 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(int getSer)-30(viceID\(\))]TJ +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(This method retur)-25(ns the ser)-30(vice ID f)30(or the SIInf)30(or)-25(mation object.)]TJ +-3.248 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(b)20(yte getSIInf)30(or)-25(mationT)120(ype\(\))]TJ +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(This method acquires the SIInf)29(or)-25(mation type in the change of inf)30(or)-25(mation.)]TJ +-3.248 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(ja)20(v)25(a.lang.Object getSource\(\))]TJ +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(This method acquires the SIDatabase instance to be sent to the e)28(v)25(ent.)]TJ +-3.248 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(ja)20(v)25(a.util.Date getStar)-40(tTime\(\))]TJ +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(This method retur)-25(ns the beginning of prog)9(r)10(amming when e)30(v)25(ent inf)30(or)-25(mation is modi\336)250( )28(ed.)]TJ +-3.248 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(int getT)120(r)10(anspor)-40(tStreamID\(\))]TJ +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(This method retur)-25(ns the tr)10(anspor)-40(t stream ID f)30(or the SIInf)30(or)-25(mation object.)]TJ +ET + +endstream endobj 1109 0 obj <> endobj 1305 0 obj <>stream +BT +/CS0 cs 1 scn +/GS0 gs +/T1_0 1 Tf +8 0 0 8 417.7962 38.134 Tm +[(\251 ABNT 2010 - All r)-15(ights reser)-30(v)25(ed)]TJ +11 0 0 11 45.3266 35.8089 Tm +(76)Tj +/T1_1 1 Tf +0 68.648 TD +(ABNT NBR 15606-4:2010)Tj +/T1_0 1 Tf +0.695 -4.899 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +3.026 Tw 1.919 0 Td +[(SIRequest retr)-15(ie)30(v)25(eSINetw)10(or)-15(ks\(shor)-40(t retr)-15(ie)30(v)25(eMode)15(,ja)20(v)25(a.lang.Object appData, )]TJ +0.366 Tw 0.081 -1.2 Td +[(SIRetr)-15(ie)30(v)25(alListener listener)50(, int netw)10(or)-15(kId, shor)-40(t[] someDescr)-15(iptorT)120(ags\) thro)15(ws br)50(.org.sbtvd.)]TJ +0 Tw 0 -1.2 TD +(si.SIIllegalArgumentException)Tj +0.604 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(This method acquires the inf)29(or)-25(mation rele)30(v)25(ant to the netw)10(or)-15(k.)]TJ +-3.248 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +0.3 Tw 1.919 0 Td +[(SIRequest retr)-15(ie)30(v)25(eSISer)-30(vice\(shor)-40(t retr)-15(ie)30(v)25(eMode)15(,ja)20(v)25(a.lang.Object appData, SIRetr)-15(ie)30(v)25(alListener )]TJ +0.716 Tw 0.081 -1.2 Td +[(listener)50(, SBTVDLocator sbtvdLocator)50(, shor)-40(t[] someDescr)-15(iptorT)120(ags\) thro)15(ws br)50(.org.sbtvd.)]TJ +0 Tw T* +(si.SIIllegalArgumentException)Tj +0.604 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(This method acquires the rele)29(v)25(ant inf)30(or)-25(mation f)30(or this ser)-30(vice)15(.)]TJ +-3.248 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +0.175 Tw 1.919 0 Td +[(SIRequest retr)-15(ie)30(v)25(eSISer)-30(vices\(shor)-40(t retr)-15(ie)30(v)25(eMode)15(,ja)20(v)25(a.lang.Object appData, SIRetr)-15(ie)30(v)25(alListener )]TJ +0.258 Tw 0.081 -1.2 Td +[(listener)50(,int or)-15(iginalNetw)10(or)-15(kId,int tr)10(anspor)-40(tStreamId, int ser)-30(viceId, shor)-40(t[] someDescr)-15(iptorT)120(ags\) )]TJ +0 Tw T* +[(thro)15(ws br)50(.org.sbtvd.si.SIIllegalArgumentException)]TJ +0.604 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(This method acquires the rele)29(v)25(ant inf)30(or)-25(mation f)30(or this ser)-30(vice)15(.)]TJ +-3.248 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +2.266 Tw 1.919 0 Td +[(SIRequest )1(retr)-15(ie)30(v)25(eSITimeF)45(romTDT\(shor)-40(t )1(retr)-15(ie)30(v)25(eMode)15(,ja)20(v)25(a.lang.Object )1(appData, )]TJ +0 Tw 0.081 -1.2 Td +[(SIRetr)-15(ie)30(v)25(alListener listener\) thro)15(ws br)50(.org.sbtvd.si.SIIllegalArgumentException)]TJ +0.604 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(This method acquires inf)29(or)-25(mation about time from the )50(Time Date )50(T)120(ab)20(le \(TDT\).)]TJ +-3.248 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +2.274 Tw 1.919 0 Td +[(SIRequest )1(retr)-15(ie)30(v)25(eSITimeF)45(romT)40(O)40(T\(shor)-40(t )1(retr)-15(ie)30(v)25(eMode)15(,ja)20(v)25(a.lang.Object )1(appData, )]TJ +1.758 Tw 0.081 -1.2 Td +[(SIRetr)-15(ie)30(v)25(alListener listener)50(, shor)-40(t[] someDescr)-15(iptorT)120(ags\) thro)15(ws br)50(.org.sbtvd.)]TJ +0 Tw T* +(si.SIIllegalArgumentException)Tj +0.604 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(This method acquires inf)29(or)-25(mation about time from the )50(Time Offset )50(T)120(ab)20(le \(T)40(O)40(T\).)]TJ +/T1_1 1 Tf +-3.943 -2.231 Td +[(B.2.2.23 )-632(SIExEventInf)20(ormation c)20(lass)]TJ +/T1_0 1 Tf +-0.014 Tw 0 -2.231 TD +[(The SIExEv)25(entInf)30(or)-25(mation interf)30(ace indicates the items of the descr)-15(iption and the names of the details )]TJ +0 Tw 0 -1.2 TD +[(f)30(or a speci\336)250( )28(c prog)10(r)10(am.)60( )50(The inf)30(or)-25(mation is acquired from the e)30(v)25(ent descr)-15(iptors in e)30(xtended f)30(or)-25(mat.)]TJ +0 -2.231 TD +[(The pub)20(lic methods f)30(or the SIExEv)25(entInf)30(or)-25(mation class are:)]TJ +0.695 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(ja)20(v)25(a.lang.Str)-15(ing getDescr)-15(iption\(\))]TJ +0.685 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(This method acquires the descr)-16(iption of the item.)]TJ +-3.248 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(ja)20(v)25(a.lang.Str)-15(ing getName\(\))]TJ +0.685 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +(This method acquires the name of the item.)Tj +/T1_1 1 Tf +-3.943 -2.231 Td +[(B.2.2.24 )-632(SILac)20(kOfResour)20(cesEvent c)20(lass)]TJ +/T1_0 1 Tf +0.189 Tw T* +[(The )1(SILac)20(kOfResourcesEv)25(ent )1(class )1(e)30(v)25(ent )1(is )1(noti\336)250( )218(ed )1(when )1(the )1(resources )1(necessar)-30(y )1(f)30(or )1(acquir)-15(ing )]TJ +0.394 Tw 0 -1.2 TD +[(requested data in a requisition are not a)20(v)25(ailab)20(le in the SI.)60( )50(This class e)30(xtends br)50(.org.sbtvd.)]TJ +0 Tw T* +[(si.SIRetr)-15(ie)30(v)25(alEv)25(ent)]TJ +0 -2.231 TD +[(The pub)20(lic method f)30(or the SILac)20(kOfResourcesEv)25(ent class is:)]TJ +0.695 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(SILac)20(kOfResourcesEv)25(ent\(ja)20(v)25(a.lang.Object appData, SIRequest request\))]TJ +0.685 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(The constr)-15(uctor of this e)30(v)25(ent.)]TJ +ET + +endstream endobj 1106 0 obj <> endobj 1304 0 obj <>stream +BT +/CS0 cs 1 scn +/GS0 gs +/T1_0 1 Tf +8 0 0 8 56.6651 38.2639 Tm +[(\251 ABNT 2010 - All r)-15(ights reser)-30(v)25(ed)]TJ +11 0 0 11 537.6613 35.9389 Tm +(75)Tj +/T1_1 1 Tf +-10.613 68.636 Td +(ABNT NBR 15606-4:2010)Tj +/T1_0 1 Tf +-32.419 -4.899 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +2.203 Tw 1.919 0 Td +[(SIRequest )1(retr)-15(ie)30(v)25(eActualSISer)-30(vices\(shor)-40(t )1(retr)-15(ie)30(v)25(eMode)15(,ja)20(v)25(a.lang.Object )1(appData, )]TJ +0 Tw 42.829 0 Td +( )Tj +1.758 Tw -42.748 -1.2 Td +[(SIRetr)-15(ie)30(v)25(alListener listener)50(, shor)-40(t[] someDescr)-15(iptorT)120(ags\) thro)15(ws br)50(.org.sbtvd.)]TJ +0 Tw 0 -1.2 TD +(si.SIIllegalArgumentException)Tj +0.604 -2.128 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(This method acquires the rele)29(v)25(ant inf)30(or)-25(mation f)30(or this ser)-30(vice)15(.)]TJ +-3.248 -2.128 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.71 Tw 1.919 0 Td +[(SIRequest retr)-15(ie)30(v)25(eActualSIT)120(r)10(anspor)-40(tStreaM \(shor)-40(t retr)-15(ie)30(v)25(eMode)15(, ja)20(v)25(a.lang.Object )]TJ +0.706 Tw 0.081 -1.2 Td +[(appData, SIRetr)-15(ie)30(v)25(alListener listener)50(, shor)-40(t[] someDescr)-15(iptorT)120(ags\).)60( thro)15(ws br)50(.org.sbtvd.)]TJ +0 Tw T* +(si.SIIllegalArgumentException)Tj +0.604 -2.128 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(This method acquires the rele)29(v)25(ant inf)30(or)-25(mation f)30(or the stream.)]TJ +-3.248 -2.128 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.776 Tw 1.919 0 Td +[(SIRequestretr)-15(ie)30(v)25(ePMTElementar)-30(yStreams\(shor)-40(t retr)-15(ie)30(v)25(eMode)15(,ja)20(v)25(a.lang.Object appData, )]TJ +0.233 Tw 0.081 -1.2 Td +[(SIRetr)-15(ie)30(v)25(alListener listener)50(, SBTVDLocator sbtvdLocator)50(, shor)-40(t[] someDescr)-15(iptorT)120(ags\) thro)15(ws )]TJ +0 Tw T* +[(br)50(.org.sbtvd.si.SIIllegalArgumentException)]TJ +0.604 -2.128 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +0.15 Tw 1.852 0 Td +[(This method acquires inf)30(or)-25(mation about PMT\325)50(s elementar)-30(y stream rele)30(v)25(ant to the ser)-30(vice )]TJ +0 Tw T* +[(component of this SIDatabase stream.)59( )]TJ +-3.248 -2.128 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.092 Tw 1.919 0 Td +[(SIRequest )1(retr)-15(ie)30(v)25(ePMTElementar)-30(yStreams\(shor)-40(t )1(retr)-15(ie)30(v)25(eMode)15(,ja)20(v)25(a.lang.Object )1(appData, )]TJ +0.129 Tw 0.081 -1.2 Td +[(SIRetr)-15(ie)30(v)25(alListener listener)50(,int ser)-30(viceId,int componentT)120(ag, shor)-40(t[] someDescr)-15(iptorT)120(ags\) thro)15(ws )]TJ +0 Tw T* +[(br)50(.org.sbtvd.si.SIIllegalArgumentException)]TJ +0.604 -2.128 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +0.15 Tw 1.852 0 Td +[(This method acquires inf)30(or)-25(mation about PMT\325)50(s elementar)-30(y stream rele)30(v)25(ant to the ser)-30(vice )]TJ +0 Tw T* +(component of this SIDatabase stream.)Tj +-3.248 -2.128 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +0.009 Tw 1.919 0 Td +[(SIRequest retr)-15(ie)30(v)25(ePMTSer)-30(vice\(shor)-40(t retr)-15(ie)30(v)25(eMode)15(,ja)20(v)25(a.lang.Object appData, SIRetr)-15(ie)30(v)25(alListener )]TJ +0.716 Tw 0.081 -1.2 Td +[(listener)50(, SBTVDLocator sbtvdLocator)50(, shor)-40(t[] someDescr)-15(iptorT)120(ags\) thro)15(ws br)50(.org.sbtvd.)]TJ +0 Tw T* +(si.SIIllegalArgumentException)Tj +0.604 -2.128 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(This method acquires PMT inf)29(or)-25(mation rele)30(v)25(ant to this ser)-30(vice)15(.)]TJ +-3.248 -2.128 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +2.74 Tw 1.919 0 Td +[(SIRequest retr)-15(ie)30(v)25(ePMTSer)-30(vices\(shor)-40(t retr)-15(ie)30(v)25(eMode)15(,ja)20(v)25(a.lang.Object appData, )]TJ +0.41 Tw 0.081 -1.2 Td +[(SIRetr)-15(ie)30(v)25(alListener listener)50(, int ser)-30(viceId, shor)-40(t[] someDescr)-15(iptorT)120(ags\) thro)15(ws br)50(.org.sbtvd.)]TJ +0 Tw T* +(si.SIIllegalArgumentException)Tj +0.604 -2.128 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +0.145 Tw 1.852 0 Td +[(This method acquires the PMT inf)30(or)-25(mation rele)30(v)25(ant to the ser)-30(vice from this SIDatabase\325)50(s )]TJ +0 Tw T* +[(tr)10(anspor)-40(t stream.)]TJ +-3.248 -2.128 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +3.009 Tw 1.919 0 Td +[(SIRequest )1(retr)-15(ie)30(v)25(eSIBouquets\(shor)-40(t )1(retr)-15(ie)30(v)25(eMode)15(,ja)20(v)25(a.lang.Object )1(appData, )]TJ +0.351 Tw 0.081 -1.2 Td +[(SIRetr)-15(ie)30(v)25(alListener )1(listener)50(, )1(int )1(bouquetId, )1(shor)-40(t[] )1(someDescr)-15(iptorT)120(ags\) )1(thro)15(ws )1(br)50(.org.sbtvd.)]TJ +0 Tw T* +(si.SIIllegalArgumentException)Tj +0.604 -2.128 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(This method acquires the inf)29(or)-25(mation rele)30(v)25(ant to the stream.)]TJ +-3.248 -2.128 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +-0.182 Tw 1.919 0 Td +[(SIRequest )1(retr)-15(ie)30(v)25(eSIBroadcaster\(shor)-40(t )1(retr)-15(ie)30(v)25(eMode)15(,ja)20(v)25(a.lang.ObjectappData, SIRetr)-15(ie)30(v)25(alListener )]TJ +-0.049 Tw 0.081 -1.2 Td +[(listener)50(, intor)-15(iginalNetw)10(or)-15(kId, int broadcasterId, shor)-40(t [] some Descr)-15(iptorT)120(ags\) thro)15(ws br)50(.org.sbtvd.)]TJ +0 Tw T* +(si.SIIllegalArgumentException)Tj +0.604 -2.128 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(This method acquires the inf)29(or)-25(mation rele)30(v)25(ant to the broadcaster)50(.)]TJ +-3.248 -2.128 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +2.453 Tw 1.919 0 Td +[(SIRequest retr)-15(ie)30(v)25(eSIBroadcasters\(shor)-40(t retr)-15(ie)30(v)25(eMode)15(,ja)20(v)25(a.lang.Object appData, )]TJ +0.141 Tw 0.081 -1.2 Td +[(SIRetr)-15(ie)30(v)25(alListener listener)50(, int or)-15(iginalNetw)10(or)-15(kId, shor)-40(t [] some Descr)-15(iptorT)120(ags\) thro)15(ws br)50(.org.)]TJ +0 Tw T* +(sbtvd.si.SIIllegalArgumentException)Tj +0.604 -2.128 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +-0.131 Tw 1.852 0 Td +[(This method acquires the inf)30(or)-25(mation rele)30(v)25(ant to the broadcaster speci\336)250( )-103(ed b)20(y or)-15(iginalNetw)10(or)-15(kId.)]TJ +ET + +endstream endobj 1103 0 obj <> endobj 1086 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text]>>/Rotate 0/TrimBox[0.0 0.0549927 595.22 841.945]/Type/Page>> endobj 1089 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text]>>/Rotate 0/TrimBox[0.0 0.0549927 595.22 841.945]/Type/Page>> endobj 1092 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text]>>/Rotate 0/TrimBox[0.0 0.0549927 595.22 841.945]/Type/Page>> endobj 1095 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text]>>/Rotate 0/TrimBox[0.0 0.0549927 595.22 841.945]/Type/Page>> endobj 1098 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text]>>/Rotate 0/TrimBox[0.0 0.0549927 595.22 841.945]/Type/Page>> endobj 1303 0 obj <>stream +BT +/CS0 cs 1 scn +/GS0 gs +/T1_0 1 Tf +8 0 0 8 417.7962 38.134 Tm +[(\251 ABNT 2010 - All r)-15(ights reser)-30(v)25(ed)]TJ +11 0 0 11 45.3266 35.8089 Tm +(74)Tj +/T1_1 1 Tf +0 68.648 TD +(ABNT NBR 15606-4:2010)Tj +/T1_0 1 Tf +0.695 -4.899 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +0.651 Tw 1.919 0 Td +[(v)25(oid addSer)-30(viceMonitor)-15(ingListener\(SIMonitor)-15(ingListener listener)50(, int or)-15(iginalNetw)10(or)-15(kId, int )]TJ +0 Tw 0.081 -1.2 Td +[(tr)10(anspor)-40(tStreamId\) thro)15(ws br)50(.org.sbtvd.si.SIIllegalArgumentException)]TJ +0.604 -2.282 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(This method initializ)15(es the accompaniment of SDT inf)29(or)-25(mation rele)30(v)25(ant to the ser)-30(vice)15(.)]TJ +-3.248 -2.282 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +(static SIDatabase[] getSIDatabase\(\))Tj +0.685 -2.282 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(This method retur)-25(ns the SIDatabase object \(f)29(or each netw)10(or)-15(k interf)30(ace\).)]TJ +-3.248 -2.282 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +-0.08 Tw 1.919 0 Td +[(v)25(oid )1(remo)15(v)25(eBouquetMonitor)-15(ingListener\(SIMonitor)-15(ingListener )1(listener)50(, )1(int )1(bouquetId\) )1(thro)15(ws )1(br)50(.org.)]TJ +0 Tw 0.081 -1.2 Td +(sbtvd.si.SIIllegalArgumentException)Tj +0.604 -2.282 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(This method remo)15(v)25(es the listener registr)-30(y from the bouquet inf)30(or)-25(mation monitor)-15(ing e)30(v)25(ent.)]TJ +-3.248 -2.282 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +0.93 Tw 1.919 0 Td +[(v)25(oid remo)15(v)25(eBroadcasterMonitor)-15(ingListener\(SIMonitor)-15(ingListener listener)50(,int broadcasterId\) )]TJ +0 Tw 0.081 -1.2 Td +[(thro)15(ws br)50(.org.sbtvd.si.SIIllegalArgumentException)]TJ +0.604 -2.282 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(This method remo)15(v)25(es the listener registr)-30(y from the broadcaster inf)30(or)-25(mation monitor)-15(ing e)30(v)25(ent.)]TJ +-3.248 -2.282 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +2.903 Tw 1.919 0 Td +[(v)25(oid remo)15(v)25(eEv)25(entPresentF)30(ollo)15(wingMonitor)-15(ingListener\(SIMonitor)-15(ingListener listener)50(, )]TJ +1.214 Tw 0.081 -1.2 Td +[(int or)-15(iginalNetw)10(or)-15(kId, int tr)10(anspor)-40(tStreamId, int ser)-30(viceId\) thro)15(ws br)50(.org.sbtvd.)]TJ +0 Tw 0 -1.2 TD +(si.SIIllegalArgumentException)Tj +0.604 -2.282 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(This )1(method )1(remo)15(v)25(es )1(the )1(listener )1(registr)-30(y )1(from )1(the )1(EIT )1(inf)30(or)-25(mation )1(monitor)-15(ing )1(e)30(v)25(ent )1([current/)]TJ +T* +[(ne)30(xt].)]TJ +-3.248 -2.282 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +-0.093 Tw 1.919 0 Td +[(v)25(oid remo)15(v)25(eEv)25(entScheduleMonitor)-15(ingListener\(SIMonitor)-15(ingListener listener)50(, int or)-15(iginalNetw)10(or)-15(kId, )]TJ +0 Tw 0.081 -1.2 Td +[(int tr)10(anspor)-40(tStreamId, int ser)-30(viceId\) thro)15(ws br)50(.org.sbtvd.si.SIIllegalArgumentException)]TJ +0.604 -2.282 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +-0.06 Tw 1.852 0 Td +[(Corresponding to the scheduled total, this method eliminates the registr\ )-30(y of the EIT monitor)-15(ing )]TJ +0 Tw T* +[(e)30(v)25(ent [schedule].)]TJ +-3.248 -2.282 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +-0.054 Tw 1.919 0 Td +[(v)25(oid remo)15(v)25(eNetw)10(or)-15(kMonitor)-15(ingListener\(SIMonitor)-15(ingListener listener)50(, int netw)10(or)-15(kId\) thro)15(ws br)50(.org.)]TJ +0 Tw 0.081 -1.2 Td +(sbtvd.si.SIIllegalArgumentException)Tj +0.604 -2.282 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(This method remo)15(v)25(es the registr)-30(y of the netw)10(or)-15(k monitor)-15(ing e)30(v)25(ent.)]TJ +-3.248 -2.282 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +0.213 Tw 1.919 0 Td +[(v)25(oid remo)15(v)25(ePMTSer)-30(viceMonitor)-15(ingListener\(SIMonitor)-15(ingListener listener)50(, int or)-15(iginalNetw)10(or)-15(kId, )]TJ +0 Tw 0.081 -1.2 Td +[(int tr)10(anspor)-40(tStreamId, int ser)-30(viceId\) thro)15(ws br)50(.org.sbtvd.si.SIIllegalArgumentException)]TJ +0.604 -2.282 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +0.164 Tw 1.852 0 Td +[(This method remo)15(v)25(es the listener registr)-30(y from the monitor)-15(ing e)30(v)25(ent f)30(or PMT inf)30(or)-25(mation )]TJ +0 Tw T* +[(rele)30(v)25(ant to the ser)-30(vice)15(.)]TJ +-3.248 -2.282 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +0.326 Tw 1.919 0 Td +[(v)25(oid remo)15(v)25(eSer)-30(viceMonitor)-15(ingListener\(SIMonitor)-15(ingListener listener)50(, int or)-15(iginalNetw)10(or)-15(kId, int )]TJ +0 Tw 0.081 -1.2 Td +[(tr)10(anspor)-40(tStreamId\) thro)15(ws br)50(.org.sbtvd.si.SIIllegalArgumentException)]TJ +0.604 -2.282 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +0.178 Tw 1.852 0 Td +[(This method remo)15(v)25(es the listener registr)-30(y from monitor)-15(ing f)30(or inf)30(or)-25(mation rele)30(v)25(ant to the )]TJ +0 Tw T* +[(ser)-30(vice)15(.)]TJ +-3.248 -2.282 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +2.267 Tw 1.919 0 Td +[(SIRequest )1(retr)-15(ie)30(v)25(eActualSINetw)10(or)-15(k\(shor)-40(t )1(retr)-15(ie)30(v)25(eMode)15(,ja)20(v)25(a.lang.Object )1(appData, )]TJ +1.758 Tw 0.081 -1.2 Td +[(SIRetr)-15(ie)30(v)25(alListener listener)50(, shor)-40(t[] someDescr)-15(iptorT)120(ags\) thro)15(ws br)50(.org.sbtvd.)]TJ +0 Tw T* +(si.SIIllegalArgumentException)Tj +0.604 -2.282 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(This method acquires the rele)29(v)25(ant inf)30(or)-25(mation f)30(or the current netw)10(or)-15(k.)]TJ +ET + +endstream endobj 1099 0 obj <> endobj 1302 0 obj <>stream +BT +/CS0 cs 1 scn +/GS0 gs +/T1_0 1 Tf +8 0 0 8 56.6651 38.2639 Tm +[(\251 ABNT 2010 - All r)-15(ights reser)-30(v)25(ed)]TJ +11 0 0 11 537.6613 35.9389 Tm +(73)Tj +/T1_1 1 Tf +-10.613 68.636 Td +(ABNT NBR 15606-4:2010)Tj +/T1_0 1 Tf +-32.419 -4.899 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(Shor)-40(t getContentLength\(\))]TJ +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(This method retur)-25(ns the length of the data section indicated in the )28(\322descr)-15(iptor length\323)40( \336)250( )28(eld.)]TJ +-3.248 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(shor)-40(t getT)120(ag\(\))]TJ +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(This method acquires the tag from the descr)-16(iptor)50(.)]TJ +/T1_1 1 Tf +-3.943 -2.291 Td +[(B.2.2.22 )-632(SIDatabase c)20(lass)]TJ +/T1_0 1 Tf +0.288 Tw 0 -2.291 TD +[(The SIDatabase class indicates the hier)10(archical str)-15(ucture root f)30(or SI inf)30(or)-25(mation.)60( )50(There is one )]TJ +-0.037 Tw 0 -1.2 TD +[(SIDatabase f)30(or each netw)10(or)-15(k interf)30(ace)15(.)60( )50(Thus)15(, there is only one SIDatabase)15(, if there is only one netw)10(or)-15(k )]TJ +0 Tw T* +[(interf)30(ace)15(.)]TJ +0 -2.291 TD +[(The SIDatabase class' pub)19(lic static constants are:)49( )]TJ +0.695 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(static int RETRIEVE_ALL_INFORMA)119(TIONS)]TJ +-1.315 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +(static int RETRIEVE_CURRENT_SELECTED)Tj +-2.01 -2.291 Td +[(The pub)20(lic methods f)30(or the SIDatabase class are:)]TJ +0.695 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +0.191 Tw 1.919 0 Td +[(v)25(oid )1(addBouquetMonitor)-15(ingListener\(SIMonitor)-15(ingListener )1(listener)50(, )1(int )1(bouquetId\) )1(thro)15(ws )1(br)50(.org.)]TJ +0 Tw 0.081 -1.2 Td +(sbtvd.si.SIIllegalArgumentException)Tj +0.604 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(This method initializ)14(es the accompaniment of bouquet inf)29(or)-25(mation.)]TJ +-3.248 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +0.186 Tw 1.919 0 Td +[(v)25(oid addBroadcasterMonitor)-15(ingListener\(SIMonitor)-15(ingListener listener)50(, int broadcasterId\) thro)15(ws )]TJ +0 Tw 0.081 -1.2 Td +[(br)50(.org.sbtvd.si.SIIllegalArgumentException)]TJ +0.604 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(This method initializ)14(es the accompaniment of broadcaster inf)29(or)-25(mation.)]TJ +-3.243 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.609 0 Td +<0194>Tj +/T1_0 1 Tf +0.005 Tc 3.523 Tw 1.919 0 Td +[(v)25(oid addEv)25(entPresentF)30(ollo)15(wingMonitor)-15(ingListener\(SIMonitor)-15(ingListener listener)50(, )]TJ +1.157 Tw 0.081 -1.2 Td +[(int or)-15(iginalNetw)10(or)-15(kId, int tr)10(anspor)-40(tStreamId, int ser)-30(viceId\) thro)15(ws br)50(.org.sbtvd.)]TJ +-0.005 Tw 0 -1.2 TD +(si.SIIllegalArgumentException)Tj +0 Tc 0 Tw 0.604 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(This method initializ)14(es the accompaniment of EIT inf)29(or)-25(mation [Current / Ne)30(xt].)]TJ +-3.248 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +-0.016 Tw 1.919 0 Td +[(v)25(oid addEv)25(entScheduleMonitor)-15(ingListener\(SIMonitor)-15(ingListener listener)50(, int or)-15(iginalNetw)10(or)-15(kId, int )]TJ +0.114 Tw 0.081 -1.2 Td +[(tr)10(anspor)-40(tStreamId, int ser)-30(viceId, ja)20(v)25(a.util.Date star)-40(tTime)15(, ja)20(v)25(a.util.Date endTime\) thro)15(ws br)50(.org.)]TJ +0 Tw T* +[(sbtvd.si.SIIllegalArgumentException, br)49(.org.sbtvd.si.)60( SIIn)20(v)25(alidP)50(er)-15(iodException)]TJ +0.604 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(This method initializ)14(es the accompaniment of EIT inf)29(or)-25(mation [schedule].)]TJ +-3.248 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +0.217 Tw 1.919 0 Td +[(v)25(oid addNetw)10(or)-15(kMonitor)-15(ingListener\(SIMonitor)-15(ingListener listener)50(, int netw)10(or)-15(kId\) thro)15(ws br)50(.org.)]TJ +0 Tw 0.081 -1.2 Td +(sbtvd.si.SIIllegalArgumentException)Tj +0.604 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(This method initializ)14(es the accompaniment of netw)9(or)-15(k inf)30(or)-25(mation.)]TJ +-3.248 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +0.229 Tw 1.919 0 Td +[(v)25(oid addPMTSer)-30(viceMonitor)-15(ingListener\(SIMonitor)-15(ingListener listener)50(, int or)-15(iginalNetw)10(or)-15(kId, int )]TJ +0 Tw 0.081 -1.2 Td +[(tr)10(anspor)-40(tStreamId, int ser)-30(viceId\) thro)15(ws br)50(.org.sbtvd.si.SIIllegalArgumentException)]TJ +0.604 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(This method initializ)14(es the accompaniment of PMT inf)29(or)-25(mation rele)30(v)25(ant to the ser)-30(vice)15(.)]TJ +ET + +endstream endobj 1096 0 obj <> endobj 1301 0 obj <>stream +BT +/CS0 cs 1 scn +/GS0 gs +/T1_0 1 Tf +8 0 0 8 417.7962 38.134 Tm +[(\251 ABNT 2010 - All r)-15(ights reser)-30(v)25(ed)]TJ +11 0 0 11 45.3266 35.8089 Tm +(72)Tj +/T1_1 1 Tf +0 68.648 TD +(ABNT NBR 15606-4:2010)Tj +/T1_0 1 Tf +0.695 -4.899 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(int getOr)-15(iginalNetw)10(or)-15(kID\(\))]TJ +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(This method acquires the or)-16(iginal netw)10(or)-15(k ID)70(.)]TJ +-3.248 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(int getT)120(r)10(anspor)-40(tStreamID\(\))]TJ +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(This method acquires the tr)9(anspor)-40(t stream ID)70(.)]TJ +-3.248 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +0.085 Tw 1.919 0 Td +[(SIRequest retr)-15(ie)30(v)25(eSISer)-30(vices\(shor)-40(t retr)-15(ie)30(v)25(eMode)15(, )1(ja)20(v)25(a.lang.Object appData, SIRetr)-15(ie)30(v)25(alListener )]TJ +0 Tw 0.081 -1.2 Td +[(listener)50(, shor)-40(t[] someDescr)-15(iptorT)120(ags\) thro)15(ws br)50(.org.sbtvd.si.SIIllegalArgumentException)]TJ +0.604 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +-0.01 Tw 1.852 0 Td +[(This method acquires the rele)30(v)25(ant inf)30(or)-25(mation f)30(or the ser)-30(vice to be tr)10(ansmitted b)20(y the stream.)]TJ +/T1_1 1 Tf +0 Tw -3.943 -2.291 Td +[(B.2.2.19 )-632(SIT)80(ranspor)-20(tStreamB)30(A)90(T interface)]TJ +/T1_0 1 Tf +0.063 Tw 0 -2.291 TD +[(The SIT)120(r)10(anspor)-40(tStreamBA)120(T interf)30(ace indicates inf)30(or)-25(mation from the tr)10(anspor)-40(t stream reco)15(v)25(ered from )]TJ +-0.005 Tw 0 -1.2 TD +[(BA)120(T)120(.)60( All of the methods that access descr)-15(iptors retur)-25(n inf)30(or)-25(mation from descr)-15(iptors acquired from BA)120(T)120(.)60( )]TJ +-0.024 Tw T* +[(The method that reco)15(v)25(ers the tr)10(anspor)-40(t stream in the SIBouquet retur)-25(ns an object that implements this )]TJ +0 Tw T* +[(interf)30(ace)15(.)]TJ +0 -2.291 TD +[(The pub)20(lic method f)30(or the SIT)120(r)10(anspor)-40(tStreamBA)120(T class is:)]TJ +0.695 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +(int getBouquetID\(\))Tj +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(The method acquires the ID from the bouquet to which this tr)8(anspor)-40(t stream belongs)15(.)]TJ +/T1_1 1 Tf +-3.943 -2.291 Td +[(B.2.2.20 )-632(SIT)80(ranspor)-20(tStreamNIT interface)]TJ +/T1_0 1 Tf +0.142 Tw T* +[(The SIT)120(r)10(anspor)-40(tStreamNIT interf)30(ace indicates inf)30(or)-25(mation from the tr)10(anspor)-40(t stream acquired from )]TJ +0.025 Tw 0 -1.2 TD +[(NIT)120(.)60( All of the methods that access descr)-15(iptors retur)-25(n inf)30(or)-25(mation from descr)-15(iptors acquired from NIT)120(.)60( )]TJ +0.016 Tw T* +[(The method that reco)15(v)25(ers the tr)10(anspor)-40(t stream in the SIDatabase or SINetw)10(or)-15(k retur)-25(ns an object that )]TJ +0 Tw T* +[(implements this interf)29(ace)15(.)]TJ +0 -2.291 TD +[(The pub)20(lic method f)30(or the SIT)120(r)10(anspor)-40(tStreamNIT class is:)]TJ +0.695 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(int getNetw)10(or)-15(kID\(\))]TJ +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(This method acquires the ID from the netw)9(or)-15(k to which this tr)10(anspor)-40(t stream belongs)15(.)]TJ +/T1_1 1 Tf +-3.943 -2.291 Td +[(B.2.2.21 )-632(Descriptor c)20(lass)]TJ +/T1_0 1 Tf +T* +[(The Descr)-15(iptor class indicates sub-tab)19(le descr)-15(iptors)15(.)]TJ +T* +[(The pub)20(lic methods f)30(or the Descr)-15(iptor class are:)]TJ +0.695 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(b)20(yte getByteAt\(int inde)30(x\) thro)15(ws ja)20(v)25(a.lang.Inde)30(xOutOfBoundsException)]TJ +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(This method obtains the v)24(alue of one b)20(yte from the descr)-16(iptor data section.)]TJ +-3.248 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(b)20(yte[] getContent\(\))]TJ +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +0.02 Tw 1.852 0 Td +[(This method acquires a cop)30(y of the descr)-15(iptor data section \(b)20(ytes that are after the b)20(yte that )]TJ +0 Tw 0 -1.2 TD +[(indicates descr)-15(iptor siz)15(e\).)]TJ +ET + +endstream endobj 1093 0 obj <> endobj 1300 0 obj <>stream +BT +/CS0 cs 1 scn +/GS0 gs +/T1_0 1 Tf +8 0 0 8 56.6651 38.2639 Tm +[(\251 ABNT 2010 - All r)-15(ights reser)-30(v)25(ed)]TJ +11 0 0 11 537.6613 35.9389 Tm +(71)Tj +/T1_1 1 Tf +-10.613 68.636 Td +(ABNT NBR 15606-4:2010)Tj +/T1_0 1 Tf +-32.419 -4.899 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(static PR)20(OMO)40(TION_VIDEO)]TJ +0.685 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +0.148 Tw 1.852 0 Td +[(Constant, shor)-40(t type)15(, as de\336)250( )176(ned in ARIB STD-B10, indicates the ser)-30(vice type is a )30(\322video )]TJ +0 Tw 0 -1.2 TD +(promotion\323.)Tj +-3.248 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(static SPECIAL_A)49(UDIO)]TJ +0.685 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +0.097 Tw 1.852 0 Td +[(Constant, shor)-40(t type)15(, as de\336)250( )125(ned in ARIB STD-B10, indicates the ser)-30(vice type is a )30(\322special )]TJ +0 Tw T* +(audio\323.)Tj +-3.248 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(static SPECIAL_D)40(A)120(T)120(A)]TJ +0.685 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +0.097 Tw 1.852 0 Td +[(Constant, shor)-40(t type)15(, as de\336)250( )125(ned in ARIB STD-B10, indicates the ser)-30(vice type is a )30(\322special )]TJ +0 Tw T* +(data\323.)Tj +-3.248 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +(static SPECIAL_VIDEO)Tj +0.685 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +0.097 Tw 1.852 0 Td +[(Constant, shor)-40(t type)15(, as de\336)250( )125(ned in ARIB STD-B10, indicates the ser)-30(vice type is a )30(\322special )]TJ +0 Tw T* +(video\323.)Tj +-3.248 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(static UNKNO)30(WN)]TJ +0.685 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +-0.045 Tw 1.852 0 Td +[(Constant, shor)-40(t type)15(, as de\336)250( )-17(ned in ARIB STD-B10, indicates the ser)-30(vice type is an )30(\322unkno)15(wn\323.)]TJ +/T1_1 1 Tf +0 Tw -3.943 -2.231 Td +[(B.2.2.17 )-632(SITime interface)]TJ +/T1_0 1 Tf +-0.022 Tw 0 -2.231 TD +[(The SITime interf)30(ace pro)15(vides access to )50(Time and Date )50(T)120(ab)20(le \(TDT\) inf)30(or)-25(mation.)60( If the object indicates )]TJ +0.112 Tw 0 -1.2 TD +[(TDT)120(, the retr)-15(ie)30(v)25(eDescr)-15(iptors and getDescr)-15(iptorT)120(ags methods beha)20(v)25(e as speci\336)250( )140(ed when there is no )]TJ +0 Tw T* +[(descr)-15(iption, because )50(TDT does not ha)20(v)25(e descr)-15(iptors)15(.)]TJ +0.214 Tw 0 -2.231 TD +[(This interf)30(ace indicate time and date obtained from the tab)20(le \(TDT\).)60( If the object indicates )50(TDT)120(, )]TJ +0.011 Tw 0 -1.2 TD +[(retr)-15(ie)30(v)25(eDescr)-15(iptors )1(and )1(getDescr)-15(iptorT)120(ags )1(beha)20(vior )1(is )1(similar )1(to )1(when )1(there )1(is )1(no )1(descr)-15(iptor )1(\(because )]TJ +0 Tw T* +[(the )50(TDT Descr)-15(iptor is not f)30(ound\).)]TJ +0 -2.231 TD +[(The pub)20(lic method f)30(or the SITime class is:)]TJ +0.695 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(ja)20(v)25(a.util.Date getTime\(\))]TJ +0.685 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(This method acquires the encr)-31(ypted time in the )49(TDT or the )50(T)40(O)40(T)120(.)]TJ +/T1_1 1 Tf +-3.943 -2.231 Td +[(B.2.2.18 )-632(SIT)80(ranspor)-20(tStream interface)]TJ +/T1_0 1 Tf +0.141 Tw T* +[(The SIT)120(r)10(anspor)-40(tStream interf)30(ace is the base interf)30(ace used to indicate rele)30(v)25(ant inf)30(or)-25(mation f)30(or the )]TJ +0 Tw 0 -1.2 TD +[(tr)10(anspor)-40(t stream.)60( )]TJ +0.061 Tw 0 -2.231 TD +[(The method that reco)15(v)25(ers the tr)10(anspor)-40(t stream in the SIDatabase class and the SINetw)10(or)-15(k interf)30(ace )]TJ +0 Tw 44.839 0 Td +( )Tj +0.501 Tw -44.839 -1.2 Td +[(retur)-25(ns the object set up with the SIT)120(r)10(anspor)-40(tStreamNIT interf)30(ace that ref)30(ers to the NIT)120(.)60( )]TJ +0.096 Tw 0 -1.2 TD +[(The method that reco)15(v)25(ers the tr)10(anspor)-40(t stream in the SIBouquet interf)30(ace retur)-25(ns the object set up )]TJ +0 Tw T* +[(with the SIT)120(r)10(anspor)-40(tStreamBA)120(T interf)30(ace that ref)30(ers to the BA)120(T)120(.)]TJ +0 -2.231 TD +[(The pub)20(lic methods f)30(or the SIT)120(r)10(anspor)-40(tStream class are:)]TJ +0.695 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +(SBTVDLocator getSBTVDLocator\(\))Tj +0.685 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(This method acquires the SBTVDLocator that identi\336)248( )28(es the tr)10(anspor)-40(t stream.)]TJ +ET + +endstream endobj 1090 0 obj <> endobj 1299 0 obj <>stream +BT +/CS0 cs 1 scn +/GS0 gs +/T1_0 1 Tf +8 0 0 8 417.7962 38.134 Tm +[(\251 ABNT 2010 - All r)-15(ights reser)-30(v)25(ed)]TJ +11 0 0 11 45.3266 35.8089 Tm +(70)Tj +/T1_1 1 Tf +0 68.648 TD +(ABNT NBR 15606-4:2010)Tj +/T1_0 1 Tf +0.695 -4.899 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +6.049 Tw 1.919 0 Td +[(SIRequest retr)-15(ie)30(v)25(eScheduledSIEv)25(ents\(shor)-40(tretr)-15(ie)30(v)25(eMode)15(,ja)20(v)25(a.lang.ObjectappData, )]TJ +0.792 Tw 0.081 -1.2 Td +[(SIRetr)-15(ie)30(v)25(alListener )1(listener)50(, )1(shor)-40(t[] )1(someDescr)-15(iptorT)120(ags)15(, )1(ja)20(v)25(a.util.Date )1(star)-40(tTime)15(, )1(ja)20(v)25(a.)]TJ +1.325 Tw 0 -1.2 TD +[(util.Date endTime\) thro)15(ws br)50(.org.sbtvd.si.SIIllegalArgumentException, br)50(.org.sbtvd.si.)60( )]TJ +0 Tw T* +[(SIIn)20(v)25(alidP)50(er)-15(iodException)]TJ +0.604 -2.179 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +-0.039 Tw 1.852 0 Td +[(This method acquires the rele)30(v)25(ant inf)30(or)-25(mation f)30(or the prog)10(r)10(am projected in the designated EIT )]TJ +0 Tw T* +[(per)-15(iod [Calendar].)60( )]TJ +/T1_1 1 Tf +-3.943 -2.179 Td +[(B.2.2.16 )-632(SISer)-10(viceT)60(ype interface )]TJ +/T1_0 1 Tf +0 -2.179 TD +[(This API is responsib)19(le f)30(or access to inf)30(or)-25(mation related to the de\336)250( )28(nition of Ser)-30(viceT)120(ype)15(.)60( )]TJ +T* +[(The SISer)-30(viceT)120(ype class' pub)20(lic static constants are:)49( )]TJ +0.695 -2.179 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +(static BOOKMARK_LIST)Tj +0.685 -2.179 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +0.068 Tw 1.852 0 Td +[(Constant, shor)-40(t type)15(, as de\336)250( )96(ned in ARIB STD-B10, indicates the ser)-30(vice type is a )30(\322data list )]TJ +0 Tw 0 -1.2 TD +[(mar)-15(k)20(er\323.)]TJ +-3.248 -2.179 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(static D)40(A)120(T)120(A)]TJ +0.685 -2.179 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +0.18 Tw 1.852 0 Td +[(Constant, shor)-40(t type)15(, as de\336)250( )208(ned in ARIB STD-B10, indicates the ser)-30(vice type is a )30(\322data )]TJ +0 Tw T* +[(ser)-30(vice\323.)]TJ +-3.248 -2.179 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(static D)40(A)120(T)120(A_EXCLUSIVE_FOR_A)30(CCUMULA)120(TION)]TJ +0.685 -2.179 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +-0.064 Tw 1.852 0 Td +[(Constant, shor)-40(t type)15(, as de\336)250( )-35(ned in ARIB STD-B10, indicates the )-1(ser)-30(vice type is a )30(\322data ser)-30(vice )]TJ +0 Tw T* +[(e)30(xclusiv)25(ely f)30(or accum)10(ulation\323.)]TJ +-3.248 -2.179 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(static D)40(A)120(T)120(A_FOR_A)30(CCUMULA)120(TION_IN_AD)70(V)80(ANCE)]TJ +0.685 -2.179 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +-0.064 Tw 1.852 0 Td +[(Constant, shor)-40(t type)15(, as de\336)250( )-35(ned in ARIB STD-B10, indicates the ser)-30(vice type is a )30(\322data ser)-30(vice )]TJ +0 Tw T* +[(e)30(xclusiv)25(ely f)30(or in-adv)25(ance accum)10(ulation\323.)]TJ +-3.248 -2.179 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(static DIGIT)120(AL_A)50(UDIO)]TJ +0.685 -2.179 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +-0.042 Tw 1.852 0 Td +[(Constant, shor)-40(t type)15(, as de\336)250( )-14(ned in ARIB STD-B10, indicates the ser)-30(vice type is )30(\322digital audio\323.)]TJ +0 Tw -3.248 -2.179 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(static DIGIT)120(AL_TELEVISION)]TJ +0.685 -2.179 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(Constant, shor)-40(t type)15(, as de\336)250( )28(ned in ARIB STD-B10, indicates the ser)-30(vice type is )30(\322digital )50(TV\323.)]TJ +-3.248 -2.179 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(static ENGINEERING_DO)29(WNLO)20(AD)]TJ +0.685 -2.179 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +0.08 Tw 1.852 0 Td +[(Constant, shor)-40(t type)15(, as de\336)250( )108(ned in ARIB STD-B10, indicates the ser)-30(vice type is )30(\322do)15(wnload )]TJ +0 Tw T* +[(engineer)-15(ing\323.)]TJ +-3.248 -2.179 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(static PR)20(OMO)40(TION_D)40(A)120(T)120(A)]TJ +0.685 -2.179 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +0.18 Tw 1.852 0 Td +[(Constant, shor)-40(t type)15(, as de\336)250( )208(ned in ARIB STD-B10, indicates the ser)-30(vice type is a )30(\322data )]TJ +0 Tw T* +(promotion\323.)Tj +-3.248 -2.179 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(static PR)20(OMO)40(TION_SOUND)]TJ +0.685 -2.179 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +0.125 Tw 1.852 0 Td +[(Constant, )1(shor)-40(t )1(type)15(, )1(as )1(de\336)250( )154(ned )1(in )1(ARIB )1(STD-B10, )1(indicates )1(the )1(ser)-30(vice )1(type )1(is )1(a )31(\322sound )]TJ +0 Tw T* +(promotion\323.)Tj +ET + +endstream endobj 1087 0 obj <> endobj 1070 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text]>>/Rotate 0/TrimBox[0.0 0.0549927 595.22 841.945]/Type/Page>> endobj 1073 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text]>>/Rotate 0/TrimBox[0.0 0.0549927 595.22 841.945]/Type/Page>> endobj 1076 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text]>>/Rotate 0/TrimBox[0.0 0.0549927 595.22 841.945]/Type/Page>> endobj 1080 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text]>>/Rotate 0/TrimBox[0.0 0.0549927 595.22 841.945]/Type/Page>> endobj 1083 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text]>>/Rotate 0/TrimBox[0.0 0.0549927 595.22 841.945]/Type/Page>> endobj 1298 0 obj <>stream +BT +/CS0 cs 1 scn +/GS0 gs +/T1_0 1 Tf +8 0 0 8 56.6651 38.2639 Tm +[(\251 ABNT 2010 - All r)-15(ights reser)-30(v)25(ed)]TJ +11 0 0 11 537.6613 35.9389 Tm +(69)Tj +/T1_1 1 Tf +-10.613 68.636 Td +(ABNT NBR 15606-4:2010)Tj +/T1_0 1 Tf +-32.419 -4.899 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +-0.028 Tw 1.919 0 Td +[(int getE)-28(ITUserDe\336)250( nedFlag\(\))]TJ +0 Tw 0.685 -2.314 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(This method retur)-25(ns the EIT_user_de\336)249( )28(ned_\337)250( )28(ags v)25(alue)15(.)]TJ +-3.248 -2.314 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(boolean getF)45(reeCAMode\(\))]TJ +0.685 -2.315 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(This method retur)-25(ns the free_CA_mode v)24(alue)15(.)]TJ +-3.248 -2.314 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(ja)20(v)25(a.lang.Str)-15(ing getName\(\))]TJ +0.685 -2.314 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(This method retur)-25(ns the name that indicates the ser)-31(vice included in the ser)-31(vice descr)-15(iptor)50(.)]TJ +-3.248 -2.314 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(int getOr)-15(iginalNetw)10(or)-15(kID\(\))]TJ +0.685 -2.315 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(This method reco)14(v)25(ers the or)-15(iginal netw)10(or)-15(k ID)70(.)]TJ +-3.248 -2.314 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(ja)20(v)25(a.lang.Str)-15(ing getPro)15(viderName\(\))]TJ +0.685 -2.314 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(This method retur)-25(ns the name of the ser)-31(vice pro)15(vider included in the ser)-31(vice descr)-15(iptor)50(.)]TJ +-3.248 -2.314 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(b)20(yte getRunningStatus\(\))]TJ +0.685 -2.314 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(This method acquires the e)29(x)30(ecution status f)30(or this ser)-30(vice)15(.)]TJ +-3.248 -2.314 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(int getSer)-30(viceID\(\))]TJ +0.685 -2.314 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(This method acquires the ID ser)-31(vice)15(.)]TJ +-3.248 -2.314 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(shor)-40(t getSISer)-30(viceT)120(ype\(\))]TJ +0.685 -2.314 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(This method acquires the type of ser)-31(vice)15(.)]TJ +-3.248 -2.314 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(int getT)120(r)10(anspor)-40(tStreamID\(\))]TJ +0.685 -2.314 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(This method acquires the tr)9(anspor)-40(t stream ID)70(.)]TJ +-3.248 -2.314 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +7.097 Tw 1.919 0 Td +[(SIRequest )1(retr)-15(ie)30(v)25(eF)30(ollo)15(wingSIEv)25(ent\(shor)-40(tretr)-15(ie)30(v)25(eMode)15(,ja)20(v)25(a.lang.ObjectappData, )]TJ +1.758 Tw 0.081 -1.2 Td +[(SIRetr)-15(ie)30(v)25(alListener listener)50(, shor)-40(t[] someDescr)-15(iptorT)120(ags\) thro)15(ws br)50(.org.sbtvd.)]TJ +0 Tw 0 -1.2 TD +(si.SIIllegalArgumentException)Tj +0.604 -2.314 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(This method acquires the inf)29(or)-25(mation rele)30(v)25(ant to the ne)30(xt EIT prog)10(r)10(am [Current / ne)30(xt].)]TJ +-3.248 -2.315 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +0.105 Tw 1.919 0 Td +[(SIRequest )1(retr)-15(ie)30(v)25(ePMTSer)-30(vice\(shor)-40(tretr)-15(ie)30(v)25(eMode)15(,ja)20(v)25(a.lang.Object appData, )1(SIRetr)-15(ie)30(v)25(alListener )]TJ +0 Tw 0.081 -1.2 Td +[(listener)50(, shor)-40(t[] someDescr)-15(iptorT)120(ags\) thro)15(ws br)50(.org.sbtvd.si.SIIllegalArgumentException)]TJ +0.604 -2.314 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(This PMTSer)-30(vice method acquires the rele)29(v)25(ant inf)30(or)-25(mation f)30(or this ser)-30(vice)15(.)]TJ +-3.248 -2.315 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +7.828 Tw 1.919 0 Td +[(SIRequest retr)-15(ie)30(v)25(ePresentSIEv)25(ent\(shor)-40(tretr)-15(ie)30(v)25(eMode)15(,ja)20(v)25(a.lang.ObjectappData, )]TJ +1.758 Tw 0.081 -1.2 Td +[(SIRetr)-15(ie)30(v)25(alListener listener)50(, shor)-40(t[] someDescr)-15(iptorT)120(ags\) thro)15(ws br)50(.org.sbtvd.)]TJ +0 Tw T* +(si.SIIllegalArgumentException)Tj +0.604 -2.314 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(This method acquires the inf)29(or)-25(mation rele)30(v)25(ant to the current EIT prog)10(r)10(am [Current / ne)30(xt].)]TJ +ET + +endstream endobj 1084 0 obj <> endobj 1297 0 obj <>stream +BT +/CS0 cs 1 scn +/GS0 gs +/T1_0 1 Tf +8 0 0 8 417.7962 38.134 Tm +[(\251 ABNT 2010 - All r)-15(ights reser)-30(v)25(ed)]TJ +11 0 0 11 45.3266 35.8089 Tm +(68)Tj +/T1_1 1 Tf +0 68.648 TD +(ABNT NBR 15606-4:2010)Tj +/T1_0 1 Tf +0 -4.899 TD +[(The pub)20(lic method f)30(or the SIRetr)-15(ie)30(v)25(alListener class is:)]TJ +0.695 -2.205 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(v)25(oid postRetr)-15(ie)30(v)25(alEv)25(ent\(SIRetr)-15(ie)30(v)25(alEv)25(ent e)30(v)25(ent\))]TJ +0.685 -2.205 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +-0.06 Tw 1.852 0 Td +[(This method is called from the implemented SI API in order to notify con\ clusion of the listener\325)50(s )]TJ +0 Tw 0 -1.2 TD +(request.)Tj +/T1_1 1 Tf +-3.943 -2.205 Td +[(B.2.2.14 )-632(SIRunningStatus interface)]TJ +/T1_0 1 Tf +0.001 Tw 0 -2.205 TD +[(The SIRunningStatus interf)30(ace de\336)250( )29(nes the constant that corresponds to the e)30(x)30(ecution status v)25(alue f)30(or )]TJ +0 Tw 0 -1.2 TD +[(the ser)-30(vice and f)30(or the e)30(v)25(ent.)]TJ +0 -2.205 TD +[(The SIRunningStatus class' pub)19(lic static constants are:)]TJ +0.695 -2.205 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(static NO)40(T_R)40(UNNING)]TJ +0.685 -2.205 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(constant b)20(yte)15(, as de\336)250( )28(ned in ARIB STD-B10, indicates the status is )30(\322not r)-15(unning\323.)]TJ +-3.248 -2.205 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(static P)120(A)50(USING)]TJ +0.685 -2.205 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(constant b)20(yte)15(, as de\336)250( )28(ned in ARIB STD-B10, indicates the status is e)30(x)30(ecuting )30(\322pausing\323.)]TJ +-3.248 -2.205 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(static R)40(UNNING)]TJ +0.685 -2.205 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(constant b)20(yte)15(, as de\336)250( )28(ned in ARIB STD-B10, indicates the status is )30(\322r)-15(unning\323.)]TJ +-3.248 -2.205 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(static ST)120(AR)30(TS_IN_A_FEW_SECONDS)]TJ +0.685 -2.205 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +0.094 Tw 1.852 0 Td +[(constant b)20(yte)15(, as de\336)250( )122(ned in ARIB STD-B10, indicates the status is )30(\322ready to star)-40(t in a f)30(e)20(w )]TJ +0 Tw 0 -1.2 TD +(seconds\323.)Tj +-3.248 -2.205 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +(static UNDEFINED)Tj +0.685 -2.205 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(constant b)20(yte)15(, as de\336)250( )28(ned in ARIB STD-B10, indicates the status is )30(\322unde\336)250( )28(ned\323.)]TJ +/T1_1 1 Tf +-3.943 -2.205 Td +[(B.2.2.15 )-632(SISer)-10(vice interface)]TJ +/T1_0 1 Tf +-0.013 Tw 0 -2.205 TD +[(The SISer)-30(vice interf)30(ace indicates a speci\336)250( )15(c ser)-30(vice that is tr)10(ansmitted b)20(y one of the tr)10(anspor)-40(t streams)15(.)60( )]TJ +-0.003 Tw 0 -1.2 TD +[(The inf)30(or)-25(mation obtained through this interf)30(ace's method is acquired from the SDT)120(.)60( Each object set up )]TJ +0 Tw T* +[(with the SISer)-30(vice interf)30(ace is identi\336)250( )28(ed b)20(y a combination of the f)30(ollo)15(wing ID:)]TJ +0 -2.205 TD +[(Or)-15(iginal netw)10(or)-15(k ID)70(, )50(T)120(r)10(anspor)-40(t stream ID)70(, Ser)-30(vice ID)]TJ +T* +[(The pub)20(lic methods f)30(or the SISer)-30(vice class are:)]TJ +0.695 -2.205 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +(SBTVDLocator getSBTVDLocator\(\))Tj +0.685 -2.205 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(This method acquires the SBTVDLocator to identify this ser)-32(vice)15(.)]TJ +-3.248 -2.205 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(boolean getEITPresentF)29(ollo)15(wingFlag\(\))]TJ +0.685 -2.205 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(This method retur)-25(ns the EIT_present_f)29(ollo)15(wing_\337)250( )28(ag v)25(alue)15(.)]TJ +-3.248 -2.205 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +(boolean getEITScheduleFlag\(\))Tj +0.685 -2.205 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(This method retur)-25(ns the EIT_schedule_\337)249( )28(ag v)25(alue)15(.)]TJ +ET + +endstream endobj 1081 0 obj <> endobj 1296 0 obj <>stream +BT +/CS0 cs 1 scn +/GS0 gs +/T1_0 1 Tf +8 0 0 8 56.6651 38.2639 Tm +[(\251 ABNT 2010 - All r)-15(ights reser)-30(v)25(ed)]TJ +11 0 0 11 537.6613 35.9389 Tm +(67)Tj +/T1_1 1 Tf +-10.613 68.636 Td +(ABNT NBR 15606-4:2010)Tj +/T1_0 1 Tf +-32.419 -4.899 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(static b)20(yte PRESENT_FOLLO)29(WING_EVENT)]TJ +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(Constant of the SIInf)29(or)-25(mation object that indicates the EIT [Present/F)30(ollo)15(wing].)]TJ +-3.248 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(static b)20(yte SCHEDULED_EVENT)]TJ +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(Constant of the SIInf)29(or)-25(mation object that indicates the EIT [Schedule].)]TJ +-3.248 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(static b)20(yte SER)50(VICE)]TJ +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(Constant of the SIInf)29(or)-25(mation object that indicates the ser)-30(vice)15(.)]TJ +/T1_1 1 Tf +-3.943 -2.231 Td +[(B.2.2.12 )-632(SINetw)20(ork interface)]TJ +/T1_0 1 Tf +0.18 Tw 0 -2.291 TD +[(The )1(SINetw)10(or)-15(k )1(interf)30(ace )1(indicates )1(the )1(Netw)10(or)-15(k )1(Inf)30(or)-25(mation )51(T)120(ab)20(le )1(\(NIT\) )1(sub-tab)20(le )1(that )1(descr)-15(ibes )1(a )]TJ +-0.056 Tw 0 -1.2 TD +[(speci\336)250( )-28(c netw)10(or)-15(k \(with the SIT)120(r)10(anspor)-40(tStreamNIT\).)60( Each object that implements the SINetw)10(or)-15(k interf)30(ace )]TJ +0 Tw T* +[(is identi\336)250( )28(ed b)20(y the netw)10(or)-15(k_id.)]TJ +0 -2.291 TD +[(The pub)20(lic methods f)30(or the SINetw)10(or)-15(k class are:)]TJ +0.695 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(shor)-40(t[] getDescr)-15(iptorT)120(ags\(\))]TJ +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(This method de\336)250( )28(nes additional semantics f)30(or the SIInf)30(or)-25(mation#getDescr)-15(iptorT)120(ags method.)]TJ +-3.248 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(ja)20(v)25(a.lang.Str)-15(ing getName\(\))]TJ +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(This method retur)-25(ns the name of the netw)9(or)-15(k descr)-15(ibed in the Netw)10(or)-15(k Name Descr)-15(iptor)50(.)]TJ +-3.248 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(int getNetw)10(or)-15(kID\(\))]TJ +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(Reco)15(v)25(ers the netw)10(or)-15(k ID from this netw)10(or)-15(k.)]TJ +-3.248 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +0.498 Tw 1.919 0 Td +[(SIRequest retr)-15(ie)30(v)25(eDescr)-15(iptors\(shor)-40(tretr)-15(ie)30(v)25(eMode)15(,ja)20(v)25(a.lang.ObjectappData, SIRetr)-15(ie)30(v)25(alListener )]TJ +0 Tw 0.081 -1.2 Td +(listener\) )Tj +0.743 0.702 0.605 0.761 k +/GS1 gs +[(thro)15(ws br)50(.org.sbtvd.si.SIIllegalArgumentException)]TJ +/CS0 cs 1 scn +/GS0 gs +0.604 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +0.026 Tw 1.852 0 Td +(This method de\336)Tj +0 Tw 7.194 0.002 Td +( )Tj +0.026 Tw 0.25 0 Td +[(nes additional semantics f)30(or the \336)250( )54(rst prototype of the SIInf)30(or)-25(mation#retr)-15(ie)30(v)25(e)]TJ +0 Tw -7.444 -1.2 Td +[(Descr)-15(iptors method.)]TJ +-3.248 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +0.032 Tw 1.919 0 Td +[(SIRequest retr)-15(ie)30(v)25(eDescr)-15(iptors\(shor)-40(t retr)-15(ie)30(v)25(eMode)15(, ja)20(v)25(a.lang.Object appData, SIRetr)-15(ie)30(v)25(alListener )]TJ +0 Tw 0.081 -1.2 Td +[(listener)50(, shor)-40(t[] someDescr)-15(iptorT)120(ags\) )]TJ +0.743 0.702 0.605 0.761 k +/GS1 gs +[(thro)15(ws br)50(.org.sbtvd.si.SIIllegalArgumentException)]TJ +/CS0 cs 1 scn +/GS0 gs +0.604 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +0.021 Tw 1.852 0 Td +[(This method de\336)250( )49(nes additional semantics f)30(or the second prototype of the SIInf)30(or)-25(mation#retr)-15(i)]TJ +0 Tw 0 -1.2 TD +[(e)30(v)25(eDescr)-15(iptors method.)]TJ +-3.238 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.614 0 Td +<0194>Tj +/T1_0 1 Tf +0.01 Tc 5.114 Tw 1.919 0 Td +[(SIRequest retr)-15(ie)30(v)25(eSIT)120(r)10(anspor)-40(tStreams\(shor)-40(tretr)-15(ie)30(v)25(eMode)15(,ja)20(v)25(a.lang.ObjectappData,)10( )]TJ +1.604 Tw 0.081 -1.2 Td +[(SIRetr)-15(ie)30(v)25(alListener listener)50(, shor)-40(t[] someDescr)-15(iptorT)120(ags\) )]TJ +0.743 0.702 0.605 0.761 k +/GS1 gs +[(thro)15(ws br)50(.org.sbtvd.)]TJ +-0.01 Tw T* +(si.SIIllegalArgumentException)Tj +/CS0 cs 1 scn +/GS0 gs +0 Tc 0 Tw 0.604 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +0.208 Tw 1.852 0 Td +[(This method reco)15(v)24(ers inf)30(or)-25(mation about the tr)10(anspor)-40(t stream to be tr)10(ansmitted o)15(v)25(er the )]TJ +0 Tw T* +[(netw)10(or)-15(k.)]TJ +/T1_1 1 Tf +-3.943 -2.231 Td +[(B.2.2.13 )-632(SIRetrie)15(v)20(alListener interface)]TJ +/T1_0 1 Tf +0 -2.291 TD +[(The SIRetr)-15(ie)30(v)25(alListener interf)30(ace shall be implemented to receiv)25(e an SI e)30(v)25(ent.)]TJ +ET + +endstream endobj 1078 0 obj <> endobj 1295 0 obj <> endobj 1294 0 obj <>stream +BT +/CS0 cs 1 scn +/GS0 gs +/T1_0 1 Tf +8 0 0 8 417.7962 38.134 Tm +[(\251 ABNT 2010 - All r)-15(ights reser)-30(v)25(ed)]TJ +11 0 0 11 45.3266 35.8089 Tm +(66)Tj +/T1_1 1 Tf +0 68.648 TD +(ABNT NBR 15606-4:2010)Tj +/T1_0 1 Tf +0.695 -4.899 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +-0.019 Tw 1.919 0 Td +[(SIRequest retr)-15(ie)30(v)25(eDescr)-15(iptors \(shor)-40(t )1(retr)-15(ie)30(v)25(eMode)15(, ja)20(v)25(a.lang.Object appData, SIRetr)-15(ie)30(v)25(alListener )]TJ +0 Tw 0.081 -1.2 Td +[(listener\) thro)15(ws br)50(.org.sbtvd.si.SIIllegalArgumentException)]TJ +0.604 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(This method retur)-25(ns all descr)-15(iptors in the order the)19(y w)10(ere sent.)]TJ +-3.248 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +-0.019 Tw 1.919 0 Td +[(SIRequest retr)-15(ie)30(v)25(eDescr)-15(iptors \(shor)-40(t )1(retr)-15(ie)30(v)25(eMode)15(, ja)20(v)25(a.lang.Object appData, SIRetr)-15(ie)30(v)25(alListener )]TJ +0 Tw 0.081 -1.2 Td +[(listener)50(, shor)-40(t[] someDescr)-15(iptorT)120(ags\) thro)15(ws br)50(.org.sbtvd.si.SIIllegalArgumentException)]TJ +0.604 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(This method reco)15(v)25(ers some descr)-15(iptors)15(.)60( )]TJ +/T1_1 1 Tf +-3.943 -2.231 Td +[(B.2.2.9 )-1188(SIIterator interface)]TJ +/T1_0 1 Tf +0.093 Tw 0 -2.291 TD +[(The object that implements the SIIter)10(ator interf)30(ace can access the content through the collection of )]TJ +0.055 Tw 0 -1.2 TD +[(SI objects)15(.)60( In order to maintain collection consistency)100(, some accesses to the stream are not initiated )]TJ +0 Tw T* +[(depending on access to the content.)59( )]TJ +0 -2.231 TD +[(The pub)20(lic method f)30(or the SIIter)10(ator class is:)]TJ +0.695 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(int n)10(umberOfRemainingObjects\(\))]TJ +0.685 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(The n)10(umber of objects maintained in the iter)9(ator)50(.)]TJ +/T1_1 1 Tf +-3.943 -2.231 Td +[(B.2.2.10 )-632(SIMonitoringListener interface)]TJ +/T1_0 1 Tf +0.04 Tw 0 -2.291 TD +[(The SImonitor)-15(ingListener interf)30(ace is implemented b)20(y the application class)15(, in order to receiv)25(e the SI )]TJ +0 Tw 0 -1.2 TD +[(object monitor)-15(ing changes)15(.)60( )]TJ +0 -2.291 TD +[(The pub)20(lic method f)30(or the SIMonitor)-15(ingListener class is:)]TJ +0.695 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(v)25(oid postMonitor)-15(ingEv)25(ent\(SIMonitor)-15(ingEv)25(ent anEv)25(ent\))]TJ +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(This method is called b)19(y the SI\325)50(s API to inf)30(or)-25(m the listener of the e)30(v)25(ent.)60( )]TJ +/T1_1 1 Tf +-3.943 -2.231 Td +[(B.2.2.11 )-632(SIMonitoringT)60(ype interface)]TJ +/T1_0 1 Tf +-0.019 Tw T* +[(The SIMonitor)-15(ingT)120(ype interf)30(ace de\336)250( )9(nes the constants that correspond to each type of SI inf)30(or)-25(mation in )]TJ +0 Tw 0 -1.2 TD +[(the SIMonitor)-15(ingEv)25(ent.)60( )]TJ +0 -2.291 TD +[(The SIMonitor)-15(ingT)120(ype class' pub)20(lic static constants are:)]TJ +0.695 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(static b)20(yte BOUQ)10(UET)]TJ +0.685 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(Constant of the SIInf)29(or)-25(mation object that indicates the bouquet.)]TJ +-3.248 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(static b)20(yte BR)20(O)20(ADCASTER)]TJ +0.685 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(Constant of the SIInf)29(or)-25(mation object that indicates the pro)15(vider)50(.)]TJ +-3.248 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(static b)20(yte NETW)20(ORK)]TJ +0.685 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(Constant of the SIInf)29(or)-25(mation object that indicates the netw)10(or)-15(k.)]TJ +-3.248 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(static b)20(yte PMT_SER)50(VICE)]TJ +0.685 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(Constant of the SIInf)29(or)-25(mation object that indicates the PMT ser)-30(vice)15(.)]TJ +ET + +endstream endobj 1074 0 obj <> endobj 1293 0 obj <>stream +BT +/CS0 cs 1 scn +/GS0 gs +/T1_0 1 Tf +8 0 0 8 56.6651 38.2639 Tm +[(\251 ABNT 2010 - All r)-15(ights reser)-30(v)25(ed)]TJ +11 0 0 11 537.6613 35.9389 Tm +(65)Tj +/T1_1 1 Tf +-10.613 68.636 Td +(ABNT NBR 15606-4:2010)Tj +/T1_0 1 Tf +-32.419 -4.899 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(b)20(yte[] getUserNib)10(b)20(les\(\))]TJ +0.685 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(This method retur)-25(ns the genre rele)30(v)25(ant to the prog)10(r)10(am.)]TJ +-3.248 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +0.3 Tw 1.919 0 Td +[(SIRequest retr)-15(ie)30(v)25(eSISer)-30(vice\(shor)-40(t retr)-15(ie)30(v)25(eMode)15(,ja)20(v)25(a.lang.Object appData, SIRetr)-15(ie)30(v)25(alListener )]TJ +0 Tw 0.081 -1.2 Td +[(listener)50(, shor)-40(t[] someDescr)-15(iptorT)120(ags\) thro)15(ws br)50(.org.sbtvd.si.SIIllegalArgumentException)]TJ +0.604 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +-0.029 Tw 1.852 0 Td +[(This method reco)15(v)25(ers the SISer)-30(vice that indicates the ser)-30(vice)15(.)60( )50(The ser)-30(vice is the one to which )]TJ +0 Tw 0 -1.2 TD +[(the prog)10(r)10(am indicated b)20(y SIEv)25(ent belongs)15(.)60( )]TJ +/T1_1 1 Tf +-3.943 -2.231 Td +[(B.2.2.8 )-1188(SIInf)20(ormation interface)]TJ +/T1_0 1 Tf +-0.075 Tw 0 -2.291 TD +[(The SIInf)30(or)-25(mation interf)30(ace is a collection of functions)15(, which are common to SIBouquet, SIBroadcaster)50(, )]TJ +-0.025 Tw 0 -1.2 TD +[(SINetw)10(or)-15(k, SIT)120(r)10(anspor)-40(tStream, SISer)-30(vice)15(, PMTSer)-30(vice)15(, SIEv)25(ent, SITime and PMTElementar)-30(yStream.)]TJ +0 Tw 0 -2.231 TD +[(The SIInf)30(or)-25(mation class pub)20(lic static constants are:)50( )]TJ +0.695 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(static shor)-40(t FR)20(OM_CA)30(CHE_ONL)140(Y)]TJ +0.685 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(The constant is used f)29(or the acquisition mode par)9(ameter of the acquisition methods)14(.)]TJ +-3.248 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(static shor)-40( )278(t FR)20(OM_CA)30(CHE_OR_STREAM)]TJ +0.685 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(The constant is used f)29(or the acquisition mode par)9(ameter of the acquisition methods)14(.)]TJ +-3.248 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(static shor)-40(t FR)20(OM_STREAM_ONL)139(Y)]TJ +0.685 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(The constant is used f)29(or the acquisition mode par)9(ameter of the acquisition methods)14(.)60( )]TJ +-3.943 -2.231 Td +[(The pub)20(lic methods f)30(or the SIInf)30(or)-25(mation class are:)]TJ +0.695 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +(boolean fromActual\(\))Tj +0.685 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +-0.005 Tw 1.852 0 Td +[(If the inf)30(or)-25(mation contained in the object that implements this interf)30(ace w)15(as selected from the )]TJ +0 Tw 0 -1.2 TD +[(\322actual\323)40( tab)20(le or the tab)20(le that does not distinguish )29(\322actual\323)40( or )30(\322not actual\323, )30(\322tr)-15(ue\323)40( is retur)-25(ned.)]TJ +-3.248 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(com.sun.dtv)80(.tr)10(anspor)-40(t.T)120(r)10(anspor)-40(tStream getDataSource\(\))]TJ +0.685 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +0.236 Tw 1.852 0 Td +[(This method retur)-25(ns the com.sun.dtv)80(.tr)10(anspor)-40(t.T)120(r)10(anspor)-40(tStream object selected from the )]TJ +0 Tw T* +[(inf)30(or)-25(mation contained in the object that implements this interf)30(ace)15(.)]TJ +-3.248 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(shor)-40(t[] getDescr)-15(iptorT)120(ags\(\))]TJ +0.674 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.593 0 Td +<017C>Tj +/T1_0 1 Tf +-0.011 Tc -0.07 Tw 1.852 0 Td +[(This method reco)15(v)25(ers the tag v)25(alues f)30(or all descr)-15(iptors that are par)-40(t of the object\325)50(s current v)25(ersion.)]TJ +0 Tc 0 Tw -3.248 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +(SIDatabase getSIDatabase\(\))Tj +0.685 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +0.078 Tw 1.852 0 Td +[(This method retur)-25(ns the hier)10(archical str)-15(ucture root to which the object that implements this )]TJ +0 Tw T* +[(interf)30(ace belongs)15(.)]TJ +-3.248 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(ja)20(v)25(a.util.Date getUpdateTime\(\))]TJ +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +-0.1 Tw 1.852 0 Td +[(This method retur)-25(ns the last da)30(y and hour the inf)30(or)-25(mation included in the object that implements )]TJ +0 Tw T* +[(this interf)30(ace w)15(as updated.)]TJ +ET + +endstream endobj 1071 0 obj <> endobj 473 0 obj <> endobj 998 0 obj <> endobj 474 0 obj <> endobj 1036 0 obj <> endobj 475 0 obj <> endobj 1052 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text]>>/Rotate 0/TrimBox[0.0 0.0549927 595.22 841.945]/Type/Page>> endobj 1055 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text]>>/Rotate 0/TrimBox[0.0 0.0549927 595.22 841.945]/Type/Page>> endobj 1058 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text]>>/Rotate 0/TrimBox[0.0 0.0549927 595.22 841.945]/Type/Page>> endobj 1062 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text]>>/Rotate 0/TrimBox[0.0 0.0549927 595.22 841.945]/Type/Page>> endobj 1065 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text]>>/Rotate 0/TrimBox[0.0 0.0549927 595.22 841.945]/Type/Page>> endobj 1292 0 obj <>stream +BT +/CS0 cs 1 scn +/GS0 gs +/T1_0 1 Tf +8 0 0 8 417.7962 38.134 Tm +[(\251 ABNT 2010 - All r)-15(ights reser)-30(v)25(ed)]TJ +11 0 0 11 45.3266 35.8089 Tm +(64)Tj +/T1_1 1 Tf +0 68.648 TD +(ABNT NBR 15606-4:2010)Tj +/T1_0 1 Tf +0.695 -4.899 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(ja)20(v)25(a.lang.Str)-15(ing[] getDataContentDescr)-15(iptions\(\))]TJ +0.685 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(This method retur)-25(ns the descr)-15(iption in te)30(xt rele)30(v)25(ant to the data broadcasting prog)10(r)10(am.)]TJ +-3.248 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(long getDur)10(ation\(\))]TJ +0.685 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(This method reco)15(v)25(ers prog)10(r)10(am dur)10(ation.)]TJ +-3.248 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(int getEv)25(entID\(\))]TJ +0.685 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(This method reco)15(v)25(ers e)30(v)25(ent ID)70(.)]TJ +-3.248 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(SIExEv)25(entInf)30(or)-25(mation[] getExEv)25(entInf)30(or)-25(mations\(\))]TJ +0.685 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(This method retur)-25(ns detailed inf)30(or)-25(mation rele)30(v)25(ant to the prog)10(r)10(am.)]TJ +-3.248 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(boolean getF)45(reeCAMode \(\))]TJ +0.685 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(This method reco)15(v)25(ers the prog)10(r)10(am shuf\337)250( )28(e v)25(alue)15(.)]TJ +-3.248 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(b)20(yte[] getLe)30(v)25(el1ContentNib)10(b)20(les\(\))]TJ +0.685 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(This method retur)-25(ns the \336)250( )28(rst step of prog)10(r)10(am content classi\336)250( )28(cation.)]TJ +-3.248 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(ja)20(v)25(a.lang.Str)-15(ing getName\(\))]TJ +0.685 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(This method retur)-25(ns the name of the prog)9(r)10(am.)]TJ +-3.248 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(int getOr)-15(iginalNetw)10(or)-15(kID\(\))]TJ +0.685 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(This method reco)15(v)25(ers the or)-15(iginal netw)10(or)-15(k ID)70(.)]TJ +-3.248 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(b)20(yte getRunningStatus\(\))]TJ +0.685 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(This method reco)15(v)25(ers prog)10(r)10(am e)30(x)30(ecution status)15(.)]TJ +-3.248 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(ja)20(v)25(a.lang.Str)-15(ing getSer)-15(iesName\(\))]TJ +0.685 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(This method retur)-25(ns the name of the rele)29(v)25(ant ser)-15(ies to the prog)10(r)10(am.)]TJ +-3.248 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(int getSer)-30(viceID\(\))]TJ +0.685 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(This method reco)15(v)25(ers the ser)-30(vice ID)70(.)]TJ +-3.248 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(ja)20(v)25(a.lang.Str)-15(ing getShor)-40(tDescr)-15(iption\(\))]TJ +0.685 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(This method retur)-25(ns the prog)10(r)10(am descr)-15(iption.)]TJ +-3.248 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(ja)20(v)25(a.util.Date getStar)-40(tTime\(\))]TJ +0.685 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(This method reco)15(v)25(ers the time the prog)10(r)10(am star)-40(ted.)]TJ +-3.248 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(int getT)120(r)10(anspor)-40(tStreamID\(\))]TJ +0.685 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(This method reco)15(v)25(ers the tr)10(anspor)-40(t stream ID)70(.)]TJ +ET + +endstream endobj 1066 0 obj <> endobj 1291 0 obj <>stream +BT +/CS0 cs 1 scn +/GS0 gs +/T1_0 1 Tf +8 0 0 8 56.6651 38.2639 Tm +[(\251 ABNT 2010 - All r)-15(ights reser)-30(v)25(ed)]TJ +11 0 0 11 537.6613 35.9389 Tm +(63)Tj +/T1_1 1 Tf +-10.613 68.636 Td +(ABNT NBR 15606-4:2010)Tj +/T1_0 1 Tf +-32.419 -4.899 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(boolean getBroadcastVie)19(wProper)-40(ty \(\))]TJ +0.685 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(Retur)-25(ns the broadcaster\325)50(s displa)30(y proper)-40(ty v)25(alue)15(.)]TJ +-3.248 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(ja)20(v)25(a.lang.Str)-15(ing getName \(\))]TJ +0.685 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(Retur)-25(ns the name of the pro)14(vider to be descr)-15(ibed in the pro)15(vider descr)-15(iptor)50(.)]TJ +-3.248 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(int getOr)-15(iginalNetw)10(or)-15(kID\(\))]TJ +0.685 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(Retur)-25(ns the or)-15(iginal netw)10(or)-15(k ID)70(.)]TJ +-3.248 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(SBTVDLocator[] getSISer)-31(viceLocators\(\))]TJ +0.685 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +0.347 Tw 1.852 0 Td +[(This method reco)15(v)25(ers the SBTVDLocators list to identify the ser)-30(vice that belongs to)]TJ +0 Tw 0 -1.2 TD +[(the pro)15(vider)50(.)]TJ +-3.248 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +0.429 Tw 1.919 0 Td +[(SIRequest retr)-15(ie)30(v)25(eOr)-15(iginalNetw)10(or)-15(kDescr)-15(iptors\(shor)-40(t )1(retr)-15(ie)30(v)25(eMode)15(, ja)20(v)25(a.lang.Object appData, )]TJ +0 Tw 0.081 -1.2 Td +[(SIRetr)-15(ie)30(v)25(alListener listener\) thro)15(ws br)50(.org.sbtvd.si.SIIllegalArgumentException)]TJ +0.604 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(This method reco)14(v)25(ers all descr)-15(iptors tr)10(ansmitted in the \336)250( )28(rst BIT loop)35(.)]TJ +-3.248 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +2.017 Tw 1.919 0 Td +[(SIRequest retr)-15(ie)30(v)25(eOr)-15(iginalNetw)10(or)-15(kDescr)-15(iptors\(shor)-40(t retr)-15(ie)30(v)25(eMode)15(, ja)20(v)25(a.lang.Object )]TJ +0.743 Tw 0.081 -1.2 Td +[(appData, )1(SIRetr)-15(ie)30(v)25(alListener )1(listener)50(, )1(shor)-40(t[] )1(someDescr)-15(iptorT)120(ags\) )1(thro)15(ws )1(br)50(.org.sbtvd.)]TJ +0 Tw T* +(si.SIIllegalArgumentException)Tj +0.604 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(This method reco)14(v)25(ers the set of descr)-15(iptors tr)10(ansmitted in the \336)250( )28(rst BIT loop)35(.)60( )]TJ +/T1_1 1 Tf +-3.943 -2.231 Td +[(B.2.2.7 )-1188(SIEvent interface)]TJ +/T1_0 1 Tf +-0.005 Tc 0.296 Tw 0 -2.291 TD +[(The SIEv)25(ent interf)30(ace indicates a speci\336)248( )321(c prog)10(r)10(am in the ser)-30(vice)15(.)60( Each object that implements)]TJ +-0.071 Tw 0 -1.2 TD +[(the SIEv)25(ent interf)30(ace is identi\336)248( )-45(ed b)20(y a combination of or)-15(iginal_netw)10(or)-15(k_id, tr)10(anspor)-40(t_stream_id, ser)-30(vice_)]TJ +0.004 Tw T* +[(id and e)30(v)25(ent_id.)60( If the method's retur)-25(n v)25(alue is acquired in the simple manner from the e)30(v)25(ent descr)-15(iptor )]TJ +0.076 Tw T* +[(and more than one descr)-15(iptor is present, the f)30(ollo)15(wing algor)-15(ithm shall be used.)60( In case the language )]TJ +0.072 Tw T* +[(retur)-25(ned b)20(y ja)20(v)25(ax.tv)80(.ser)-30(vice)15(.SIManager#getPref)30(erredLanguage is used in the simple e)30(v)25(ent descr)-15(iptor)50(, )]TJ +0.025 Tw T* +[(the )1(v)25(alue is )1(retur)-25(ned )1(from )1(the descr)-15(iptor)50(.)60( )1(Otherwise)15(, )1(it )1(depends )1(on the )1(set )1(up )1(status )1(that )1(shall )1(be )1(used )]TJ +0 Tw T* +[(besides the a)20(v)25(ailab)20(le simple e)30(v)25(ent descr)-15(iptors)15(.)60( )50(This interf)30(ace e)30(xtends br)50(.org.sbtvd.si.SIInf)30(or)-25(mation.)]TJ +0 Tc 0 -2.231 TD +[(The pub)20(lic methods f)30(or the SIEv)25(ent class are:)]TJ +0.695 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +(SBTVDLocator getSBTVDLocator\(\))Tj +0.685 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(Reco)15(v)25(er the SBTVDLocator that identi\336)250( )28(es the prog)10(r)10(am.)]TJ +-3.248 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(ja)20(v)25(a.lang.Str)-15(ing[] getA)30(udioComponentDescr)-15(iptions\(\))]TJ +0.685 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(This method retur)-25(ns the descr)-15(iption in elementar)-30(y audio stream te)29(xt rele)30(v)25(ant to the prog)10(r)10(am.)]TJ +-3.248 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(ja)20(v)25(a.lang.Str)-15(ing[] getComponentDescr)-15(iptions\(\))]TJ +0.685 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(This method retur)-25(ns the descr)-15(iption in elementar)-30(y stream te)30(xt rele)30(v)25(ant to the prog)10(r)10(am.)]TJ +-3.248 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(b)20(yte[] getContentNib)10(b)20(les\(\))]TJ +0.685 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(This method retur)-25(ns the prog)10(r)10(am genre)15(.)]TJ +ET + +endstream endobj 1063 0 obj <> endobj 1290 0 obj <>stream +BT +/CS0 cs 1 scn +/GS0 gs +/T1_0 1 Tf +8 0 0 8 417.7962 38.134 Tm +[(\251 ABNT 2010 - All r)-15(ights reser)-30(v)25(ed)]TJ +11 0 0 11 45.3266 35.8089 Tm +(62)Tj +/T1_1 1 Tf +0 68.648 TD +(ABNT NBR 15606-4:2010)Tj +0 -4.896 TD +[(B.2.2.5 )-1188(SIBouquet interface )]TJ +/T1_0 1 Tf +0.207 Tw 0 -2.291 TD +[(The SIBouquet interf)30(ace indicates the sub-tab)20(le of the Bouquet Association )50(T)120(ab)20(le's \(BA)120(T\), which )]TJ +-0.032 Tw 0 -1.2 TD +[(descr)-15(ibes )1(a )1(speci\336)250( )1(c )1(bouquet )1(\(with )1(the )1(SIT)120(r)10(anspor)-40(tStreamBA)120(T\).)60( )1(Each )1(object )1(that )1(sets )1(up )1(the )1(SIBouquet )]TJ +0.037 Tw T* +[(interf)30(ace )1(is )1(identi\336)250( )66(ed )1(b)20(y )1(the )1(bouquet_id )1(identi\336)250( )66(er)50(.)60( )51(This )1(interf)30(ace )1(e)30(xtends )1(br)50(.org.sbtvd.si.SIInf)30(or)-25(mation.)]TJ +0 Tw T* +[(The pub)20(lic methods f)30(or the SIBouquet class are:)]TJ +0.695 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +(int getBouquetID\(\))Tj +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(Reco)15(v)25(er bouquet ID)70(.)]TJ +-3.248 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(shor)-40(t[] getDescr)-15(iptorT)120(ags\(\))]TJ +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(This method de\336)250( )28(nes additional semantics f)30(or the SIInf)30(or)-25(mation#getDescr)-15(iptorT)120(ags)15(.)]TJ +-3.248 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(ja)20(v)25(a.lang.Str)-15(ing getName\(\))]TJ +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(This method retur)-25(ns the name of the bouquet to be descr)-16(ibed in the bouquet descr)-16(iptor)50(.)]TJ +-3.248 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(SBTVDLocator[] getSISer)-31(viceLocators\(\))]TJ +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +-0.084 Tw 1.852 0 Td +[(This method reco)15(v)25(ers the SBTVDLocators list to identify the ser)-30(vice that belongs to the ser)-30(vice)15(.)]TJ +0 Tw -3.248 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +0.032 Tw 1.919 0 Td +[(SIRequest retr)-15(ie)30(v)25(eDescr)-15(iptors\(shor)-40(t retr)-15(ie)30(v)25(eMode)15(, ja)20(v)25(a.lang.Object appData, SIRetr)-15(ie)30(v)25(alListener )]TJ +0 Tw 0.081 -1.2 Td +(listener\))Tj +0.604 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +0.305 Tw 1.852 0 Td +[(This method de\336)250( )333(nes additional semantics f)30(or the \336)250( )333(rst SIInf)30(or)-25(mation#retr)-15(ie)30(v)25(eDescr)-15(iptors )]TJ +0 Tw T* +[(prototype)15(.)]TJ +-3.248 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +0.11 Tw 1.919 0 Td +[(SIRequest retr)-15(ie)30(v)25(eDescr)-15(iptors\(shor)-40(t retr)-15(ie)30(v)25(eMode)15(,ja)20(v)25(a.lang.Object appData, SIRetr)-15(ie)30(v)25(alListener )]TJ +0 Tw 0.081 -1.2 Td +[(listener)50(, shor)-40(t[] someDescr)-15(iptorT)120(ags\) )]TJ +0.743 0.702 0.605 0.761 k +/GS1 gs +[(thro)15(ws br)50(.org.sbtvd.si.SIIllegalArgumentException)]TJ +/CS0 cs 1 scn +/GS0 gs +0.604 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +0.104 Tw 1.852 0 Td +(This method de\336)Tj +0 Tw 7.349 0.001 Td +( )Tj +0.104 Tw 0.25 0 Td +[(nes additional semantics f)31(or the second SIInf)30(or)-25(mation#retr)-15(ie)30(v)25(eDescr)-15(iptors )]TJ +0 Tw -7.599 -1.2 Td +[(prototype)15(.)]TJ +-3.248 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.891 Tw 1.919 0 Td +[(SIRequest )1(retr)-15(ie)30(v)25(eSIBouquetT)120(r)10(anspor)-40(tStreams\(shor)-40(t )1(retr)-15(ie)30(v)25(eMode)15(, )1(ja)20(v)25(a.lang.Object )]TJ +0.743 Tw 0.081 -1.2 Td +[(appData, )1(SIRetr)-15(ie)30(v)25(alListener )1(listener)50(, )1(shor)-40(t[] )1(someDescr)-15(iptorT)120(ags\) )]TJ +0.743 0.702 0.605 0.761 k +/GS1 gs +33.289 0 Td +[(thro)15(ws br)50(.org.sbtvd.)]TJ +0 Tw -33.289 -1.2 Td +(si.SIIllegalArgumentException)Tj +/CS0 cs 1 scn +/GS0 gs +0.604 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +0.103 Tw 1.852 0 Td +[(This method pro)15(vides signi\336)]TJ +0 Tw 12.436 0 Td +( )Tj +0.103 Tw 0.25 0 Td +[(cant inf)30(or)-25(mation f)30(or the tr)10(anspor)-40(t stream to which the bouquet )]TJ +0 Tw -12.687 -1.2 Td +[(belongs)15(.)]TJ +/T1_1 1 Tf +-3.943 -2.291 Td +[(B.2.2.6 )-1188(SI Br)20(oadcaster interface )]TJ +/T1_0 1 Tf +0.069 Tw 0 -2.291 TD +[(The interf)30(ace indicates the speci\336)250( )97(c pro)15(vider in the ser)-30(vice)15(.)60( )50(The inf)30(or)-25(mation retur)-25(ned b)20(y the methods )]TJ +0.137 Tw 0 -1.2 TD +[(is acquired from BIT)120(.)60( Each object that implements the SI Broadcaster interf)30(ace is identi\336)250( )165(ed b)20(y the )]TJ +0 Tw T* +[(broadcaster_id.)60( )]TJ +0 -2.291 TD +[(The pub)20(lic methods f)30(or the SI Broadcaster class are:)]TJ +0.695 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +(int getBroadcasterID \(\))Tj +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(Retur)-25(ns the pro)15(vider\325)50(s ID)70(.)]TJ +ET + +endstream endobj 1060 0 obj <> endobj 1289 0 obj <> endobj 1288 0 obj <>stream +BT +/CS0 cs 1 scn +/GS0 gs +/T1_0 1 Tf +8 0 0 8 56.6651 38.2639 Tm +[(\251 ABNT 2010 - All r)-15(ights reser)-30(v)25(ed)]TJ +11 0 0 11 537.6613 35.9389 Tm +(61)Tj +/T1_1 1 Tf +-10.613 68.636 Td +(ABNT NBR 15606-4:2010)Tj +/T1_0 1 Tf +-32.419 -4.899 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(int getT)120(r)10(anspor)-40(tStreamID\(\))]TJ +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(Reco)15(v)25(ers the tr)10(anspor)-40(t stream ID)70(.)]TJ +-3.238 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.614 0 Td +<0194>Tj +/T1_0 1 Tf +0.01 Tc 0.818 Tw 1.919 0 Td +[(SIRequest retr)-15(ie)30(v)25(ePMTElementar)-30(yStreams\(shor)-40(t retr)-15(ie)30(v)25(eMode)15(,ja)20(v)25(a.lang.Object appData,)10( )]TJ +1.176 Tw 0.081 -1.2 Td +[(SIRetr)-15(ie)30(v)25(alListener listener)50(, shor)-40(t[] somePMTDescr)-15(iptorT)120(ags\) thro)15(ws br)50(.org.sbtvd.)]TJ +-0.01 Tw 0 -1.2 TD +(si.SIIllegalArgumentException)Tj +0 Tc 0 Tw 0.604 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +0.025 Tw 1.852 0 Td +[(Reco)15(v)25(ers the inf)30(or)-25(mation rele)30(v)25(ant to the elementar)-30(y streams that compr)-15(ise this ser)-30(vice from )]TJ +0 Tw T* +[(the PMT)120(.)60( )]TJ +/T1_1 1 Tf +-3.943 -2.291 Td +[(B.2.2.4 )-1188(PMTStreamT)60(ype interface )]TJ +/T1_0 1 Tf +0 -2.291 TD +[(The PMTStreamT)120(ype interf)30(ace de\336)250( )28(nes the constants that correspond to the v)25(ar)-15(ious stream types)15(.)60( )]TJ +T* +[(The PMTStreamT)120(ype class' pub)20(lic static constants are:)49( )]TJ +0.695 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(static b)20(yte DSMCC_D)40(A)120(T)120(A_CAR)20(OUSEL)]TJ +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(The constant indicates the data carousel stream type de\336)248( )28(ned b)20(y ISO/IEC 13818-1.)60( )]TJ +-3.248 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(static b)20(yte INDEPENDENT_PES)]TJ +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(The constant indicates the independent PES stream type de\336)248( )28(ned b)20(y ISO/IEC 13818-1.)]TJ +-3.248 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(static b)20(yte MPEG1_A)50(UDIO)]TJ +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(The constant indicates the MPEG1 audio stream type de\336)248( )28(ned b)20(y ISO/IEC 13818-1.)]TJ +-3.248 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(static b)20(yte MPEG1_VIDEO)]TJ +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(The constant indicates the MPEG1 video stream type de\336)248( )28(ned b)20(y ISO/IEC 13818-1.)]TJ +-3.248 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(static b)20(yte MPEG2_AA)30(C_A)50(UDIO)]TJ +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(The constant indicates the MPEG2AA)29(C audio stream type de\336)249( )28(ned b)20(y ISO/IEC 13818-1.)]TJ +-3.248 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(static b)20(yte MPEG2_A)50(UDIO)]TJ +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(The constant indicates the MPEG2 audio stream type de\336)248( )28(ned b)20(y ISO/IEC 13818-1.)]TJ +-3.248 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(static b)20(yte MPEG2_VIDEO)]TJ +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(The constant indicates the MPEG2 video stream type de\336)248( )28(ned b)20(y ISO/IEC 13818-1.)]TJ +-3.248 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(static b)20(yte MPEG4_VIDEO)]TJ +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(The constant indicates the MPEG4 video stream type de\336)248( )28(ned b)20(y ISO/IEC 13818-1.)]TJ +-3.248 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(static b)20(yte MPEG4_A)70(VC_VIDEO)]TJ +0.678 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.597 0 Td +<017C>Tj +/T1_0 1 Tf +-0.007 Tc -0.053 Tw 1.852 0 Td +[(The )1(constant )1(indicates )1(the )1(H.264/MPEG-4 )1(A)70(VC )1(video )1(stream )1(type )1(de\336)247( )-28(ned )1(b)20(y )1(ISO/IEC )1(13818-1.)53( )]TJ +ET + +endstream endobj 1056 0 obj <> endobj 1287 0 obj <>stream +BT +/CS0 cs 1 scn +/GS0 gs +/T1_0 1 Tf +8 0 0 8 417.7962 38.134 Tm +[(\251 ABNT 2010 - All r)-15(ights reser)-30(v)25(ed)]TJ +11 0 0 11 45.3266 35.8089 Tm +(60)Tj +/T1_1 1 Tf +0 68.648 TD +(ABNT NBR 15606-4:2010)Tj +/T1_0 1 Tf +0 -4.899 TD +[(The pub)20(lic methods f)30(or the PMTElementar)-31(yStream class are:)]TJ +0.695 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +(SBTVDLocator getSBTVDLocator \(\))Tj +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(Reco)15(v)25(ers the SBTVDLocator that identi\336)250( )28(es the elementar)-30(y stream.)]TJ +-3.248 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(int getComponentT)119(ag \(\))]TJ +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(Reco)15(v)25(ers the component tag.)]TJ +-3.248 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(shor)-40(t getElementar)-30(yPID \(\))]TJ +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(Reco)15(v)25(ers the elementar)-30(y_PID)70(.)]TJ +-3.248 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(int getOr)-15(iginalNetw)10(or)-15(kID \(\))]TJ +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(Reco)15(v)25(ers the or)-15(iginal netw)10(or)-15(k ID)70(.)]TJ +-3.248 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(int getSer)-30(viceID \(\))]TJ +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(Reco)15(v)25(ers the ser)-30(vice ID)70(.)]TJ +-3.248 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(b)20(yte getStreamT)120(ype \(\))]TJ +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(Reco)15(v)25(ers the stream type ID f)30(or the elementar)-30(y stream.)]TJ +-3.248 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(int getT)120(r)10(anspor)-40(tStreamID \(\))]TJ +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(Reco)15(v)25(ers the tr)10(anspor)-40(t stream ID)70(.)60( )]TJ +/T1_1 1 Tf +-3.943 -2.291 Td +[(B.2.2.3 )-1188(PMTSer)-10(vice interface )]TJ +/T1_0 1 Tf +-0.011 Tw 0 -2.291 TD +[(The PMTSer)-30(vice interf)30(ace indicates the speci\336)250( )17(c ser)-30(vice to be tr)10(ansmitted b)20(y the tr)10(anspor)-40(t stream.)60( )50(The )]TJ +-0.016 Tw 0 -1.2 TD +[(inf)30(or)-25(mation is reco)15(v)25(ered from the PMT)120(.)60( Each object set up with the PMTElementar)-30(yStream interf)30(ace is )]TJ +0 Tw T* +[(identi\336)250( )28(ed b)20(y a combination of or)-15(iginal_netw)10(or)-15(k_id, tr)10(anspor)-40(t_stream_id and ser)-30(vice_id.)]TJ +0 -2.291 TD +[(The pub)20(lic methods f)30(or the PMTSer)-30(vice class are:)]TJ +0.695 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +(SBTVDLocator getSBTVDLocator\(\))Tj +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(Reco)15(v)25(ers the SBTVDLocator that identi\336)250( )28(es this ser)-30(vice)15(.)]TJ +-3.248 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(int getOr)-15(iginalNetw)10(or)-15(kID \(\))]TJ +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(Reco)15(v)25(ers the or)-15(iginal netw)10(or)-15(k ID)70(.)]TJ +-3.248 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +(int getPcrPid\(\))Tj +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(Reco)15(v)25(ers the PCR\325)50(s PID)70(.)]TJ +-3.248 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(int getSer)-30(viceID\(\))]TJ +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(Reco)15(v)25(ers the ser)-30(vice ID)70(.)]TJ +ET + +endstream endobj 1053 0 obj <> endobj 1037 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text]>>/Rotate 0/TrimBox[0.0 0.0549927 595.22 841.945]/Type/Page>> endobj 1040 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text]>>/Rotate 0/TrimBox[0.0 0.0549927 595.22 841.945]/Type/Page>> endobj 1043 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text]>>/Rotate 0/TrimBox[0.0 0.0549927 595.22 841.945]/Type/Page>> endobj 1046 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text]>>/Rotate 0/TrimBox[0.0 0.0549927 595.22 841.945]/Type/Page>> endobj 1049 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text]>>/Rotate 0/TrimBox[0.0 0.0549927 595.22 841.945]/Type/Page>> endobj 1286 0 obj <>stream +BT +/CS0 cs 1 scn +/GS0 gs +/T1_0 1 Tf +8 0 0 8 56.6651 38.2639 Tm +[(\251 ABNT 2010 - All r)-15(ights reser)-30(v)25(ed)]TJ +11 0 0 11 537.6613 35.9389 Tm +(59)Tj +/T1_1 1 Tf +-10.613 68.636 Td +(ABNT NBR 15606-4:2010)Tj +/T1_0 1 Tf +-32.419 -4.899 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(static shor)-40(t STC_REFERENCE)]TJ +0.685 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +0.426 Tw 1.852 0 Td +[(The constant indicates the tag v)25(alue f)30(or the STC ref)30(erence descr)-15(iptor speci\336)250( )454(ed in)]TJ +0 Tw 0 -1.2 TD +(ARIB STD-B10.)Tj +-3.248 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(static shor)-40(t STREAM_IDENTIFIER)]TJ +0.685 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +0.225 Tw 1.852 0 Td +[(The constant indicates the tag v)25(alue f)30(or the stream identi\336)250( )253(cation descr)-15(iptor speci\336)250( )253(ed in)]TJ +0 Tw T* +(ARIB STD-B10.)Tj +-3.248 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(static shor)-40(t STUFFING)]TJ +0.685 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(The constant indicates the tag v)24(alue f)30(or the stuf\336)250( )28(ng descr)-15(iptor speci\336)250( )28(ed in ARIB STD-B10.)]TJ +-3.248 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(static shor)-40(t SYSTEM_MANA)29(GEMENT)]TJ +0.69 -2.205 Td +( )Tj +/C2_0 1 Tf +-0.609 0 Td +<017C>Tj +/T1_0 1 Tf +0.005 Tc 0.157 Tw 1.852 0 Td +[(The constant indicates the tag v)25(alue f)30(or the system management descr)-15(iptor speci\336)252( )188(ed in )]TJ +0 Tw T* +(ARIB STD-B10.)Tj +0 Tc -3.248 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +-0.05 Tw 1.919 0 Td +[(static shor)-90(t T)120(ARGET_AREA)]TJ +0 Tw 0.685 -2.205 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +-0.033 Tw 1.852 0 Td +[(The constant indicates the tag v)25(alue f)30(or the target area descr)-15(iptor speci\336)250( )-5(ed in ARIB STD-B10.)]TJ +0 Tw -3.248 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +-0.05 Tw 1.919 0 Td +[(static shor)-90(t TERRESTRIAL_DELIVER)50(Y_SYSTEM)]TJ +0 Tw 0.685 -2.205 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +0.018 Tw 1.852 0 Td +[(The constant indicates the tag v)25(alue f)30(or the terrestr)-15(ial deliv)25(er)-30(y system descr)-15(iptor speci\336)250( )46(ed in )]TJ +0 Tw T* +(ARIB STD-B10.)Tj +-3.248 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +-0.05 Tw 1.919 0 Td +[(static shor)-90(t TIME_SHIFTED_EVENT)]TJ +0 Tw 0.685 -2.205 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +0.293 Tw 1.852 0 Td +[(The constant indicates the tag v)25(alue f)30(or the time shifted e)30(v)25(ent descr)-15(iptor speci\336)250( )321(ed in)]TJ +0 Tw T* +(ARIB STD-B10.)Tj +-3.248 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +-0.05 Tw 1.919 0 Td +[(static shor)-90(t TIME_SHIFTED_SER)50(VICE)]TJ +0 Tw 0.685 -2.205 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +0.231 Tw 1.852 0 Td +[(The constant indicates the tag v)25(alue f)30(or the time shifted ser)-30(vice descr)-15(iptor speci\336)250( )259(ed in)]TJ +0 Tw T* +(ARIB STD-B10.)Tj +-3.248 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +-0.05 Tw 1.919 0 Td +[(static shor)-90(t TS_INFORMA)120(TION)]TJ +0 Tw 0.685 -2.205 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +0.429 Tw 1.852 0 Td +[(The )1(constant )1(indicates )1(the )1(tag )1(v)25(alue )1(f)30(or )1(the )51(TS )1(inf)30(or)-25(mation )1(descr)-15(iptor )1(speci\336)250( )458(ed )1(in)]TJ +0 Tw T* +(ARIB STD-B10.)Tj +-3.248 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +-0.05 Tw 1.919 0 Td +[(static shor)-90(t VIDEO_DECODE_CONTR)20(OL)]TJ +0 Tw 0.685 -2.205 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +0.182 Tw 1.852 0 Td +[(The constant indicates the )1(tag v)25(alue )1(f)30(or the video decode control descr)-15(iptor speci\336)250( )210(ed )1(in)]TJ +0 Tw T* +(ARIB STD-B10.)Tj +/T1_1 1 Tf +-3.943 -2.231 Td +[(B.2.2.2 )-1188(PMTElementar)-10(yStream interface)]TJ +/T1_0 1 Tf +0.062 Tw 0 -2.282 TD +[(The PMTElementar)-30(yStream interf)30(ace indicates the elementar)-30(y stream f)30(or the ser)-30(vice \(channel\).)60( )50(The )]TJ +0.087 Tw 0 -1.2 TD +[(PMT is present in each ser)-30(vice to descr)-15(ibe the elementar)-30(y streams of the ser)-30(vice)15(.)60( )50(This means that )]TJ +-0.009 Tw T* +[(the )1(object )1(set )1(up )1(with )1(the )1(interf)30(ace )1(indicates )1(one )1(of )1(these )1(elementar)-30(y )1(streams)15(.)60( )1(Each )1(object )1(set )1(up )1(with )]TJ +0.046 Tw T* +[(the PMTElementar)-30(yStream interf)30(ace is identi\336)250( )74(ed b)20(y a combination of or)-15(iginal_netw)10(or)-15(k_id, tr)10(anspor)-40(t_)]TJ +0 Tw T* +[(stream_id, ser)-30(vice_id and component_tag \(or elementar)-31(y_PID\).)]TJ +ET + +endstream endobj 1050 0 obj <> endobj 1285 0 obj <>stream +BT +/CS0 cs 1 scn +/GS0 gs +/T1_0 1 Tf +8 0 0 8 417.7962 38.134 Tm +[(\251 ABNT 2010 - All r)-15(ights reser)-30(v)25(ed)]TJ +11 0 0 11 45.3266 35.8089 Tm +(58)Tj +/T1_1 1 Tf +0 68.648 TD +(ABNT NBR 15606-4:2010)Tj +/T1_0 1 Tf +0.695 -4.899 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(static shor)-40(t P)120(AR)30(TIAL_RECEPTION)]TJ +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +0.395 Tw 1.852 0 Td +[(The constant indicates the v)25(alue of the par)-40(tial reception descr)-15(iptor tag speci\336)250( )423(ed in)]TJ +0 Tw 0 -1.2 TD +(ARIB STD-B10.)Tj +-3.248 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(static shor)-40(t P)120(AR)30(TIAL_TRANSPOR)30(T_STREAM)]TJ +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +0.119 Tw 1.852 0 Td +[(The )1(constant )1(indicates )1(the )1(v)25(alue )1(of )1(the )1(par)-40(tial )1(tr)10(anspor)-40(t )1(stream )1(descr)-15(iptor )1(tag )1(speci\336)250( )148(ed )1(in )]TJ +0 Tw T* +(ARIB STD-B10.)Tj +-3.248 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(static shor)-40(t P)120(AR)30(TIAL)110(TS_TIME)]TJ +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +0.033 Tw 1.852 0 Td +[(The constant indicates the v)25(alue of the par)-40(tial tr)10(anspor)-40(t stream time descr)-15(iptor tag speci\336)250( )61(ed )]TJ +0 Tw T* +(in ARIB STD-B10.)Tj +-3.248 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(static shor)-40(t REFERENCE)]TJ +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(The constant indicates the v)24(alue of the ref)30(erence descr)-15(iptor tag speci\336)250( )28(ed in ARIB STD-B10.)]TJ +-3.248 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(static shor)-40(t SA)120(TELLITE_DELIVER)50(Y_SYSTEM)]TJ +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +0.079 Tw 1.852 0 Td +[(The constant indicates the tag v)25(alue f)30(or the satellite deliv)25(er)-30(y system descr)-15(iptor speci\336)250( )107(ed in )]TJ +0 Tw T* +(ARIB STD-B10.)Tj +-3.248 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(static shor)-40(t SERIES)]TJ +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(The constant indicates the tag v)24(alue f)30(or the ser)-15(ies descr)-15(iptor speci\336)250( )28(ed in ARIB STD-B10.)]TJ +-3.248 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(static shor)-40(t SER)50(VICE)]TJ +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(The constant indicates the tag v)24(alue f)30(or the ser)-30(vice descr)-15(iptor speci\336)250( )28(ed in ARIB STD-B10.)]TJ +-3.248 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(static shor)-40(t SER)50(VICE_LIST)]TJ +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +-0.024 Tw 1.852 0 Td +[(The constant indicates the tag v)25(alue f)30(or the ser)-30(vice list descr)-15(iptor speci\336)250( ed in ARIB STD-B10.)]TJ +0 Tw -3.248 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(static shor)-40(t SHOR)30(T_EVENT)]TJ +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +0.337 Tw 1.852 0 Td +[(The constant indicates the tag v)25(alue f)30(or the shor)-40(t f)30(or)-25(m e)30(v)25(ent descr)-15(iptor speci\336)250( )365(ed in)]TJ +0 Tw T* +(ARIB STD-B10.)Tj +-3.248 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(static shor)-40(t SHOR)30(T_NODE_INFORMA)119(TION)]TJ +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +0.03 Tw 1.852 0 Td +[(The constant indicates the tag v)25(alue f)30(or the shor)-40(t f)30(or)-25(m node inf)30(or)-25(mation descr)-15(iptor speci\336)250( )58(ed )]TJ +0 Tw T* +(in ARIB STD-B10.)Tj +-3.248 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(static shor)-40(t SI_P)120(ARAMETER)]TJ +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +-0.005 Tw 1.852 0 Td +[(The constant indicates the tag v)25(alue f)30(or the SI tr)10(ansmission par)10(ameter descr)-15(iptor speci\336)250( )23(ed in )]TJ +0 Tw T* +(ARIB STD-B10.)Tj +-3.248 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(static shor)-40(t SI_PRIME_TS)]TJ +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +-0.058 Tw 1.852 0 Td +[(The constant indicates the tag v)25(alue f)30(or the SI pr)-15(ime )50(TS descr)-15(iptor speci\336)250( )-30(ed in ARIB STD-B10.)]TJ +ET + +endstream endobj 1047 0 obj <> endobj 1284 0 obj <>stream +BT +/CS0 cs 1 scn +/GS0 gs +/T1_0 1 Tf +8 0 0 8 56.6651 38.2639 Tm +[(\251 ABNT 2010 - All r)-15(ights reser)-30(v)25(ed)]TJ +11 0 0 11 537.6613 35.9389 Tm +(57)Tj +/T1_1 1 Tf +-10.613 68.636 Td +(ABNT NBR 15606-4:2010)Tj +/T1_0 1 Tf +-32.419 -4.899 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(static shor)-40(t HIERARCHICAL_TRANSMISSION)]TJ +0.685 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +0.076 Tw 1.852 0 Td +[(The constant indicates the v)25(alue of the hier)10(archical tr)10(ansmission descr)-15(iptor tag speci\336)250( )104(ed in )]TJ +0 Tw 0 -1.2 TD +(ARIB STD-B10.)Tj +-3.248 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(static shor)-40(t HYPER_LINK)]TJ +0.685 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(The constant indicates the v)24(alue of the h)30(yper link descr)-15(iptor tag speci\336)250( )28(ed in ARIB STD-B10.)]TJ +-3.248 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(static shor)-40(t LDT_LINKA)30(GE)]TJ +0.685 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +-0.047 Tw 1.852 0 Td +[(The constant indicates the v)25(alue of the LDT linkage descr)-15(iptor tag speci\336)250( )-19(ed in ARIB STD-B10.)]TJ +0 Tw -3.248 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(static shor)-40(t LINKA)30(GE)]TJ +0.685 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(The constant indicates the v)24(alue of the linkage descr)-16(iptor tag speci\336)250( )28(ed in ARIB STD-B10.)]TJ +-3.248 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(static shor)-40(t LOCAL_TIME_OFFSET)]TJ +0.685 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +0.38 Tw 1.852 0 Td +[(The constant indicates the v)25(alue of the local time offset descr)-15(iptor tag speci\336)250( )408(ed in)]TJ +0 Tw T* +(ARIB STD-B10.)Tj +-3.248 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(static shor)-40(t LOGO_TRANSMISSION)]TJ +0.685 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +0.344 Tw 1.852 0 Td +[(The )1(constant )1(indicates )1(the )1(v)25(alue )1(of )1(the )1(logo )1(tr)10(ansmission )1(descr)-15(iptor )1(tag )1(speci\336)250( )373(ed )1(in)]TJ +0 Tw T* +(ARIB STD-B10.)Tj +-3.248 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(static shor)-40(t MOSAIC)]TJ +0.685 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(The constant indicates the v)24(alue of the mosaic descr)-16(iptor tag speci\336)250( )28(ed in ARIB STD-B10.)]TJ +-3.248 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(static shor)-40(t NETW)20(ORK_IDENTIFICA)120(TION)]TJ +0.685 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +0.213 Tw 1.852 0 Td +[(The )1(constant )1(indicates )1(the )1(v)25(alue )1(of )1(the )1(netw)10(or)-15(k )1(identi\336)250( )242(cation )1(tag )1(descr)-15(iptor )1(speci\336)250( )242(ed )1(in)]TJ +0 Tw T* +(ARIB STD-B10.)Tj +-3.248 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(static shor)-40(t NETW)20(ORK_NAME)]TJ +0.685 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +0.467 Tw 1.852 0 Td +[(The constant indicates the v)25(alue of the netw)10(or)-15(k name descr)-15(iptor tag speci\336)250( )495(ed in)]TJ +0 Tw T* +(ARIB STD-B10.)Tj +-3.248 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(static shor)-40(t NODE_RELA)120(TION)]TJ +0.685 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +-0.079 Tw 1.852 0 Td +[(The constant indicates the v)25(alue of the node relation descr)-15(iptor tag speci\336)250( )-51(ed in ARIB STD-B10.)]TJ +0 Tw -3.248 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(static shor)-40(t NV)40(OD_REFERENCE)]TJ +0.685 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +0.084 Tw 1.852 0 Td +[(The constant indicates the v)25(alue of the NV)40(OD ref)30(erence ser)-30(vice descr)-15(iptor tag speci\336)250( )112(ed in )]TJ +0 Tw T* +(ARIB STD-B10.)Tj +-3.248 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(static shor)-40(t P)120(ARENT)120(AL_RA)120(TING)]TJ +0.685 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +0.459 Tw 1.852 0 Td +[(The constant indicates the v)25(alue of the parental r)10(ating descr)-15(iptor tag speci\336)250( )487(ed in)]TJ +0 Tw T* +(ARIB STD-B10.)Tj +ET + +endstream endobj 1044 0 obj <> endobj 1283 0 obj <>stream +BT +/CS0 cs 1 scn +/GS0 gs +/T1_0 1 Tf +8 0 0 8 417.7962 38.134 Tm +[(\251 ABNT 2010 - All r)-15(ights reser)-30(v)25(ed)]TJ +11 0 0 11 45.3266 35.8089 Tm +(56)Tj +/T1_1 1 Tf +0 68.648 TD +(ABNT NBR 15606-4:2010)Tj +/T1_0 1 Tf +0.695 -4.899 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(static shor)-40(t CONNECTED_TRANSMISSION)]TJ +0.685 -2.179 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +0.117 Tw 1.852 0 Td +[(The )1(constant )1(indicates )1(the )1(v)25(alue )1(of )1(the )1(connected )1(tr)10(ansmission )1(descr)-15(iptor )1(tag )1(speci\336)250( )146(ed )1(in )]TJ +0 Tw 0 -1.2 TD +(ARIB STD-B10.)Tj +-3.248 -2.179 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(static shor)-40(t CONTENT)]TJ +0.685 -2.179 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(The constant indicates the v)24(alue of the content descr)-16(iptor tag speci\336)250( )28(ed in ARIB STD-B10.)]TJ +-3.248 -2.179 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(static shor)-40(t CONTENT_A)70(V)80(AILABILITY)]TJ +0.685 -2.179 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +0.272 Tw 1.852 0 Td +[(The constant indicates the v)25(alue of the contents a)20(v)25(ailability descr)-15(iptor tag speci\336)250( )300(ed in)]TJ +0 Tw T* +(ARIB STD-B10.)Tj +-3.248 -2.179 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(static shor)-40(t COUNTR)50(Y_A)70(V)80(AILABILITY)]TJ +0.685 -2.179 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +0.043 Tw 1.852 0 Td +[(The constant indicates the v)25(alue of the countr)-30(y receiving a)20(v)25(ailability descr)-15(iptor tag speci\336)250( )71(ed )]TJ +0 Tw T* +(in ARIB STD-B10.)Tj +-3.248 -2.179 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(static shor)-40(t D)40(A)120(T)120(A_COMPONENT)]TJ +0.685 -2.179 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +0.393 Tw 1.852 0 Td +[(The constant indicates the v)25(alue of the data component descr)-15(iptor tag speci\336)250( )421(ed in)]TJ +0 Tw T* +(ARIB STD-B10.)Tj +-3.248 -2.179 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(static shor)-40(t D)40(A)120(T)120(A_CONTENTS)]TJ +0.685 -2.179 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +-0.095 Tw 1.852 0 Td +[(The constant indicates the v)25(alue of the data contents descr)-15(iptor tag speci\336)250( )-67(ed in ARIB STD-B10.)]TJ +0 Tw -3.248 -2.179 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(static shor)-40(t DIGIT)120(AL_COPY_CONTR)20(OL)]TJ +0.685 -2.179 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +0.28 Tw 1.852 0 Td +[(The constant indicates the v)25(alue of the digital cop)30(y control descr)-15(iptor tag speci\336)250( )308(ed in)]TJ +0 Tw T* +(ARIB STD-B10.)Tj +-3.248 -2.179 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(static shor)-40(t DO)30(WNLO)20(AD_CONTENT)]TJ +0.685 -2.179 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +0.297 Tw 1.852 0 Td +[(The constant indicates the v)25(alue of the do)15(wnload contents descr)-15(iptor tag speci\336)250( )325(ed in)]TJ +0 Tw T* +(ARIB STD-B10.)Tj +-3.248 -2.179 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(static shor)-40(t EMERGENCY_INFORMA)119(TION)]TJ +0.685 -2.179 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +0.144 Tw 1.852 0 Td +[(The constant indicates the v)25(alue of the emergency inf)30(or)-25(mation descr)-15(iptor tag speci\336)250( )172(ed in )]TJ +0 Tw T* +(ARIB STD-B10.)Tj +-3.248 -2.179 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(static shor)-40(t EVENT_GR)20(OUP)]TJ +0.685 -2.179 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +-0.039 Tw 1.852 0 Td +[(The constant indicates the v)25(alue of the e)30(v)25(ent g)10(roup descr)-15(iptor tag speci\336)250( )-11(ed in ARIB STD-B10.)]TJ +0 Tw -3.248 -2.179 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(static shor)-40(t EXTENDED_BR)20(O)20(ADCASTER)]TJ +0.69 -2.179 Td +( )Tj +/C2_0 1 Tf +-0.609 0 Td +<017C>Tj +/T1_0 1 Tf +0.005 Tc 0.152 Tw 1.852 0 Td +[(The constant indicates the v)25(alue )1(of the e)30(xtended broadcaster descr)-15(iptor tag speci\336)252( )182(ed in )]TJ +0 Tw T* +(ARIB STD-B10.)Tj +0 Tc -3.248 -2.179 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(static shor)-40(t EXTENDED_EVENT)]TJ +0.69 -2.179 Td +( )Tj +/C2_0 1 Tf +-0.609 0 Td +<017C>Tj +/T1_0 1 Tf +0.005 Tc 0.395 Tw 1.852 0 Td +[(The constant indicates the v)25(alue of the e)30(xtended e)30(v)25(ent descr)-15(iptor tag speci\336)253( )425(ed in)]TJ +0 Tw T* +(ARIB STD-B10.)Tj +ET + +endstream endobj 1041 0 obj <> endobj 1282 0 obj <>stream +BT +/CS0 cs 1 scn +/GS0 gs +/T1_0 1 Tf +8 0 0 8 56.6651 38.2639 Tm +[(\251 ABNT 2010 - All r)-15(ights reser)-30(v)25(ed)]TJ +11 0 0 11 537.6613 35.9389 Tm +(55)Tj +/T1_1 1 Tf +-10.613 68.636 Td +(ABNT NBR 15606-4:2010)Tj +/T1_0 1 Tf +-32.419 -4.899 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(static shor)-40(t BASIC_LOCAL_EVENT)]TJ +0.685 -2.205 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +0.35 Tw 1.852 0 Td +[(The constant indicates the v)25(alue of the basic local e)30(v)25(ent descr)-15(iptor tag speci\336)250( )378(ed in)]TJ +0 Tw 0 -1.2 TD +(ARIB STD-B10.)Tj +-3.248 -2.205 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(static shor)-40(t BO)20(ARD_INFORMA)120(TION)]TJ +0.685 -2.205 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +0.343 Tw 1.852 0 Td +[(The constant indicates the v)25(alue of the board inf)30(or)-25(mation descr)-15(iptor tag speci\336)250( )371(ed in)]TJ +0 Tw T* +(ARIB STD-B10.)Tj +-3.248 -2.205 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(static shor)-40(t BOUQ)10(UET_NAME)]TJ +0.685 -2.205 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +0.458 Tw 1.852 0 Td +[(The constant indicates the v)25(alue of the bouquet name descr)-15(iptor tag speci\336)250( )486(ed in)]TJ +0 Tw T* +(ARIB STD-B10.)Tj +-3.248 -2.205 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(static shor)-40(t BR)20(O)20(ADCASTER_NAME)]TJ +0.685 -2.205 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +0.319 Tw 1.852 0 Td +[(The constant indicates the v)25(alue of the broadcaster name descr)-15(iptor tag speci\336)250( )347(ed in)]TJ +0 Tw T* +(ARIB STD-B10.)Tj +-3.248 -2.205 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(static shor)-40(t CA_CONTRA)30(CT_INFO)]TJ +0.685 -2.205 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +0.044 Tw 1.852 0 Td +[(The constant indicates the v)25(alue of the CA contr)10(actor inf)30(or)-25(mation descr)-15(iptor tag speci\336)250( )72(ed in )]TJ +0 Tw T* +(ARIB STD-B10.)Tj +-3.248 -2.205 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(static shor)-40(t CA_EMM_TS)]TJ +0.685 -2.205 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +-0.111 Tw 1.852 0 Td +[(The constant indicates the v)25(alue of the CA_EMM_TS descr)-15(iptor tag speci\336)250( )-83(ed in ARIB STD-B10.)]TJ +0 Tw -3.248 -2.205 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(static shor)-40(t CA_IDENTIFIER)]TJ +0.685 -2.205 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +0.389 Tw 1.852 0 Td +[(The constant indicates the v)25(alue of the CA identi\336)250( )417(cation descr)-15(iptor tag speci\336)250( )417(ed in)]TJ +0 Tw T* +(ARIB STD-B10.)Tj +-3.248 -2.205 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(static shor)-40(t CA_SER)50(VICE)]TJ +0.685 -2.205 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +-0.014 Tw 1.852 0 Td +[(The constant indicates the v)25(alue of the CA ser)-30(vice descr)-15(iptor tag speci\336)250( )14(ed in ARIB STD-B10.)]TJ +0 Tw -3.248 -2.205 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(static shor)-40(t CABLE_DELIVER)50(Y_SYSTEM)]TJ +0.685 -2.179 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +0.181 Tw 1.852 0 Td +[(The constant indicates the v)25(alue of the cab)20(le deliv)25(er)-30(y system descr)-15(iptor tag speci\336)250( )209(ed in)]TJ +0 Tw T* +(ARIB STD-B10.)Tj +-3.248 -2.205 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(static shor)-40(t CAR)20(OUSEL_COMP)120(A)120(TIBLE_COMPOSITE)]TJ +0.685 -2.179 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +-0.063 Tw 1.852 0 Td +[(The constant indicates the v)25(alue of the carousel compatib)20(le composite descr)-15(iptor tag speci\336)250( )-35(ed )]TJ +0 Tw T* +(in ARIB STD-B10.)Tj +-3.248 -2.205 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(static shor)-40(t COMPONENT)]TJ +0.685 -2.179 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +-0.021 Tw 1.852 0 Td +[(The constant indicates the v)25(alue of the component descr)-15(iptor tag speci\336)250( )7(ed in ARIB STD-B10.)]TJ +0 Tw -3.248 -2.205 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(static shor)-40(t COMPONENT_GR)19(OUP)]TJ +0.69 -2.179 Td +( )Tj +/C2_0 1 Tf +-0.609 0 Td +<017C>Tj +/T1_0 1 Tf +0.005 Tc 0.31 Tw 1.852 0 Td +[(The )1(constant )1(indicates )1(the )1(v)25(alue )1(of )1(the )1(component )1(g)10(roup )1(descr)-15(iptor )1(tag )1(speci\336)253( )341(ed )1(in)]TJ +0.002 Tc 0.003 Tw T* +(ARIB STD-B10.)Tj +ET + +endstream endobj 1038 0 obj <> endobj 1019 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text]>>/Rotate 0/TrimBox[0.0 0.0549927 595.22 841.945]/Type/Page>> endobj 1023 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text]>>/Rotate 0/TrimBox[0.0 0.0549927 595.22 841.945]/Type/Page>> endobj 1027 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text]>>/Rotate 0/TrimBox[0.0 0.0549927 595.22 841.945]/Type/Page>> endobj 1030 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text]>>/Rotate 0/TrimBox[0.0 0.0549927 595.22 841.945]/Type/Page>> endobj 1033 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text]>>/Rotate 0/TrimBox[0.0 0.0549927 595.22 841.945]/Type/Page>> endobj 1281 0 obj <>stream +BT +/CS0 cs 1 scn +/GS0 gs +/T1_0 1 Tf +8 0 0 8 417.7962 38.134 Tm +[(\251 ABNT 2010 - All r)-15(ights reser)-30(v)25(ed)]TJ +11 0 0 11 45.3266 35.8089 Tm +(54)Tj +/T1_1 1 Tf +0 68.648 TD +(ABNT NBR 15606-4:2010)Tj +/T1_0 1 Tf +0.695 -4.899 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(int getOr)-15(iginalNetw)10(or)-15(kID\(\))]TJ +0.685 -2.179 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(Retr)-15(ie)30(v)25(es the or)-15(iginal_netw)10(or)-15(k_id.)]TJ +-3.248 -2.179 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(ja)20(v)25(a.lang.Str)-15(ing getResourceName\(\))]TJ +0.685 -2.179 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(Retr)-15(ie)30(v)25(es the resourceName)15(.)]TJ +-3.248 -2.179 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(ja)20(v)25(a.lang.Str)-15(ing getScheme\(\))]TJ +0.685 -2.179 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(Retr)-15(ie)30(v)25(es the scheme)15(.)]TJ +-3.248 -2.179 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(int getSer)-30(viceID\(\))]TJ +0.685 -2.179 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(Retr)-15(ie)30(v)25(es the ser)-30(vice_id.)]TJ +-3.248 -2.179 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(int getT)120(r)10(anspor)-40(tStreamID\(\))]TJ +0.685 -2.179 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(Retr)-15(ie)30(v)25(es the tr)10(anspor)-40(t_stream_id.)]TJ +-3.248 -2.179 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(ja)20(v)25(a.net.URL getURL\(\))]TJ +0.685 -2.179 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(Retr)-15(ie)30(v)25(es the SBTVD URL encapsulated in the SBTVDLocator object.)]TJ +/T1_1 1 Tf +-3.943 -2.179 Td +[(B.2.1.2 )-1188(SBTVDNetw)20(orkBoundLocator c)19(lass )]TJ +/T1_0 1 Tf +-0.072 Tw 0 -2.179 TD +[(SBTVDLocator is connected to the netw)10(or)-15(k.)60( )50(This object type uniquely identi\336)250( )-44(es a cer)-40(tain entity including )]TJ +0.054 Tw 0 -1.2 TD +[(the distr)-15(ib)20(ution of the system that tr)10(ansmits the entity)100(.)60( F)30(or e)30(xample)15(, if tw)10(o types of netw)10(or)-15(ks tr)10(ansmit )]TJ +0.069 Tw T* +[(a par)-40(ticular ser)-30(vice)15(, it can be identi\336)250( )97(ed as a common ser)-30(vice on the SBTVDLocator)50(.)60( Ho)15(w)10(e)30(v)25(er)50(, each )]TJ +0.01 Tw T* +[(ser)-30(vice tr)10(ansmitted has a diff)30(erent SBTVDNetw)10(or)-15(kBoundLocator)50(.)60( )50(This class implements the com.sun.)]TJ +0.165 Tw T* +[(dtv)80(.locator)50(.T)120(r)10(anspor)-40(tDependentLocator interf)30(ace \(see J)20(A)70(V)80(ADTV 1.3:2009\) and e)30(xtends the br)50(.org.)]TJ +0 Tw T* +[(sbtvd.net.SBTVDLocator class)14(.)]TJ +0 -2.179 TD +[(The pub)20(lic methods of the SBTVDNetw)9(or)-15(kBoundLocator class are:)]TJ +0.695 -2.179 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(SBTVDNetw)10(or)-15(kBoundLocator\(SBTVDLocator unboundLocator)50(, int netw)10(or)-15(kId\))]TJ +0.685 -2.179 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(Gener)10(ation of the netw)10(or)-15(k bound locator)50(.)]TJ +-3.248 -2.179 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(int getNetw)10(or)-15(kID\(\))]TJ +0.685 -2.179 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(Retr)-15(ie)30(v)25(es the netw)10(or)-15(k_id.)]TJ +/T1_1 1 Tf +12 0 0 12 45.3265 211.3799 Tm +[(B.2.2 )-1064(br)60(.or)15(g.sbtvd.si pac)20(ka)10(g)-10(e)]TJ +11 0 0 11 45.3265 187.4089 Tm +[(B.2.2.1 )-1188(DescriptorT)80(a)10(g interface)]TJ +/T1_0 1 Tf +0.026 Tw T* +[(The Descr)-15(iptorT)120(ag interf)30(ace de\336)250( )54(nes the constants that correspond to the most common v)25(alues of the )]TJ +0 Tw 0 -1.2 TD +[(descr)-15(iptor tag.)]TJ +0 -2.179 TD +[(The pub)20(lic static constants of the Descr)-16(iptorT)120(ag class are:)50( )]TJ +0.695 -2.179 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(static shor)-40(t A)50(UDIO_COMPONENT)]TJ +0.685 -2.179 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +0.352 Tw 1.852 0 Td +[(The constant indicates the v)25(alue of the audio component descr)-15(iptor tag speci\336)250( )380(ed in)]TJ +0 Tw 0 -1.2 TD +(ARIB STD-B10.)Tj +ET + +endstream endobj 1034 0 obj <> endobj 1280 0 obj <>stream +BT +/CS0 cs 1 scn +/GS0 gs +/T1_0 1 Tf +8 0 0 8 56.6651 38.2639 Tm +[(\251 ABNT 2010 - All r)-15(ights reser)-30(v)25(ed)]TJ +11 0 0 11 537.6613 35.9389 Tm +(53)Tj +/T1_1 1 Tf +-10.613 68.636 Td +(ABNT NBR 15606-4:2010)Tj +/T1_0 1 Tf +-32.419 -4.899 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +-0.042 Tw 1.919 0 Td +[(SBTVDLocator\(ja)20(v)25(a.lang.Str)-15(ing scheme)15(, int onid, int tsid, int ser)-30(viceid, int contentid, )1(int e)30(v)25(entid, int )]TJ +0 Tw 0.081 -1.2 Td +[(componenttag\) thro)14(ws ja)20(v)25(ax.tv)80(.locator)50(.In)20(v)25(alidLocatorException)]TJ +0.604 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(Gener)10(ation of SBTVD Locator based on one of the f)29(ollo)15(wing f)30(or)-25(mats)15(.)]TJ +-3.248 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +0.075 Tw 1.919 0 Td +[(SBTVDLocator\(ja)20(v)25(a.lang.Str)-15(ing scheme)15(, int onid, int tsid, int ser)-30(viceid, int contentid, int e)30(v)25(entid, )]TJ +0 Tw 0.081 -1.2 Td +[(int[] componenttags\) thro)14(ws ja)20(v)25(ax.tv)80(.locator)50(.In)20(v)25(alidLocatorException)]TJ +0.604 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(Gener)10(ation of SBTVD Locator based on one of the f)29(ollo)15(wing f)30(or)-25(mats)15(.)]TJ +-3.248 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +0.075 Tw 1.919 0 Td +[(SBTVDLocator\(ja)20(v)25(a.lang.Str)-15(ing scheme)15(, int onid, int tsid, int ser)-30(viceid, int contentid, int e)30(v)25(entid, )]TJ +0 Tw 0.081 -1.2 Td +[(int[] componenttags)14(, ja)20(v)25(a.lang.Str)-15(ing \336)250( )28(leP)40(ath\) thro)15(ws ja)20(v)25(ax.tv)80(.locator)50(.In)20(v)25(alidLocatorException)]TJ +0.604 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(Gener)10(ation of SBTVD Locator based on one of the f)29(ollo)15(wing f)30(or)-25(mats)15(.)]TJ +-3.248 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +-0.042 Tw 1.919 0 Td +[(SBTVDLocator\(ja)20(v)25(a.lang.Str)-15(ing scheme)15(, int onid, int tsid, int ser)-30(viceid, int contentid, )1(int e)30(v)25(entid, int )]TJ +0 Tw 0.081 -1.2 Td +[(componenttag, int channelid\) thro)14(ws ja)20(v)25(ax.tv)80(.locator)50(.In)20(v)25(alidLocatorException)]TJ +0.604 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(Gener)10(ation of SBTVD Locator based on one of the f)29(ollo)15(wing f)30(or)-25(mats)15(.)]TJ +-3.248 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +0.075 Tw 1.919 0 Td +[(SBTVDLocator\(ja)20(v)25(a.lang.Str)-15(ing scheme)15(, int onid, int tsid, int ser)-30(viceid, int contentid, int e)30(v)25(entid, )]TJ +0 Tw 0.081 -1.2 Td +[(int componenttag, ja)19(v)25(a.lang.Str)-15(ing modulename\) thro)15(ws ja)20(v)25(ax.tv)80(.locator)50(.In)20(v)25(alidLocatorException)]TJ +0.604 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(Gener)10(ation of SBTVD Locator based on one of the f)29(ollo)15(wing f)30(or)-25(mats)15(.)]TJ +-3.248 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +-0.042 Tw 1.919 0 Td +[(SBTVDLocator\(ja)20(v)25(a.lang.Str)-15(ing scheme)15(, int onid, int tsid, int ser)-30(viceid, int contentid, )1(int e)30(v)25(entid, int )]TJ +0 Tw 0.081 -1.2 Td +[(componenttag, ja)19(v)25(a.lang.Str)-15(ing modulename)15(, ja)20(v)25(a.lang.Str)-15(ing resourcename\))]TJ +0.604 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(Gener)10(ation of SBTVD Locator based on one of the f)29(ollo)15(wing f)30(or)-25(mats)15(.)]TJ +-3.248 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +(int getChannelId \(\))Tj +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(Retr)-15(ie)30(v)25(es channel id.)]TJ +-3.248 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(int[] getComponentT)119(ags\(\))]TJ +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(Retr)-15(ie)30(v)25(es component_tag arr)10(a)30(y)100(.)]TJ +-3.248 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +(int getContentId\(\))Tj +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(Retr)-15(ie)30(v)25(es the content_id.)]TJ +-3.248 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(int getEv)25(entId\(\))]TJ +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(Retr)-15(ie)30(v)25(es the e)30(v)25(ent_id.)]TJ +-3.248 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(ja)20(v)25(a.lang.Str)-15(ing getFileP)40(ath\(\))]TJ +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(Retr)-15(ie)30(v)25(es par)-40(t of the \336)250( )28(le name locator path.)]TJ +-3.248 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(ja)20(v)25(a.lang.Str)-15(ing getModuleName\(\))]TJ +0.685 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(T)120(o acquire moduleName)15(.)]TJ +ET + +endstream endobj 1031 0 obj <> endobj 1279 0 obj <>stream +BT +/CS0 cs 1 scn +/GS0 gs +/T1_0 1 Tf +8 0 0 8 417.7962 38.134 Tm +[(\251 ABNT 2010 - All r)-15(ights reser)-30(v)25(ed)]TJ +11 0 0 11 45.3266 35.8089 Tm +(52)Tj +/T1_1 1 Tf +0 68.648 TD +(ABNT NBR 15606-4:2010)Tj +14 0 0 14 261.7082 734.7589 Tm +[(Anne)15(x B)]TJ +/T1_0 1 Tf +-0.368 -1.2 Td +[(\(nor)-25(mativ)25(e\))]TJ +/T1_1 1 Tf +-12.626 -2.4 Td +[(Speci\036)306( )-27(cation of the pr)20(otocol-dependent ser)-10(vice inf)20(ormation API)]TJ +13 0 0 13 45.3265 626.2389 Tm +[(B.1 )-935(General considerations)]TJ +/T1_0 1 Tf +0.086 Tw 11 0 0 11 45.3265 603.0389 Tm +[(This Anne)30(x descr)-15(ibes the protocol-dependent ser)-30(vice inf)30(or)-25(mation API in Ginga-J)30(.)60( )50(This API is based )]TJ +0.112 Tw 0 -1.2 TD +[(on changes in speci\336)250( )140(cation ARIB STD-B23:)50( 2004, Anne)30(x M.)60( )50(This is due to the adoption of ISDB-T )]TJ +0.012 Tw T* +[(\(see ARIB STD-B31:)50( 2007\) based on ABNT )1(NBR 15601:2007.)60( P)40(ar)10(ameters rele)30(v)25(ant )1(to the inf)30(or)-25(mation )]TJ +-0.011 Tw T* +[(about digital tele)30(vision ser)-30(vice are associated with the tr)10(ansmission method used;)50( hence)15(, the Br)10(azilian )]TJ +0.045 Tw T* +[(ser)-30(vice inf)30(or)-25(mation speci\336)250( )73(ed b)20(y ABNT NBR 15603:2007 is largely consistent with speci\336)250( )73(cation ARIB )]TJ +0.219 Tw T* +[(STD-B10.2008.)60( )1(Ho)15(w)10(e)30(v)25(er)50(, )1(the )1(ARIB )1(STD-B23:)50( )1(2004 )1(is )1(based )1(on )1(the )1(GEM )1(API.)60( )51(This )1(Standard )1(is )]TJ +0.14 Tw T* +[(compatib)20(le with the J)20(a)20(v)25(a DTV platf)30(or)-25(m, which mak)20(es it necessar)-30(y to introduce adjustments in the)]TJ +0 Tw T* +[(SI API.)60( )50(Theref)30(ore)15(, a ne)20(w API w)15(as de\336)250( )28(ned and speci\336)250( )28(ed.)]TJ +/T1_1 1 Tf +13 0 0 13 45.3265 475.1959 Tm +[(B.2 )-935(Pr)20(otocol-dependent ser)-10(vice inf)20(ormation API)]TJ +12 0 0 12 45.3265 447.7959 Tm +[(B.2.1 )-1064(br)60(.or)15(g.sbtvd.net pac)20(ka)10(g)-10(e)]TJ +11 0 0 11 45.3265 423.2579 Tm +[(B.2.1.1 )-1188(SBTVDLocator c)20(lass)]TJ +/T1_0 1 Tf +0.063 Tw 0 -2.231 TD +[(SBTVD Locator encapsulates SBTVD URL in the object.)60( )50(This class e)30(xtends the com.sun.dtv)80(.locator)50(.)]TJ +0 Tw 0 -1.2 TD +[(EntityLocator class \(see J)19(A)70(V)80(ADTV 1.3:2009\).)]TJ +0 -2.231 TD +[(The pub)20(lic methods of the SBTVDLocator class are:)]TJ +0.695 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(SBTVDLocator\(ja)20(v)25(a.lang.Str)-15(ing ur)-15(l\) thro)15(ws ja)20(v)25(ax.tv)80(.locator)50(.In)20(v)25(alidLocatorException)]TJ +0.685 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(Gener)10(ation of SBTVD Locator)49(.)]TJ +-3.248 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.055 Tw 1.919 0 Td +[(SBTVDLocator\(ja)20(v)25(a.lang.Str)-15(ing scheme)15(, int onid, int tsid\) thro)15(ws ja)20(v)25(ax.tv)80(.locator)50(.)]TJ +0 Tw 0.081 -1.2 Td +[(In)20(v)25(alidLocatorException)]TJ +0.604 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(Gener)10(ation of SBTVD Locator based on the f)29(ollo)15(wing f)30(or)-25(mat.)]TJ +-3.248 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +0.169 Tw 1.919 0 Td +[(SBTVDLocator\(ja)20(v)25(a.lang.Str)-15(ing scheme)15(, int onid, int tsid, int ser)-30(viceid\) thro)15(ws ja)20(v)25(ax.tv)80(.locator)50(.)]TJ +0 Tw 0.081 -1.2 Td +[(In)20(v)25(alidLocatorException)]TJ +0.604 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(Gener)10(ation of SBTVD Locator based on the f)29(ollo)15(wing f)30(or)-25(mat.)]TJ +-3.248 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +-0.02 Tw 1.919 0 Td +[(SBTVDLocator\(ja)20(v)25(a.lang.Str)-15(ing scheme)15(, int onid, int tsid, int ser)-30(viceid, int contentid\) thro)15(ws ja)20(v)25(ax.)]TJ +0 Tw 0.081 -1.2 Td +[(tv)80(.locator)50(.In)20(v)25(alidLocatorException)]TJ +0.604 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(Gener)10(ation of SBTVD Locator based on the f)29(ollo)15(wing f)30(or)-25(mat.)]TJ +-3.248 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +0.07 Tw 1.919 0 Td +[(SBTVDLocator\(ja)20(v)25(a.lang.Str)-15(ing scheme)15(, int onid, int tsid, int ser)-30(viceid, int contentid, int e)30(v)25(entid\) )]TJ +0 Tw 0.081 -1.2 Td +[(thro)15(ws ja)20(v)25(ax.tv)80(.locator)50(.In)20(v)25(alidLocatorException)]TJ +0.604 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<017C>Tj +/T1_0 1 Tf +1.852 0 Td +[(Gener)10(ation of SBTVD Locator based on the f)29(ollo)15(wing f)30(or)-25(mat.)]TJ +ET + +endstream endobj 1028 0 obj <> endobj 1278 0 obj <>stream +BT +/CS0 cs 1 scn +/GS0 gs +/T1_0 1 Tf +8 0 0 8 56.6651 38.2639 Tm +[(\251 ABNT 2010 - All r)-15(ights reser)-30(v)25(ed)]TJ +11 0 0 11 537.6613 35.9389 Tm +(51)Tj +/T1_1 1 Tf +-10.613 68.636 Td +(ABNT NBR 15606-4:2010)Tj +ET +q +1 0 0 1 177.4149933 705.7039948 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 56.6649933 705.4539948 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +120.75 0 l +493.228 0 l +S +Q +q +1 0 0 1 177.4149933 671.5070038 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 56.6649933 671.2570038 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +120.75 0 l +493.228 0 l +S +Q +q +1 0 0 1 177.4149933 637.3099976 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 56.6649933 637.0599976 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +120.75 0 l +493.228 0 l +S +Q +q +1 0 0 1 177.4149933 603.1130066 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 56.6649933 602.8630066 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +120.75 0 l +493.228 0 l +S +Q +q +1 0 0 1 177.4149933 568.9160004 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 56.6649933 568.6660004 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +120.75 0 l +493.228 0 l +S +Q +q +1 0 0 1 177.4149933 534.7189941 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 56.6649933 534.4689941 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +120.75 0 l +493.228 0 l +S +Q +q +1 0 0 1 177.4149933 513.7220001 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 56.6649933 513.4720001 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +120.75 0 l +493.228 0 l +S +Q +q +1 0 0 1 177.4149933 479.5249939 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 56.6649933 479.2749939 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +120.75 0 l +493.228 0 l +S +Q +q +1 0 0 1 177.4149933 432.128006 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 46.897 l +S +Q +q +1 0 0 1 56.6649933 431.878006 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +120.75 0 l +493.228 0 l +S +Q +q +1 0 0 1 177.4149933 397.9309998 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 56.6649933 397.6809998 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +120.75 0 l +493.228 0 l +S +Q +q +1 0 0 1 177.4149933 363.7339935 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 56.6649933 726.4219971 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +120.75 0 l +S +Q +q +1 0 0 1 56.9149933 705.7079926 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 177.4149933 726.4219971 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +372.478 0 l +S +Q +q +1 0 0 1 549.6430054 705.7079926 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 56.9149933 671.5110016 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 549.6430054 671.5110016 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 56.9149933 637.3139954 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 549.6430054 637.3139954 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 56.9149933 603.1170044 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 549.6430054 603.1170044 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 56.9149933 568.9199982 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 549.6430054 568.9199982 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 56.9149933 534.7230072 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 549.6430054 534.7230072 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 56.9149933 513.7259979 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 549.6430054 513.7259979 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 56.9149933 479.529007 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 549.6430054 479.529007 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 56.9149933 432.1320038 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 46.897 l +S +Q +q +1 0 0 1 549.6430054 432.1320038 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 46.897 l +S +Q +q +1 0 0 1 56.9149933 397.9349976 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 549.6430054 397.9349976 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 56.9149933 363.7380066 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 549.6430054 363.7380066 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 56.6649933 363.4880066 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +120.75 0 l +493.228 0 l +S +Q +BT +/T1_1 1 Tf +11 0 0 11 96.3752 711.6909 Tm +(Classes)Tj +21.536 0 Td +(Description)Tj +/T1_0 1 Tf +-24.557 -2.509 Td +(Dialog class )Tj +10.955 0.6 Td +[(A type of F)30(or)-25(m that occupies a par)-40(t of the screen and appears as a modal )]TJ +0 -1.2 TD +[(entity to the de)30(v)25(eloper)]TJ +-10.955 -2.509 Td +(Image class )Tj +10.955 0.6 Td +[(Abstr)10(action of the platf)29(or)-25(m that treats images)15(, per)-25(mitting the handling )]TJ +T* +[(thereof as unif)30(or)-25(m objects)]TJ +-10.955 -2.509 Td +[(T)120(e)30(xtField class)]TJ +10.955 0.6 Td +[(Component f)30(or receiving user te)30(xt input that uses a lighter API, without )]TJ +T* +[(using the de)30(vice\325)50(s nativ)25(e te)30(xt suppor)-40(t )]TJ +-10.955 -2.509 Td +(ButtonGroup class)Tj +10.955 0.6 Td +[(This class is used to create a m)9(ultiple-e)30(xclusion scope f)30(or a set of Radio )]TJ +T* +(Buttons)Tj +-10.955 -2.509 Td +(Label class)Tj +10.955 0.6 Td +[(P)50(er)-25(mits the displa)30(y labels and images with diff)30(erent alignment options)15(, )]TJ +T* +[(also functions as a base class f)29(or alignment of la)30(y)20(out components)]TJ +-10.955 -1.909 Td +(Button class)Tj +10.955 0 Td +[(Base component f)29(or other g)10(r)10(aphical elements that are clic)20(kab)20(le)]TJ +-10.955 -2.509 Td +(List class )Tj +10.955 0.6 Td +(A set \(list\) of elements that are created using a ListCellRenderer and\ are )Tj +T* +[(e)30(xtr)10(acted through the ListModel)]TJ +-10.955 -3.109 Td +(Component class)Tj +10.955 1.2 Td +[(Base class f)30(or all g)10(r)10(aphical elements of the L)70(WUIT)120(.)60( Uses the Composite )]TJ +T* +[(def)30(ault design in a similar w)14(a)30(y to the A)50(WT\325)50(s relation of Container and )]TJ +T* +(Component )Tj +-10.955 -2.509 Td +[(T)120(e)30(xtArea class )]TJ +10.955 0.6 Td +[(Gr)10(aphical component that per)-25(mits te)30(xt input with m)10(ultiple editab)20(le lines )]TJ +T* +[(also per)-25(mits displa)30(y and editing of te)29(xt)]TJ +-0.005 Tc -10.955 -2.509 Td +[(A)50(WTComponent class)]TJ +0 Tc 10.955 0.6 Td +[(Extends the com.sun.dtv)79(.lwuit.Component class as a special v)24(ar)-15(iant that )]TJ +T* +[(delegates the render)-16(ing actions to ja)20(v)25(a.a)20(wt.Component)]TJ +/T1_1 1 Tf +12 0 0 12 56.6651 333.8309 Tm +[(A.2.34 )-508(com.sun.dtv)80(.l)15(wuit.g)-10(eom pac)20(ka)10(g)-10(e )]TJ +/T1_0 1 Tf +0.328 Tw 11 0 0 11 56.6651 308.6309 Tm +[(Contains classes related to the geometr)-15(ic location and calculation of dimensions of g)10(r)10(aphical )]TJ +0 Tw T* +[(components)15(.)]TJ +-0.041 Tw 0 -2.291 TD +[(This pac)20(kage shall be implemented according to J)20(A)70(V)80(ADTV 1.3:2009.)60( )50(The interf)30(aces and classes of this )]TJ +0 Tw 0 -1.2 TD +[(pac)20(kage)15(, descr)-15(ibed in )50(T)120(ab)20(le A.34, shall be used.)60( )]TJ +/T1_1 1 Tf +8.096 -2.837 Td +[(T)80(ab)10(le A.34 \226 Classes of the com.sun.dtv)80(.l)15(wuit.g)-10(eom pac)20(ka)10(g)-10(e)]TJ +ET +q +1 0 0 1 177.4149933 186.8659973 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 56.6649933 186.6159973 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +120.75 0 l +493.228 0 l +S +Q +q +1 0 0 1 177.4149933 152.6690063 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 56.6649933 152.4190063 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +120.75 0 l +493.228 0 l +S +Q +q +1 0 0 1 177.4149933 118.4720001 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 56.6649933 118.2220001 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +120.75 0 l +493.228 0 l +S +Q +q +1 0 0 1 177.4149933 84.2749939 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 56.6649933 207.5820007 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +120.75 0 l +S +Q +q +1 0 0 1 56.9149933 186.8679962 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 177.4149933 207.5820007 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +372.478 0 l +S +Q +q +1 0 0 1 549.6430054 186.8679962 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 56.9149933 152.6710052 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 549.6430054 152.6710052 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 56.9149933 118.473999 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 549.6430054 118.473999 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 56.9149933 84.2769928 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 549.6430054 84.2769928 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 56.6649933 84.0269928 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +120.75 0 l +493.228 0 l +S +Q +BT +/T1_1 1 Tf +11 0 0 11 96.3752 192.8519 Tm +(Classes)Tj +21.536 0 Td +(Description)Tj +/T1_0 1 Tf +-24.557 -2.509 Td +[(P)50(oint class )]TJ +10.955 0.6 Td +[(Represents a location in space of x and y coordinates)13(.)60( Its accur)10(acy is )]TJ +T* +[(based on whole n)9(umbers)]TJ +-10.955 -2.509 Td +(Rectangle class )Tj +10.955 0.6 Td +[(Represents a rectangular with the siz)14(e based on width and height, it is )]TJ +T* +[(useful f)30(or measur)-15(ing coordinates within an application)]TJ +-10.955 -2.509 Td +(Dimension class)Tj +10.955 0.6 Td +[(Utility class that stores v)24(alues of width and height and represents a )]TJ +T* +[(dimension of a g)10(r)10(aphical component or element )]TJ +/T1_1 1 Tf +5.784 58.82 Td +[(T)80(ab)10(le A.33)]TJ +/T1_0 1 Tf +[( \(contin)10(ued\))]TJ +ET + +endstream endobj 1025 0 obj <> endobj 1277 0 obj <> endobj 1276 0 obj <>stream +BT +/CS0 cs 1 scn +/GS0 gs +/T1_0 1 Tf +8 0 0 8 417.7962 38.134 Tm +[(\251 ABNT 2010 - All r)-15(ights reser)-30(v)25(ed)]TJ +11 0 0 11 45.3266 35.8089 Tm +(50)Tj +/T1_1 1 Tf +0 68.648 TD +(ABNT NBR 15606-4:2010)Tj +12 0 0 12 45.3265 736.3029 Tm +[(A.2.33 )-508(com.sun.dtv)80(.l)15(wuit pac)20(ka)10(g)-10(e )]TJ +/T1_0 1 Tf +0.337 Tw 11 0 0 11 45.3265 711.1029 Tm +[(The com.sun.dtv)80(.lwuit pac)20(kage contains the main hier)10(arch)30(y of g)10(r)10(aphical elements composition)]TJ +0.202 Tw 0 -1.2 TD +[(\(com.sun.dtv)80(.lwuit.Component and com.sun.dtv)80(.lwuit.Container\) of the L)70(WUIT API that f)30(ollo)15(ws the )]TJ +0.123 Tw T* +[(same model as the Swing/A)50(WT API.)60( Ho)15(w)10(e)30(v)25(er)50(, unlik)20(e Swing/A)50(WT)120(, a system of full-screen windo)15(ws )]TJ +0.076 Tw T* +[(is not used.)60( In this case)15(, a model is )1(used similar to the MIDP API, which uses a displa)30(y abstr)10(action)]TJ +0 Tw T* +[(in which the g)10(r)10(aphics can be arr)10(anged.)]TJ +-0.041 Tw 0 -2.291 TD +[(This pac)20(kage shall be implemented according to J)20(A)70(V)80(ADTV 1.3:2009.)60( )50(The interf)30(aces and classes of this )]TJ +0 Tw 0 -1.2 TD +[(pac)20(kage)15(, descr)-15(ibed in )50(T)120(ab)20(le A.33, shall be used.)]TJ +/T1_1 1 Tf +9.573 -2.836 Td +[(T)80(ab)10(le A.33 \226 Classes of the com.sun.dtv)80(.l)15(wuit pac)20(ka)10(g)-10(e)]TJ +ET +q +1 0 0 1 166.076004 549.7380066 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 45.326004 549.4880066 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +120.75 0 l +493.228 0 l +S +Q +q +1 0 0 1 166.076004 515.5410004 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 45.326004 515.2910004 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +120.75 0 l +493.228 0 l +S +Q +q +1 0 0 1 166.076004 494.5440063 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 45.326004 494.2940063 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +120.75 0 l +493.228 0 l +S +Q +q +1 0 0 1 166.076004 460.3470001 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 45.326004 460.0970001 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +120.75 0 l +493.228 0 l +S +Q +q +1 0 0 1 166.076004 412.9499969 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 46.897 l +S +Q +q +1 0 0 1 45.326004 412.6999969 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +120.75 0 l +493.228 0 l +S +Q +q +1 0 0 1 166.076004 378.753006 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 45.326004 378.503006 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +120.75 0 l +493.228 0 l +S +Q +q +1 0 0 1 166.076004 344.5559998 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 45.326004 344.3059998 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +120.75 0 l +493.228 0 l +S +Q +q +1 0 0 1 166.076004 323.5590057 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 45.326004 323.3090057 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +120.75 0 l +493.228 0 l +S +Q +q +1 0 0 1 166.076004 289.3619995 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 45.326004 289.1119995 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +120.75 0 l +493.228 0 l +S +Q +q +1 0 0 1 166.076004 268.3650055 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 45.326004 268.1150055 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +120.75 0 l +493.228 0 l +S +Q +q +1 0 0 1 166.076004 234.1679993 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 45.326004 233.9179993 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +120.75 0 l +493.228 0 l +S +Q +q +1 0 0 1 166.076004 199.970993 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 45.326004 199.720993 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +120.75 0 l +493.228 0 l +S +Q +q +1 0 0 1 166.076004 165.7740021 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 45.326004 165.5240021 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +120.75 0 l +493.228 0 l +S +Q +q +1 0 0 1 166.076004 91.977005 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 73.297 l +S +Q +q +1 0 0 1 45.326004 91.727005 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +120.75 0 l +493.228 0 l +S +Q +q +1 0 0 1 45.326004 570.4570007 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +120.75 0 l +S +Q +q +1 0 0 1 45.576004 549.7429962 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 166.076004 570.4570007 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +372.478 0 l +S +Q +q +1 0 0 1 538.3040009 549.7429962 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 45.576004 515.5460052 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 538.3040009 515.5460052 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 45.576004 494.548996 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 538.3040009 494.548996 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 45.576004 460.352005 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 538.3040009 460.352005 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 45.576004 412.9550018 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 46.897 l +S +Q +q +1 0 0 1 538.3040009 412.9550018 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 46.897 l +S +Q +q +1 0 0 1 45.576004 378.7579956 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 538.3040009 378.7579956 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 45.576004 344.5610046 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 538.3040009 344.5610046 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 45.576004 323.5639954 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 538.3040009 323.5639954 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 45.576004 289.3670044 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 538.3040009 289.3670044 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 45.576004 268.3699951 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 538.3040009 268.3699951 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 45.576004 234.1730042 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 538.3040009 234.1730042 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 45.576004 199.9759979 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 538.3040009 199.9759979 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 45.576004 165.779007 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 538.3040009 165.779007 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 45.576004 91.9819946 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 73.297 l +S +Q +q +1 0 0 1 538.3040009 91.9819946 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 73.297 l +S +Q +BT +/T1_1 1 Tf +11 0 0 11 85.0366 555.7239 Tm +(Classes)Tj +21.536 0 Td +(Description)Tj +/T1_0 1 Tf +-24.557 -1.909 Td +(MediaComponent )Tj +T* +(class)Tj +10.955 0.6 Td +[(P)50(er)-25(mits the inser)-40(tion and control of r)-15(ich-media content)]TJ +-10.955 -2.509 Td +[(StaticAnimation class)-1452(An image capab)20(le of animation)]TJ +0 -2.509 TD +[(Gr)10(aphics class )]TJ +10.955 0.6 Td +[(Abstr)10(acts the g)10(r)10(aphic conte)30(xt platf)30(or)-25(m, per)-25(mitting por)-40(tability betw)10(een )]TJ +0 -1.2 TD +[(MIDP and CDC de)29(vices)]TJ +-10.955 -3.109 Td +(Container class )Tj +10.955 1.2 Td +[(Implements the Composite def)29(ault design f)30(or com.sun.dtv)80(.lwuit.)]TJ +T* +[(Component so as to per)-26(mits the arr)10(angement and relationship of )]TJ +T* +[(components using an architecture of pluggab)19(le la)30(y)20(out managers)]TJ +-10.955 -2.509 Td +[(ComboBo)30(x class)]TJ +10.955 0.6 Td +[(Gr)10(aphic element that represents a list that per)-25(mits only one selection at)]TJ +T* +[(a time through the user\325)49(s choice)]TJ +-10.955 -2.509 Td +[(F)30(ont class )]TJ +10.955 0.6 Td +[(A simple abstr)10(action of platf)30(or)-25(m f)30(onts and libr)10(ar)-30(y that per)-25(mits use of f)30(onts )]TJ +T* +[(that are not suppor)-41(ted b)20(y the de)30(vice)]TJ +-10.955 -1.909 Td +[(P)40(ainter interf)30(ace)-3744(This interf)30(ace can be used to dr)9(a)20(w on screen bac)20(kg)10(round components)15(.)]TJ +0 -2.509 TD +(RadioButton class)Tj +10.955 0.6 Td +[(Speci\336)250( )28(c type of com.sun.dtv)80(.lwuit.Button that maintains a state of )]TJ +0 -1.2 TD +[(selection e)30(xclusiv)25(ely of a com.sun.dtv)79(.lwuit.K)40(e)20(yGroup)]TJ +-10.955 -1.909 Td +[(Calendar class )-4064(P)50(er)-25(mits the selection of date and time v)25(alues)]TJ +0 -2.509 TD +[(T)120(ab)10(bedP)40(ane class)]TJ +10.955 0.6 Td +[(P)50(er)-25(mits the user to toggle betw)10(een a g)10(roup of components b)20(y clic)20(king on )]TJ +0 -1.2 TD +[(a tab with a par)-40(ticular title and/or icon)]TJ +-10.955 -2.509 Td +(Command class )Tj +10.955 0.6 Td +[(Action relating to the )29(\322soft b)20(uttons\323)40( and de)30(vice men)10(u, similar to the )]TJ +T* +[(abstr)10(action of the MIDP command and Swing actions)]TJ +-10.955 -2.509 Td +[(Chec)20(kBo)30(x class )]TJ +10.955 0.6 Td +[(Button that can be mar)-16(k)20(ed or unmar)-15(k)20(ed and sim)10(ultaneously displa)30(y its )]TJ +T* +(status to the user)Tj +-10.955 -4.309 Td +[(F)30(or)-25(m class )]TJ +10.955 2.4 Td +[(High-le)30(v)25(el component that is the base class f)30(or L)70(WUIT1.1:2008 g)10(r)10(aphical )]TJ +T* +[(user interf)30(aces)15(.)60( )50(The container is divided into 3 \(three\) par)-40(ts:)50( )50(Title \(title bar)50(, )]TJ +T* +[(usually located at the top\), ContentP)39(ane \(centr)10(al space a)20(v)25(ailab)20(le f)30(or the )]TJ +T* +[(la)30(y)20(out of )50(Title and Men)10(uBar\) elements and Men)10(uBar \(men)10(u bar usually )]TJ +T* +(located at the bottom\))Tj +ET + +endstream endobj 1021 0 obj <> endobj 1275 0 obj <> endobj 999 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text]>>/Rotate 0/TrimBox[0.0 0.0549927 595.22 841.945]/Type/Page>> endobj 1003 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text]>>/Rotate 0/TrimBox[0.0 0.0549927 595.22 841.945]/Type/Page>> endobj 1007 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text]>>/Rotate 0/TrimBox[0.0 0.0549927 595.22 841.945]/Type/Page>> endobj 1011 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text]>>/Rotate 0/TrimBox[0.0 0.0549927 595.22 841.945]/Type/Page>> endobj 1015 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text]>>/Rotate 0/TrimBox[0.0 0.0549927 595.22 841.945]/Type/Page>> endobj 1274 0 obj <>stream +BT +/CS0 cs 1 scn +/GS0 gs +/T1_0 1 Tf +8 0 0 8 56.6651 38.2639 Tm +[(\251 ABNT 2010 - All r)-15(ights reser)-30(v)25(ed)]TJ +11 0 0 11 537.6613 35.9389 Tm +(49)Tj +/T1_1 1 Tf +-10.613 68.636 Td +(ABNT NBR 15606-4:2010)Tj +ET +q +1 0 0 1 212.253006 705.7039948 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 59.2769928 705.4539948 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +152.976 0 l +488.003 0 l +S +Q +q +1 0 0 1 212.253006 671.5070038 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 59.2769928 671.2570038 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +152.976 0 l +488.003 0 l +S +Q +q +1 0 0 1 212.253006 637.3099976 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 59.2769928 637.0599976 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +152.976 0 l +488.003 0 l +S +Q +q +1 0 0 1 212.253006 603.1130066 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 59.2769928 602.8630066 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +152.976 0 l +488.003 0 l +S +Q +q +1 0 0 1 212.253006 568.9160004 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 59.2769928 726.4199982 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +152.976 0 l +S +Q +q +1 0 0 1 59.5269928 705.7059937 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 212.253006 726.4199982 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +335.028 0 l +S +Q +q +1 0 0 1 547.0310059 705.7059937 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 59.5279999 671.5090027 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 547.0310059 671.5090027 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 59.5279999 637.3119965 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 547.0310059 637.3119965 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 59.5279999 603.1150055 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 547.0310059 603.1150055 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 59.5279999 568.9179993 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 547.0310059 568.9179993 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 59.2779999 568.6679993 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +152.976 0 l +488.003 0 l +S +Q +BT +/T1_1 1 Tf +11 0 0 11 115.1002 711.6909 Tm +(Classes)Tj +21.299 0 Td +(Description)Tj +/T1_0 1 Tf +-25.784 -1.909 Td +[(F)45(reez)15(eResumeException )]TJ +0 -1.2 TD +(class)Tj +13.884 1.2 Td +[(This e)30(xception indicates that either the freez)14(e method or resume )]TJ +T* +[(method w)15(as unsuccessful)]TJ +-13.884 -1.909 Td +[(F)45(reez)15(eResumeControl )]TJ +T* +[(interf)30(ace)]TJ +-0.005 Tc 13.884 0.6 Td +[(Shall be implemented to per)-25(mit the application to freez)15(e the Pla)30(y)20(er )]TJ +0 Tc -13.884 -2.509 Td +(ConditionalAccessException )Tj +T* +(class)Tj +13.884 1.2 Td +[(Indicates that a media on the control of a Pla)29(y)20(er or Data Source is )]TJ +T* +[(protected b)20(y conditional access)]TJ +-13.884 -2.509 Td +[(ResumeEv)25(ent interf)30(ace )]TJ +13.884 0.6 Td +[(Indicates that the action to contin)9(ue pla)30(ybac)20(k happened )]TJ +T* +[(or)-15(iginating from an application or a user)]TJ +/T1_1 1 Tf +12 0 0 12 56.6651 542.0149 Tm +[(A.2.31 )-508(com.sun.dtv)80(.transpor)-20(t pac)20(ka)10(g)-10(e)]TJ +/T1_0 1 Tf +11 0 0 11 56.6651 516.8149 Tm +[(The com.sun.dtv)80(.tr)10(anspor)-40(t pac)20(kage pro)15(vides access to the entities contained in a tr)9(anspor)-40(t stream.)]TJ +-0.041 Tw 0 -2.291 TD +[(This pac)20(kage shall be implemented according to J)20(A)70(V)80(ADTV 1.3:2009.)60( )50(The interf)30(aces and classes of this )]TJ +0 Tw 0 -1.2 TD +[(pac)20(kage)15(, descr)-15(ibed in )50(T)120(ab)20(le A.31, shall be used.)]TJ +/T1_1 1 Tf +8.5 -2.291 Td +[(T)80(ab)10(le A.31 \226 Classes of the com.sun.dtv)80(.transpor)-20(t pac)20(ka)10(g)-10(e)]TJ +ET +q +1 0 0 1 246.822998 420.25 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 59.0279999 420 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +187.795 0 l +488.504 0 l +S +Q +q +1 0 0 1 246.822998 386.0529938 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 59.0279999 385.8029938 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +187.795 0 l +488.504 0 l +S +Q +q +1 0 0 1 246.822998 338.6560059 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 46.897 l +S +Q +q +1 0 0 1 59.0279999 338.4060059 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +187.795 0 l +488.504 0 l +S +Q +q +1 0 0 1 246.822998 317.6589966 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 59.0279999 317.4089966 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +187.795 0 l +488.504 0 l +S +Q +q +1 0 0 1 246.822998 296.6620026 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 59.0279999 440.9660034 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +187.795 0 l +S +Q +q +1 0 0 1 59.2779999 420.2519989 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 246.822998 440.9660034 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +300.709 0 l +S +Q +q +1 0 0 1 547.2819977 420.2519989 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 59.2779999 386.0549927 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 547.2819977 386.0549927 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 59.2779999 338.6580048 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 46.897 l +S +Q +q +1 0 0 1 547.2819977 338.6580048 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 46.897 l +S +Q +q +1 0 0 1 59.2779999 317.6609955 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 547.2819977 317.6609955 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 59.2779999 296.6640015 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 547.2819977 296.6640015 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 59.0279999 296.4140015 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +187.795 0 l +488.504 0 l +S +Q +BT +/T1_1 1 Tf +11 0 0 11 132.2602 426.2369 Tm +(Classes)Tj +21.322 0 Td +(Description)Tj +/T1_0 1 Tf +-27.39 -2.509 Td +[(T)120(r)10(anspor)-40(tStream class)]TJ +17.05 0.6 Td +[(Representation of a tr)9(anspor)-40(t stream and its associated )]TJ +T* +[(ser)-30(vices)]TJ +-17.05 -2.509 Td +(ConditionalAccessDeniedException )Tj +T* +(class )Tj +17.05 1.8 Td +[(This class is launched upon a request f)29(or access to )]TJ +T* +[(inf)30(or)-25(mation that is coded and whose access is not )]TJ +T* +[(per)-25(mitted b)20(y the secur)-15(ity system)]TJ +-17.05 -1.909 Td +[(Elementar)-30(yStream class )]TJ +17.05 0 Td +[(Representation of an elementar)-31(y stream)]TJ +-17.05 -1.909 Td +[(Ser)-30(vice class )]TJ +-0.016 Tc 17.05 0 Td +[(Representation of a ser)-30(vice contained in the tr)10(anspor)-40(t stream)]TJ +/T1_1 1 Tf +0 Tc 12 0 0 12 56.6651 266.7609 Tm +[(A.2.32 )-508(com.sun.dtv)80(.l)15(wuit.util pac)20(ka)10(g)-10(e )]TJ +/T1_0 1 Tf +0.116 Tw 11 0 0 11 56.6651 241.5609 Tm +[(The com.sun.dtv)80(.lwuit.util pac)20(kage pro)15(vides utility functionalities that are domain-speci\336)250( )144(c or are not )]TJ +0 Tw T* +[(suited f)30(or an)15(y other pac)20(kage in the API.)]TJ +-0.041 Tw 0 -2.291 TD +[(This pac)20(kage shall be implemented according to J)20(A)70(V)80(ADTV 1.3:2009.)60( )50(The interf)30(aces and classes of this )]TJ +0 Tw 0 -1.2 TD +[(pac)20(kage)15(, descr)-15(ibed in )50(T)120(ab)20(le A.32, shall be used.)]TJ +/T1_1 1 Tf +8.684 -2.291 Td +[(T)80(ab)10(le A.32 \226 Classes of the com.sun.dtv)80(.l)15(wuit.util pac)20(ka)10(g)-10(e)]TJ +ET +q +1 0 0 1 198.8910065 131.7960052 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 60.1170044 131.5460052 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +138.774 0 l +486.324 0 l +S +Q +q +1 0 0 1 198.8910065 97.598999 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 60.1170044 97.348999 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +138.774 0 l +486.324 0 l +S +Q +q +1 0 0 1 198.8910065 63.4019928 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 60.1170044 152.5110016 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +138.774 0 l +S +Q +q +1 0 0 1 60.3670044 131.7969971 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 198.8910065 152.5110016 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +347.55 0 l +S +Q +q +1 0 0 1 546.1909943 131.7969971 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 60.3670044 97.6000061 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 546.1909943 97.6000061 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 60.3670044 63.4029999 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 546.1909943 63.4029999 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 60.1170044 63.1529999 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +138.774 0 l +486.324 0 l +S +Q +BT +/T1_1 1 Tf +11 0 0 11 108.8392 137.783 Tm +(Classes)Tj +21.223 0 Td +(Description)Tj +/T1_0 1 Tf +-25.062 -2.509 Td +(Log class)Tj +12.593 0.6 Td +[(P)50(er)-25(mits the de)30(v)25(eloper )]TJ +/T1_1 1 Tf +(\226)Tj +/T1_0 1 Tf +[( through a pluggab)19(le logging fr)10(ame)20(w)10(or)-15(k )]TJ +/T1_1 1 Tf +28.277 0 Td +(\226)Tj +/T1_0 1 Tf +( )Tj +-28.277 -1.2 Td +[(to utiliz)15(e log functionalities using the )278(\336)250( )28(le connector API)]TJ +-12.593 -2.509 Td +(Resources class)Tj +-0.003 Tw 12.593 0.6 Td +[(This is related to the loading resources \(animations)15(, images)15(, themes)15(, )]TJ +0 Tw T* +[(f)30(onts)15(, etc.\) from a binar)-30(y \336)250( )28(le gener)10(ated in the b)20(uild process)]TJ +/T1_1 1 Tf +3.832 60.696 Td +[(T)80(ab)10(le A.30)]TJ +/T1_0 1 Tf +[( \(contin)10(ued\))]TJ +ET + +endstream endobj 1017 0 obj <> endobj 1273 0 obj <> endobj 1272 0 obj <>stream +BT +/CS0 cs 1 scn +/GS0 gs +/T1_0 1 Tf +8 0 0 8 417.7962 38.134 Tm +[(\251 ABNT 2010 - All r)-15(ights reser)-30(v)25(ed)]TJ +11 0 0 11 45.3266 35.8089 Tm +(48)Tj +/T1_1 1 Tf +0 68.648 TD +(ABNT NBR 15606-4:2010)Tj +6.794 -4.896 Td +[(T)80(ab)10(le A.28 \226 Classes of the com.sun.dtv)80(.l)15(wuit.animations pac)20(ka)10(g)-10(e)]TJ +ET +q +1 0 0 1 189.0319977 698.1100006 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 47.3000031 697.8600006 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +141.732 0 l +489.282 0 l +S +Q +q +1 0 0 1 189.0319977 650.7129974 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 46.897 l +S +Q +q +1 0 0 1 47.3000031 650.4629974 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +141.732 0 l +489.282 0 l +S +Q +q +1 0 0 1 189.0319977 629.7160034 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 47.3000031 629.4660034 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +141.732 0 l +489.282 0 l +S +Q +q +1 0 0 1 189.0319977 595.5189972 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 47.3000031 595.2689972 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +141.732 0 l +489.282 0 l +S +Q +q +1 0 0 1 189.0319977 561.3220062 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 47.3000031 718.826004 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +141.732 0 l +S +Q +q +1 0 0 1 47.5500031 698.1119995 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 189.0319977 718.826004 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +347.55 0 l +S +Q +q +1 0 0 1 536.3320007 698.1119995 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 47.5500031 650.7149963 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 46.897 l +S +Q +q +1 0 0 1 536.3320007 650.7149963 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 46.897 l +S +Q +q +1 0 0 1 47.5500031 629.7180023 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 536.3320007 629.7180023 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 47.5500031 595.5209961 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 536.3320007 595.5209961 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 47.5500031 561.3240051 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 536.3320007 561.3240051 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 47.3000031 561.0740051 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +141.732 0 l +489.282 0 l +S +Q +BT +/T1_1 1 Tf +11 0 0 11 97.5008 704.0959 Tm +(Classes)Tj +21.357 0 Td +(Description)Tj +/T1_0 1 Tf +-25.331 -3.109 Td +[(T)120(r)10(ansition class )]TJ +12.862 1.2 Td +[(Represents an animated tr)9(ansition betw)10(een tw)10(o F)30(or)-25(ms)15(, this class is )]TJ +0 -1.2 TD +[(used inter)-25(nally b)20(y a DTVContainer to reproduce an animation when )]TJ +T* +[(shifting from one F)30(or)-25(m to the ne)30(xt)]TJ +-12.862 -1.909 Td +[(CommonT)120(r)10(ansitions class )-1212(Contains common tr)9(ansition animations)]TJ +0 -2.509 TD +(Motion class )Tj +12.862 0.6 Td +[(Abstr)10(action of the notion of ph)29(ysical mo)15(v)25(ement o)15(v)25(er time betw)10(een )]TJ +0 -1.2 TD +[(tw)10(o points represented b)20(y n)10(umer)-15(ical v)25(alues)]TJ +-12.862 -2.509 Td +[(Animation interf)30(ace )]TJ +12.862 0.6 Td +[(P)50(er)-25(mits an)15(y component to receiv)25(e animation e)30(v)25(ents at time )]TJ +T* +(increments and to be updated)Tj +/T1_1 1 Tf +12 0 0 12 45.3265 531.4209 Tm +[(A.2.29 )-508(com.sun.dtv)80(.ser)-10(vice pac)20(ka)10(g)-10(e)]TJ +/T1_0 1 Tf +-0.089 Tw 11 0 0 11 45.3265 506.2209 Tm +[(The com.sun.dtv)80(.ser)-30(vice pac)20(kage pro)15(vides an interf)30(ace to access the SI \(Ser)-30(vice Inf)30(or)-25(mation\) database)15(.)]TJ +-0.041 Tw 0 -2.291 TD +[(This pac)20(kage shall be implemented according to J)20(A)70(V)80(ADTV 1.3:2009.)60( )50(The interf)30(aces and classes of this )]TJ +0 Tw 0 -1.2 TD +[(pac)20(kage)15(, descr)-15(ibed in )50(T)120(ab)20(le A.29, shall be used.)]TJ +/T1_1 1 Tf +8.976 -2.836 Td +[(T)80(ab)10(le A.29 \226 Classes of the com.sun.dtv)80(.ser)-10(vice pac)20(ka)10(g)-10(e)]TJ +ET +q +1 0 0 1 164.7850037 397.6560059 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 47.1470032 397.4060059 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +117.638 0 l +489.586 0 l +S +Q +q +1 0 0 1 164.7850037 376.6589966 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 47.1470032 418.3710022 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +117.638 0 l +S +Q +q +1 0 0 1 47.3970032 397.6569977 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 164.7850037 418.3710022 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +371.948 0 l +S +Q +q +1 0 0 1 536.4830017 397.6569977 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 47.3970032 376.6600037 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 536.4830017 376.6600037 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 47.1470032 376.4100037 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +117.638 0 l +489.586 0 l +S +Q +BT +/T1_1 1 Tf +11 0 0 11 85.3017 403.6419 Tm +(Classes)Tj +21.371 0 Td +(Description)Tj +/T1_0 1 Tf +-24.25 -1.909 Td +(SIDatabase class)Tj +-0.008 Tc 10.672 0 Td +[(Gener)-15(ically pro)15(vides access to the SI database that resides on the platf)30(or)-25(m)]TJ +/T1_1 1 Tf +0 Tc 12 0 0 12 45.3265 346.7589 Tm +[(A.2.30 )-508(com.sun.dtv)80(.media pac)20(ka)10(g)-10(e)]TJ +/T1_0 1 Tf +-0.094 Tw 11 0 0 11 45.3265 321.5589 Tm +[(The com.sun.dtv)80(.media pac)20(kage is f)30(or the rele)30(v)25(ant functionalities and f)30(or the freez)15(e and resume controls)15(.)]TJ +-0.041 Tw 0 -2.291 TD +[(This pac)20(kage shall be implemented according to J)20(A)70(V)80(ADTV 1.3:2009.)60( )50(The interf)30(aces and classes of this )]TJ +0 Tw 0 -1.2 TD +[(pac)20(kage)15(, descr)-15(ibed in )50(T)120(ab)20(le A.30, shall be used.)]TJ +/T1_1 1 Tf +9.259 -2.836 Td +[(T)80(ab)10(le A.30 \226 Classes of the com.sun.dtv)80(.media pac)20(ka)10(g)-10(e)]TJ +ET +q +1 0 0 1 200.9149933 212.9940033 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 47.9389954 212.7440033 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +152.976 0 l +488.003 0 l +S +Q +q +1 0 0 1 200.9149933 178.7969971 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 47.9389954 178.5469971 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +152.976 0 l +488.003 0 l +S +Q +q +1 0 0 1 200.9149933 144.6000061 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 47.9389954 144.3500061 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +152.976 0 l +488.003 0 l +S +Q +q +1 0 0 1 200.9149933 110.4029999 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 47.9389954 110.1529999 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +152.976 0 l +488.003 0 l +S +Q +q +1 0 0 1 200.9149933 76.2059937 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 47.9389954 75.9559937 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +152.976 0 l +488.003 0 l +S +Q +q +1 0 0 1 47.9389954 233.7100067 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +152.976 0 l +S +Q +q +1 0 0 1 48.1889954 212.9960022 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 200.9149933 233.7100067 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +335.028 0 l +S +Q +q +1 0 0 1 535.6929932 212.9960022 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 48.1900024 178.798996 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 535.6929932 178.798996 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 48.1900024 144.602005 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 535.6929932 144.602005 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 48.1900024 110.4049988 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 535.6929932 110.4049988 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 48.1900024 76.2079926 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 535.6929932 76.2079926 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +BT +/T1_1 1 Tf +11 0 0 11 103.7622 218.9809 Tm +(Classes)Tj +21.299 0 Td +(Description)Tj +/T1_0 1 Tf +-25.784 -1.909 Td +[(F)45(reez)15(eResumeListener )]TJ +T* +[(interf)30(ace)]TJ +13.884 1.2 Td +[(P)50(er)-25(mits the application to e)30(x)30(ecute pla)30(ybac)20(k )30(\322freez)15(e\323)40( and )30(\322resume\323)40( )]TJ +T* +[(e)30(v)25(ents)]TJ +-13.884 -1.909 Td +[(F)45(reez)15(eResumeEv)25(ent )]TJ +T* +[(interf)30(ace)]TJ +13.884 1.2 Td +[(Indicates if the freez)14(e or resume e)30(v)25(ents happened and identi\336)250( )28(es if )]TJ +T* +[(the)20(y such e)30(v)25(ents or)-15(iginated from an application or a user)]TJ +-13.884 -2.509 Td +[(F)45(reez)15(eEv)25(ent interf)30(ace )]TJ +13.884 0.6 Td +[(Indicates whether an freez)14(e action happened or)-16(iginating from an )]TJ +T* +(application or a user)Tj +-13.884 -1.909 Td +[(MediaPresentedEv)24(ent )]TJ +T* +[(interf)30(ace)]TJ +13.884 1.2 Td +[(This e)30(v)25(ent is gener)10(ated after a ja)20(v)25(ax.media.Pla)30(y)20(er has been )]TJ +T* +[(tr)10(ansf)30(erred to the initial state)]TJ +ET + +endstream endobj 1013 0 obj <> endobj 1271 0 obj <> endobj 1270 0 obj <>stream +BT +/CS0 cs 1 scn +/GS0 gs +/T1_0 1 Tf +8 0 0 8 56.6651 38.2639 Tm +[(\251 ABNT 2010 - All r)-15(ights reser)-30(v)25(ed)]TJ +11 0 0 11 537.6613 35.9389 Tm +(47)Tj +/T1_1 1 Tf +-10.613 68.636 Td +(ABNT NBR 15606-4:2010)Tj +12 0 0 12 56.6651 736.3029 Tm +[(A.2.26 )-508(com.sun.dtv)80(.platf)20(orm pac)20(ka)10(g)-10(e)]TJ +/T1_0 1 Tf +0.26 Tw 11 0 0 11 56.6651 711.1029 Tm +[(The com.sun.dtv)80(.platf)30(or)-25(m pac)20(kage pro)15(vides classes that are speci\336)250( )288(c to the J)20(a)20(v)25(a DTV platf)30(or)-25(m,)]TJ +0 Tw 0 -1.2 TD +[(in par)-40(ticular the classes related to the treatment of users)13(.)]TJ +-0.041 Tw 0 -2.291 TD +[(This pac)20(kage shall be implemented according to J)20(A)70(V)80(ADTV 1.3:2009.)60( )50(The interf)30(aces and classes of this )]TJ +0 Tw 0 -1.2 TD +[(pac)20(kage)15(, descr)-15(ibed in )50(T)120(ab)20(le A.26, shall be used.)]TJ +/T1_1 1 Tf +8.715 -2.836 Td +[(T)80(ab)10(le A.26 \226 Classes of the com.sun.dtv)80(.platf)20(orm pac)20(ka)10(g)-10(e)]TJ +ET +q +1 0 0 1 194.4499969 589.3379974 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 59.5 589.0879974 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +134.95 0 l +487.559 0 l +S +Q +q +1 0 0 1 194.4499969 555.1410065 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 59.5 554.8910065 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +134.95 0 l +487.559 0 l +S +Q +q +1 0 0 1 194.4499969 507.7440033 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 46.897 l +S +Q +q +1 0 0 1 59.5 507.4940033 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +134.95 0 l +487.559 0 l +S +Q +q +1 0 0 1 194.4499969 473.5469971 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 59.5 610.0540009 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +134.95 0 l +S +Q +q +1 0 0 1 59.75 589.3399963 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 194.4499969 610.0540009 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +352.609 0 l +S +Q +q +1 0 0 1 546.8090057 589.3399963 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 59.75 555.1430054 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 546.8090057 555.1430054 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 59.75 507.7460022 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 46.897 l +S +Q +q +1 0 0 1 546.8090057 507.7460022 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 46.897 l +S +Q +q +1 0 0 1 59.75 473.548996 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 546.8090057 473.548996 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 59.5 473.298996 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +134.95 0 l +487.559 0 l +S +Q +BT +/T1_1 1 Tf +11 0 0 11 106.3102 595.3239 Tm +(Classes)Tj +21.279 0 Td +(Description)Tj +/T1_0 1 Tf +-24.945 -1.909 Td +[(UserProper)-40(tyP)50(er)-25(mission )]TJ +T* +(class )Tj +12.246 0.6 Td +[(Descr)-15(ibes per)-25(missions f)30(or the user\325)50(s proper)-40(ties)]TJ +-12.246 -3.109 Td +[(UserProper)-40(tyListener )]TJ +T* +[(interf)30(ace )]TJ +12.246 1.8 Td +[(As an alter)-25(nativ)25(e)15(, an application can attach a UserProper)-40(tyListener)]TJ +T* +[(to the sub-system user proper)-41(ties)15(, in order to be noti\336)249( )28(ed of an)15(y )]TJ +T* +[(changes in the user proper)-41(ties)]TJ +-12.246 -2.509 Td +(User class )Tj +12.246 0.6 Td +[(Contains se)30(v)25(er)10(al \336)250( )28(elds and methods that are speci\336)250( )28(c to each user)]TJ +T* +[(of the platf)30(or)-25(m)]TJ +/T1_1 1 Tf +12 0 0 12 56.6651 443.6459 Tm +[(A.2.27 )-508(com.sun.dtv)80(.io pac)20(ka)10(g)-10(e)]TJ +/T1_0 1 Tf +-0.027 Tw 11 0 0 11 56.6651 418.4459 Tm +[(The com.sun.dtv)80(.io pac)20(kage e)30(xtends the ja)20(v)25(a.io pac)20(kage)15(, pro)15(viding access to the r)-15(ights and proper)-40(ties )]TJ +0 Tw T* +[(of the \336)250( )28(les)15(.)]TJ +-0.041 Tw 0 -2.291 TD +[(This pac)20(kage shall be implemented according to J)20(A)70(V)80(ADTV 1.3:2009.)60( )50(The interf)30(aces and classes of this )]TJ +0 Tw 0 -1.2 TD +[(pac)20(kage)15(, descr)-15(ibed in )50(T)120(ab)20(le A.27, shall be used.)]TJ +/T1_1 1 Tf +10.26 -2.836 Td +[(T)80(ab)10(le A.27 \226 Classes of the com.sun.dtv)80(.io pac)20(ka)10(g)-10(e)]TJ +ET +q +1 0 0 1 196.0769958 296.6820068 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 62.9320068 296.4320068 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +133.145 0 l +480.695 0 l +S +Q +q +1 0 0 1 196.0769958 262.4850006 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 62.9320068 262.2350006 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +133.145 0 l +480.695 0 l +S +Q +q +1 0 0 1 196.0769958 228.2879944 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 62.9320068 317.3970032 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +133.145 0 l +S +Q +q +1 0 0 1 63.1820068 296.6829987 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 196.0769958 317.3970032 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +347.55 0 l +S +Q +q +1 0 0 1 543.3769989 296.6829987 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 63.1820068 262.4859924 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 543.3769989 262.4859924 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 63.1820068 228.2890015 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 543.3769989 228.2890015 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 62.9320068 228.0390015 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +133.145 0 l +480.695 0 l +S +Q +BT +/T1_1 1 Tf +11 0 0 11 108.8392 302.6679 Tm +(Classes)Tj +20.967 0 Td +(Description)Tj +/T1_0 1 Tf +-24.55 -2.509 Td +[(FileProper)-40(ties class )]TJ +12.081 0.6 Td +[(Used to associate proper)-41(ties \(or methods\) to a \336)249( )28(le identi\336)250( )28(ed b)20(y its )]TJ +T* +[(\322pathname\323)40( in a giv)25(en \336)250( )28(le system)]TJ +-12.081 -2.509 Td +(FileAccessRights class )Tj +12.081 0.6 Td +[(Pro)15(vides a means to de\336)249( )28(ne g)10(roups of le)30(v)25(els of access r)-15(ights to a \336)250( )28(le )]TJ +T* +[(or director)-30(y)]TJ +/T1_1 1 Tf +12 0 0 12 56.6651 198.3869 Tm +[(A.2.28 )-508(com.sun.dtv)80(.l)15(wuit.animations pac)20(ka)10(g)-10(e )]TJ +/T1_0 1 Tf +0.045 Tw 11 0 0 11 56.6651 173.1869 Tm +[(In the com.sun.dtv)80(.lwuit.animations pac)20(kage)15(, all of the components are potential animations and can )]TJ +-0.015 Tw T* +[(be e)30(x)30(ecuted in r)-15(un time;)50( tr)10(ansitions betw)10(een F)30(or)-25(ms are also treated as par)-40(t of pac)20(kage)15(.)60( )50(The animation )]TJ +-0.028 Tw T* +[(threads are treated unif)30(or)-25(mly in order to reduce the comple)30(xity f)30(or e)30(x)30(ecution on computationally limited )]TJ +0 Tw T* +[(de)30(vices)15(.)]TJ +-0.041 Tw 0 -2.291 TD +[(This pac)20(kage shall be implemented according to J)20(A)70(V)80(ADTV 1.3:2009.)60( )50(The interf)30(aces and classes of this )]TJ +0 Tw 0 -1.2 TD +[(pac)20(kage)15(, descr)-15(ibed in )50(T)120(ab)20(le A.28, shall be used.)]TJ +ET + +endstream endobj 1009 0 obj <> endobj 1269 0 obj <> endobj 1268 0 obj <>stream +BT +/CS0 cs 1 scn +/GS0 gs +/T1_0 1 Tf +8 0 0 8 417.7962 38.134 Tm +[(\251 ABNT 2010 - All r)-15(ights reser)-30(v)25(ed)]TJ +11 0 0 11 45.3266 35.8089 Tm +(46)Tj +/T1_1 1 Tf +0 68.648 TD +(ABNT NBR 15606-4:2010)Tj +8.239 -4.896 Td +[(T)80(ab)10(le A.24 \226 Classes of the com.sun.dtv)80(.media.te)15(xt pac)20(ka)10(g)-10(e)]TJ +ET +q +1 0 0 1 201.9409943 698.1100006 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 48.1609955 697.8600006 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +153.78 0 l +487.559 0 l +S +Q +q +1 0 0 1 201.9409943 663.9129944 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 48.1609955 663.6629944 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +153.78 0 l +487.559 0 l +S +Q +q +1 0 0 1 201.9409943 642.9160004 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 48.1609955 642.6660004 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +153.78 0 l +487.559 0 l +S +Q +q +1 0 0 1 201.9409943 621.9190063 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 48.1609955 718.826004 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +153.78 0 l +S +Q +q +1 0 0 1 48.4109955 698.1119995 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 201.9409943 718.826004 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +333.78 0 l +S +Q +q +1 0 0 1 535.4700012 698.1119995 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 48.4109955 663.9149933 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 535.4700012 663.9149933 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 48.4109955 642.9179993 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 535.4700012 642.9179993 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 48.4109955 621.9210052 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 535.4700012 621.9210052 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 48.1609955 621.6710052 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +153.78 0 l +487.559 0 l +S +Q +BT +/T1_1 1 Tf +11 0 0 11 104.3862 704.0959 Tm +(Classes)Tj +21.279 0 Td +(Description)Tj +/T1_0 1 Tf +-25.8 -2.509 Td +[(Ov)25(er)-15(la)30(yT)120(e)30(xtEv)25(ent interf)30(ace )]TJ +13.957 0.6 Td +[( Ev)25(ents that repor)-40(t changes in:)50( )30(\322Ov)25(er)-15(la)30(yT)120(e)30(xt\323, )30(\322Subtitle\323)40( and )]TJ +0 -1.2 TD +(\322Closed Captioning\323)Tj +-13.957 -1.909 Td +[(Ov)25(er)-15(la)30(yT)120(e)30(xtControl interf)30(ace )-1173(Pro)15(vides control o)15(v)25(er )30(\322Subtitles and )30(\322Closed Captioning\323)]TJ +0 -1.909 TD +[(Ov)25(er)-15(la)30(yT)120(e)30(xtListener )17(interf)30(ace )-856(Receiv)25(es e)30(v)25(ents related to )30(\322Ov)25(er)-15(la)30(yT)120(e)30(xt )30(\322)]TJ +/T1_1 1 Tf +12 0 0 12 45.3266 592.0179 Tm +[(A.2.25 )-508(com.sun.dtv)80(.media.f)20(ormat pac)20(ka)10(g)-10(e)]TJ +/T1_0 1 Tf +11 0 0 11 45.3266 566.8179 Tm +[(The com.sun.dtv)80(.media.f)30(or)-25(mat pac)20(kage is responsib)20(le f)30(or the video f)30(or)-25(mat settings)15(.)]TJ +-0.041 Tw 0 -2.291 TD +[(This pac)20(kage shall be implemented according to J)20(A)70(V)80(ADTV 1.3:2009.)60( )50(The interf)30(aces and classes of this )]TJ +0 Tw 0 -1.2 TD +[(pac)20(kage)15(, descr)-15(ibed in )50(T)120(ab)20(le A.25, shall be used.)]TJ +/T1_1 1 Tf +7.575 -2.291 Td +[(T)80(ab)10(le A.25 \226 Classes of the com.sun.dtv)80(.media.f)20(ormat pac)20(ka)10(g)-10(e)]TJ +ET +q +1 0 0 1 244.223999 470.253006 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 47.6889954 470.003006 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +196.535 0 l +488.504 0 l +S +Q +q +1 0 0 1 244.223999 436.0559998 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 47.6889954 435.8059998 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +196.535 0 l +488.504 0 l +S +Q +q +1 0 0 1 244.223999 401.8589935 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 47.6889954 401.6089935 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +196.535 0 l +488.504 0 l +S +Q +q +1 0 0 1 244.223999 367.6620026 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 47.6889954 367.4120026 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +196.535 0 l +488.504 0 l +S +Q +q +1 0 0 1 244.223999 333.4649963 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 47.6889954 333.2149963 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +196.535 0 l +488.504 0 l +S +Q +q +1 0 0 1 244.223999 299.2680054 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 47.6889954 299.0180054 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +196.535 0 l +488.504 0 l +S +Q +q +1 0 0 1 244.223999 265.0709991 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 47.6889954 264.8209991 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +196.535 0 l +488.504 0 l +S +Q +q +1 0 0 1 244.223999 230.8739929 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 47.6889954 230.6239929 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +196.535 0 l +488.504 0 l +S +Q +q +1 0 0 1 244.223999 209.8769989 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 47.6889954 209.6269989 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +196.535 0 l +488.504 0 l +S +Q +q +1 0 0 1 244.223999 175.6799927 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 47.6889954 175.4299927 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +196.535 0 l +488.504 0 l +S +Q +q +1 0 0 1 244.223999 154.6829987 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 47.6889954 154.4329987 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +196.535 0 l +488.504 0 l +S +Q +q +1 0 0 1 244.223999 120.4859924 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 47.6889954 120.2359924 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +196.535 0 l +488.504 0 l +S +Q +q +1 0 0 1 244.223999 99.4889984 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 47.6889954 99.2389984 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +196.535 0 l +488.504 0 l +S +Q +q +1 0 0 1 244.223999 65.2920074 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 47.6889954 490.9720001 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +196.535 0 l +S +Q +q +1 0 0 1 47.9389954 470.2579956 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 244.223999 490.9720001 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +291.968 0 l +S +Q +q +1 0 0 1 535.9420013 470.2579956 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 47.9380035 436.0610046 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 535.9420013 436.0610046 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 47.9380035 401.8639984 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 535.9420013 401.8639984 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 47.9380035 367.6670074 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 535.9420013 367.6670074 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 47.9380035 333.4700012 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 535.9420013 333.4700012 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 47.9380035 299.272995 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 535.9420013 299.272995 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 47.9380035 265.076004 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 535.9420013 265.076004 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 47.9380035 230.8789978 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 535.9420013 230.8789978 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 47.9380035 209.8820038 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 535.9420013 209.8820038 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 47.9380035 175.6849976 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 535.9420013 175.6849976 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 47.9380035 154.6880035 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 535.9420013 154.6880035 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 47.9380035 120.4909973 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 535.9420013 120.4909973 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 47.9380035 99.4940033 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 535.9420013 99.4940033 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 47.9380035 65.2969971 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 535.9420013 65.2969971 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 47.6880035 65.0469971 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +196.535 0 l +488.504 0 l +S +Q +BT +/T1_1 1 Tf +11 0 0 11 125.2912 476.2399 Tm +(Classes)Tj +21.322 0 Td +(Description)Tj +/T1_0 1 Tf +-27.787 -2.509 Td +[(VideoF)30(or)-25(matControl interf)30(ace )]TJ +17.844 0.6 Td +[(Pro)15(vides the means to obtain inf)29(or)-25(mation about the )]TJ +T* +[(f)30(or)-25(mat and aspect r)10(atio of the video)]TJ +-17.844 -2.509 Td +[(VideoF)30(or)-25(matListener interf)30(ace )]TJ +17.844 0.6 Td +[(Listening interf)30(ace that receiv)25(es noti\336)250( )28(cation of e)30(v)25(ents on )]TJ +T* +[(changes in the video displa)29(y \(presentation\) )]TJ +-17.844 -2.509 Td +[(AspectRatioEv)25(ent Interf)30(ace )]TJ +17.844 0.6 Td +[(The )50(VideoF)30(or)-25(matEv)25(ent interf)30(ace inf)30(or)-25(ms on changes )]TJ +T* +[(occurr)-15(ing in the aspect r)9(atio)]TJ +-17.844 -2.509 Td +[(VideoPresentationControl interf)29(ace )]TJ +17.844 0.6 Td +[(Pro)15(vides the means to consult and manipulate the video )]TJ +T* +[(displa)30(y \(presentation\))]TJ +-17.844 -2.509 Td +[(VideoPresentationEv)24(ent class)]TJ +17.844 0.6 Td +[(Ev)25(ent that inf)30(or)-25(ms about changes occurr)-15(ing in the video )]TJ +T* +[(displa)30(y)]TJ +-17.844 -2.509 Td +[(Activ)25(eF)30(or)-25(matEv)25(ent interf)30(ace )]TJ +17.844 0.6 Td +[(The )50(VideoF)30(or)-25(matEv)25(ent inf)30(or)-25(ms about the changes in the )]TJ +T* +[(Activ)25(e F)30(or)-25(mat)]TJ +-17.844 -2.509 Td +[(VideoPresentationListener interf)29(ace )]TJ +17.844 0.6 Td +[(Repor)-40(ts on changes in the video displa)29(y)100(, as w)10(ell as all )]TJ +T* +[(types of ContollerEv)24(ents)]TJ +-17.844 -1.909 Td +[(DecoderF)30(or)-25(matEv)25(ent interf)30(ace )-4010(Ev)25(ent that inf)30(or)-25(ms that the decoder f)30(or)-25(mat has changed)]TJ +0 -2.509 TD +[(ClippingControl interf)30(ace )]TJ +17.844 0.6 Td +[(Control that retr)-15(ie)30(v)25(es and de\336)250( )28(nes the rectangular cut of )]TJ +0 -1.2 TD +(the video)Tj +-17.844 -1.909 Td +[(VideoF)30(or)-25(matEv)25(ent interf)30(ace )]TJ +17.844 0 Td +[(Ev)25(ent that inf)30(or)-25(ms about changes the in video f)30(or)-25(mat)]TJ +-17.844 -1.909 Td +[(Bac)20(kg)10(roundVideoPresentationControl )]TJ +T* +[(interf)30(ace )]TJ +17.844 0.6 Td +[(Control of videos sho)14(wn in the screen bac)19(kg)10(round)]TJ +-0.01 Tc -17.844 -2.509 Td +[(Arbitr)10(ar)-30(yVideoScalingControl interf)30(ace )-1016(Control f)30(or retr)-15(ie)30(ving the arbitr)10(ar)-30(y f)30(actors of the video scale)]TJ +0 Tc 0 -2.509 TD +[(T)120(r)10(ansf)30(or)-25(mation class )]TJ +17.844 0.6 Td +[(Represents a container f)29(or tr)10(ansf)30(or)-25(mation inf)30(or)-25(mation f)30(or )]TJ +0 -1.2 TD +(a video)Tj +ET + +endstream endobj 1005 0 obj <> endobj 1267 0 obj <> endobj 1266 0 obj <>stream +BT +/CS0 cs 1 scn +/GS0 gs +/T1_0 1 Tf +8 0 0 8 56.6651 38.2639 Tm +[(\251 ABNT 2010 - All r)-15(ights reser)-30(v)25(ed)]TJ +11 0 0 11 537.6613 35.9389 Tm +(45)Tj +/T1_1 1 Tf +-10.613 68.636 Td +(ABNT NBR 15606-4:2010)Tj +12 0 0 12 56.6651 736.3029 Tm +[(A.2.22 )-508(com.sun.dtv)80(.resour)20(ces pac)20(ka)10(g)-10(e)]TJ +/T1_0 1 Tf +11 0 0 11 56.6651 711.1029 Tm +[(The com.sun.dtv)80(.resources pac)20(kage pro)15(vides a basic fr)10(ame)20(w)10(or)-15(k f)30(or de)30(vices with limited resources)15(.)]TJ +-0.041 Tw 0 -2.291 TD +[(This pac)20(kage shall be implemented according to J)20(A)70(V)80(ADTV 1.3:2009.)60( )50(The interf)30(aces and classes of this )]TJ +0 Tw 0 -1.2 TD +[(pac)20(kage)15(, descr)-15(ibed in )50(T)120(ab)20(le A.22, shall be used.)]TJ +/T1_1 1 Tf +8.325 -2.836 Td +[(T)80(ab)10(le A.22 \226 Classes of the com.sun.dtv)80(.resour)20(ces pac)20(ka)10(g)-10(e)]TJ +ET +q +1 0 0 1 213.1900024 602.5379944 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 62.0090027 602.2879944 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +151.181 0 l +482.54 0 l +S +Q +q +1 0 0 1 213.1900024 581.5410004 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 62.0090027 581.2910004 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +151.181 0 l +482.54 0 l +S +Q +q +1 0 0 1 213.1900024 547.3439941 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 62.0090027 547.0939941 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +151.181 0 l +482.54 0 l +S +Q +q +1 0 0 1 213.1900024 513.1470032 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 62.0090027 512.8970032 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +151.181 0 l +482.54 0 l +S +Q +q +1 0 0 1 213.1900024 478.9499969 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 62.0090027 478.6999969 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +151.181 0 l +482.54 0 l +S +Q +q +1 0 0 1 213.1900024 444.753006 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 62.0090027 623.2539978 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +151.181 0 l +S +Q +q +1 0 0 1 62.2590027 602.5399933 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 213.1900024 623.2539978 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +331.359 0 l +S +Q +q +1 0 0 1 544.298996 602.5399933 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 62.2590027 581.5429993 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 544.298996 581.5429993 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 62.2590027 547.345993 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 544.298996 547.345993 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 62.2590027 513.1490021 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 544.298996 513.1490021 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 62.2590027 478.9519958 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 544.298996 478.9519958 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 62.2590027 444.7550049 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 544.298996 444.7550049 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 62.0090027 444.5050049 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +151.181 0 l +482.54 0 l +S +Q +BT +/T1_1 1 Tf +11 0 0 11 116.9352 608.5239 Tm +(Classes)Tj +21.051 0 Td +(Description)Tj +/T1_0 1 Tf +-25.454 -1.909 Td +[(TimeoutException class )-2885(Signals when a timeout occurs)]TJ +0 -1.909 TD +(ScarceResourceListener )Tj +0 -1.2 TD +[(interf)30(ace )]TJ +13.721 0.6 Td +[(Noti\336)250( )28(es about the release of a par)-40(ticular scarce resource)]TJ +-13.721 -3.109 Td +[(ScarceResource interf)29(ace )]TJ +13.721 0.6 Td +[(Represents resources that need special treatment to reser)-32(v)25(e and )]TJ +T* +(release)Tj +-13.721 -1.909 Td +[(ScarceResourceP)49(er)-25(mission )]TJ +T* +(class )Tj +13.721 1.2 Td +[(Used to deal with the v)24(ar)-15(ious per)-25(missions relating to scarce )]TJ +T* +(resources)Tj +-13.721 -1.909 Td +[(ResourceT)120(ypeListener )]TJ +T* +[(interf)30(ace )]TJ +13.721 1.2 Td +[(Noti\336)250( )28(es the status of changes occurr)-15(ing in resources of the same )]TJ +T* +(object type to which the listener has connected)Tj +/T1_1 1 Tf +12 0 0 12 56.6651 414.8509 Tm +[(A.2.23 )-508(com.sun.dtv)80(.net pac)20(ka)10(g)-10(e)]TJ +/T1_0 1 Tf +0.069 Tw 11 0 0 11 56.6651 389.6509 Tm +[(The com.sun.dtv)80(.net pac)20(kage e)30(xtends the ja)20(v)25(a.net pac)20(kage to suppor)-40(t the e)30(xtensiv)25(e comm)10(unication )]TJ +0 Tw T* +[(control of with de)30(vices)15(.)60( In this case it represents a de)30(vice through the Netw)10(or)-15(kDe)30(vice class)15(.)]TJ +-0.023 Tw 0 -2.291 TD +[(This pac)20(kage shallbe implemented according to J)20(A)70(V)80(ADTV 1.3:2009.)60( )50(The interf)30(aces and classes of this )]TJ +0 Tw 0 -1.2 TD +[(pac)20(kage)15(, descr)-15(ibed in )50(T)120(ab)20(le A.23, shall be used.)]TJ +/T1_1 1 Tf +9.955 -2.836 Td +[(T)80(ab)10(le A.23 \226 Classes of the com.sun.dtv)80(.net pac)20(ka)10(g)-10(e)]TJ +ET +q +1 0 0 1 217.5310059 267.8869934 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 59.5 267.6369934 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +158.031 0 l +487.559 0 l +S +Q +q +1 0 0 1 217.5310059 233.6900024 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 59.5 233.4400024 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +158.031 0 l +487.559 0 l +S +Q +q +1 0 0 1 217.5310059 199.4929962 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 59.5 199.2429962 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +158.031 0 l +487.559 0 l +S +Q +q +1 0 0 1 217.5310059 152.095993 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 46.897 l +S +Q +q +1 0 0 1 59.5 288.6029968 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +158.031 0 l +S +Q +q +1 0 0 1 59.75 267.8890076 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 217.5310059 288.6029968 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +329.527 0 l +S +Q +q +1 0 0 1 546.8090057 267.8890076 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 59.75 233.6920013 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 546.8090057 233.6920013 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 59.75 199.4949951 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 546.8090057 199.4949951 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 59.75 152.0980072 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 46.897 l +S +Q +q +1 0 0 1 546.8090057 152.0980072 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 46.897 l +S +Q +q +1 0 0 1 59.5 151.8480072 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +158.031 0 l +487.559 0 l +S +Q +BT +/T1_1 1 Tf +11 0 0 11 117.8502 273.8729 Tm +(Classes)Tj +21.279 0 Td +(Description)Tj +/T1_0 1 Tf +-25.994 -1.909 Td +[(Netw)10(or)-15(kDe)30(viceStatusListener )]TJ +T* +[(interf)30(ace )]TJ +14.344 0.6 Td +[(Listener f)30(or e)30(v)25(ents related to netw)10(or)-15(k de)30(vices)]TJ +-14.344 -2.509 Td +[(Netw)10(or)-15(kDe)30(viceP)50(er)-25(mission )]TJ +T* +(class )Tj +14.344 1.2 Td +[(Used to deal with the v)24(ar)-15(ious per)-25(missions relating to scarce )]TJ +T* +[(resources of netw)9(or)-15(k de)30(vices)]TJ +-14.344 -3.109 Td +[(Netw)10(or)-15(kDe)30(vice class )]TJ +14.344 1.2 Td +[(Represents each ph)29(ysical instance of an)14(y netw)10(or)-15(k interf)30(ace )]TJ +T* +[(in IP protocol suppor)-41(t \(TCP)180(, UDP\) )50(The comm)10(unication can be )]TJ +T* +[(obtained through the platf)29(or)-25(m)]TJ +/T1_1 1 Tf +12 0 0 12 56.6651 122.1949 Tm +[(A.2.24 )-508(com.sun.dtv)80(.media.te)15(xt pac)20(ka)10(g)-10(e)]TJ +/T1_0 1 Tf +0.206 Tw 11 0 0 11 56.6651 96.9949 Tm +[(The )1(pac)20(kage )1(com.sun.dtv)80(.media.te)30(xt )1(per)-25(mits )1(access )1(to )1(the )1(Control )1(k)20(e)20(y )1(and )1("Closed )1(Captioning".)]TJ +-0.041 Tw T* +[(This pac)20(kage shall be implemented according to J)20(A)70(V)80(ADTV 1.3:2009.)60( )50(The interf)30(aces and classes of this )]TJ +0 Tw T* +[(pac)20(kage)15(, descr)-15(ibed in )50(T)120(ab)20(le A.24, shall be used.)]TJ +ET + +endstream endobj 1001 0 obj <> endobj 1265 0 obj <> endobj 978 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text]>>/Rotate 0/TrimBox[0.0 0.0549927 595.22 841.945]/Type/Page>> endobj 982 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text]>>/Rotate 0/TrimBox[0.0 0.0549927 595.22 841.945]/Type/Page>> endobj 986 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text]>>/Rotate 0/TrimBox[0.0 0.0549927 595.22 841.945]/Type/Page>> endobj 990 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text]>>/Rotate 0/TrimBox[0.0 0.0549927 595.22 841.945]/Type/Page>> endobj 994 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text]>>/Rotate 0/TrimBox[0.0 0.0549927 595.22 841.945]/Type/Page>> endobj 1264 0 obj <>stream +BT +/CS0 cs 1 scn +/GS0 gs +/T1_0 1 Tf +8 0 0 8 417.7962 38.134 Tm +[(\251 ABNT 2010 - All r)-15(ights reser)-30(v)25(ed)]TJ +11 0 0 11 45.3266 35.8089 Tm +(44)Tj +/T1_1 1 Tf +0 68.648 TD +(ABNT NBR 15606-4:2010)Tj +ET +q +1 0 0 1 215.0910034 705.7039948 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 48.1679993 705.4539948 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +166.923 0 l +487.545 0 l +S +Q +q +1 0 0 1 215.0910034 631.9069977 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 73.297 l +S +Q +q +1 0 0 1 48.1679993 631.6569977 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +166.923 0 l +487.545 0 l +S +Q +q +1 0 0 1 215.0910034 610.9100037 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 48.1679993 610.6600037 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +166.923 0 l +487.545 0 l +S +Q +q +1 0 0 1 215.0910034 589.9129944 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 48.1679993 589.6629944 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +166.923 0 l +487.545 0 l +S +Q +q +1 0 0 1 215.0910034 555.7160034 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 48.1679993 726.4199982 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +166.923 0 l +S +Q +q +1 0 0 1 48.4179993 705.7059937 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 215.0910034 726.4199982 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +320.622 0 l +S +Q +q +1 0 0 1 535.4629974 705.7059937 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 48.4179993 631.9089966 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 73.297 l +S +Q +q +1 0 0 1 535.4629974 631.9089966 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 73.297 l +S +Q +q +1 0 0 1 48.4179993 610.9120026 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 535.4629974 610.9120026 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 48.4179993 589.9149933 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 535.4629974 589.9149933 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 48.4179993 555.7180023 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 535.4629974 555.7180023 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 48.1679993 555.4680023 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +166.923 0 l +487.545 0 l +S +Q +BT +/T1_1 1 Tf +11 0 0 11 110.9642 711.6909 Tm +(Classes)Tj +21.278 0 Td +(Description)Tj +/T1_0 1 Tf +-26.397 -4.309 Td +[(Callbac)20(k interf)30(ace )]TJ +15.152 2.4 Td +[(Implementations of this interf)29(ace are passed to a )]TJ +0 -1.2 TD +[(Callbac)20(kHandler)50(, allo)15(wing secur)-15(ity ser)-30(vices to inter)10(act with )]TJ +T* +[(the application called and to retr)-16(ie)30(v)25(e speci\336)250( )28(c authentication )]TJ +T* +[(inf)30(or)-25(mation such as user)-25(name and pass)30(w)10(ord, or to displa)30(y )]TJ +T* +[(cer)-40(tain inf)30(or)-25(mation such as error messages or w)15(ar)-25(nings)]TJ +-15.152 -1.909 Td +[(A)30(uthPro)15(vider class)]TJ +15.152 0 Td +[(This class de\336)250( )28(nes login and logout methods f)30(or a pro)15(vider)]TJ +-15.152 -1.909 Td +(LoginException class)Tj +15.153 0 Td +[(Exception related to login oper)9(ations)]TJ +-15.153 -1.909 Td +[(Unsuppor)-40(tedCallbac)20(kException )]TJ +T* +(class)Tj +15.152 1.2 Td +[(T)120(r)-15(iggered when a callbac)20(k call is passed and cannot be treated )]TJ +T* +[(b)20(y the receiv)25(er of the call)]TJ +/T1_1 1 Tf +12 0 0 12 45.3265 528.8149 Tm +[(A.2.20 )-508(com.sun.dtv)80(.l)15(wuit.painter pac)20(ka)10(g)-10(e)]TJ +/T1_0 1 Tf +0.162 Tw 11 0 0 11 45.3265 507.1109 Tm +[(The com.sun.dtv)80(.lwuit.painter pac)20(kage contains classes that )1(e)30(xtend )1(functionalities )1(of the com.sun.)]TJ +0.016 Tw T* +[(dtv)80(.lwuit.P)40(ainter interf)30(ace and that per)-25(mit one to dr)10(a)20(w arbitr)10(ar)-30(y g)10(r)10(aphic elements in the bac)20(kg)10(round of )]TJ +0 Tw T* +[(components \(com.sun.dtv)79(.lwuit.Component\).)]TJ +-0.041 Tw 0 -2.231 TD +[(This pac)20(kage shall be implemented according to J)20(A)70(V)80(ADTV 1.3:2009.)60( )50(The interf)30(aces and classes of this )]TJ +0 Tw 0 -1.2 TD +[(pac)20(kage)15(, descr)-15(ibed in )50(T)120(ab)20(le A.20, shall be used.)]TJ +/T1_1 1 Tf +7.767 -2.746 Td +[(T)80(ab)10(le A.20 \226 Classes of the com.sun.dtv)80(.l)15(wuit. )278(painter pac)20(ka)10(g)-10(e)]TJ +ET +q +1 0 0 1 187.3529968 379.8000031 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 48.9790039 379.5500031 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +138.374 0 l +485.924 0 l +S +Q +q +1 0 0 1 187.3529968 345.6029968 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 48.9790039 345.3529968 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +138.374 0 l +485.924 0 l +S +Q +q +1 0 0 1 187.3529968 324.6060028 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 48.9790039 400.5149994 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +138.374 0 l +S +Q +q +1 0 0 1 49.2290039 379.8009949 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 187.3529968 400.5149994 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +347.55 0 l +S +Q +q +1 0 0 1 534.6529999 379.8009949 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 49.2290039 345.6040039 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 534.6529999 345.6040039 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 49.2290039 324.6069946 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 534.6529999 324.6069946 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 48.9790039 324.3569946 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +138.374 0 l +485.924 0 l +S +Q +BT +/T1_1 1 Tf +11 0 0 11 97.5008 385.7859 Tm +(Classes)Tj +21.204 0 Td +(Description)Tj +/T1_0 1 Tf +-25.026 -2.509 Td +[(P)40(ainterChain class )]TJ +12.557 0.6 Td +[(P)50(er)-25(mits the linking of se)30(v)25(er)10(al painters so as to achie)30(v)25(e a )30(\322la)30(y)20(er)-15(ing\323)40( )]TJ +T* +[(eff)30(ect and where each painter dr)9(a)20(ws only one element)]TJ +-12.557 -1.909 Td +[(Bac)20(kg)10(roundP)40(ainter class )-1289(Dr)10(a)20(ws the screen bac)20(kg)10(round of a component based on its style)]TJ +/T1_1 1 Tf +12 0 0 12 45.3265 297.7049 Tm +[(A.2.21 )-508(com.sun.dtv)80(.locator pac)20(ka)10(g)-10(e)]TJ +/T1_0 1 Tf +11 0 0 11 45.3265 276.0009 Tm +[(The com.sun.dtv)80(.locator pac)20(kage de\336)250( )28(nes all of the Locators to be used in the J)20(a)20(v)25(a DTV system.)]TJ +-0.041 Tw 0 -2.231 TD +[(This pac)20(kage shall be implemented according to J)20(A)70(V)80(ADTV 1.3:2009.)60( )50(The interf)30(aces and classes of this )]TJ +0 Tw 0 -1.2 TD +[(pac)20(kage)15(, descr)-15(ibed in )50(T)120(ab)20(le A.21, shall be used.)]TJ +/T1_1 1 Tf +9.038 -2.746 Td +[(T)80(ab)10(le A.21 \226 Classes of the com.sun.dtv)80(.locator pac)20(ka)10(g)-10(e)]TJ +ET +q +1 0 0 1 205.7779999 175.0899963 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 49.5780029 174.8399963 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +156.2 0 l +484.724 0 l +S +Q +q +1 0 0 1 205.7779999 154.0930023 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 49.5780029 153.8430023 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +156.2 0 l +484.724 0 l +S +Q +q +1 0 0 1 205.7779999 133.095993 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 49.5780029 132.845993 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +156.2 0 l +484.724 0 l +S +Q +q +1 0 0 1 205.7779999 98.8990021 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 49.5780029 98.6490021 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +156.2 0 l +484.724 0 l +S +Q +q +1 0 0 1 205.7779999 64.7019958 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 49.5780029 195.8059998 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +156.2 0 l +S +Q +q +1 0 0 1 49.8280029 175.0919952 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 205.7779999 195.8059998 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +328.524 0 l +S +Q +q +1 0 0 1 534.052002 175.0919952 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 49.8280029 154.0950012 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 534.052002 154.0950012 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 49.8280029 133.0980072 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 534.052002 133.0980072 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 49.8280029 98.901001 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 534.052002 98.901001 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 49.8280029 64.7039948 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 534.052002 64.7039948 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 49.5780029 64.4539948 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +156.2 0 l +484.724 0 l +S +Q +BT +/T1_1 1 Tf +11 0 0 11 107.0132 181.0769 Tm +(Classes)Tj +21.15 0 Td +(Description)Tj +/T1_0 1 Tf +-25.782 -1.909 Td +(EntityLocator class )Tj +14.178 0 Td +[(Entity locator in the stream tr)9(anspor)-40(t sectors)]TJ +-14.178 -1.909 Td +(URLLocator class )Tj +14.178 0 Td +(URL-based locator )Tj +-14.178 -1.909 Td +[(T)120(r)10(anspor)-40(tDependentLocator )]TJ +T* +[(interf)30(ace )]TJ +14.177 0.6 Td +[(Locator that ref)30(erences the entities of a tr)9(anspor)-40(t stream)]TJ +-14.177 -2.509 Td +[(Netw)10(or)-15(kBoundLocator )]TJ +T* +(Classe )Tj +14.177 0.6 Td +[(Locator that ref)30(erences entities that are netw)9(or)-15(k bound)]TJ +/T1_1 1 Tf +2.175 59.978 Td +[(T)80(ab)10(le A.19)]TJ +/T1_0 1 Tf +[( \(contin)10(ued\))]TJ +ET + +endstream endobj 996 0 obj <> endobj 1263 0 obj <> endobj 1262 0 obj <>stream +BT +/CS0 cs 1 scn +/GS0 gs +/T1_0 1 Tf +8 0 0 8 56.6651 38.2639 Tm +[(\251 ABNT 2010 - All r)-15(ights reser)-30(v)25(ed)]TJ +11 0 0 11 537.6613 35.9389 Tm +(43)Tj +/T1_1 1 Tf +-10.613 68.636 Td +(ABNT NBR 15606-4:2010)Tj +12 0 0 12 56.6651 736.3029 Tm +[(A.2.17 )-508(com.sun.dtv)80(.media.contr)20(ol pac)20(ka)10(g)-10(e)]TJ +/T1_0 1 Tf +-0.006 Tw 11 0 0 11 56.6651 711.1029 Tm +[(The com.sun.dtv)80(.media.control pac)20(kage has additional controls to obtain inf)30(or)-25(mation about the media )]TJ +0 Tw 0 -1.2 TD +[(being displa)30(y)20(ed.)60( )]TJ +-0.041 Tw 0 -2.291 TD +[(This pac)20(kage shall be implemented according to J)20(A)70(V)80(ADTV 1.3:2009.)60( )50(The interf)30(aces and classes of this )]TJ +0 Tw 0 -1.2 TD +[(pac)20(kage)15(, descr)-15(ibed in )50(T)120(ab)20(le A.17, shall be used.)]TJ +/T1_1 1 Tf +7.436 -2.291 Td +[(T)80(ab)10(le A.17 \226 Classes of the com.sun.dtv)80(.media.contr)20(ol pac)20(ka)10(g)-10(e)]TJ +ET +q +1 0 0 1 215.6999969 601.3379974 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 59.5 601.0879974 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +156.2 0 l +487.559 0 l +S +Q +q +1 0 0 1 215.6999969 580.3410034 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 59.5 580.0910034 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +156.2 0 l +487.559 0 l +S +Q +q +1 0 0 1 215.6999969 559.3439941 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 59.5 559.0939941 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +156.2 0 l +487.559 0 l +S +Q +q +1 0 0 1 215.6999969 538.3470001 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 59.5 622.0540009 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +156.2 0 l +S +Q +q +1 0 0 1 59.75 601.3399963 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 215.6999969 622.0540009 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +331.359 0 l +S +Q +q +1 0 0 1 546.8090057 601.3399963 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 59.75 580.3430023 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 546.8090057 580.3430023 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 59.75 559.345993 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 546.8090057 559.345993 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 59.75 538.348999 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 546.8090057 538.348999 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 59.5 538.098999 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +156.2 0 l +487.559 0 l +S +Q +BT +/T1_1 1 Tf +11 0 0 11 116.9352 607.3239 Tm +(Classes)Tj +21.279 0 Td +(Description)Tj +/T1_0 1 Tf +-25.91 -1.909 Td +[(F)45(r)10(ameRateControl interf)30(ace )-1647(A control to obtain the fr)9(ame r)10(ate)]TJ +0 -1.909 TD +[(MpegA)30(udioControl interf)30(ace )-1565(A control to obtain the par)9(ameters of an MPEG audio stream )]TJ +T* +[(BitRateControl interf)29(ace )-3314(A control to obtain the bit r)9(ate)]TJ +/T1_1 1 Tf +12 0 0 12 56.6651 508.4459 Tm +[(A.2.18 )-508(com.sun.dtv)80(.media.dripf)10(eed pac)20(ka)10(g)-10(e )]TJ +/T1_0 1 Tf +-0.049 Tw 11 0 0 11 56.6651 483.9069 Tm +[(The com.sun.dtv)80(.media.dr)-15(ipf)30(eed pac)20(kage allo)15(ws the deliv)25(er)-30(y of data from a still picture to a JMF Pla)30(y)20(er)50(, )]TJ +0.07 Tw 0 -1.2 TD +[(in a w)15(a)30(y that per)-25(mits the application to ha)20(v)25(e control o)15(v)25(er the data.)60( )50(The pictures can be from fr)10(ames )]TJ +0 Tw T* +[(captured from a video source)14(.)]TJ +-0.041 Tw 0 -2.231 TD +[(This pac)20(kage shall be implemented according to J)20(A)70(V)80(ADTV 1.3:2009.)60( )50(The interf)30(aces and classes of this )]TJ +0 Tw 0 -1.2 TD +[(pac)20(kage)15(, descr)-15(ibed in )50(T)120(ab)20(le A.18, shall be used.)]TJ +/T1_1 1 Tf +7.153 -2.231 Td +[(T)80(ab)10(le A.18 \226 Classes of the com.sun.dtv)80(.media.dripf)10(eed pac)20(ka)10(g)-10(e)]TJ +ET +q +1 0 0 1 217.5899963 362.2660065 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 61.3899994 362.0160065 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +156.2 0 l +483.779 0 l +S +Q +q +1 0 0 1 217.5899963 341.2689972 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 61.3899994 341.0189972 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +156.2 0 l +483.779 0 l +S +Q +q +1 0 0 1 217.5899963 320.2720032 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 61.3899994 382.9810028 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +156.2 0 l +S +Q +q +1 0 0 1 61.6399994 362.2669983 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 217.5899963 382.9810028 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +327.579 0 l +S +Q +q +1 0 0 1 544.9199982 362.2669983 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 61.6399994 341.2700043 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 544.9199982 341.2700043 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 61.6399994 320.272995 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 544.9199982 320.272995 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 61.3899994 320.022995 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +156.2 0 l +483.779 0 l +S +Q +BT +/T1_1 1 Tf +11 0 0 11 118.8242 368.2519 Tm +(Classes)Tj +21.107 0 Td +(Description)Tj +/T1_0 1 Tf +-25.739 -1.909 Td +[(Dr)-15(ipF)30(eedControl interf)30(ace )-2496(P)50(er)-25(mits the prog)10(ressiv)25(e f)30(eeding of par)-40(ts of a video on a Pla)30(y)20(er)]TJ +0 -1.909 TD +[(Dr)-15(ipF)30(eedP)50(er)-25(mission class )-2326(Represents the per)-25(missions to access the Dr)-16(ipF)30(eedControl)]TJ +/T1_1 1 Tf +12 0 0 12 56.6651 290.3709 Tm +[(A.2.19 )-508(com.sun.dtv)80(.security pac)20(ka)10(g)-10(e)]TJ +/T1_0 1 Tf +0.048 Tw 11 0 0 11 56.6651 265.1709 Tm +[(The )1(com.sun.dtv)80(.secutity )1(pac)20(kage )1(includes )1(additional )1(secur)-15(ity functionalities)15(.)60( )51(The )1(basic )1(functions )1(are )]TJ +0 Tw 0 -1.2 TD +[(pro)15(vided b)20(y the classes in the ja)19(v)25(a.secur)-15(ity pac)20(kage)15(.)]TJ +-0.041 Tw 0 -2.231 TD +[(This pac)20(kage shall be implemented according to J)20(A)70(V)80(ADTV 1.3:2009.)60( )50(The interf)30(aces and classes of this )]TJ +0 Tw 0 -1.2 TD +[(pac)20(kage)15(, descr)-15(ibed in )50(T)120(ab)20(le A.19, shall be used.)]TJ +/T1_1 1 Tf +8.787 -2.231 Td +[(T)80(ab)10(le A.19 \226 Classes of the com.sun.dtv)80(.security pac)20(ka)10(g)-10(e)]TJ +ET +q +1 0 0 1 226.4299927 156.7290039 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 59.5070038 156.4790039 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +166.923 0 l +487.545 0 l +S +Q +q +1 0 0 1 226.4299927 69.7319946 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 86.497 l +S +Q +q +1 0 0 1 59.5070038 69.4819946 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +166.923 0 l +487.545 0 l +S +Q +q +1 0 0 1 59.5070038 177.4440002 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +166.923 0 l +S +Q +q +1 0 0 1 59.7570038 156.7299957 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 226.4299927 177.4440002 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +320.622 0 l +S +Q +q +1 0 0 1 546.802002 156.7299957 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 59.7570038 69.7330017 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 86.497 l +S +Q +q +1 0 0 1 546.802002 69.7330017 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 86.497 l +S +Q +BT +/T1_1 1 Tf +11 0 0 11 122.3032 162.7159 Tm +(Classes)Tj +21.278 0 Td +(Description)Tj +/T1_0 1 Tf +-26.397 -4.909 Td +[(Callbac)20(kHandler interf)30(ace )]TJ +15.152 3 Td +[(An application implements a Callbac)19(kHandler and passes it )]TJ +T* +[(on to the secur)-15(ity ser)-30(vices)15(.)60( )50(Thus)15(, the application can inter)10(act )]TJ +T* +[(with the secur)-15(ity ser)-30(vices with the aim of retr)-16(ie)30(ving speci\336)250( )28(c )]TJ +T* +[(authentication inf)30(or)-25(mation such as user)-25(name and pass)30(w)10(ord, )]TJ +T* +[(or to displa)30(y cer)-40(tain inf)30(or)-25(mation such as error messages or )]TJ +T* +[(w)15(ar)-25(nings)]TJ +ET + +endstream endobj 992 0 obj <> endobj 1261 0 obj <> endobj 1260 0 obj <>stream +BT +/CS0 cs 1 scn +/GS0 gs +/T1_0 1 Tf +8 0 0 8 417.7962 38.134 Tm +[(\251 ABNT 2010 - All r)-15(ights reser)-30(v)25(ed)]TJ +11 0 0 11 45.3266 35.8089 Tm +(42)Tj +/T1_1 1 Tf +0 68.648 TD +(ABNT NBR 15606-4:2010)Tj +ET +q +1 0 0 1 222.9649963 705.7039948 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 46.4889984 705.4539948 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +176.476 0 l +490.904 0 l +S +Q +q +1 0 0 1 222.9649963 684.7070007 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 46.4889984 684.4570007 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +176.476 0 l +490.904 0 l +S +Q +q +1 0 0 1 222.9649963 624.1100006 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 60.097 l +S +Q +q +1 0 0 1 46.4889984 623.8600006 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +176.476 0 l +490.904 0 l +S +Q +q +1 0 0 1 222.9649963 589.9129944 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 46.4889984 589.6629944 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +176.476 0 l +490.904 0 l +S +Q +q +1 0 0 1 222.9649963 568.9160004 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 46.4889984 568.6660004 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +176.476 0 l +490.904 0 l +S +Q +q +1 0 0 1 222.9649963 521.5189972 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 46.897 l +S +Q +q +1 0 0 1 46.4889984 521.2689972 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +176.476 0 l +490.904 0 l +S +Q +q +1 0 0 1 222.9649963 487.3220062 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 46.4889984 487.0720062 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +176.476 0 l +490.904 0 l +S +Q +q +1 0 0 1 222.9649963 439.9250031 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 46.897 l +S +Q +q +1 0 0 1 46.4889984 439.6750031 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +176.476 0 l +490.904 0 l +S +Q +q +1 0 0 1 222.9649963 392.5279999 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 46.897 l +S +Q +q +1 0 0 1 46.4889984 392.2779999 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +176.476 0 l +490.904 0 l +S +Q +q +1 0 0 1 222.9649963 358.3309937 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 46.4889984 358.0809937 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +176.476 0 l +490.904 0 l +S +Q +q +1 0 0 1 222.9649963 324.1340027 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 46.4889984 323.8840027 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +176.476 0 l +490.904 0 l +S +Q +q +1 0 0 1 222.9649963 289.9369965 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 46.4889984 289.6869965 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +176.476 0 l +490.904 0 l +S +Q +q +1 0 0 1 222.9649963 255.7400055 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 46.4889984 255.4900055 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +176.476 0 l +490.904 0 l +S +Q +q +1 0 0 1 222.9649963 234.7429962 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 46.4889984 234.4929962 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +176.476 0 l +490.904 0 l +S +Q +q +1 0 0 1 222.9649963 213.7460022 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 46.4889984 213.4960022 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +176.476 0 l +490.904 0 l +S +Q +q +1 0 0 1 222.9649963 192.7489929 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 46.4889984 192.4989929 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +176.476 0 l +490.904 0 l +S +Q +q +1 0 0 1 222.9649963 158.552002 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 46.4889984 158.302002 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +176.476 0 l +490.904 0 l +S +Q +q +1 0 0 1 222.9649963 137.5549927 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 46.4889984 137.3049927 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +176.476 0 l +490.904 0 l +S +Q +q +1 0 0 1 222.9649963 103.3580017 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 46.4889984 103.1080017 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +176.476 0 l +490.904 0 l +S +Q +q +1 0 0 1 222.9649963 82.3609924 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 46.4889984 726.4259949 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +176.476 0 l +S +Q +q +1 0 0 1 46.7389984 705.7120056 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 222.9649963 726.4259949 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +314.428 0 l +S +Q +q +1 0 0 1 537.1430054 705.7120056 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 46.7389984 684.7149963 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 537.1430054 684.7149963 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 46.7389984 624.1179962 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 60.097 l +S +Q +q +1 0 0 1 537.1430054 624.1179962 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 60.097 l +S +Q +q +1 0 0 1 46.7389984 589.9210052 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 537.1430054 589.9210052 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 46.7389984 568.923996 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 537.1430054 568.923996 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 46.7389984 521.5269928 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 46.897 l +S +Q +q +1 0 0 1 537.1430054 521.5269928 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 46.897 l +S +Q +q +1 0 0 1 46.7389984 487.3300018 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 537.1430054 487.3300018 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 46.7389984 439.9329987 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 46.897 l +S +Q +q +1 0 0 1 537.1430054 439.9329987 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 46.897 l +S +Q +q +1 0 0 1 46.7389984 392.5359955 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 46.897 l +S +Q +q +1 0 0 1 537.1430054 392.5359955 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 46.897 l +S +Q +q +1 0 0 1 46.7389984 358.3390045 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 537.1430054 358.3390045 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 46.7389984 324.1419983 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 537.1430054 324.1419983 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 46.7389984 289.9450073 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 537.1430054 289.9450073 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 46.7389984 255.7480011 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 537.1430054 255.7480011 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 46.7389984 234.7510071 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 537.1430054 234.7510071 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 46.7389984 213.7539978 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 537.1430054 213.7539978 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 46.7389984 192.7570038 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 537.1430054 192.7570038 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 46.7389984 158.5599976 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 537.1430054 158.5599976 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 46.7389984 137.5630035 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 537.1430054 137.5630035 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 46.7389984 103.3659973 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 537.1430054 103.3659973 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 46.7389984 82.3690033 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 537.1430054 82.3690033 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 46.4889984 82.1190033 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +176.476 0 l +490.904 0 l +S +Q +BT +/T1_1 1 Tf +11 0 0 11 114.0622 711.6909 Tm +(Classes)Tj +21.431 0 Td +(Description)Tj +/T1_0 1 Tf +-26.984 -1.909 Td +(AlphaComposite class )Tj +16.021 0 Td +[(Implements all of the alpha composition \(tr)9(ansparency\) r)-15(ules)15(.)60( )]TJ +-16.021 -3.709 Td +(DTVContainer class )Tj +16.021 1.8 Td +[(A high-le)30(v)25(el container in the hier)10(arch)30(y of components of the )]TJ +0 -1.2 TD +[(J)20(a)20(v)25(a DTV API that represents a g)10(r)10(aphical element containing )]TJ +T* +[(an)15(ything visib)20(le on a par)-40(ticular Plane)15(.)60( In this case)15(, there is )]TJ +T* +[(only one DTVCointaner f)29(or each Plane)]TJ +-16.021 -2.509 Td +[(T)120(e)30(xtLa)30(y)20(outManager interf)30(ace )]TJ +16.021 0.6 Td +[(De\336)250( )28(nes the functionalities f)30(or the la)30(y)20(out of te)30(xts and the )]TJ +T* +[(displa)30(y thereof on screen)]TJ +-16.021 -1.909 Td +(Capabilities class )Tj +16.021 0 Td +[(Descr)-15(ibes the capabilities of a Plane)]TJ +-16.021 -3.109 Td +(SetupException class )Tj +16.021 1.2 Td +[(Exception that can be launched in se)29(v)25(er)10(al situations where )]TJ +T* +[(an attempt is made to perf)29(or)-25(m an illegal change in the )]TJ +T* +[(con\336)250( )28(gur)10(ation of one or more planes of a Screen)]TJ +-16.021 -1.909 Td +[(SophisticatedT)120(e)30(xtLa)30(y)20(outManager )]TJ +T* +(class )Tj +-0.01 Tc 16.021 1.2 Td +[(This class pro)15(vides a )50(T)120(e)30(xtLa)30(y)20(outManager with more)-10( )]TJ +T* +[(functionalities in a w)15(a)30(y as to per)-25(mit a more sophisticated la)30(y)20(out)]TJ +0 Tc -16.021 -3.109 Td +[(PlaneSetupP)40(atter)-25(n class)]TJ +16.021 1.2 Td +[(This class pro)15(vides a means of descr)-16(ibing the con\336)250( )28(gur)10(ations )]TJ +T* +[(of a vie)20(wing plane)15(, specifying v)25(ar)-15(ious proper)-40(ties and the )]TJ +T* +[(impor)-40(tance thereof f)30(or the application)]TJ +-16.021 -3.109 Td +(AnimatedMatte class )Tj +16.021 1.2 Td +(This class represents an animated matte with a dynamic )Tj +T* +[(image mask, where the pix)29(el v)25(alues deter)-25(mine the )]TJ +T* +[(tr)10(ansparency of the matte at an)15(y giv)25(en time)]TJ +-16.021 -2.509 Td +(RemoteControl class )Tj +16.021 0.6 Td +[(This class represents a tele)29(vision remote control that can be )]TJ +T* +[(used to control a par)-41(ticular screen as a UserInputDe)29(vice)]TJ +-0.05 Tw -16.021 -2.509 Td +[(Interf)30(ace T)120(e)30(xtOv)25(er\337)250( )-22(o)15(wListener)]TJ +0 Tw 16.021 0.6 Td +[(Noti\336)250( )28(es if a char)10(acter str)-15(ing does not \336)250( )28(t into a component )]TJ +T* +[(dur)-15(ing the attempt to render it)]TJ +-16.021 -2.509 Td +[(K)40(e)20(yboard class )]TJ +16.021 0.6 Td +[(This class represents a k)19(e)20(yboard that can be used to control )]TJ +T* +[(cer)-40(tain screens as a UserInputDe)29(vice)]TJ +-16.021 -2.509 Td +[(F)30(ontFileException class )]TJ +16.021 0.6 Td +[(This e)30(xception will be launched in an attempt to read a f)28(ont )]TJ +T* +[(\336)250( )28(le with an inappropr)-15(iate f)30(or)-25(mat)]TJ +-16.021 -1.909 Td +(PlaneSetup class )Tj +16.021 0 Td +[(Descr)-15(ibes the char)10(acter)-15(istics of a Plane)]TJ +-16.021 -1.909 Td +[(Do)15(wnloadab)20(leF)30(ont class )-4915(Introduces the possibility of do)14(wnloading f)30(onts)]TJ +0 -1.909 TD +[(Matte interf)30(ace )]TJ +16.021 0 Td +[(Basic interf)30(ace f)30(or all Matte classes)]TJ +-16.021 -2.509 Td +[(Animated interf)30(ace )]TJ +16.021 0.6 Td +[(This interf)30(ace pro)15(vides methods to de\336)249( )28(ne and obtain )]TJ +0 -1.2 TD +[(par)10(ameters of an animation)]TJ +-16.021 -1.909 Td +[(MatteEnab)20(led interf)30(ace )]TJ +16.021 0 Td +[(P)50(er)-25(mits components to mak)20(e matte composition )]TJ +-16.021 -2.509 Td +(StaticMatte class )Tj +16.021 0.6 Td +[(This class represents non-animated mattes)14(, f)30(or e)30(xample)15(, )]TJ +T* +[(mattes that do not change dur)-16(ing an increment of time)]TJ +-16.021 -1.909 Td +(Plane class )Tj +16.021 0 Td +[(Represents a video output from a tele)29(vision de)30(vice)]TJ +/T1_1 1 Tf +0.612 58.973 Td +[(T)80(ab)10(le A.16)]TJ +/T1_0 1 Tf +[( \(contin)10(ued\))]TJ +ET + +endstream endobj 988 0 obj <> endobj 1259 0 obj <> endobj 1258 0 obj <>stream +BT +/CS0 cs 1 scn +/GS0 gs +/T1_0 1 Tf +8 0 0 8 56.6651 38.2639 Tm +[(\251 ABNT 2010 - All r)-15(ights reser)-30(v)25(ed)]TJ +11 0 0 11 537.6613 35.9389 Tm +(41)Tj +/T1_1 1 Tf +-10.613 68.636 Td +(ABNT NBR 15606-4:2010)Tj +/T1_0 1 Tf +-0.041 Tw -33.114 -4.899 Td +[(This pac)20(kage shall be implemented according to J)20(A)70(V)80(ADTV 1.3:2009.)60( )50(The interf)30(aces and classes of this )]TJ +0 Tw 0 -1.2 TD +[(pac)20(kage)15(, descr)-15(ibed in )50(T)120(ab)20(le A.15, shall be used.)]TJ +/T1_1 1 Tf +8.712 -2.291 Td +[(T)80(ab)10(le A.15 \226 Classes of the com.sun.dtv)80(.l)15(wuit.list pac)20(ka)10(g)-10(e)]TJ +ET +q +1 0 0 1 219.1179962 665.677002 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 61.1900024 665.427002 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +157.928 0 l +484.178 0 l +S +Q +q +1 0 0 1 219.1179962 644.6799927 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 61.1900024 644.4299927 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +157.928 0 l +484.178 0 l +S +Q +q +1 0 0 1 219.1179962 597.2830048 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 46.897 l +S +Q +q +1 0 0 1 61.1900024 597.0330048 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +157.928 0 l +484.178 0 l +S +Q +q +1 0 0 1 219.1179962 563.0859985 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 61.1900024 562.8359985 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +157.928 0 l +484.178 0 l +S +Q +q +1 0 0 1 219.1179962 528.8890076 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 61.1900024 686.3930054 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +157.928 0 l +S +Q +q +1 0 0 1 61.4400024 665.6790009 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 219.1179962 686.3930054 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +326.25 0 l +S +Q +q +1 0 0 1 545.1179962 665.6790009 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 61.4400024 644.6820068 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 545.1179962 644.6820068 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 61.4400024 597.2850037 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 46.897 l +S +Q +q +1 0 0 1 545.1179962 597.2850037 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 46.897 l +S +Q +q +1 0 0 1 61.4400024 563.0879974 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 545.1179962 563.0879974 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 61.4400024 528.8910065 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 545.1179962 528.8910065 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 61.1900024 528.6410065 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +157.928 0 l +484.178 0 l +S +Q +BT +/T1_1 1 Tf +11 0 0 11 119.4892 671.6629 Tm +(Classes)Tj +21.125 0 Td +(Description)Tj +/T1_0 1 Tf +-25.835 -1.909 Td +[(Def)30(aultListCellRenderer class)-1195(Def)30(ault implementation of the renderer based on a label)]TJ +0 -3.109 TD +[(ListModel interf)30(ace )]TJ +14.334 1.2 Td +[(Represents the data str)-16(ucture of the list, thus per)-26(mitting a list )]TJ +0 -1.2 TD +[(to represent an)15(y potential data source through the ref)29(erence to )]TJ +T* +[(se)30(v)25(er)10(al implementations of this interf)30(ace)]TJ +-14.334 -2.509 Td +[(ListCellRenderer interf)29(ace)]TJ +14.334 0.6 Td +[(Interf)30(ace that de\336)250( )28(nes a label renderer of a List.)60( In this case)15(, )]TJ +T* +[(represents only the mar)-16(k)20(er of each cell selected in the List)]TJ +-14.334 -2.509 Td +[(Def)30(aultListModel class )]TJ +14.334 0.6 Td +[(Def)30(ault implementation of the list model based on an elements )]TJ +T* +[(v)25(ector)]TJ +/T1_1 1 Tf +12 0 0 12 56.6651 498.9879 Tm +[(A.2.16 )-508(com.sun.dtv)80(.ui pac)20(ka)10(g)-10(e)]TJ +/T1_0 1 Tf +-0.005 Tw 11 0 0 11 56.6651 476.4329 Tm +[(The com.sun.dtv)80(.ui pac)20(kage is a pac)20(kage with g)10(r)10(aphical user interf)30(ace functionalities speci\336)250( )23(c to digital )]TJ +0 Tw T* +[(tele)30(vision.)]TJ +-0.041 Tw 0 -2.05 TD +[(This pac)20(kage shall be implemented according to J)20(A)70(V)80(ADTV 1.3:2009.)60( )50(The interf)30(aces and classes of this )]TJ +0 Tw 0 -1.2 TD +[(pac)20(kage)15(, descr)-15(ibed in )50(T)120(ab)20(le A.16, shall be used.)]TJ +/T1_1 1 Tf +10.26 -2.05 Td +[(T)80(ab)10(le A.16 \226 Classes of the com.sun.dtv)80(.ui pac)20(ka)10(g)-10(e)]TJ +ET +q +1 0 0 1 234.3029938 371.9600067 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 57.8269958 371.7100067 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +176.476 0 l +490.903 0 l +S +Q +q +1 0 0 1 234.3029938 324.5630035 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 46.897 l +S +Q +q +1 0 0 1 57.8269958 324.3130035 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +176.476 0 l +490.903 0 l +S +Q +q +1 0 0 1 234.3029938 290.3659973 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 57.8269958 290.1159973 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +176.476 0 l +490.903 0 l +S +Q +q +1 0 0 1 234.3029938 269.3690033 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 57.8269958 269.1190033 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +176.476 0 l +490.903 0 l +S +Q +q +1 0 0 1 234.3029938 248.371994 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 57.8269958 248.121994 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +176.476 0 l +490.903 0 l +S +Q +q +1 0 0 1 234.3029938 227.375 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 57.8269958 227.125 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +176.476 0 l +490.903 0 l +S +Q +q +1 0 0 1 234.3029938 179.9779968 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 46.897 l +S +Q +q +1 0 0 1 57.8269958 179.7279968 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +176.476 0 l +490.903 0 l +S +Q +q +1 0 0 1 234.3029938 132.5809937 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 46.897 l +S +Q +q +1 0 0 1 57.8269958 132.3309937 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +176.476 0 l +490.903 0 l +S +Q +q +1 0 0 1 234.3029938 98.3840027 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 57.8269958 98.1340027 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +176.476 0 l +490.903 0 l +S +Q +q +1 0 0 1 234.3029938 64.1869965 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 57.8269958 63.9369965 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +176.476 0 l +490.903 0 l +S +Q +q +1 0 0 1 57.8269958 392.6779938 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +176.476 0 l +S +Q +q +1 0 0 1 58.0769958 371.9640045 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 234.3029938 392.6779938 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +314.428 0 l +S +Q +q +1 0 0 1 548.4810028 371.9640045 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 58.0780029 324.5670013 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 46.897 l +S +Q +q +1 0 0 1 548.4810028 324.5670013 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 46.897 l +S +Q +q +1 0 0 1 58.0780029 290.3699951 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 548.4810028 290.3699951 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 58.0780029 269.3730011 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 548.4810028 269.3730011 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 58.0780029 248.3760071 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 548.4810028 248.3760071 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 58.0780029 227.3789978 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 548.4810028 227.3789978 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 58.0780029 179.9819946 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 46.897 l +S +Q +q +1 0 0 1 548.4810028 179.9819946 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 46.897 l +S +Q +q +1 0 0 1 58.0780029 132.5850067 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 46.897 l +S +Q +q +1 0 0 1 548.4810028 132.5850067 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 46.897 l +S +Q +q +1 0 0 1 58.0780029 98.3880005 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 548.4810028 98.3880005 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 58.0780029 64.1909943 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 548.4810028 64.1909943 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +BT +/T1_1 1 Tf +11 0 0 11 125.4002 377.9459 Tm +(Classes)Tj +21.431 0 Td +(Description)Tj +/T1_0 1 Tf +-26.984 -3.109 Td +(MatteException class )Tj +16.02 1.2 Td +[( A MatteException is tr)-16(iggered when an application, f)29(or an)15(y )]TJ +T* +[(reason, is unab)20(le to perf)30(or)-25(m an association with a g)10(r)10(aphical )]TJ +T* +(element)Tj +-16.02 -2.509 Td +[(DTVContainerP)40(atter)-25(n class )]TJ +16.02 0.6 Td +[(The DTVContainerP)39(atter)-25(n is a means to descr)-16(ibe the )]TJ +T* +[(char)10(acter)-15(istics of a v)25(alid DTVContainer)]TJ +-16.02 -1.909 Td +[(De)30(vice class )]TJ +16.02 0 Td +[(This class is the representation of the tele)29(vision de)30(vice)]TJ +-16.02 -1.909 Td +(Screen class )Tj +16.021 0 Td +[(This class is the representation of the tele)29(vision de)30(vice screen )]TJ +-0.005 Tc -16.021 -1.909 Td +[(Def)30(aultT)120(e)30(xtLa)30(y)20(outManager class )]TJ +0 Tc 16.02 0 Td +[(This class pro)15(vides a standard mechanism f)29(or te)30(xt render)-15(ing)]TJ +-0.01 Tc 0.01 Tw -16.02 -3.109 Td +[(F)30(ontSpeci\336)]TJ +-0.023 Tw 4.627 0 Td +[( cationException )-23(class )]TJ +0 Tc 0 Tw 11.394 1.2 Td +(Exception launched when an attempt to specify )Tj +T* +[(char)10(acter)-15(istics of a f)30(ont in an incorrect manner)49(.)60( In this case)15(, )]TJ +T* +[(only f)30(or f)30(onts that are not de\336)249( )28(ned in a \336)250( )28(le)]TJ +-16.02 -3.109 Td +[(Vie)20(wOnlyComponent interf)29(ace )]TJ +16.02 1.2 Td +[(This class represents an)14(y type of non-inter)10(activ)25(e component )]TJ +T* +[(of the system.)60( Also uses a mechanism f)29(or con\336)250( )28(gur)-15(ing the )]TJ +T* +[(appear)10(ance thereof )]TJ +-16.02 -2.509 Td +[(UserInputDe)30(vice class )]TJ +16.02 0.6 Td +[(Basis f)30(or all input de)30(vices that can be used to control the )]TJ +T* +[(de)30(vice screen)]TJ +-16.02 -2.509 Td +(Mouse class )Tj +16.02 0.6 Td +(This class represents the mouse that can be used to control a )Tj +T* +[(par)-40(ticular screen of a UserInputDe)29(vice)]TJ +ET + +endstream endobj 984 0 obj <> endobj 1257 0 obj <> endobj 1256 0 obj <>stream +BT +/CS0 cs 1 scn +/GS0 gs +/T1_0 1 Tf +8 0 0 8 417.7962 38.134 Tm +[(\251 ABNT 2010 - All r)-15(ights reser)-30(v)25(ed)]TJ +11 0 0 11 45.3266 35.8089 Tm +(40)Tj +/T1_1 1 Tf +0 68.648 TD +(ABNT NBR 15606-4:2010)Tj +7.706 -4.896 Td +[(T)80(ab)10(le A.13 \226 Classes of the com.sun.dtv)80(.l)15(wuit.la)20(y)25(outs pac)20(ka)10(g)-10(e)]TJ +ET +q +1 0 0 1 207.8309937 704.1100006 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 49.798996 703.8600006 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +158.032 0 l +484.281 0 l +S +Q +q +1 0 0 1 207.8309937 669.9129944 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 49.798996 669.6629944 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +158.032 0 l +484.281 0 l +S +Q +q +1 0 0 1 207.8309937 622.5160065 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 46.897 l +S +Q +q +1 0 0 1 49.798996 622.2660065 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +158.032 0 l +484.281 0 l +S +Q +q +1 0 0 1 207.8309937 588.3190002 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 49.798996 588.0690002 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +158.032 0 l +484.281 0 l +S +Q +q +1 0 0 1 207.8309937 554.121994 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 49.798996 553.871994 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +158.032 0 l +484.281 0 l +S +Q +q +1 0 0 1 207.8309937 519.9250031 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 49.798996 519.6750031 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +158.032 0 l +484.281 0 l +S +Q +q +1 0 0 1 207.8309937 485.7279968 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 49.798996 485.4779968 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +158.032 0 l +484.281 0 l +S +Q +q +1 0 0 1 207.8309937 464.7310028 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 49.798996 464.4810028 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +158.032 0 l +484.281 0 l +S +Q +q +1 0 0 1 207.8309937 430.5339966 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 49.798996 724.8269958 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +158.032 0 l +S +Q +q +1 0 0 1 50.048996 704.1130066 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 207.8300018 724.8269958 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +326.25 0 l +S +Q +q +1 0 0 1 533.8300018 704.1130066 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 50.048996 669.9160004 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 533.8300018 669.9160004 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 50.048996 622.5189972 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 46.897 l +S +Q +q +1 0 0 1 533.8300018 622.5189972 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 46.897 l +S +Q +q +1 0 0 1 50.048996 588.3220062 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 533.8300018 588.3220062 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 50.048996 554.125 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 533.8300018 554.125 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 50.048996 519.9279938 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 533.8300018 519.9279938 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 50.048996 485.7310028 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 533.8300018 485.7310028 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 50.048996 464.7339935 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 533.8300018 464.7339935 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 50.048996 430.5370026 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 533.8300018 430.5370026 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 49.7980042 430.2870026 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +158.032 0 l +484.281 0 l +S +Q +BT +/T1_1 1 Tf +11 0 0 11 108.1512 710.0959 Tm +(Classes)Tj +21.13 0 Td +(Description)Tj +/T1_0 1 Tf +-25.845 -2.509 Td +[(Gr)-15(idLa)30(y)20(out class)]TJ +14.344 0.6 Td +[(By using this class as a la)29(y)20(out manager)50(, the components are )]TJ +0 -1.2 TD +[(arr)10(anged on a g)10(r)-15(id of equal siz)15(e)15(, based on a)20(v)25(ailab)20(le space)]TJ +-14.344 -3.109 Td +[(BorderLa)30(y)20(out class )]TJ +14.344 1.2 Td +[(De\336)250( )28(nes a container that organiz)15(es and redimensions its )]TJ +T* +[(components in a la)29(y)20(out based on \336)250( )28(v)25(e r )279(egions:)50( nor)-40(th, south, )]TJ +T* +[(east, w)10(est and center)]TJ +-14.344 -2.509 Td +[(La)30(y)20(outStyle class )]TJ +14.344 0.6 Td +[(La)30(y)20(outStyle is used to deter)-25(mine ho)15(w m)10(uch space is used )]TJ +T* +[(betw)10(een components)]TJ +-14.344 -2.509 Td +[(Bo)30(xLa)30(y)20(out class )]TJ +14.344 0.6 Td +[(Arr)10(anges elements in a ro)14(w or column, according to a bo)29(x )]TJ +T* +[(or)-15(ientation)]TJ +-14.344 -2.509 Td +[(Flo)15(wLa)30(y)20(out class )]TJ +14.344 0.6 Td +[(Arr)10(anges the components in a ro)14(w so that when a line end is )]TJ +T* +[(reached, the components go on to the ne)29(xt line)]TJ +-14.344 -2.509 Td +[(La)30(y)20(out class )]TJ +14.344 0.6 Td +[(Abstr)10(act class)15(, which can be used to organiz)14(e components)]TJ +T* +[(in a container using a prede\336)249( )28(ned algor)-15(ithm)]TJ +-14.344 -1.909 Td +[(GroupLa)30(y)20(out class )]TJ +14.344 0 Td +[(La)30(y)20(out manager that g)10(roups hier)10(archical components)]TJ +-14.344 -2.509 Td +[(CoordinateLa)30(y)20(out class)]TJ +14.344 0.6 Td +[(P)50(er)-25(mits the components based on absolute positions and siz)15(es )]TJ +T* +[(to be adjusted based on a)19(v)25(ailab)20(le space f)30(or the la)30(y)20(out)]TJ +/T1_1 1 Tf +12 0 0 12 45.3265 403.6309 Tm +[(A.2.14 )-508(com.sun.dtv)80(.br)20(oadcast.e)15(vent pac)20(ka)10(g)-10(e)]TJ +/T1_0 1 Tf +0.143 Tw 11 0 0 11 45.3265 378.4309 Tm +[(T)120(reats e)30(v)25(ents gener)10(ated b)20(y the broadcast channel.)60( In this case the BroadcastEv)25(entManager class )]TJ +0 Tw T* +[(deals with all e)30(v)25(ents and passes them on to the registered BroadcastEv)25(entListener)50(.)]TJ +-0.041 Tw 0 -2.231 TD +[(This pac)20(kage shall be implemented according to J)20(A)70(V)80(ADTV 1.3:2009.)60( )50(The interf)30(aces and classes of this )]TJ +0 Tw 0 -1.2 TD +[(pac)20(kage)15(, descr)-15(ibed in )50(T)120(ab)20(le A.14, shall be used.)]TJ +/T1_1 1 Tf +6.887 -2.231 Td +[(T)80(ab)10(le A.14 \226 Classes of the com.sun.dtv)80(.br)20(oadcast.e)15(vent pac)20(ka)10(g)-10(e)]TJ +ET +q +1 0 0 1 225.326004 269.9889984 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 47.6880035 269.7389984 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +177.638 0 l +488.504 0 l +S +Q +q +1 0 0 1 225.326004 235.7920074 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 47.6880035 235.5420074 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +177.638 0 l +488.504 0 l +S +Q +q +1 0 0 1 225.326004 201.5950012 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 47.6880035 201.3450012 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +177.638 0 l +488.504 0 l +S +Q +q +1 0 0 1 225.326004 167.397995 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 47.6880035 290.7050018 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +177.638 0 l +S +Q +q +1 0 0 1 47.9380035 269.9909973 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 225.326004 290.7050018 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +310.866 0 l +S +Q +q +1 0 0 1 535.9420013 269.9909973 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 47.9380035 235.7940063 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 535.9420013 235.7940063 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 47.9380035 201.5970001 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 535.9420013 201.5970001 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 47.9380035 167.3999939 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 535.9420013 167.3999939 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 47.6880035 167.1499939 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +177.638 0 l +488.504 0 l +S +Q +BT +/T1_1 1 Tf +11 0 0 11 115.8422 275.9759 Tm +(Classes)Tj +21.322 0 Td +(Description)Tj +/T1_0 1 Tf +-26.928 -2.509 Td +[(BroadcastReceiv)25(edEv)25(ent class )]TJ +16.126 0.6 Td +[(Represents the e)29(v)25(ents that w)10(ere receiv)25(ed through)]TJ +T* +(the broadcast channel )Tj +-16.126 -2.509 Td +[(BroadcastEv)25(entManager class )]TJ +16.126 0.6 Td +[(Represents the e)29(v)25(ents obtained through the \336)250( )28(le system)]TJ +T* +(of the broadcast channel )Tj +-16.126 -2.509 Td +[(BroadcastEv)25(entListener Interf)29(ace )]TJ +16.126 0.6 Td +[(Implemented b)20(y the application classes that request )]TJ +T* +[(noti\336)250( )28(cation of receipt of BroadcastEv)25(ent data)]TJ +/T1_1 1 Tf +12 0 0 12 45.3265 140.4969 Tm +[(A.2.15 )-508(com.sun.dtv)80(.l)15(wuit.list pac)20(ka)10(g)-10(e)]TJ +/T1_0 1 Tf +0.169 Tw 11 0 0 11 45.3265 115.2969 Tm +[(The com.sun.dtv)80(.lwuit.list pac)20(kage related to the handling of List that uses the same Swing MVC )]TJ +0.033 Tw T* +[(model, including the renderer design )1(standard.)60( )50(The pac)20(kage has tw)10(o interf)30(aces and tw)10(o classes)15(.)60( )50(The )]TJ +0.186 Tw T* +[(ListCellRenderer )1(interf)30(ace )1(per)-25(mits )1(customization )1(of )1(the )1(appear)10(ance )1(of )1(the )1(List )1(and )1(the )1(ListModel )]TJ +0.034 Tw T* +[(de\336)250( )62(nes the representation of a data str)-15(ucture that is used b)20(y the List as the source of its inf)30(or)-25(mation.)60( )]TJ +0 Tw T* +[(The classes are def)29(ault implementations of the interf)29(aces)15(.)]TJ +ET + +endstream endobj 980 0 obj <> endobj 1255 0 obj <> endobj 872 0 obj <> endobj 471 0 obj <> endobj 919 0 obj <> endobj 472 0 obj <> endobj 956 0 obj <> endobj 957 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text]>>/Rotate 0/TrimBox[0.0 0.0549927 595.22 841.945]/Type/Page>> endobj 961 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text]>>/Rotate 0/TrimBox[0.0 0.0549927 595.22 841.945]/Type/Page>> endobj 965 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text]>>/Rotate 0/TrimBox[0.0 0.0549927 595.22 841.945]/Type/Page>> endobj 969 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text]>>/Rotate 0/TrimBox[0.0 0.0549927 595.22 841.945]/Type/Page>> endobj 973 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text]>>/Rotate 0/TrimBox[0.0 0.0549927 595.22 841.945]/Type/Page>> endobj 1254 0 obj <>stream +BT +/CS0 cs 1 scn +/GS0 gs +/T1_0 1 Tf +8 0 0 8 56.6651 38.2639 Tm +[(\251 ABNT 2010 - All r)-15(ights reser)-30(v)25(ed)]TJ +11 0 0 11 537.6613 35.9389 Tm +(39)Tj +/T1_1 1 Tf +-10.613 68.636 Td +(ABNT NBR 15606-4:2010)Tj +-23.298 -4.896 Td +[(T)80(ab)10(le A.11 \226 Classes of the com.sun.dtv)80(.test pac)20(ka)10(g)-10(e)]TJ +ET +q +1 0 0 1 219.996994 698.1100006 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 60.3119965 697.8600006 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +159.685 0 l +485.935 0 l +S +Q +q +1 0 0 1 219.996994 663.9129944 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 60.3119965 663.6629944 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +159.685 0 l +485.935 0 l +S +Q +q +1 0 0 1 219.996994 642.9160004 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 60.3119965 642.6660004 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +159.685 0 l +485.935 0 l +S +Q +q +1 0 0 1 219.996994 608.7189941 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 60.3119965 718.826004 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +159.685 0 l +S +Q +q +1 0 0 1 60.5619965 698.1119995 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 219.996994 718.826004 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +326.25 0 l +S +Q +q +1 0 0 1 545.996994 698.1119995 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 60.5619965 663.9149933 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 545.996994 663.9149933 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 60.5619965 642.9179993 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 545.996994 642.9179993 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 60.5619965 608.720993 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 545.996994 608.720993 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 60.3119965 608.470993 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +159.685 0 l +485.935 0 l +S +Q +BT +/T1_1 1 Tf +11 0 0 11 119.4892 704.0959 Tm +(Classes)Tj +21.205 0 Td +(Description)Tj +/T1_0 1 Tf +-25.995 -2.509 Td +[(T)120(estCase interf)30(ace )]TJ +14.494 0.6 Td +[(De\336)250( )28(nes the necessar)-30(y methods that shall be implemented)]TJ +0 -1.2 TD +[(b)20(y the tests in order to be ab)20(le to e)30(x)30(ecute the test fr)10(ame)20(w)10(or)-15(k)]TJ +-14.494 -1.909 Td +[(T)120(estHar)-25(ness class )]TJ +14.494 0 Td +[(Pro)15(vides an entr)-30(y point and a set of tools f)29(or test cases )]TJ +-14.494 -2.509 Td +[(Repor)-40(t class )]TJ +14.494 0.6 Td +[(Adds the result of a test:)49( the code)15(, the ref)30(erence f)30(or the test)]TJ +T* +(and the related reasons )Tj +/T1_1 1 Tf +12 0 0 12 56.6651 578.8179 Tm +[(A.2.12 )-508(com.sun.dtv)80(.tuner pac)20(ka)10(g)-10(e)]TJ +/T1_0 1 Tf +-0.064 Tw 11 0 0 11 56.6651 553.6179 Tm +[(The com.sun.dtv)80(.tuner pac)20(kage pro)15(vides an API f)30(or access and control of a broadcast netw)10(or)-15(k interf)30(ace )]TJ +0 Tw T* +[(\(or "tuner"\) used to receiv)24(e tr)10(anspor)-40(t streams)15(.)]TJ +0.097 Tw 0 -2.291 TD +[(This pac)20(kage shall be implemented according to J)20(A)70(V)80(ADTV 1.3:2009.)60( )50(The interf)30(aces and classes of)]TJ +0 Tw 0 -1.2 TD +[(this pac)20(kage)15(, descr)-15(ibed in )50(T)120(ab)20(le A.12, shall be used.)]TJ +/T1_1 1 Tf +9.455 -2.836 Td +[(T)80(ab)10(le A.12 \226 Classes of the com.sun.dtv)80(.tuner pac)20(ka)10(g)-10(e)]TJ +ET +q +1 0 0 1 222.3589935 431.8529968 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 57.9499969 431.6029968 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +164.409 0 l +490.659 0 l +S +Q +q +1 0 0 1 222.3589935 397.6560059 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 57.9499969 397.4060059 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +164.409 0 l +490.659 0 l +S +Q +q +1 0 0 1 222.3589935 363.4589996 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 57.9499969 363.2089996 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +164.409 0 l +490.659 0 l +S +Q +q +1 0 0 1 222.3589935 329.2619934 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 57.9499969 329.0119934 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +164.409 0 l +490.659 0 l +S +Q +q +1 0 0 1 222.3589935 308.2649994 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 57.9499969 308.0149994 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +164.409 0 l +490.659 0 l +S +Q +q +1 0 0 1 222.3589935 287.2680054 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 57.9499969 287.0180054 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +164.409 0 l +490.659 0 l +S +Q +q +1 0 0 1 222.3589935 266.2709961 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 57.9499969 266.0209961 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +164.409 0 l +490.659 0 l +S +Q +q +1 0 0 1 222.3589935 245.2740021 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 57.9499969 452.5700073 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +164.409 0 l +S +Q +q +1 0 0 1 58.1999969 431.8560028 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 222.3589935 452.5700073 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +326.25 0 l +S +Q +q +1 0 0 1 548.3589935 431.8560028 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 58.1999969 397.6589966 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 548.3589935 397.6589966 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 58.1999969 363.4620056 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 548.3589935 363.4620056 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 58.1999969 329.2649994 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 548.3589935 329.2649994 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 58.1999969 308.2680054 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 548.3589935 308.2680054 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 58.1999969 287.2709961 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 548.3589935 287.2709961 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 58.1999969 266.2740021 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 548.3589935 266.2740021 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 58.1999969 245.2769928 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 548.3589935 245.2769928 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 57.9499969 245.0269928 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +164.409 0 l +490.659 0 l +S +Q +BT +/T1_1 1 Tf +11 0 0 11 119.4892 437.8399 Tm +(Classes)Tj +21.42 0 Td +(Description)Tj +/T1_0 1 Tf +-26.425 -2.509 Td +[(T)120(uner class )]TJ +14.924 0.6 Td +[(Represents a netw)9(or)-15(k interf)30(ace or )30(\322tuner\323)40( f)30(or receiving broadcast )]TJ +T* +[(tr)10(anspor)-40(t streams )]TJ +-14.924 -2.509 Td +[(T)120(uningCompletedEv)25(ent class)]TJ +14.924 0.6 Td +[(Ev)25(ent that indicates the successful completion of a tuning )]TJ +T* +[(oper)10(ation)]TJ +-14.924 -2.509 Td +[(T)120(uningF)50(ailedEv)25(ent class)]TJ +14.924 0.6 Td +[(Ev)25(ent that indicates the unsuccessful completion of a tuning )]TJ +T* +[(oper)10(ation)]TJ +-14.924 -1.909 Td +[(T)120(uningException class )-4762(Exception that indicates synchronous repor)-41(ts of tuning f)30(ailure)]TJ +0 -1.909 TD +[(T)120(uningEv)25(ent class )]TJ +14.924 0 Td +[(Base class f)30(or e)30(v)25(ents gener)10(ated b)20(y tuning oper)10(ations )]TJ +-14.924 -1.909 Td +[(T)120(unerListener interf)30(ace )-4514(Listener that receiv)24(es tuning e)30(v)25(ents coming from the )50(T)120(uner)]TJ +T* +[(T)120(uningInitiatedEv)25(ent class )-3119(Indicates the star)-41(t of a tuning oper)10(ation )]TJ +/T1_1 1 Tf +12 0 0 12 56.6651 215.3719 Tm +[(A.2.13 )-508(com.sun.dtv)80(.l)15(wuit.la)20(y)25(outs pac)20(ka)10(g)-10(e)]TJ +/T1_0 1 Tf +0.084 Tw 11 0 0 11 56.6651 190.1719 Tm +[(The com.sun.dtv)80(.lwuit.la)30(y)20(outs pac)20(kage contains the management model of the L)70(WUIT la)30(y)20(out, which)]TJ +0.203 Tw 0 -1.2 TD +[(is similar to the model used b)20(y the A)50(WT/Swing APIs)15(.)60( In this case)15(, the la)30(y)20(out managers per)-25(mit)]TJ +0.162 Tw T* +[(a Container to arr)10(ange its components through a set of pre-de\336)250( )190(ned r)-15(ules that can be adapted to )]TJ +0 Tw T* +[(speci\336)250( )28(c f)30(ont or screen siz)15(es)15(.)]TJ +-0.035 Tw 0 -2.291 TD +[(This pac)20(kage shall be implemented in accordance with J)20(A)70(V)80(ADTV 1.3:2009.)60( )50(The interf)30(aces and classes )]TJ +0 Tw 0 -1.2 TD +[(of this pac)20(kage)15(, descr)-15(ibed in )50(T)120(ab)20(le A.13, shall be used.)]TJ +ET + +endstream endobj 975 0 obj <> endobj 1253 0 obj <> endobj 1252 0 obj <>stream +BT +/CS0 cs 1 scn +/GS0 gs +/T1_0 1 Tf +8 0 0 8 417.7962 38.134 Tm +[(\251 ABNT 2010 - All r)-15(ights reser)-30(v)25(ed)]TJ +11 0 0 11 45.3266 35.8089 Tm +(38)Tj +/T1_1 1 Tf +0 68.648 TD +(ABNT NBR 15606-4:2010)Tj +8.343 -4.896 Td +[(T)80(ab)10(le A.9 \226 Classes of the com.sun.dtv)80(.application pac)20(ka)10(g)-10(e)]TJ +ET +q +1 0 0 1 235.8589935 698.1100006 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 52.9600067 697.8600006 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +182.899 0 l +477.96 0 l +S +Q +q +1 0 0 1 235.8589935 663.9129944 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 52.9600067 663.6629944 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +182.899 0 l +477.96 0 l +S +Q +q +1 0 0 1 235.8589935 642.9160004 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 52.9600067 642.6660004 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +182.899 0 l +477.96 0 l +S +Q +q +1 0 0 1 235.8589935 608.7189941 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 52.9600067 608.4689941 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +182.899 0 l +477.96 0 l +S +Q +q +1 0 0 1 235.8589935 587.7220001 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 52.9600067 587.4720001 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +182.899 0 l +477.96 0 l +S +Q +q +1 0 0 1 235.8589935 566.7250061 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 52.9600067 566.4750061 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +182.899 0 l +477.96 0 l +S +Q +q +1 0 0 1 235.8589935 545.7279968 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 52.9600067 545.4779968 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +182.899 0 l +477.96 0 l +S +Q +q +1 0 0 1 235.8589935 511.5310059 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 52.9600067 718.8269958 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +182.899 0 l +S +Q +q +1 0 0 1 53.2100067 698.1130066 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 235.8589935 718.8269958 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +295.062 0 l +S +Q +q +1 0 0 1 530.6710052 698.1130066 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 53.2109985 663.9160004 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 530.6710052 663.9160004 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 53.2109985 642.9190063 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 530.6710052 642.9190063 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 53.2109985 608.7220001 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 530.6710052 608.7220001 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 53.2109985 587.7250061 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 530.6710052 587.7250061 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 53.2109985 566.7279968 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 530.6710052 566.7279968 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 53.2109985 545.7310028 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 530.6710052 545.7310028 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 53.2109985 511.5339966 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 530.6710052 511.5339966 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 52.9609985 511.2839966 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +182.899 0 l +477.96 0 l +S +Q +BT +/T1_1 1 Tf +11 0 0 11 123.7452 704.0959 Tm +(Classes)Tj +20.842 0 Td +(Description)Tj +/T1_0 1 Tf +-26.688 -2.509 Td +[(AppManagerListener interf)29(ace )]TJ +16.604 0.6 Td +[(Listener that noti\336)249( )28(es about changes in the a)20(v)25(ailab)20(le )]TJ +0 -1.2 TD +(applications )Tj +-16.604 -1.909 Td +(AppManager class )Tj +16.605 0 Td +[(Pro)15(vides control and access to the applications)]TJ +-16.605 -2.509 Td +[(ApplicationPro)30(xy interf)30(ace )]TJ +16.604 0.6 Td +[(Pro)15(vides control o)15(v)25(er an application through the )]TJ +T* +(application manager)Tj +-16.604 -1.909 Td +[(Application interf)30(ace )]TJ +16.605 0 Td +[(Contains the attr)-15(ib)20(utes of an application)]TJ +-16.605 -1.909 Td +(AppFilter class )Tj +16.605 0 Td +[(AppFilter is called to per)-26(mit an application in a \336)249( )28(lter)50(, or not)]TJ +-16.605 -1.909 Td +[(AppManagerP)50(er)-25(mission class)-3403(Required f)30(or quer)-15(ies or control of applications)]TJ +0 -2.509 TD +[(AppPro)30(xyListener interf)30(ace)]TJ +16.604 0.6 Td +[(Listener that receiv)24(es noti\336)250( )28(cations of changes of state)]TJ +0 -1.2 TD +(of the application)Tj +/T1_1 1 Tf +12 0 0 12 45.3265 481.6279 Tm +[(A.2.10 )-508(com.sun.dtv)80(.media.audio pac)21(ka)10(g)-10(e)]TJ +/T1_0 1 Tf +-0.011 Tc -0.102 Tw 11 0 0 11 45.3265 456.4279 Tm +[(The com.sun.dtv)80(.media.audio pac)20(kage off)30(ers functionalities regarding audio language control, f)30(or e)30(xample:)39( )]TJ +0 Tc 0 Tw 1 -2.291 Td +( )Tj +/TT0 1 Tf +-1 0 Td +(\227)Tj +/T1_0 1 Tf +1.984 0 Td +[(consult the languages that can be selected f)29(or association with a Ser)-31(vice Component;)50( )]TJ +-0.984 -2.291 Td +( )Tj +/TT0 1 Tf +-1 0 Td +(\227)Tj +/T1_0 1 Tf +1.984 0 Td +[(select the language associated with a Ser)-31(vice Component )]TJ +-0.984 -2.291 Td +( )Tj +/TT0 1 Tf +-1 0 Td +(\227)Tj +/T1_0 1 Tf +0.243 Tw 1.984 0 Td +[(per)-25(mit the applications to receiv)25(e noti\336)250( )271(cations when the language of a Ser)-30(vice Component)]TJ +0 Tw 0.103 -1.2 Td +(is changed.)Tj +-0.041 Tw -2.087 -2.291 Td +[(This pac)20(kage shall be implemented according to J)20(A)70(V)80(ADTV 1.3:2009.)60( )50(The interf)30(aces and classes of this )]TJ +0 Tw T* +[(pac)20(kage)15(, descr)-15(ibed in )50(T)120(ab)20(le A.10, shall be used.)]TJ +/T1_1 1 Tf +8.065 -2.836 Td +[(T)80(ab)10(le A.10 \226 Classes of the com.sun.dtv)80(.media.auto pac)20(ka)10(g)-10(e)]TJ +ET +q +1 0 0 1 233.4199982 259.0639954 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 48.8699951 258.8139954 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +184.55 0 l +486.142 0 l +S +Q +q +1 0 0 1 233.4199982 238.0670013 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 48.8699951 237.8170013 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +184.55 0 l +486.142 0 l +S +Q +q +1 0 0 1 233.4199982 217.0700073 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 48.8699951 216.8200073 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +184.55 0 l +486.142 0 l +S +Q +q +1 0 0 1 233.4199982 196.072998 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 48.8699951 279.7799988 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +184.55 0 l +S +Q +q +1 0 0 1 49.1199951 259.0659943 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 233.4199982 279.7799988 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +301.592 0 l +S +Q +q +1 0 0 1 534.7619934 259.0659943 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 49.1199951 238.0690002 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 534.7619934 238.0690002 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 49.1199951 217.0720062 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 534.7619934 217.0720062 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 49.1199951 196.0749969 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 534.7619934 196.0749969 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 48.8699951 195.8249969 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +184.55 0 l +486.142 0 l +S +Q +BT +/T1_1 1 Tf +11 0 0 11 120.4802 265.0499 Tm +(Classes)Tj +21.214 0 Td +(Description)Tj +/T1_0 1 Tf +-27.135 -1.909 Td +[(A)30(udioEv)25(ent interf)30(ace )]TJ +16.755 0 Td +(Indicates changes related to audio language selection)Tj +-16.755 -1.909 Td +[(A)30(udioControl interf)30(ace )]TJ +16.755 0 Td +[(Pro)15(vides audio control to register speci\336)249( )28(c audio e)30(v)25(ents )]TJ +-16.755 -1.909 Td +[(A)30(udioListener interf)30(ace )]TJ +16.755 0 Td +[(Listener f)30(or change in audio)]TJ +/T1_1 1 Tf +12 0 0 12 45.3265 166.1719 Tm +[(A.2.11 )-508(com.sun.dtv)80(.test pac)20(ka)10(g)-10(e)]TJ +/T1_0 1 Tf +0.07 Tw 11 0 0 11 45.3265 140.9719 Tm +[(The com.sun.dtv)80(.test pac)20(kage pro)15(vides a fr)10(ame)20(w)10(or)-15(k f)30(or compliance testing.)60( Since it is usually f)30(ound)]TJ +0.096 Tw T* +[(in J)20(a)20(v)25(a test en)20(vironments)15(, the en)20(vironment de\336)250( )124(ned f)30(or using the pac)20(kage in)20(v)25(olv)25(es a test client and )]TJ +0 Tw T* +[(ser)-30(v)25(er that can use an)15(y means of comm)10(unication.)]TJ +-0.041 Tw 0 -2.291 TD +[(This pac)20(kage shall be implemented according to J)20(A)70(V)80(ADTV 1.3:2009.)60( )50(The interf)30(aces and classes of this )]TJ +0 Tw 0 -1.2 TD +[(pac)20(kage)15(, descr)-15(ibed in )50(T)120(ab)20(le A.11, shall be used.)]TJ +ET + +endstream endobj 446 0 obj <> endobj 447 0 obj <> endobj 326 0 obj <>stream +h{y|TEKw=tN,@$Fd $H$a"# [e|#:tBĀ#.#8*ȸs?ču;hY0uº-m|kKQ%R_څX0믽k^r\D\svWD>փa·PO_tEDn_hvɯM/!sa݊Ŧ/]->&qDӋ5.,N/^2w>%5bznUrubJkxQ&U#jQ<-~yɥWr #YiU9@@(]O횧}"A-GOAzA=Z/Kt/Dutp6$|VʢX: it3}J+i&zb@hB[F3}y5t=-f>JMC{_N2Qww>#I||Ot3CLk]\U$ + ,ufEYVʯ(P%}=}ow\wg%,6M"~Ch̓1[QM:E`Geo1/3=Cc:jZHh7}"06]MlfOx1R IdQ^UnU?z]jZXt})"uV~l{dV:}ʾf߰9DK ^~{)V+y#;g+[mNerF5~k$|wmjj>haBh_|xzaF+`l>k`+`[V3il]A< |3c $-eHiTQ"Wwsy|59\v}t#g叕+)5\]Uԯ C #   5 okӓ*Lzn9r<Isqw7*+||?GHXLhj P~:g0 +nU30`#BǥAAY,JG*U"KoI^q#J ya +fIIJxQԁ8^O`sk6a7brFT&o4Qxwdػi]N'/1rZ}&jjNNu4 +<ޒ)ޢ^0,?/7'{A3=KOKuMq9 q1Q}"6kl +3TE82wy˟^c uwu=~X]bI/$% Hz%UH3]enpƦOBySflA9%\eq.?u˗7ՖbfSxdnLj7hB^bG2cˆ7s2Z?]Zw + RZYUe))3d{ܣV.B%4~oЧq[]͙Ml4cS7/U9[ɸ U YRgkT7%MM\zgu5@_V^T7ˆ]5%V"VX\wwܣMk5 M~tcJKBwv\MS)Dwu]9&ݸ7늿e`f0ls5X0[zv%]\*&u[ c~l4rcMc0j= bT36ن WlnW7pw|q1.Qlߐ( +?v5~ǟ!\P=#zm^ls|4󧤈 KP&V.B,O׊PKthZ׺ɭ$~czӧ~7sWʚjrQ->-X)y%N9[XT~9 s FxarvLY/vjΈ^:-gn0)ӛ/j&$xR*S%"3 mZ0D&++XH01XGxr$rMrl9\ڐinMopQn~b[]t}6xV78X3l»(?\o?Y*7j`-r`-ZT@(`{ֳJ1:Jt Y"KE}5 C)@8(z4 X7Ջ5w u):V)а^+tLi|1nIx-vzLCWΠd:0NG)Kۥ4 mR`s`o|9_@5V¿J1*~sh +#}h-sIUIx]GhNž]= څO>?J (=M P:Yh{* N S@MW>#|Slt ~}?1#8'E}""|41%|&Du^ }%)|"iAAV"JZ~Z/D]6ALiacT"r}}ulM!YBNNc䥸{fgT@a=irxE0evs7yM䣼|)nSn~^ hTg/;ǔșϔ!b9 Bd=.f$JtX${i|q'5*S&6)ȓVnAFn@g0o[$2 >O`~S!]N;a54%C71g P"7:?$VU4OJ4P+b{GL#FQP twK?B]4].Dt<f[._F?6I*q`ti*bk-k 9}Vm<z@5^: +r)ztuqOP!]& lǩDG7v/SA>>!{ BiK^!?;h\yw2P?.?z L i >uu<5AA#[hoݞGe=:TUhOh_zʯXtɠhE>?1uKNb8k~~9z.FUR{QOD%糀G <] voP^4.'2}x g=?}.~>hr?G: +͠Ѡ@ OCϿw) 2 %hw_7^4`3}{Ϯ+N)-Tﱘ(*DY_Y_AwfT|]3t?`tdp6YS]!l? +è'~:B'9gvƙ^g1VYKq>C|p_\u/ {'}/tIn_ +n!?yҡww[a%ޝ{y }b0fy6>A٨? #@M߷NM>V1Ro\fz,,` 4 C{-!1xϕkȯy<ukkq_)N ,`<0d r++ŶܑmU'{_W5zu71@KĆĆ؃FhL nn/bub<K9^)rojzLL9%bgsH_@ aV|9`͆g 8N*?#+"`& 8 ]xs\*p^``䯷`6~%}8_X0N_/g zؒb }l6,+ٽN9/4Sj71|̗|b626G'e:[, +VS<hz !W߀p|}fꃆg/*ßG zn<yX,fi@THO+Y@0X T]EAe/jy|OSx7ylc̚'k|ݴM]o̊'(/yeC)/%)?5x@>H0KXF%!c%#24:?qx،KM|˼Mܓ%IɤVC/J//F1,M;뵛jedx*fIR8OfFn\9V9X8ϳܼ{{~nmY)Qq3,8""nE("D"V+h>kYoͦVF-8}ORmmڱ}zay-|{+cfTܩ\+UB5N裚2VbMLf;tƚ[M!'-:g*:)1 W\PcTYkbNoRo>v?E%pjxe͊Y 5olf[trJt0ťnb6TkdWIQS^nεCC&LyP8;x~2{G`Py;cvggdElP{~hPƒz5Daq{8_QwQbwK#S7hYlxdH]Nӆ+ۦK1'Ni5 ::{]YxRY8kA\d0gҰ/:  +;l5TTTXX؉p(ö%7zlv5̠qCE&]&jXy'Kr5բsm$^~ŌaٓJnlX[>-Y_5Q LldR2MiQWʢ԰LSzT44rSyTCe㣨=gvf;3;J2d!$`J I %LB@ЪAiCk Rk+"[kEx{KZ-CJل@Go6|3ߜ9̜}g>r +Ss,˲&TΔgfϘ8{V&,Yv_{\7N D$Gv>I fGDTiF4H~_ID&̔i@rBjLjQfRf=mH/'͚ID.P4+ :YjZ j"Ud65BfRmSmS®lb5c5npR%(џr$iM;03KKt1nn |w>|c;?;<40Vܼ狸yxo>~cS7^x/dbݐ^M'g&$mu-upE,#+O<+^y$fN@8,JY"X<8D.|C Xg{ekpŲv̎ҍtc%TZ6vIJ$'4cIlp-:zČU. /^7޸c. f}B<كJ`w[qq<2,E%3CauN +e'ս`M2ΒZ!Lh ӜRΤB% 4'-wgjŐTh3ZUUV]^Rҭ D'hRn>ld4PA=ZU^[2moɶGs n&8S{wU~}yds*jrY,:0ǂHV$2U(xA8όժhUґ{B٢05hTFP {!!):j ;f1_tfV97?\DiŏSղ+cg--Ř#–pdF>by 5?Ƙȋ;W:K#i9FYNJ@&YN !:7#Qr:Zč)%a:]xt0taj4!2qx&S\BUdA%QFT?m~;\L٬vsc'cJIǔTbdYWC^7"Do CD௯`E5?ֶy]~o4LJy_Yq3h_1嫇3GlY2y)/pz'ڻ_x/8.y`.*A`ja?p.0`-p~6$[q? P&S&S&z5*=WWOlRq)EX:N?&@.D<\B lT7/꺭y߱I86}ccӚؗ\(kLR+<-HU;!)w`Fߩ éAƪI3` k@(ղ1,>GhRogQ]cp#sﺵ>}M-\t ^s +,Jn$XRP-,q ԦxK3yyA\5zkbֳD'ZX-+EjW$3: #7Lc0D4iҜ.(B(>PW Xr$dς sH;)n^x:ӚPT- ?p +$AC$u^$nEԒ)onYXOZ90 h;ؿ/:hG}~6xLz|WᅺZle[S*ugy[eXL5A(gܘa)\sn^X4 6aҪ5ׄggB?02YÖ?Mh _);EՖi??d I6)Q:~ kRJZ)XТ 7KɄR })-WJ$? FʕBl {KO _)Hjc +UK$HZ̚UWU$G +ז#i=R[U`Hc}xʾwm:mٗ6oy r߿pᇿ5t ^v>}굷^{_-Teࡎ^I0ы5I&]vNQDAtyuх)$D?F1&IE*eN*{fp}@k9!ԁ͐J{)BN8}tϡUoz7bdyn=DP5$Fq8=wI%]|P;1S/:\ +ɅF+RAhAip mb&)m޼޸ˍN(]&y]9];s,}]ٗKO*ߊ?R?$扎 9#HB*EG$w81Ӕ'b)|\"x4XH`mpEHS f٬Lyr \5Hw 0~ aT]rI23gM%j7N"9+C7,&' +L> +-22hQA fQ>>/)dDqd|p *Ge +L1墀YQl*!y%\J_Ohc`Į]E2Fo65xS,+Mhy8Lv+yUGmRˏNࡺ/{_ؿo&egr9jfmJ޶:aQyN$+LްgM4w7L2яO" d0'/)Қ( ;+. ;_N!ZES0/g;^E=|;ym@mNގڱ̙iC\̪k!0Iab%V#i +IiIO/I} g[ سzЦbnۃ ~0D3IeIw] tTBv. N e0r  c<؛T!h-ߪ^Y_p7~wҍ̾cLKowB.ܑ@$8SB(prqgNkgNhoG^5R^!+DHh90`I$ʇph,pSw%U<J,i ^ KUx*[fEC̽7Cҷ!y]6zKzW.J)R>ʓʥZD.'93NvCH0R %Dm(i +me8NttM %^bd 1! 0 v@`%*R)qȈ'pc8RŤpT4CFH$K\mn(ѽTwQ!IapqRro O` H:6oofvFC HKGd <%KR NL΄CAhXD]C*|czDr\)QIIxE]O\+qWR*u?|l[kz[}[][;;}xx3}O@kPdz|{HUw58vhAKUMxWAy$.TEՕ,A!yg7L"Zy!DN0UϪ@qY<)7WqKVR&)c20 +86Q0Uak;g pb@AmP@;O1 [ءs JZepj^n^O`ᲥCH~_}=_t?=^^!E+ܠ*HH=PR4o)+B1,X7V6/xC!/e>t^Eh1:` ";^R\'nRS?<Ǣ8K +mV2awP;{gݱ+|i~Ccxt +Ff~1;YkӸ4Σ[5HdNq"8܎_qYa44Ag = NjJMp 896A{+aAK;/l:moo4q,TwѦ>mMF7 ]Ɗi4E0f5C тW''R4}W&pg-;h[WaAk <EKj5ӕfXʣϫc-<{]M'Z`VwБd[;ZV5b=i-Ū^n}4Y7Xպ~~[5OtH&ַo"-9`䊊IȚn-j]}{FkQƖ-̬?;1z'ŝM-k:XWї:[VnjliZY]:kASg-jW*5[-[? B3Q fѮ/b `齿U_8C떀YvI`5m > endobj 1251 0 obj <> endobj 1250 0 obj <>stream +BT +/CS0 cs 1 scn +/GS0 gs +/T1_0 1 Tf +8 0 0 8 56.6651 38.2639 Tm +[(\251 ABNT 2010 - All r)-15(ights reser)-30(v)25(ed)]TJ +11 0 0 11 537.6613 35.9389 Tm +(37)Tj +/T1_1 1 Tf +-10.613 68.636 Td +(ABNT NBR 15606-4:2010)Tj +12 0 0 12 56.6651 736.3029 Tm +[(A.2.7 )-1064(com.sun.dtv)80(.media.timeline pac)21(ka)10(g)-10(e)]TJ +/T1_0 1 Tf +0.056 Tw 11 0 0 11 56.6651 711.1029 Tm +[(The com.sun.dtv)80(.media.timeline pac)20(kage per)-25(mits the obtainment and de\336)250( )84(nition of media timelines to )]TJ +0 Tw 0 -1.2 TD +[(be noti\336)250( )28(ed about time e)30(v)25(ents launched dur)-15(ing media pla)30(ybac)20(k.)]TJ +-0.041 Tw 0 -2.291 TD +[(This pac)20(kage shall be implemented according to J)20(A)70(V)80(ADTV 1.3:2009.)60( )50(The interf)30(aces and classes of this )]TJ +0 Tw 0 -1.2 TD +[(pac)20(kage)15(, descr)-15(ibed in )50(T)120(ab)20(le A.7, shall be used.)]TJ +/T1_1 1 Tf +7.509 -2.836 Td +[(T)80(ab)10(le A.7 \226 Classes of the com.sun.dtv)80(.media.timeline pac)20(ka)10(g)-10(e)]TJ +ET +q +1 0 0 1 255.4389954 589.3379974 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 58.5700073 589.0879974 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +196.869 0 l +489.419 0 l +S +Q +q +1 0 0 1 255.4389954 568.3410034 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 58.5700073 568.0910034 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +196.869 0 l +489.419 0 l +S +Q +q +1 0 0 1 255.4389954 507.7440033 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 60.097 l +S +Q +q +1 0 0 1 58.5700073 507.4940033 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +196.869 0 l +489.419 0 l +S +Q +q +1 0 0 1 255.4389954 473.5469971 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 58.5700073 610.0540009 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +196.869 0 l +S +Q +q +1 0 0 1 58.8200073 589.3399963 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 255.4389954 610.0540009 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +292.55 0 l +S +Q +q +1 0 0 1 547.7389984 589.3399963 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 58.8200073 568.3430023 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 547.7389984 568.3430023 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 58.8200073 507.7460022 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 60.097 l +S +Q +q +1 0 0 1 547.7389984 507.7460022 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 60.097 l +S +Q +q +1 0 0 1 58.8200073 473.548996 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 547.7389984 473.548996 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 58.5700073 473.298996 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +196.869 0 l +489.419 0 l +S +Q +BT +/T1_1 1 Tf +11 0 0 11 136.3392 595.3239 Tm +(Classes)Tj +21.363 0 Td +(Description)Tj +/T1_0 1 Tf +-27.844 -1.909 Td +[(MediaTimeListener interf)29(ace)]TJ +17.875 0 Td +[(Listening interf)30(ace f)30(or receipt of media time e)29(v)25(ents )]TJ +-17.875 -3.709 Td +[(MediaTimeP)50(ositionControl interf)29(ace )]TJ +-0.002 Tw 17.875 1.8 Td +[(Controls the de\336)250( )26(nition and obtainment of mediaTime from )]TJ +0 Tw T* +[(a media stream.)60( )50(The maxim)10(um dur)10(ation of the media )]TJ +T* +[(can be obtained based on the Dur)9(ation interf)30(ace if it is )]TJ +T* +[(implemented b)20(y the type of media in pla)29(ybac)20(k)]TJ +-17.875 -2.509 Td +[(MediaTimeEv)25(ent interf)30(ace )]TJ +17.875 0.6 Td +[(Ev)25(ent that inf)30(or)-25(ms the application about changes in )]TJ +T* +(media time )Tj +/T1_1 1 Tf +12 0 0 12 56.6651 443.6459 Tm +[(A.2.8 )-1064(com.sun.dtv)80(.media.langua)10(g)-10(e pac)20(ka)10(g)-10(e)]TJ +/T1_0 1 Tf +0.178 Tw 11 0 0 11 56.6651 418.4459 Tm +[(The com.sun.dtv)80(.media.language pac)20(kage pro)15(vides the basic consulting and languages de\336)250( )206(nition,)]TJ +0.342 Tw T* +[(f)30(or the audio)40(, subtitles and Closed Captioning.)60( )50(The languages are coded in three languages)]TJ +0 Tw T* +[(in accordance with ISO 639-2 and ABNT NBR 15603-2 f)28(or use in ser)-30(vice descr)-15(iptors)15(.)]TJ +-0.041 Tw 0 -2.291 TD +[(This pac)20(kage shall be implemented according to J)20(A)70(V)80(ADTV 1.3:2009.)60( )50(The interf)30(aces and classes of this )]TJ +0 Tw 0 -1.2 TD +[(pac)20(kage)15(, descr)-15(ibed in )50(T)120(ab)20(le A.8, shall be used.)]TJ +/T1_1 1 Tf +7.204 -2.291 Td +[(T)80(ab)10(le A.8 \226 Classes of the com.sun.dtv)80(.media.langua)10(g)-10(e pac)20(ka)10(g)-10(e)]TJ +ET +q +1 0 0 1 269.2140045 289.4819946 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 61.6940002 289.2319946 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +207.52 0 l +483.17 0 l +S +Q +q +1 0 0 1 269.2140045 255.2850037 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 61.6940002 255.0350037 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +207.52 0 l +483.17 0 l +S +Q +q +1 0 0 1 269.2140045 221.0879974 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 61.6940002 310.1970062 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +207.52 0 l +S +Q +q +1 0 0 1 61.9440002 289.4830017 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 269.2140045 310.1970062 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +275.65 0 l +S +Q +q +1 0 0 1 544.6139984 289.4830017 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 61.9440002 255.2859955 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 544.6139984 255.2859955 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 61.9440002 221.0890045 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 544.6139984 221.0890045 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 61.6940002 220.8390045 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +207.52 0 l +483.17 0 l +S +Q +BT +/T1_1 1 Tf +11 0 0 11 144.7892 295.4679 Tm +(Classes)Tj +21.079 0 Td +(Description)Tj +/T1_0 1 Tf +-28.044 -2.509 Td +[(LanguageNotSuppor)-41(tedException class)]TJ +18.843 0.6 Td +[(Exception r)10(aised when a requested language is not )]TJ +T* +[(suppor)-40(ted)]TJ +-18.843 -2.509 Td +[(LanguageControl interf)29(ace )]TJ +18.843 0.6 Td +[( Control f)30(or consulting suppor)-41(ted languages)]TJ +T* +[(f)30(or de\336)250( )28(ning a speci\336)250( )28(c language f)30(or a pla)30(y)20(er)]TJ +/T1_1 1 Tf +12 0 0 12 56.6651 194.1869 Tm +[(A.2.9 )-1064(com.sun.dtv)80(.application pac)21(ka)10(g)-10(e)]TJ +/T1_0 1 Tf +0.254 Tw 11 0 0 11 56.6651 168.9869 Tm +[(The com.sun.dtv)80(.application pac)20(kage de\336)250( )282(nes the J)20(a)20(v)25(aDTV applications model, its lif)30(e cycle and )]TJ +-0.078 Tw T* +[(management.)60( J)20(a)20(v)25(aDTV applications r)-15(un through an en)20(vironment f)30(or J)20(a)20(v)25(a DTV m)10(ulti-task e)30(x)30(ecution, and )]TJ +0.036 Tw T* +[(it is through this pac)20(kage that the de)30(v)25(eloper can access this en)20(vironment to v)25(er)-15(ify which applications )]TJ +-0.066 Tw T* +[(are a)20(v)25(ailab)20(le \(AppManager\), the attr)-15(ib)20(utes of each application \(Application\) and perf)30(or)-25(m monitor)-15(ing and )]TJ +-0.028 Tw T* +[(control )1(o)15(v)25(er )1(such )1(an )1(application )1(\(ApplicationPro)30(xy\).)60( )51(This )1(pac)20(kage )1(also )1(implements )1(the )1(application\325)50(s )1(lif)30(e )]TJ +0 Tw T* +[(cycle through the use of the J)19(a)20(v)25(aTV API classes)15(.)]TJ +0.155 Tw 0 -2.291 TD +[(This pac)20(kage shall be implemented according to J)20(A)70(V)80(ADTV 1.3:2009.)60( )50(The f)30(ollo)15(wing interf)30(aces and )]TJ +0 Tw 0 -1.2 TD +[(classes of this pac)19(kage)15(, descr)-15(ibed in )50(T)120(ab)20(le A.9, shall be included.)60( )]TJ +ET + +endstream endobj 967 0 obj <> endobj 1249 0 obj <> endobj 1248 0 obj <>stream +BT +/CS0 cs 1 scn +/GS0 gs +/T1_0 1 Tf +8 0 0 8 417.7962 38.134 Tm +[(\251 ABNT 2010 - All r)-15(ights reser)-30(v)25(ed)]TJ +11 0 0 11 45.3266 35.8089 Tm +(36)Tj +/T1_1 1 Tf +0 68.648 TD +(ABNT NBR 15606-4:2010)Tj +ET +q +1 0 0 1 228.378006 705.4680023 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 50.5039978 705.2180023 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +177.874 0 l +482.874 0 l +S +Q +q +1 0 0 1 228.378006 644.8710022 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 60.097 l +S +Q +q +1 0 0 1 50.5039978 644.6210022 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +177.874 0 l +482.874 0 l +S +Q +q +1 0 0 1 228.378006 584.2740021 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 60.097 l +S +Q +q +1 0 0 1 50.5039978 584.0240021 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +177.874 0 l +482.874 0 l +S +Q +q +1 0 0 1 228.378006 550.0769958 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 50.5039978 549.8269958 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +177.874 0 l +482.874 0 l +S +Q +q +1 0 0 1 228.378006 515.8800049 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 50.5039978 515.6300049 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +177.874 0 l +482.874 0 l +S +Q +q +1 0 0 1 228.378006 494.8829956 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 50.5039978 726.1840057 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +177.874 0 l +S +Q +q +1 0 0 1 50.7539978 705.4700012 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 228.378006 726.1840057 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +305 0 l +S +Q +q +1 0 0 1 533.128006 705.4700012 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 50.7539978 644.8730011 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 60.097 l +S +Q +q +1 0 0 1 533.128006 644.8730011 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 60.097 l +S +Q +q +1 0 0 1 50.7539978 584.276001 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 60.097 l +S +Q +q +1 0 0 1 533.128006 584.276001 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 60.097 l +S +Q +q +1 0 0 1 50.7539978 550.0789948 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 533.128006 550.0789948 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 50.7539978 515.8820038 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 533.128006 515.8820038 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 50.7539978 494.8849945 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 533.128006 494.8849945 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 50.5039978 494.6349945 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +177.874 0 l +482.874 0 l +S +Q +BT +/T1_1 1 Tf +11 0 0 11 118.7762 711.4539 Tm +(Classes)Tj +21.066 0 Td +(Description)Tj +/T1_0 1 Tf +-26.683 -3.709 Td +[(K)40(e)20(yEv)25(ent class )]TJ +16.148 1.8 Td +[(Extends ja)20(v)25(a.a)20(wt.e)30(v)25(ent.K)40(e)20(yEv)25(ent implementing the com.)]TJ +0 -1.2 TD +[(sun.dtv)80(.ui.e)30(v)25(entUserInputEv)25(ent interf)30(ace)15(.)60( )40(W)30(or)-15(ks only as)]TJ +T* +[(an mar)-15(k)20(er interf)30(ace)15(, because UserInputEv)25(ent is der)-15(iv)25(ed )]TJ +T* +[(from the ScarceResource interf)29(ace)]TJ +-16.148 -3.709 Td +[(MouseListener interf)29(ace )]TJ +16.148 1.8 Td +[(Functions only as an encapsulator to introduce ja)18(v)25(a.a)20(wt.)]TJ +T* +[(e)30(v)25(ent.MouseListener in the L)70(WUIT API, since it does )]TJ +T* +[(not suppor)-40(t mouse e)30(v)25(ent objects and pro)15(vides only an )]TJ +T* +(ActionListener)Tj +-16.148 -2.509 Td +[(UserInputEv)25(entManager class )]TJ +16.148 0.6 Td +[(The instances of this class are e)29(v)25(ents managers that treat )]TJ +T* +[(user input e)30(v)25(ents gener)10(ated b)20(y g)10(r)10(aphical components)]TJ +-16.148 -2.509 Td +[(RemoteControlEv)25(ent class )]TJ +16.148 0.6 Td +[(Extends com.sun.dtv)79(.ui.e)30(v)25(ent.K)40(e)20(yEv)25(ent adding)]TJ +T* +[(the tele)30(vision-speci\336)250( )28(c k)20(e)20(y codes )]TJ +-16.148 -1.909 Td +[(PlaneSetupListener interf)29(ace )-2782(Used to monitor changes in the con\336)249( )28(gur)10(ation of a Plane)]TJ +/T1_1 1 Tf +12 0 0 12 45.3265 464.9809 Tm +[(A.2.6 )-1064(com.sun.dtv)80(.l)15(wuit.plaf pac)20(ka)10(g)-10(e)]TJ +/T1_0 1 Tf +0.053 Tw 11 0 0 11 45.3265 439.7809 Tm +[(The com.sun.dtv)80(.lwuit.plaf pac)20(kage per)-25(mits customization of the application's appear)10(ance \("look and )]TJ +0.149 Tw T* +[(f)30(eel"\).)60( In this case)15(, it uses a render)-15(ing la)30(y)20(er abstr)10(action that can be coupled and con\336)250( )177(gured \(with )]TJ +0 Tw T* +[(themes)15(, f)30(or e)30(xample\) in r)-15(un time)15(.)]TJ +-0.041 Tw 0 -2.291 TD +[(This pac)20(kage shall be implemented according to J)20(A)70(V)80(ADTV 1.3:2009.)60( )50(The interf)30(aces and classes of this )]TJ +0 Tw 0 -1.2 TD +[(pac)20(kage)15(, descr)-15(ibed in )50(T)120(ab)20(le A.6, shall be used.)]TJ +/T1_1 1 Tf +9.839 -2.836 Td +[(T)80(ab)10(le A.6 \226 Classes of the com.sun.l)15(wui.plaf pac)20(ka)10(g)-10(e)]TJ +ET +q +1 0 0 1 250.8480072 304.8170013 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 51.0059967 304.5670013 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +199.842 0 l +481.871 0 l +S +Q +q +1 0 0 1 250.8480072 244.2200012 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 60.097 l +S +Q +q +1 0 0 1 51.0059967 243.9700012 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +199.842 0 l +481.871 0 l +S +Q +q +1 0 0 1 250.8480072 196.822998 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 46.897 l +S +Q +q +1 0 0 1 51.0059967 196.572998 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +199.842 0 l +481.871 0 l +S +Q +q +1 0 0 1 250.8480072 175.826004 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 51.0059967 175.576004 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +199.842 0 l +481.871 0 l +S +Q +q +1 0 0 1 250.8480072 128.4290009 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 46.897 l +S +Q +q +1 0 0 1 51.0059967 128.1790009 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +199.842 0 l +481.871 0 l +S +Q +q +1 0 0 1 250.8480072 107.4320068 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 51.0059967 325.5330048 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +199.842 0 l +S +Q +q +1 0 0 1 51.2559967 304.8190002 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 250.8480072 325.5330048 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +282.028 0 l +S +Q +q +1 0 0 1 532.6260071 304.8190002 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 51.2550049 244.2220001 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 60.097 l +S +Q +q +1 0 0 1 532.6260071 244.2220001 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 60.097 l +S +Q +q +1 0 0 1 51.2550049 196.8249969 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 46.897 l +S +Q +q +1 0 0 1 532.6260071 196.8249969 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 46.897 l +S +Q +q +1 0 0 1 51.2550049 175.8280029 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 532.6260071 175.8280029 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 51.2550049 128.4309998 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 46.897 l +S +Q +q +1 0 0 1 532.6260071 128.4309998 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 46.897 l +S +Q +q +1 0 0 1 51.2550049 107.4340057 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 532.6260071 107.4340057 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 51.0050049 107.1840057 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +199.842 0 l +481.871 0 l +S +Q +BT +/T1_1 1 Tf +11 0 0 11 130.2612 310.8029 Tm +(Classes)Tj +21.02 0 Td +(Description)Tj +/T1_0 1 Tf +-27.636 -3.709 Td +[(LookAndF)30(eel class )]TJ +18.145 1.8 Td +[(Allo)15(ws prog)10(r)10(ammers to completely customiz)15(e the )]TJ +T* +[(appear)10(ance \(look and f)30(eel\) of the application, through )]TJ +T* +[(appropr)-15(iate methods of image super)-16(imposition and )]TJ +T* +(dimensioning)Tj +-18.145 -3.109 Td +(UIManager class )Tj +18.145 1.2 Td +[(The centr)10(al point f)30(or managing the look and f)29(eel of the )]TJ +T* +[(application allo)15(ws customization of styles \(themes\) and )]TJ +T* +[(appear)10(ance)]TJ +-18.145 -1.909 Td +(Style class )Tj +18.145 0 Td +[(Represents the appear)9(ance of a par)-40(ticular component)]TJ +-18.145 -3.109 Td +(Border class )Tj +18.145 1.2 Td +[(Base class that per)-25(mits the creation of a fr)9(ame f)30(or a )]TJ +T* +[(component, whereb)19(y the fr)10(ame is dr)10(a)20(wn bef)30(ore the )]TJ +T* +[(component \336)250( )28(lling in its marginal region)]TJ +-18.145 -1.909 Td +[(Def)30(aultLookAndF)30(eel class )]TJ +18.146 0 Td +[(Used to render the def)29(ault appear)10(ance of the L)70(WUIT)]TJ +/T1_1 1 Tf +-1.645 56.693 Td +[(T)80(ab)10(le A.5)]TJ +/T1_0 1 Tf +[( \(contin)10(ued\))]TJ +ET + +endstream endobj 963 0 obj <> endobj 1247 0 obj <> endobj 1246 0 obj <>stream +BT +/CS0 cs 1 scn +/GS0 gs +/T1_0 1 Tf +8 0 0 8 56.6651 38.2639 Tm +[(\251 ABNT 2010 - All r)-15(ights reser)-30(v)25(ed)]TJ +11 0 0 11 537.6613 35.9389 Tm +(35)Tj +/T1_1 1 Tf +-10.613 68.636 Td +(ABNT NBR 15606-4:2010)Tj +ET +q +1 0 0 1 250.8379974 705.4680023 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 59.0269928 705.2180023 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +191.811 0 l +488.504 0 l +S +Q +q +1 0 0 1 250.8379974 671.2709961 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 59.0269928 671.0209961 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +191.811 0 l +488.504 0 l +S +Q +q +1 0 0 1 250.8379974 623.8739929 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 46.897 l +S +Q +q +1 0 0 1 59.0269928 623.6239929 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +191.811 0 l +488.504 0 l +S +Q +q +1 0 0 1 250.8379974 589.677002 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 59.0269928 589.427002 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +191.811 0 l +488.504 0 l +S +Q +q +1 0 0 1 250.8379974 542.2799988 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 46.897 l +S +Q +q +1 0 0 1 59.0269928 542.0299988 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +191.811 0 l +488.504 0 l +S +Q +q +1 0 0 1 250.8379974 508.0829926 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 59.0269928 726.1840057 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +191.811 0 l +S +Q +q +1 0 0 1 59.2769928 705.4700012 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 250.8379974 726.1840057 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +296.693 0 l +S +Q +q +1 0 0 1 547.2810059 705.4700012 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 59.2769928 671.272995 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 547.2810059 671.272995 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 59.2769928 623.8760071 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 46.897 l +S +Q +q +1 0 0 1 547.2810059 623.8760071 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 46.897 l +S +Q +q +1 0 0 1 59.2769928 589.6790009 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 547.2810059 589.6790009 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 59.2769928 542.2819977 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 46.897 l +S +Q +q +1 0 0 1 547.2810059 542.2819977 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 46.897 l +S +Q +q +1 0 0 1 59.2769928 508.0850067 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 547.2810059 508.0850067 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 59.0269928 507.8350067 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +191.811 0 l +488.504 0 l +S +Q +BT +/T1_1 1 Tf +11 0 0 11 134.2682 711.4539 Tm +(Classes)Tj +21.322 0 Td +(Description)Tj +/T1_0 1 Tf +-27.572 -1.909 Td +[(FilterResourceUna)19(v)25(ailab)20(leException )]TJ +0 -1.2 TD +(class)Tj +17.415 1.2 Td +[(Inf)30(or)-25(ms that the necessar)-30(y requirements f)30(or an \336)250( )28(lter)-15(ing )]TJ +T* +[(oper)10(ation ha)20(v)25(e not been met)]TJ +-17.415 -3.109 Td +(CircularFilter class)Tj +17.415 1.2 Td +[(This class de\336)250( )28(nes a \336)250( )28(lter section designed to capture )]TJ +T* +[(contin)10(uous data streams without the need to restar)-41(t)]TJ +T* +[(the \336)250( )28(lter contin)10(uously)]TJ +-17.415 -2.509 Td +[(FilterEv)25(entListener interf)30(ace)]TJ +17.415 0.6 Td +[(This listener interf)30(ace can be implemented b)19(y classes)]TJ +T* +[(that demand \336)250( )28(lter)-15(ing e)30(v)25(ents)]TJ +-17.415 -3.109 Td +(ListFilter class)Tj +17.415 1.2 Td +[(This class de\336)250( )28(nes a \336)250( )28(lter section that can process a )]TJ +T* +(complete set of segments of a data section that represent )Tj +T* +[(a simple section tab)19(le)]TJ +-17.415 -2.509 Td +(SingleFilter class)Tj +17.415 0.6 Td +[(This class de\336)250( )28(nes a \336)250( )28(lter section destined to capture)]TJ +T* +(a single data section)Tj +/T1_1 1 Tf +12 0 0 12 56.6651 478.1809 Tm +[(A.2.5 )-1064(com.sun.dtv)80(.ui.e)15(vent pac)20(ka)10(g)-10(e)]TJ +/T1_0 1 Tf +0.179 Tw 11 0 0 11 56.6651 452.9809 Tm +[(The com.sun.dtv)80(.ui.e)30(v)25(ent sub-pac)20(kage has the function of treating g)10(r)10(aphical user interf)30(ace e)30(v)25(ents )]TJ +0 Tw T* +[(speci\336)250( )28(c to digital tele)30(vision.)]TJ +-0.041 Tw 0 -2.291 TD +[(This pac)20(kage shall be implemented according to J)20(A)70(V)80(ADTV 1.3:2009.)60( )50(The interf)30(aces and classes of this )]TJ +0 Tw 0 -1.2 TD +[(pac)20(kage)15(, descr)-15(ibed in )50(T)120(ab)20(le A.5, shall be used.)]TJ +/T1_1 1 Tf +9.95 -2.836 Td +[(T)80(ab)10(le A.5 \226 Classes of the com.sun.ui.e)15(vent pac)20(ka)10(g)-10(e)]TJ +ET +q +1 0 0 1 239.7160034 331.2169952 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 61.8419952 330.9669952 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +177.874 0 l +482.874 0 l +S +Q +q +1 0 0 1 239.7160034 270.6199951 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 60.097 l +S +Q +q +1 0 0 1 61.8419952 270.3699951 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +177.874 0 l +482.874 0 l +S +Q +q +1 0 0 1 239.7160034 236.4230042 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 61.8419952 236.1730042 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +177.874 0 l +482.874 0 l +S +Q +q +1 0 0 1 239.7160034 175.826004 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 60.097 l +S +Q +q +1 0 0 1 61.8419952 175.576004 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +177.874 0 l +482.874 0 l +S +Q +q +1 0 0 1 239.7160034 128.4290009 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 46.897 l +S +Q +q +1 0 0 1 61.8419952 128.1790009 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +177.874 0 l +482.874 0 l +S +Q +q +1 0 0 1 239.7160034 94.2319946 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 61.8419952 93.9819946 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +177.874 0 l +482.874 0 l +S +Q +q +1 0 0 1 61.8419952 351.9329987 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +177.874 0 l +S +Q +q +1 0 0 1 62.0919952 331.2189941 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 239.7160034 351.9329987 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +305 0 l +S +Q +q +1 0 0 1 544.4660034 331.2189941 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 62.0919952 270.621994 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 60.097 l +S +Q +q +1 0 0 1 544.4660034 270.621994 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 60.097 l +S +Q +q +1 0 0 1 62.0919952 236.4250031 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 544.4660034 236.4250031 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 62.0919952 175.8280029 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 60.097 l +S +Q +q +1 0 0 1 544.4660034 175.8280029 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 60.097 l +S +Q +q +1 0 0 1 62.0919952 128.4309998 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 46.897 l +S +Q +q +1 0 0 1 544.4660034 128.4309998 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 46.897 l +S +Q +q +1 0 0 1 62.0919952 94.2339935 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 544.4660034 94.2339935 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +BT +/T1_1 1 Tf +11 0 0 11 130.1142 337.2029 Tm +(Classes)Tj +21.066 0 Td +(Description)Tj +/T1_0 1 Tf +-26.683 -3.709 Td +[(K)40(e)20(yListener interf)30(ace )]TJ +16.148 1.8 Td +[(Functions only as an encapsulator to introduce ja)18(v)25(a.)]TJ +T* +[(a)20(wt.e)30(v)25(ent.K)40(e)20(yListener in )278( the L)70(WUIT API, since it does )]TJ +T* +[(not suppor)-40(t k)20(e)20(y e)30(v)25(ent objects and pro)15(vides only an )]TJ +T* +(ActionListener)Tj +-16.148 -2.509 Td +[(PlaneSetupEv)25(ent class)]TJ +16.148 0.6 Td +[(Ev)25(ent sent to all registered consumers when the )]TJ +T* +[(con\336)250( )28(gur)10(ation of a Plane is changed )]TJ +-16.148 -3.709 Td +[(MouseEv)25(ent class)]TJ +16.148 1.8 Td +[(Extends ja)20(v)25(a.a)20(wt.e)30(v)25(ent.MouseEv)25(ent implementing the com.)]TJ +T* +[(sun.dtv)80(.ui.e)30(v)25(entUserInputEv)25(ent interf)30(ace)15(.)60( )40(W)30(or)-15(ks only as an )]TJ +T* +[(mar)-15(k)20(er interf)30(ace)15(, because UserInputEv)25(ent is der)-15(iv)25(ed from )]TJ +T* +[(the ScarceResource interf)29(ace)]TJ +-16.148 -3.109 Td +[(UserInputEv)25(ent interf)30(ace )]TJ +16.148 1.2 Td +[(Abstr)10(action f)30(or user input e)30(v)25(ents sent to all registered )]TJ +-0.004 Tw T* +[(consumers whene)30(v)25(er a ne)20(w user input e)30(v)25(ent occurs through )]TJ +0 Tw T* +[(a UserInputDe)30(vice)]TJ +-16.148 -2.509 Td +[(UserInputEv)25(entListener interf)29(ace )]TJ +16.148 0.6 Td +[(Shall be implemented b)19(y classes that wish to receiv)24(e )]TJ +T* +[(UserInputEv)25(ent)]TJ +/T1_1 1 Tf +0.399 57.893 Td +[(T)80(ab)10(le A.4)]TJ +/T1_0 1 Tf +[( \(contin)10(ued\))]TJ +ET + +endstream endobj 959 0 obj <> endobj 1245 0 obj <> endobj 938 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text]>>/Rotate 0/TrimBox[0.0 0.0549927 595.22 841.945]/Type/Page>> endobj 941 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text]>>/Rotate 0/TrimBox[0.0 0.0549927 595.22 841.945]/Type/Page>> endobj 944 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text]>>/Rotate 0/TrimBox[0.0 0.0549927 595.22 841.945]/Type/Page>> endobj 948 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text]>>/Rotate 0/TrimBox[0.0 0.0549927 595.22 841.945]/Type/Page>> endobj 952 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text]>>/Rotate 0/TrimBox[0.0 0.0549927 595.22 841.945]/Type/Page>> endobj 1244 0 obj <>stream +BT +/CS0 cs 1 scn +/GS0 gs +/T1_0 1 Tf +8 0 0 8 417.7962 38.134 Tm +[(\251 ABNT 2010 - All r)-15(ights reser)-30(v)25(ed)]TJ +11 0 0 11 45.3266 35.8089 Tm +(34)Tj +/T1_1 1 Tf +0 68.648 TD +(ABNT NBR 15606-4:2010)Tj +1.064 Tw 12 0 0 12 45.3265 736.3029 Tm +[(A.2.4 com.sun.dtv)80(.\036)]TJ +0 Tw 10.126 0 Td +[( )-27(ltering )1(pac)20(ka)10(g)-10(e)]TJ +/T1_0 1 Tf +0.159 Tw 11 0 0 11 45.3265 711.1029 Tm +[(The com.sun.dtv)80(.\336)250( )187(lter)-15(ing pac)20(kage off)30(ers suppor)-40(t f)30(or access to MPEG-2 tr)10(anspor)-40(t stream sections)15(.)]TJ +0.035 Tw 0 -1.2 TD +[(In addition to per)-25(mitting v)25(ar)-15(ious types of \336)250( )63(lter)-15(ing, the API uses an asynchronous model that pro)15(vides )]TJ +0 Tw T* +[(noti\336)250( )28(cation about e)30(v)25(ents or errors in reading the sections)15(.)]TJ +-0.041 Tw 0 -2.291 TD +[(This pac)20(kage shall be implemented according to J)20(A)70(V)80(ADTV 1.3:2009.)60( )50(The interf)30(aces and classes of this )]TJ +0 Tw 0 -1.2 TD +[(pac)20(kage)15(, descr)-15(ibed in )50(T)120(ab)20(le A.4, shall be used.)]TJ +/T1_1 1 Tf +9.149 -2.836 Td +[(T)80(ab)10(le A.4 \226 Classes of the com.sun.dtv)80(.\036)306( )-27(ltering )1(pac)20(ka)10(g)-10(e)]TJ +ET +q +1 0 0 1 239.5 576.1380005 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 47.6889954 575.8880005 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +191.811 0 l +488.504 0 l +S +Q +q +1 0 0 1 239.5 528.7409973 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 46.897 l +S +Q +q +1 0 0 1 47.6889954 528.4909973 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +191.811 0 l +488.504 0 l +S +Q +q +1 0 0 1 239.5 481.3439941 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 46.897 l +S +Q +q +1 0 0 1 47.6889954 481.0939941 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +191.811 0 l +488.504 0 l +S +Q +q +1 0 0 1 239.5 447.1470032 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 47.6889954 446.8970032 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +191.811 0 l +488.504 0 l +S +Q +q +1 0 0 1 239.5 412.9499969 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 47.6889954 412.6999969 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +191.811 0 l +488.504 0 l +S +Q +q +1 0 0 1 239.5 391.9530029 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 47.6889954 391.7030029 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +191.811 0 l +488.504 0 l +S +Q +q +1 0 0 1 239.5 357.7559967 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 47.6889954 357.5059967 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +191.811 0 l +488.504 0 l +S +Q +q +1 0 0 1 239.5 323.5590057 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 47.6889954 323.3090057 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +191.811 0 l +488.504 0 l +S +Q +q +1 0 0 1 239.5 289.3619995 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 47.6889954 289.1119995 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +191.811 0 l +488.504 0 l +S +Q +q +1 0 0 1 239.5 228.7649994 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 60.097 l +S +Q +q +1 0 0 1 47.6889954 228.5149994 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +191.811 0 l +488.504 0 l +S +Q +q +1 0 0 1 239.5 194.5679932 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 47.6889954 194.3179932 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +191.811 0 l +488.504 0 l +S +Q +q +1 0 0 1 239.5 173.5709991 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 47.6889954 173.3209991 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +191.811 0 l +488.504 0 l +S +Q +q +1 0 0 1 239.5 139.3739929 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 47.6889954 139.1239929 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +191.811 0 l +488.504 0 l +S +Q +q +1 0 0 1 239.5 91.977005 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 46.897 l +S +Q +q +1 0 0 1 47.6889954 91.727005 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +191.811 0 l +488.504 0 l +S +Q +q +1 0 0 1 239.5 70.9799957 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 47.6889954 70.7299957 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +191.811 0 l +488.504 0 l +S +Q +q +1 0 0 1 47.6889954 596.8580017 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +191.811 0 l +S +Q +q +1 0 0 1 47.9389954 576.1439972 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 239.5 596.8580017 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +296.693 0 l +S +Q +q +1 0 0 1 535.9429932 576.1439972 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 47.9389954 528.746994 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 46.897 l +S +Q +q +1 0 0 1 535.9429932 528.746994 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 46.897 l +S +Q +q +1 0 0 1 47.9389954 481.3500061 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 46.897 l +S +Q +q +1 0 0 1 535.9429932 481.3500061 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 46.897 l +S +Q +q +1 0 0 1 47.9389954 447.1529999 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 535.9429932 447.1529999 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 47.9389954 412.9559937 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 535.9429932 412.9559937 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 47.9389954 391.9589996 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 535.9429932 391.9589996 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 47.9389954 357.7619934 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 535.9429932 357.7619934 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 47.9389954 323.5650024 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 535.9429932 323.5650024 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 47.9389954 289.3679962 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 535.9429932 289.3679962 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 47.9389954 228.7709961 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 60.097 l +S +Q +q +1 0 0 1 535.9429932 228.7709961 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 60.097 l +S +Q +q +1 0 0 1 47.9389954 194.5740051 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 535.9429932 194.5740051 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 47.9389954 173.5769958 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 535.9429932 173.5769958 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 47.9389954 139.3800049 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 535.9429932 139.3800049 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 47.9389954 91.9830017 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 46.897 l +S +Q +q +1 0 0 1 535.9429932 91.9830017 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 46.897 l +S +Q +q +1 0 0 1 47.9389954 70.9859924 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 535.9429932 70.9859924 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +BT +/T1_1 1 Tf +11 0 0 11 122.9292 582.1239 Tm +(Classes)Tj +21.322 0 Td +(Description)Tj +/T1_0 1 Tf +-27.572 -3.109 Td +(DataSectionFilterCollection class)Tj +17.415 1.2 Td +[(This class represents a collection of data section \336)249( )28(lters)15(, )]TJ +T* +[(where such \336)250( )28(lters ma)30(y be activ)25(ated and deactiv)25(ated as)]TJ +T* +[(a single oper)10(ation)]TJ +-17.415 -3.109 Td +[(FilterTimedOutEv)25(ent class)]TJ +17.415 1.2 Td +[(This e)30(v)25(ent is tr)-15(iggered if data section \336)250( )28(lter oper)10(ations )]TJ +T* +[(e)30(xpire \(time-out\) according to the per)-15(iod speci\336)250( )28(ed b)20(y)]TJ +T* +(the setTimeout \(\) method)Tj +-17.415 -2.509 Td +(DataSectionFilterException class)Tj +17.415 0.6 Td +[(Base class f)30(or launching e)30(xceptions of the data section )]TJ +-0.028 Tw T* +[(\336)250( lter )-28(API)]TJ +0 Tw -17.415 -2.509 Td +[(DataSectionA)40(v)25(ailab)20(leEv)25(ent class)]TJ +17.415 0.6 Td +[(This e)30(v)25(ent indicates that a data section has been )]TJ +T* +(completely processed)Tj +-17.415 -1.909 Td +(DataSectionFilter class)Tj +17.415 0 Td +[(This is the root class of all \336)249( )28(lter classes)]TJ +-17.415 -2.509 Td +(DataSection class)Tj +17.415 0.6 Td +[(This class encapsulates a tr)9(anspor)-40(t stream data section, )]TJ +T* +[(where the objects of this class are also cloneab)19(le)]TJ +-17.415 -2.509 Td +[(Incompatib)20(leSourceException class)]TJ +17.415 0.6 Td +[(Class that inf)30(or)-25(ms when an incompatib)20(le source stream)]TJ +T* +(is supplied)Tj +-17.415 -2.509 Td +[(DataSectionDataBuff)29(er class)]TJ +17.415 0.6 Td +[(This class encapsulates a par)-41(t of the loaded tr)10(anspor)-40(t )]TJ +T* +(stream section)Tj +-17.415 -3.709 Td +[(Filter)-15(ingStoppedEv)25(ent class)]TJ +17.415 1.8 Td +[(This class is used to inf)29(or)-25(m the end of a \336)250( )28(lter)-15(ing )]TJ +T* +[(oper)10(ation, with one e)30(xception:)50( It is not inf)30(or)-25(med when a )]TJ +T* +[(SimpleSectionFilter ends in nor)-26(mal conditions \(e)15(.g., after)]TJ +T* +[(a \336)250( )28(lter section has been perf)30(or)-25(med successfully\))]TJ +-17.415 -2.509 Td +[(DataUna)20(v)25(ailab)20(leException class)]TJ +17.415 0.6 Td +[(Inf)30(or)-25(ms when the inf)30(or)-25(mation of a DataSection object are )]TJ +T* +[(not a)20(v)25(ailab)20(le)]TJ +-17.415 -1.909 Td +[(DataSectionFilterEv)24(ent class)-4658(This is a base class f)29(or \336)250( )28(lter section API e)30(v)25(ents)]TJ +0 -2.509 TD +[(FilterInterr)-15(uptException class)]TJ +17.415 0.6 Td +[(Signals that a \336)250( )28(lter w)15(as interr)-15(upted bef)30(ore all the data )]TJ +0 -1.2 TD +[(ha)20(v)25(e been \336)250( )28(ltered)]TJ +-17.415 -3.109 Td +(DisconnectedException class)Tj +17.415 1.2 Td +(Indicates that when the DataSectionFilterCollection )Tj +T* +[(lost the connection because of a \337)249( )28(a)20(w in the call of the )]TJ +T* +[(star)-40(tFilter)-15(ing \(\) method)]TJ +-17.415 -1.909 Td +[(In)20(v)25(alidFilterException class)]TJ +17.415 0 Td +[(Signals that a \336)250( )28(lter has been de\336)250( )28(ned incorrectly)]TJ +ET + +endstream endobj 954 0 obj <> endobj 1243 0 obj <> endobj 1242 0 obj <>stream +BT +/CS0 cs 1 scn +/GS0 gs +/T1_0 1 Tf +8 0 0 8 56.6651 38.2639 Tm +[(\251 ABNT 2010 - All r)-15(ights reser)-30(v)25(ed)]TJ +11 0 0 11 537.6613 35.9389 Tm +(33)Tj +/T1_1 1 Tf +-10.613 68.636 Td +(ABNT NBR 15606-4:2010)Tj +12 0 0 12 56.6651 736.3029 Tm +[(A.2.2 )-1064(com.sun.dtv)80(.smar)-20(tcar)20(d pac)20(ka)10(g)-10(e)]TJ +/T1_0 1 Tf +-0.057 Tw 11 0 0 11 56.6651 711.7639 Tm +[(The com.sun.dtv)80(.smar)-40(tcard pac)20(kage pro)15(vides suppor)-40(ts f)30(or additional functionalities f)30(or the use of smar)-40(t )]TJ +0 Tw 0 -1.2 TD +[(cards)15(.)60( )]TJ +0.15 Tw 0 -1.973 TD +[(The implementation of this pac)20(kage shall be in compliance with J)20(A)70(V)80(ADTV 1.3:2009, including the )]TJ +0 Tw 0 -1.2 TD +[(interf)30(aces and classes descr)-16(ibed in )50(T)120(ab)20(le A.2.)]TJ +/T1_1 1 Tf +8.565 -2.231 Td +[(T)80(ab)10(le A.2 )]TJ +/T1_2 1 Tf +(\226)Tj +/T1_1 1 Tf +[( Classes of the com.sun.dtv)79(.smar)-20(tcar)20(d pac)20(ka)10(g)-10(e)]TJ +ET +q +1 0 0 1 265.0119934 606.1569977 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 56.6660004 605.9069977 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +208.346 0 l +490.375 0 l +S +Q +q +1 0 0 1 265.0119934 571.9600067 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 56.6660004 571.7100067 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +208.346 0 l +490.375 0 l +S +Q +q +1 0 0 1 265.0119934 524.5630035 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 46.897 l +S +Q +q +1 0 0 1 56.6660004 524.3130035 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +208.346 0 l +490.375 0 l +S +Q +q +1 0 0 1 265.0119934 490.3659973 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 56.6660004 490.1159973 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +208.346 0 l +490.375 0 l +S +Q +q +1 0 0 1 265.0119934 456.1690063 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 56.6660004 455.9190063 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +208.346 0 l +490.375 0 l +S +Q +q +1 0 0 1 265.0119934 421.9720001 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 56.6660004 626.8730011 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +208.346 0 l +S +Q +q +1 0 0 1 56.9160004 606.1589966 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 265.0119934 626.8730011 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +282.028 0 l +S +Q +q +1 0 0 1 546.7899933 606.1589966 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 56.9149933 571.9620056 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 546.7899933 571.9620056 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 56.9149933 524.5650024 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 46.897 l +S +Q +q +1 0 0 1 546.7899933 524.5650024 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 46.897 l +S +Q +q +1 0 0 1 56.9149933 490.3679962 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 546.7899933 490.3679962 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 56.9149933 456.1710052 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 546.7899933 456.1710052 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 56.9149933 421.973999 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 546.7899933 421.973999 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 56.6649933 421.723999 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +208.346 0 l +490.375 0 l +S +Q +BT +/T1_1 1 Tf +11 0 0 11 140.1732 612.1429 Tm +(Classes)Tj +21.407 0 Td +(Description)Tj +/T1_0 1 Tf +-28.409 -2.509 Td +[(CardT)120(er)-25(minalListener interf)30(ace)]TJ +18.918 0.6 Td +[(Listener interf)30(ace)15(, responsib)20(le f)30(or receiving e)30(v)25(ents )]TJ +T* +[(or)-15(iginating from the de)30(vice\325)50(s smar)-40(t card readers)]TJ +-0.042 Tw -18.918 -3.109 Td +[(P)40(assThroughAPDUConnection interf)30(ace)]TJ +-0.005 Tc 0 Tw 18.918 1.2 Td +[(Mar)-15(k)20(er interf)30(ace that identi\336)248( )26(es the speci\336)]TJ +-0.025 Tw 17.681 0 Td +[( )1(c )-24(connection )]TJ +0 Tw -17.681 -1.2 Td +(objects of the APDU \(Application Protocol Data Unit\), )Tj +-0.001 Tw T* +[(which perf)30(or)-25(m direct comm)10(unication with the smar)-40(t card)]TJ +0 Tc 0 Tw -18.918 -2.509 Td +[(T)120(er)-25(minalF)50(actor)-30(y class)]TJ +18.918 0.6 Td +[(Pro)15(vides access to the smar)-41(t card reader de)30(vice\(s\) )]TJ +T* +[(implemented or connected to the de)29(vice)]TJ +-18.918 -2.509 Td +[(CardT)120(er)-25(minalEv)25(ent class)]TJ +18.918 0.6 Td +[(De\336)250( )28(nes an e)30(v)25(ent object that inf)30(or)-25(ms the listeners about )]TJ +T* +[(changes of state occurr)-16(ing in the smar)-40(t card reader)]TJ +-18.918 -2.509 Td +[(CardT)120(er)-25(minal class)]TJ +18.918 0.6 Td +[(Encapsulates the functionalities of the ph)29(ysical par)-40(t of )]TJ +T* +[(the smar)-40(t card reader)]TJ +/T1_1 1 Tf +12 0 0 12 56.6651 395.0699 Tm +[(A.2.3 )-1064(com.sun.dtv)80(.l)15(wuit.e)15(vents pac)20(ka)10(g)-10(e)]TJ +/T1_0 1 Tf +0.055 Tw 11 0 0 11 56.6651 373.3659 Tm +[(The com.sun.dtv)80(.lwuit.e)30(v)25(ents pac)20(kage implements the Obser)-30(v)25(ab)20(le design standard \(also used in 1.1 )]TJ +-0.039 Tw T* +[(A)50(WT API\) that de\336)250( )-11(nes an architecture to \336)250( )-11(re and handling e)30(v)25(ents on g)10(r)10(aphical interf)30(aces)15(.)60( All e)30(v)25(ents are )]TJ +0.048 Tw T* +[(tr)-15(iggered b)20(y a thread called Ev)25(ent Dispatch )50(Thread \(EDT\).)60( See documentation on the API f)30(or fur)-40(ther )]TJ +0 Tw T* +[(details)15(.)]TJ +-0.031 Tw 0 -1.973 TD +[(This pac)20(kage shall be implemented according to J)20(A)70(V)80(ADTV 1.3:2009, where the interf)30(aces and classes )]TJ +0 Tw 0 -1.2 TD +[(of this pac)20(kage)15(, descr)-15(ibed in )50(T)120(ab)20(le A.3, shall be used.)]TJ +/T1_1 1 Tf +8.136 -2.231 Td +[(T)80(ab)10(le A.3 )]TJ +/T1_2 1 Tf +(\226)Tj +/T1_1 1 Tf +[( Classes of the com.sun.dtv)79(.l)15(wuit.e)15(vents pac)20(ka)10(g)-10(e)]TJ +ET +q +1 0 0 1 231.7879944 241.3589935 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 65.6560059 241.1089935 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +166.132 0 l +475.246 0 l +S +Q +q +1 0 0 1 231.7879944 193.9620056 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 46.897 l +S +Q +q +1 0 0 1 65.6560059 193.7120056 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +166.132 0 l +475.246 0 l +S +Q +q +1 0 0 1 231.7879944 159.7649994 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 65.6560059 159.5149994 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +166.132 0 l +475.246 0 l +S +Q +q +1 0 0 1 231.7879944 138.7680054 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 65.6560059 138.5180054 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +166.132 0 l +475.246 0 l +S +Q +q +1 0 0 1 231.7879944 117.7709961 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 65.6560059 117.5209961 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +166.132 0 l +475.246 0 l +S +Q +q +1 0 0 1 231.7879944 96.7740021 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 65.6560059 96.5240021 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +166.132 0 l +475.246 0 l +S +Q +q +1 0 0 1 231.7879944 62.5769958 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 65.6560059 262.076004 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +166.132 0 l +S +Q +q +1 0 0 1 65.9060059 241.3619995 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 231.7879944 262.076004 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +309.114 0 l +S +Q +q +1 0 0 1 540.6519928 241.3619995 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 65.9060059 193.9649963 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 46.897 l +S +Q +q +1 0 0 1 540.6519928 193.9649963 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 46.897 l +S +Q +q +1 0 0 1 65.9060059 159.7680054 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 540.6519928 159.7680054 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 65.9060059 138.7709961 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 540.6519928 138.7709961 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 65.9060059 117.7740021 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 540.6519928 117.7740021 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 65.9060059 96.7769928 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 540.6519928 96.7769928 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 65.9060059 62.5800018 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 540.6519928 62.5800018 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 65.6560059 62.3300018 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +166.132 0 l +475.246 0 l +S +Q +BT +/T1_1 1 Tf +11 0 0 11 128.0572 247.3449 Tm +(Classes)Tj +20.719 0 Td +(Description)Tj +/T1_0 1 Tf +-25.802 -3.109 Td +[(DataChangedListener interf)29(ace)]TJ +15.08 1.2 Td +[(Interf)30(ace callbac)20(k e)30(v)25(ents handling, which are in)20(v)25(ok)20(ed when )]TJ +T* +[(changes in the state occur and indicate that the displa)28(y shall )]TJ +T* +(be updated)Tj +-15.08 -2.509 Td +[(F)30(ocusListener interf)30(ace)]TJ +15.08 0.6 Td +[(F)30(ocus-change e)30(v)25(ent listener f)30(or F)30(or)-25(m, per)-25(mits f)30(eatures to be )]TJ +T* +[(attr)-15(ib)20(uted according to the current f)30(ocus of the component)]TJ +-15.08 -1.909 Td +[(SelectionListener interf)29(ace)-3327(In)20(v)25(ok)20(ed to indicate a change in the def)30(ault list selection)]TJ +0 -1.909 TD +[(StyleListener interf)29(ace)]TJ +15.081 0 Td +[(In)20(v)25(ok)20(ed to indicate changes in a proper)-40(ty)]TJ +-15.081 -1.909 Td +[(ActionEv)25(ent class)]TJ +15.081 0 Td +[(Object e)30(v)25(ent tr)-15(iggered when a callbac)20(k is in)20(v)25(ok)20(ed)]TJ +-15.081 -2.509 Td +[(ActionListener interf)29(ace)]TJ +15.08 0.6 Td +[(Callbac)20(k e)30(v)25(ents interf)30(ace in)20(v)25(ok)20(ed when a component action )]TJ +0 -1.2 TD +(occurs)Tj +ET + +endstream endobj 950 0 obj <> endobj 1241 0 obj <> endobj 1240 0 obj <>stream +BT +/CS0 cs 1 scn +/GS0 gs +/T1_0 1 Tf +8 0 0 8 417.7962 38.134 Tm +[(\251 ABNT 2010 - All r)-15(ights reser)-30(v)25(ed)]TJ +11 0 0 11 45.3266 35.8089 Tm +(32)Tj +/T1_1 1 Tf +0 68.648 TD +(ABNT NBR 15606-4:2010)Tj +14 0 0 14 261.7082 734.7589 Tm +[(Anne)15(x A)]TJ +/T1_0 1 Tf +-0.368 -1.2 Td +[(\(nor)-25(mativ)25(e\))]TJ +/T1_1 1 Tf +-3.735 -2.4 Td +[(Ja)15(v)20(a DTV 1.3 speci\036)]TJ +0.028 Tw 9.275 0 Td +[( )1(cation)]TJ +0 Tw 13 0 0 13 45.3265 617.2589 Tm +[(A.1 )-935(General considerations )]TJ +/T1_0 1 Tf +-0.009 Tw 11 0 0 11 45.3265 594.0589 Tm +[(The J)20(A)70(V)80(ADTV 1.3:2009 speci\336)250( )19(cation is compr)-15(ised of the J)20(a)20(v)25(a DTV API added to the component base )]TJ +-0.036 Tw 0 -1.2 TD +[(of the J)20(a)20(v)25(a e)30(x)30(ecution en)20(vironment, also including Connected De)30(vice Con\336)250( )-8(gur)10(ation, F)30(oundation Pro\336)250( )-8(le)15(, )]TJ +0 Tw T* +[(and P)50(ersonal Basis Pro\336)249( )28(le)15(.)]TJ +0.037 Tw 0 -2.291 TD +[(J)20(a)20(v)25(a DTV is a speci\336)250( )65(cation that off)30(ers functionality of a digital tele)30(vision receiv)25(er f)30(or the de)30(v)25(elopment )]TJ +0.059 Tw 0 -1.2 TD +[(of J)20(a)20(v)25(a-based applications)15(.)60( In this Anne)30(x, the main elements of the J)20(A)70(V)80(ADTV 1.3:2009 speci\336)250( )87(cation )]TJ +0 Tw T* +[(are descr)-15(ibed.)]TJ +/T1_1 1 Tf +13 0 0 13 45.3265 474.9589 Tm +[(A.2 )-935(Ja)15(v)20(a DTV API)]TJ +/T1_0 1 Tf +0.01 Tc -0.053 Tw 10 0 0 10 45.3265 452.9589 Tm +[(NO)40(TE )-52( )-1488( )1(F)30(or )1(fur)-40(ther )1(details )1(on )1(the )1(J)20(a)20(v)25(a )1(DTV )1(API, )1(see )1(http://ja)20(v)25(a.sun.com/ja)20(v)25(ame/technology/ja)20(v)25(atv/inde)30(x.jsp)]TJ +/T1_1 1 Tf +0 Tc 0 Tw 12 0 0 12 45.3265 423.5589 Tm +[(A.2.1 )-1064(com.sun.dtv)80(.br)20(oadcast pac)20(ka)10(g)-10(e)]TJ +/T1_0 1 Tf +0.214 Tw 11 0 0 11 45.3265 398.3589 Tm +[(The com.sun.dtv)80(.broadcast pac)20(kage per)-25(mits )1(access to broadcast \336)250( )242(les and streams and shall be )]TJ +0.185 Tw T* +[(implemented in accordance with J)20(A)70(V)80(ADTV 1.3:2009.)60( )50(The interf)30(aces and classes of this pac)20(kage)15(, )]TJ +0 Tw T* +[(descr)-15(ibed in )50(T)120(ab)20(le A.1, shall be used.)]TJ +/T1_1 1 Tf +8.603 -2.836 Td +[(T)80(ab)10(le A.1 )]TJ +/T1_2 1 Tf +(\226)Tj +/T1_1 1 Tf +[( Classes of the com.sun.dtv)79(.br)20(oadcast pac)20(ka)10(g)-10(e)]TJ +ET +q +1 0 0 1 216.1300049 307.7940063 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 48.6009979 307.5440063 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +167.529 0 l +486.679 0 l +S +Q +q +1 0 0 1 216.1300049 273.5970001 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 48.6009979 273.3470001 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +167.529 0 l +486.679 0 l +S +Q +q +1 0 0 1 216.1300049 252.6000061 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 48.6009979 252.3500061 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +167.529 0 l +486.679 0 l +S +Q +q +1 0 0 1 216.1300049 218.4029999 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 48.6009979 218.1529999 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +167.529 0 l +486.679 0 l +S +Q +q +1 0 0 1 216.1300049 184.2059937 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 48.6009979 183.9559937 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +167.529 0 l +486.679 0 l +S +Q +q +1 0 0 1 216.1300049 150.0090027 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 48.6009979 149.7590027 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +167.529 0 l +486.679 0 l +S +Q +q +1 0 0 1 216.1300049 89.4120026 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 60.097 l +S +Q +q +1 0 0 1 48.6009979 328.5110016 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +167.529 0 l +S +Q +q +1 0 0 1 48.8509979 307.7969971 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 216.1300049 328.5110016 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +319.15 0 l +S +Q +q +1 0 0 1 535.0299988 307.7969971 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 48.8509979 273.6000061 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 535.0299988 273.6000061 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 48.8509979 252.6029968 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 535.0299988 252.6029968 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 48.8509979 218.4060059 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 535.0299988 218.4060059 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 48.8509979 184.2089996 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 535.0299988 184.2089996 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 48.8509979 150.0119934 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 535.0299988 150.0119934 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 48.8509979 89.4149933 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 60.097 l +S +Q +q +1 0 0 1 535.0299988 89.4149933 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 60.097 l +S +Q +q +1 0 0 1 48.6009979 89.1649933 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +167.529 0 l +486.679 0 l +S +Q +BT +/T1_1 1 Tf +11 0 0 11 117.8172 313.7799 Tm +(Class)Tj +20.683 0 Td +(Description)Tj +/T1_0 1 Tf +-26.385 -2.509 Td +(BroadcastFile class)Tj +15.207 0.6 Td +[(Represents \336)250( )28(le or director)-30(y data obtained from the broadcast )]TJ +T* +(channel )Tj +-15.207 -1.909 Td +[(BroadcastFileEv)25(ent class)-4006(Indicates noti\336)250( )28(cations of change f)30(or the BroadcastFile data)]TJ +0 -2.509 TD +(BroadcastFilesystem class)Tj +15.207 0.6 Td +[(Represent instances of the \336)249( )28(le system obtained from the )]TJ +0 -1.2 TD +[(broadcast channel and assemb)19(led within the local \336)249( )28(le system)]TJ +-15.207 -2.509 Td +[(BroadcastFileListener interf)29(ace)]TJ +15.207 0.6 Td +[(Implemented b)20(y application classes that wish to receiv)24(e )]TJ +T* +[(noti\336)250( )28(cations of changes to the BroadcastFile data)]TJ +-15.207 -2.509 Td +(BroadcastStream class)Tj +15.207 0.6 Td +[(Represents streams obtained through \336)249( )28(les obtained from the )]TJ +T* +(broadcast channel )Tj +-15.207 -3.709 Td +(BroadcastException class)Tj +15.207 1.8 Td +[(All broadcast-related e)29(xceptions shall use this subclass \(which )]TJ +T* +[(in tur)-25(n is an e)30(xtension of ja)20(v)25(a.io)40(.IOException\) in order to )]TJ +T* +[(f)30(acilitate the identi\336)250( )28(cation of the reasons that brought about the )]TJ +T* +[(e)30(xception)]TJ +ET + +endstream endobj 946 0 obj <> endobj 1239 0 obj <> endobj 1238 0 obj <>stream +BT +/CS0 cs 1 scn +/GS0 gs +/T1_0 1 Tf +8 0 0 8 56.6651 38.2639 Tm +[(\251 ABNT 2010 - All r)-15(ights reser)-30(v)25(ed)]TJ +11 0 0 11 537.6613 35.9389 Tm +(31)Tj +/T1_1 1 Tf +-10.613 68.636 Td +(ABNT NBR 15606-4:2010)Tj +-33.114 -4.896 Td +[(8.13.6 )-189(SA)90(TSA 1.0.1 speci\036)306( )-27(cation )1(pac)20(ka)10(g)-10(es )]TJ +/T1_0 1 Tf +0 -2.291 TD +[(The f)30(ollo)15(wing pac)20(kage \(see SA)120(TSA 1.0.1\) is included b)19(y this par)-40(t of ABNT NBR 15606:)]TJ +0.695 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(ja)20(v)25(ax.microedition.apdu)]TJ +/T1_1 1 Tf +-2.01 -2.291 Td +[(8.13.7 )-189(Ginga-J speci\036)305( )-27(c )1(pac)20(ka)10(g)-10(es )]TJ +/T1_0 1 Tf +T* +[(The f)30(ollo)15(wing GINGA-J speci\336)249( )28(c pac)20(kages are included b)20(y this par)-40(t of ABNT NBR 15606:)]TJ +0.695 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(br)50(.org.sbtvd.net)]TJ +-1.315 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(br)50(.org.sbtvd.net.si)]TJ +-1.315 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(br)50(.org.sbtvd.net.tuning)]TJ +-1.315 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(br)50(.org.sbtvd.br)-15(idge)]TJ +-1.315 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(br)50(.org.sbtvd.ui)]TJ +-0.006 Tc -0.13 Tw -2.01 -2.291 Td +[(The minim)10(um requirements f)30(or a receiv)25(er compatib)20(le with Ginga shall comply with ABNT NBR 15604:2007.)]TJ +ET + +endstream endobj 942 0 obj <> endobj 1237 0 obj <>stream +BT +/CS0 cs 1 scn +/GS0 gs +/T1_0 1 Tf +8 0 0 8 417.7962 38.134 Tm +[(\251 ABNT 2010 - All r)-15(ights reser)-30(v)25(ed)]TJ +11 0 0 11 45.3266 35.8089 Tm +(30)Tj +/T1_1 1 Tf +0 68.648 TD +(ABNT NBR 15606-4:2010)Tj +/T1_0 1 Tf +0.695 -4.899 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(com.sun.dtv)80(.media.f)30(or)-25(mat)]TJ +-1.315 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(com.sun.dtv)80(.media.language)]TJ +-1.315 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(com.sun.dtv)80(.media.te)30(xt)]TJ +-1.315 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(com.sun.dtv)80(.media.timeline)]TJ +-1.315 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(com.sun.dtv)80(.net)]TJ +-1.315 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(com.sun.dtv)80(.platf)30(or)-25(m)]TJ +-1.315 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(com.sun.dtv)80(.resources)]TJ +-1.315 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(com.sun.dtv)80(.secur)-15(ity)]TJ +-1.315 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(com.sun.dtv)80(.ser)-30(vice)]TJ +-1.315 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(com.sun.dtv)80(.smar)-40(tcard)]TJ +-1.315 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(com.sun.dtv)80(.test)]TJ +-1.315 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(com.sun.dtv)80(.tr)10(anspor)-40(t)]TJ +-1.315 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(com.sun.dtv)80(.tuner)]TJ +-1.315 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(com.sun.dtv)80(.ui)]TJ +-1.315 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(com.sun.dtv)80(.ui.e)30(v)25(ent)]TJ +/T1_1 1 Tf +-2.01 -2.291 Td +[(8.13.4 )-189(JSSE 1.0.1 speci\036)306( )-27(cation )1(pac)20(ka)10(g)-10(es)]TJ +/T1_0 1 Tf +0 -2.291 TD +[(The f)30(ollo)15(wing pac)20(kages \(see JSSE 1.0.1\) are included b)19(y this par)-40(t of ABNT NBR 15606:)]TJ +0.695 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +(com.sun.net.ssl)Tj +-1.315 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(ja)20(v)25(ax.net)]TJ +-1.315 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(ja)20(v)25(ax.net.ssl)]TJ +-1.315 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(ja)20(v)25(ax.secur)-15(ity)100(.cer)-40(t)]TJ +/T1_1 1 Tf +-2.01 -2.291 Td +[(8.13.5 )-189(JCE 1.0.1 speci\036)306( )-27(cation )1(pac)20(ka)10(g)-10(es)]TJ +/T1_0 1 Tf +T* +[(The f)30(ollo)15(wing pac)20(kages \(see JCE 1.0.1\) are included b)19(y this par)-40(t of ABNT NBR 15606:)]TJ +0.695 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(ja)20(v)25(ax.cr)-30(ypto)]TJ +-1.315 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(ja)20(v)25(ax.cr)-30(ypto)40(.interf)30(aces)]TJ +-1.315 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(ja)20(v)25(ax.cr)-30(ypto)40(.spec)]TJ +ET + +endstream endobj 939 0 obj <> endobj 920 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text]>>/Rotate 0/TrimBox[0.0 0.0549927 595.22 841.945]/Type/Page>> endobj 923 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text]>>/Rotate 0/TrimBox[0.0 0.0549927 595.22 841.945]/Type/Page>> endobj 928 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text]>>/Rotate 0/TrimBox[0.0 0.0549927 595.22 841.945]/Type/Page>> endobj 932 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text]>>/Rotate 0/TrimBox[0.0 0.0549927 595.22 841.945]/Type/Page>> endobj 935 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text]>>/Rotate 0/TrimBox[0.0 0.0549927 595.22 841.945]/Type/Page>> endobj 1236 0 obj <>stream +BT +/CS0 cs 1 scn +/GS0 gs +/T1_0 1 Tf +8 0 0 8 56.6651 38.2639 Tm +[(\251 ABNT 2010 - All r)-15(ights reser)-30(v)25(ed)]TJ +11 0 0 11 537.6613 35.9389 Tm +(29)Tj +/T1_1 1 Tf +-10.613 68.636 Td +(ABNT NBR 15606-4:2010)Tj +/T1_0 1 Tf +-32.419 -4.899 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(ja)20(v)25(ax.tv)80(.ser)-30(vice)15(.guide)]TJ +-1.315 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(ja)20(v)25(ax.tv)80(.ser)-30(vice)15(.na)20(vigation)]TJ +-1.315 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(ja)20(v)25(ax.tv)80(.ser)-30(vice)15(.selection)]TJ +-1.315 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(ja)20(v)25(ax.tv)80(.ser)-30(vice)15(.tr)10(anspor)-40(t)]TJ +-1.315 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(ja)20(v)25(ax.tv)80(.util)]TJ +-1.315 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(ja)20(v)25(ax.tv)80(.xlet )]TJ +/T1_1 1 Tf +-2.01 -2.291 Td +[(8.13.3 )-189(Ja)15(v)20(aDTV 1.1 speci\036)306( )-27(cation )1(pac)20(ka)10(g)-10(es )]TJ +/T1_0 1 Tf +0 -2.291 TD +[(The f)30(ollo)15(wing pac)20(kages \(see J)20(A)70(V)80(ADTV 1.3:2009\) are included b)20(y this par)-40(t of ABNT NBR 15606:)]TJ +0.695 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(com.sun.dtv)80(.application)]TJ +-1.315 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(com.sun.dtv)80(.broadcast)]TJ +-1.315 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(com.sun.dtv)80(.broadcast.e)30(v)25(ent)]TJ +-1.315 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +-0.028 Tw 1.919 0 Td +[(com.sun.dtv)80(.\336)250( lter)-15(ing)]TJ +0 Tw -1.315 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(com.sun.dtv)80(.io)]TJ +-1.315 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(com.sun.dtv)80(.locator)]TJ +-1.315 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(com.sun.dtv)80(.lwuit)]TJ +-1.315 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(com.sun.dtv)80(.lwuit.animations)]TJ +-1.315 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(com.sun.dtv)80(.lwuit.e)30(v)25(ents)]TJ +-1.315 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(com.sun.dtv)80(.lwuit.geom)]TJ +-1.315 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(com.sun.dtv)80(.lwuit.la)30(y)20(outs)]TJ +-1.315 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(com.sun.dtv)80(.lwuit.list)]TJ +-1.315 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(com.sun.dtv)80(.lwuit.painter)]TJ +-1.315 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(com.sun.dtv)80(.lwuit.plaf)]TJ +-1.315 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(com.sun.dtv)80(.lwuit.util)]TJ +-1.315 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(com.sun.dtv)80(.media)]TJ +-1.315 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(com.sun.dtv)80(.media.audio)]TJ +-1.315 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(com.sun.dtv)80(.media.control)]TJ +-1.315 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(com.sun.dtv)80(.media.dr)-15(ipf)30(eed)]TJ +ET + +endstream endobj 936 0 obj <> endobj 1235 0 obj <>stream +BT +/CS0 cs 1 scn +/GS0 gs +/T1_0 1 Tf +8 0 0 8 417.7962 38.134 Tm +[(\251 ABNT 2010 - All r)-15(ights reser)-30(v)25(ed)]TJ +11 0 0 11 45.3266 35.8089 Tm +(28)Tj +/T1_1 1 Tf +0 68.648 TD +(ABNT NBR 15606-4:2010)Tj +/T1_0 1 Tf +0.695 -4.899 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(ja)20(v)25(a.math)]TJ +-1.315 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(ja)20(v)25(a.net)]TJ +-1.315 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(ja)20(v)25(a.r)-25(mi)]TJ +-1.315 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(ja)20(v)25(a.r)-25(mi.registr)-30(y)]TJ +-1.315 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(ja)20(v)25(a.secur)-15(ity)]TJ +-1.315 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(ja)20(v)25(a.secur)-15(ity)100(.acl)]TJ +-1.315 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(ja)20(v)25(a.secur)-15(ity)100(.cer)-40(t)]TJ +-1.315 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(ja)20(v)25(a.secur)-15(ity)100(.interf)30(aces)]TJ +-1.315 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(ja)20(v)25(a.secur)-15(ity)100(.spec)]TJ +-1.315 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(ja)20(v)25(a.te)30(xt)]TJ +-1.315 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(ja)20(v)25(a.util)]TJ +-1.315 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(ja)20(v)25(a.util.jar)]TJ +-1.315 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(ja)20(v)25(a.util.zip)]TJ +-1.315 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(ja)20(v)25(ax.microedition.io )]TJ +-1.315 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(ja)20(v)25(ax.microedition.pki)]TJ +-1.315 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(ja)20(v)25(ax.microedition.xlet)]TJ +-1.315 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(ja)20(v)25(ax.microedition.xlet.ixc)]TJ +-1.315 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(ja)20(v)25(ax.secur)-15(ity)100(.auth.x500 )]TJ +/T1_1 1 Tf +-2.01 -2.291 Td +[(8.13.2 )-189( Ja)15(v)20(aTV 1.1 and JMF 1.0 speci\036)306( )-27(cation )1(pac)20(ka)10(g)-10(es)]TJ +/T1_0 1 Tf +0 -2.291 TD +[(The f)30(ollo)15(wing pac)20(kages \(see J)20(A)70(V)80(A)120(TV 1.1:2008\) are included b)20(y this par)-40(t of ABNT NBR 15606:)]TJ +0.695 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(ja)20(v)25(ax.media)]TJ +-1.315 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(ja)20(v)25(ax.media.protocol)]TJ +-1.315 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(ja)20(v)25(ax.tv)80(.g)10(r)10(aphics)]TJ +-1.315 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(ja)20(v)25(ax.tv)80(.locator)]TJ +-1.315 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(ja)20(v)25(ax.tv)80(.media)]TJ +-1.315 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(ja)20(v)25(ax.tv)80(.net)]TJ +-1.315 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(ja)20(v)25(ax.tv)80(.ser)-30(vice)]TJ +ET + +endstream endobj 933 0 obj <> endobj 1234 0 obj <>stream +BT +/CS0 cs 1 scn +/GS0 gs +/T1_0 1 Tf +8 0 0 8 56.6651 38.2639 Tm +[(\251 ABNT 2010 - All r)-15(ights reser)-30(v)25(ed)]TJ +11 0 0 11 537.6613 35.9389 Tm +(27)Tj +/T1_1 1 Tf +-10.613 68.636 Td +(ABNT NBR 15606-4:2010)Tj +ET +q +1 0 0 1 225.0910034 704.7599945 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 307.4859924 704.7599945 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 59.3370056 704.5099945 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +165.754 0 l +248.149 0 l +S +Q +q +1 0 0 1 225.0910034 670.5630035 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 307.4859924 704.5099945 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +239.736 0 l +S +Q +q +1 0 0 1 307.4859924 670.5630035 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 59.3370056 670.3130035 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +165.754 0 l +248.149 0 l +S +Q +q +1 0 0 1 225.0910034 636.3659973 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 307.4859924 670.3130035 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +239.736 0 l +S +Q +q +1 0 0 1 307.4859924 636.3659973 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 59.3370056 725.4750061 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +165.754 0 l +S +Q +q +1 0 0 1 59.5870056 704.7610016 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 225.0910034 725.4750061 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +82.395 0 l +322.13 0 l +S +Q +q +1 0 0 1 546.970993 704.7610016 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 59.5870056 670.5639954 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 546.970993 670.5639954 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 59.5870056 636.3670044 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 546.970993 636.3670044 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 59.3370056 636.1170044 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +165.754 0 l +248.149 0 l +487.884 0 l +S +Q +BT +/T1_1 1 Tf +11 0 0 11 127.3632 710.7459 Tm +(Name)Tj +9.715 0 Td +[(T)60(ype of data)]TJ +14.795 0 Td +(Description)Tj +/T1_0 1 Tf +-30.105 -2.509 Td +[(system.inter)-25(net_access)-4573(Boolean)]TJ +22.536 0.6 Td +[(Indicates whether the Inter)-26(net access pro\336)250( )28(le is )]TJ +0 -1.2 TD +[(a)20(v)25(ailab)20(le)15(.)60( \(P)50(ossib)20(le v)25(alues:)50( )30(\322tr)-15(ue\323)40( or )30(\322f)30(alse\323\))]TJ +-0.028 Tw -22.536 -2.509 Td +[(system.gingaj_pro\336)249( le)]TJ +0 Tw 15.046 0 Td +[(Alphan)10(umer)-15(ic)]TJ +7.49 0.6 Td +[(The Ginga-J speci\336)250( )28(cation pro\336)250( )28(le n)10(umber )]TJ +T* +[(suppor)-40(ted b)20(y the platf)30(or)-25(m)]TJ +/T1_1 1 Tf +-23.369 -3.426 Td +[(8.11.2 )-189(User pr)20(oper)-20(ties)]TJ +/T1_0 1 Tf +0.092 Tw 0 -2.291 TD +[(In addition to the set of system proper)-40(ties)15(, Ginga-J applications can maintain user-speci\336)250( )120(c platf)30(or)-25(m )]TJ +0 Tw 0 -1.2 TD +[(proper)-40(ties)15(.)60( F)30(or such, the "User pref)30(erences" API shall be used \(see J)20(A)70(V)80(ADTV 1.3:2009\).)60( )]TJ +0.123 Tw 0 -2.291 TD +[(The "User pref)30(erences" API \(see J)20(A)70(V)80(ADTV 1.3:2009\) shall also be used to receiv)25(e noti\336)250( )151(cations of )]TJ +0 Tw 0 -1.2 TD +[(changes to an)15(y system proper)-40(ties de\336)250( )28(ned in 8.11.1.)]TJ +/T1_1 1 Tf +12 0 0 12 56.6651 501.4649 Tm +[(8.12 )-67(Interactivity c)10(hannel)]TJ +/T1_0 1 Tf +0.009 Tw 11 0 0 11 56.6651 476.2649 Tm +[(Through th )288(is )1(API, )1(the )1(Ginga )1(system )1(has )1(the )1(ability )1(to )1(identify )1(the )1(e)30(xistence )1(of )1(the )1(inter)10(activity )1(channel )]TJ +-0.03 Tw T* +[(de)30(vices on the receiv)25(er)50(, and ma)30(y estab)20(lish a connection if it is disconnected.)60( )1(Data )1(comm)10(unication after )]TJ +0 Tw T* +[(the estab)20(lished connection tak)19(es place through the ja)19(v)25(a.net API.)60( * )]TJ +/T1_1 1 Tf +12 0 0 12 56.6651 423.4649 Tm +[(8.13 )-67(Complete list of Ginga-J pac)21(ka)10(g)-10(e )277(s )]TJ +11 0 0 11 56.6651 398.2649 Tm +[(8.13.1 )-189( Ja)15(v)20(a platf)20(orm pac)20(ka)10(g)-10(es)]TJ +/T1_0 1 Tf +0.042 Tw 0 -2.291 TD +[(The f)30(ollo)15(wing pac)20(kages \(see CDC 1.1:2008;)50( FP 1.1:2008;)50( PBP 1.1:2008\) are included b)20(y this par)-40(t of )]TJ +0 Tw 0 -1.2 TD +(ABNT NBR 15606:)Tj +0.695 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(ja)20(v)25(a.a)20(wt)]TJ +-1.315 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(ja)20(v)25(a.a)20(wt.color)]TJ +-1.315 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(ja)20(v)25(a.a)20(wt.e)30(v)25(ent)]TJ +-1.315 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(ja)20(v)25(a.a)20(wt.f)30(ont)]TJ +-1.315 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(ja)20(v)25(a.a)20(wt.im)]TJ +-1.315 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(ja)20(v)25(a.a)20(wt.image)]TJ +-1.315 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(ja)20(v)25(a.beans)]TJ +-1.315 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(ja)20(v)25(a.io)]TJ +-1.315 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(ja)20(v)25(a.lang)]TJ +-1.315 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(ja)20(v)25(a.lang.ref)]TJ +-1.315 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +-0.028 Tw 1.919 0 Td +[(ja)20(v)25(a.lang.re\337)250( ect)]TJ +/T1_1 1 Tf +0 Tw 16.096 59.424 Td +[(T)80(ab)10(le 8)]TJ +/T1_0 1 Tf +[( \(contin)10(ued\))]TJ +ET + +endstream endobj 930 0 obj <> endobj 1233 0 obj <> endobj 1232 0 obj <>stream +BT +/CS0 cs 1 scn +/GS0 gs +/T1_0 1 Tf +8 0 0 8 417.7962 38.134 Tm +[(\251 ABNT 2010 - All r)-15(ights reser)-30(v)25(ed)]TJ +11 0 0 11 45.3266 35.8089 Tm +(26)Tj +/T1_1 1 Tf +0 68.648 TD +(ABNT NBR 15606-4:2010)Tj +/T1_0 1 Tf +0.158 Tw 0 -4.899 TD +[(All this management and monitor)-15(ing is conducted inter)-25(nally b)20(y the system.)60( )50(T)120(ele)30(vision applications )]TJ +0.001 Tw 0 -1.2 TD +[(duly signed and cer)-40(ti\336)250( )29(ed, as descr)-15(ibed in J)20(A)70(V)80(ADTV 1.3:2009 clause 6.2, are per)-25(mitted to control and/)]TJ +0.117 Tw T* +[(or monitor the lif)30(e cycle of these applications)15(.)60( )50(These f)30(eatures are accessib)20(le in J)20(A)70(V)80(ADTV 1.3:2009 )]TJ +0 Tw T* +[(through the pac)20(kage:)]TJ +0.695 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(com.sun.dtv)80(.application)]TJ +/T1_1 1 Tf +0.623 Tw 12 0 0 12 45.3265 645.8419 Tm +[(8.9 T)90(uning)]TJ +/T1_0 1 Tf +-0.078 Tw 11 0 0 11 45.3265 620.6419 Tm +[(The )1(br)50(.org.sbtv )201(d.net.tuning )1(API )1(is )1(an )1(e)30(xtension )1(of )1(the )1(com.sun.dtv)80(.tuner )1(pac)20(kage )1(of )1(J)20(A)70(V)80(ADTV )1(1.3:2009.)60( )]TJ +-0.012 Tw T* +[(The ne)20(w functions are inter)10(activ)25(e channel zapping and scanning of all e)30(xisting netw)10(or)-15(k interf)30(aces on a )]TJ +0 Tw T* +[(receiv)25(er)50(.)60( Fur)-40(ther details about these functionalities are a)20(v)25(ailab)20(le in Anne)30(x C)30(.)]TJ +/T1_1 1 Tf +12 0 0 12 45.3265 567.8419 Tm +[(8.10 )-67(NCL Bridg)-10(e)]TJ +/T1_0 1 Tf +0.156 Tw 11 0 0 11 45.3265 542.6419 Tm +[(The NCL br)-15(id )435(ge API contains the set of classes a)20(v)25(ailab)20(le f)30(or the br)-15(idge betw)10(een inf)30(or)-25(mation and )]TJ +-0.082 Tw T* +[(process applications)15(, in the Ginga en)20(vironment.)60( )50(The functions a)20(v)25(ailab)20(le in the classes that are descr)-15(ibed )]TJ +0.073 Tw T* +[(belo)15(w per)-25(mit the de)30(v)25(elopment of Ginga-J procedure applications)15(, including Ginga-NCL applications)15(, )]TJ +-0.013 Tw T* +[(and vice-v)25(ersa.)60( )50(The Ginga-J NCL br)-15(idge API controls the presentation of an NCL document and off)30(ers )]TJ +-0.005 Tw T* +[(resources so that a Ginga-J application included in an NCL document is n\ oti\336)250( )23(ed about the occurrence )]TJ +0 Tw T* +[(of tr)10(ansition e)30(v)25(ents made on the media node that encapsulates it.)60( )]TJ +0.01 Tc 0.4 Tw 0 -2.291 TD +[(If J)20(a)20(v)25(a is instantied from NCL, the applications management shall be in compli\ ance with)]TJ +-0.028 Tw 0 -1.2 TD +[(ABNT NBR 15606-2:2007, 8.5.)60( If NCL is instantied from J)20(a)20(v)25(a, the applications management shall be)10( )]TJ +0 Tw T* +[(in compliance with which is descr)-15(ibed in 8.8.)]TJ +-0.003 Tc -0.041 Tw 0 -2.291 TD +[(Complementar)-30(y inf)30(or)-25(mation can be f)30(ound in ABNT NBR 15606-2:2007, 11.2 and 10.3.4.3 and Anne)30(x D)70(.)57( )]TJ +/T1_1 1 Tf +0 Tc 0 Tw 12 0 0 12 45.3265 373.4419 Tm +[(8.11 )-67(Platf)20(orm pr)20(oper)-20(ties )]TJ +0.189 Tw 11 0 0 11 45.3265 348.2419 Tm +(8.11.1 S )Tj +0 Tw 3.914 0 Td +[(ystem Pr)20(oper)-20(ties)]TJ +/T1_0 1 Tf +0.01 Tc -0.01 Tw -3.914 -2.291 Td +(Ging )Tj +0.063 Tw 2.152 0 Td +[(a-J applications shall ha)20(v)25(e access to platf)30(or)-25(m proper)-40(ties that indicate gener)10(al char)10(acter)-15(istics)15(,)10( )]TJ +0 Tw -2.152 -1.2 Td +[(such as suppor)-40(ted pro\336)255( )33(les and/or f)30(eatures)15(.)60( )50(Theref)30(ore)15(, in addition to the proper)-40(ties already speci\336)255( )33(ed)10( )]TJ +0.319 Tw 0 -1.2 TD +[(in the ja)20(v)25(a.lang.System.getProper)-40(ties \(see PBP 1.1:2008\) and the Ginga-NCL methods \(see)]TJ +0.138 Tw T* +[(ABNT NBR 15606-2:2007, 7.2.4\), the proper)-40(ties listed on )50(T)120(ab)20(le 8 shall be a)20(v)25(ailab)20(le through)]TJ +0 0.899 0.968 0 k +/GS1 gs +/T1_2 1 Tf +0 Tc 0 Tw ( )Tj +/CS0 cs 1 scn +/GS0 gs +/T1_0 1 Tf +0.01 Tc -0.01 Tw 43.429 0 Td +[(the)10( )]TJ +0 Tw -43.429 -1.2 Td +[(getProper)-40(ty \(\) and getProper)-40(ties \(\) methods of the ja)20(v)25(a.lang.System class \(see PBP 1.1:2008\).)70( )]TJ +0 Tc 0 -2.291 TD +[(The system proper)-41(ties are descr)-15(ibed in )50(T)120(ab)20(le 8 and cannot be changed b)20(y the Ginga-J applications)15(.)]TJ +/T1_1 1 Tf +15.795 -2.836 Td +[(T)80(ab)10(le 8 \226 System Pr)20(oper)-20(ties)]TJ +ET +q +1 0 0 1 213.753006 180.8769989 cm +/CS0 CS 1 SCN +0.5 w +/GS2 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 296.147995 180.8769989 cm +/CS0 CS 1 SCN +0.5 w +/GS2 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 47.9989929 180.6269989 cm +/CS0 CS 1 SCN +0.5 w +/GS2 gs +0 0 m +165.754 0 l +248.149 0 l +S +Q +q +1 0 0 1 213.753006 133.4799957 cm +/CS0 CS 1 SCN +0.5 w +/GS2 gs +0 0 m +0 46.897 l +S +Q +q +1 0 0 1 296.147995 180.6269989 cm +/CS0 CS 1 SCN +0.5 w +/GS2 gs +0 0 m +239.735 0 l +S +Q +q +1 0 0 1 296.147995 133.4799957 cm +/CS0 CS 1 SCN +0.5 w +/GS2 gs +0 0 m +0 46.897 l +S +Q +q +1 0 0 1 47.9989929 133.2299957 cm +/CS0 CS 1 SCN +0.5 w +/GS2 gs +0 0 m +165.754 0 l +248.149 0 l +S +Q +q +1 0 0 1 213.753006 99.2830048 cm +/CS0 CS 1 SCN +0.5 w +/GS2 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 296.147995 133.2299957 cm +/CS0 CS 1 SCN +0.5 w +/GS2 gs +0 0 m +239.735 0 l +S +Q +q +1 0 0 1 296.147995 99.2830048 cm +/CS0 CS 1 SCN +0.5 w +/GS2 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 47.9989929 99.0330048 cm +/CS0 CS 1 SCN +0.5 w +/GS2 gs +0 0 m +165.754 0 l +248.149 0 l +S +Q +q +1 0 0 1 213.753006 66.2859955 cm +/CS0 CS 1 SCN +0.5 w +/GS2 gs +0 0 m +0 32.497 l +S +Q +q +1 0 0 1 296.147995 99.0330048 cm +/CS0 CS 1 SCN +0.5 w +/GS2 gs +0 0 m +239.735 0 l +S +Q +q +1 0 0 1 296.147995 66.2859955 cm +/CS0 CS 1 SCN +0.5 w +/GS2 gs +0 0 m +0 32.497 l +S +Q +q +1 0 0 1 47.9989929 66.0359955 cm +/CS0 CS 1 SCN +0.5 w +/GS2 gs +0 0 m +165.754 0 l +248.149 0 l +487.884 0 l +S +Q +q +1 0 0 1 47.9989929 201.5930023 cm +/CS0 CS 1 SCN +0.5 w +/GS2 gs +0 0 m +165.754 0 l +S +Q +q +1 0 0 1 48.2489929 180.8789978 cm +/CS0 CS 1 SCN +0.5 w +/GS2 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 213.753006 201.5930023 cm +/CS0 CS 1 SCN +0.5 w +/GS2 gs +0 0 m +82.395 0 l +322.13 0 l +S +Q +q +1 0 0 1 535.6329956 180.8789978 cm +/CS0 CS 1 SCN +0.5 w +/GS2 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 48.2489929 133.4819946 cm +/CS0 CS 1 SCN +0.5 w +/GS2 gs +0 0 m +0 46.897 l +S +Q +q +1 0 0 1 535.6329956 133.4819946 cm +/CS0 CS 1 SCN +0.5 w +/GS2 gs +0 0 m +0 46.897 l +S +Q +q +1 0 0 1 48.2489929 99.2850037 cm +/CS0 CS 1 SCN +0.5 w +/GS2 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 535.6329956 99.2850037 cm +/CS0 CS 1 SCN +0.5 w +/GS2 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 48.2489929 66.2879944 cm +/CS0 CS 1 SCN +0.5 w +/GS2 gs +0 0 m +0 32.497 l +S +Q +q +1 0 0 1 535.6329956 66.2879944 cm +/CS0 CS 1 SCN +0.5 w +/GS2 gs +0 0 m +0 32.497 l +S +Q +BT +/T1_1 1 Tf +11 0 0 11 116.0242 186.8629 Tm +(Name)Tj +9.715 0 Td +[(T)60(ype of data)]TJ +14.795 0 Td +(Description)Tj +/T1_0 1 Tf +-30.105 -3.109 Td +[(com.sun.dtv)80(.v)25(ersion)]TJ +15.046 0 Td +[(Alphan)10(umer)-15(ic)]TJ +7.49 1.2 Td +[(The v)25(ersion n)10(umber of the J)20(a)20(v)25(aDTV )]TJ +0 -1.2 TD +[(speci\336)250( )28(cation implemented b)20(y the platf)30(or)-25(m \(see )]TJ +T* +[(J)20(A)70(V)80(ADTV 1.3:2009\))]TJ +-22.536 -2.509 Td +[(com.sun.dtv)80(.net.def)30(ault.timeout)-1260(Numer)-15(ic)]TJ +22.536 0.6 Td +[(Maxim)10(um w)15(ait time \(timeout\) f)30(or estab)20(lishing a )]TJ +T* +(connection)Tj +/TT0 1 Tf +-22.536 -2.431 Td +(system.gingaj_version)Tj +/T1_0 1 Tf +15.046 -0.023 Td +[(Alphan)10(umer)-15(ic)]TJ +7.49 0.545 Td +[(V)80(ersion n)10(umber of the Ginga-J speci\336)250( )28(cation )]TJ +0 -1.091 TD +[(implemented b)20(y the platf)30(or)-25(m)]TJ +ET + +endstream endobj 926 0 obj <> endobj 1231 0 obj <> endobj 1230 0 obj <> endobj 1229 0 obj <>stream +BT +/CS0 cs 1 scn +/GS0 gs +/T1_0 1 Tf +8 0 0 8 56.6651 38.2639 Tm +[(\251 ABNT 2010 - All r)-15(ights reser)-30(v)25(ed)]TJ +11 0 0 11 537.6613 35.9389 Tm +(25)Tj +/T1_1 1 Tf +-10.613 68.636 Td +(ABNT NBR 15606-4:2010)Tj +/T1_0 1 Tf +0.007 Tw -33.114 -4.899 Td +[(Access to \336)250( )35(les or director)-15(ies abo)15(v)25(e the application\325)50(s base director)-30(y shall alw)15(a)30(ys result in an e)30(xception )]TJ +0 Tw 0 -1.2 TD +[(of the ja)20(v)25(a.lang.Secur)-15(ityException type \(see PBP 1.1:2008\) f)30(or Ginga-J applications)15(.)]TJ +0.263 Tw 0 -2.291 TD +[(Ginga-J applications that are signed, authenticated and ha)20(v)25(e author)-15(iz)15(ed per)-25(missions to access )]TJ +0 Tw 0 -1.2 TD +[(persistent stor)10(age)15(, shall ha)20(v)25(e the pr)-15(ivileges pro)15(vided in J)20(A)70(V)80(ADTV 1.3:2009, 6.5 g)10(r)10(anted.)]TJ +-0.025 Tw 0 -2.291 TD +[(F)30(or applications with access per)-25(missions g)10(r)10(anted, the director)-15(ies and sub-director)-15(ies that ha)20(v)25(e access )]TJ +-0.097 Tw 0 -1.2 TD +[(shall be created automatically b)20(y the platf)30(or)-25(m if the)20(y do not already e)30(xist.)60( It )1(is )1(recommended that required )]TJ +-0.026 Tw T* +[(director)-15(ies and sub-director)-15(ies be created as soon as the per)-25(missions are g)10(r)10(anted.)60( )50(The identi\336)250( er of the )]TJ +-0.005 Tw T* +[(o)15(wner of the director)-15(ies and sub-director)-15(ies created automatically b)20(y the platf)30(or)-25(m shall ha)20(v)25(e the same )]TJ +0 Tw T* +[(v)25(alue of the application_id \(see ABNT NBR 15606-3:2007, 12.7\) of the ap\ plication in question.)]TJ +0 -2.291 TD +[(Ginga-J applications shall create \336)249( )28(les or director)-15(ies only where the)20(y ha)20(v)25(e )30(\322wr)-15(ite\323)40( per)-25(missions)15(.)]TJ +0.402 Tw T* +[(Details about the release of space b)20(y the platf)30(or)-25(m are implementation-dependent.)60( Ho)15(w)10(e)30(v)25(er)50(,)]TJ +0.058 Tw 0 -1.2 TD +[(the )1(persistence )1(of )1(the )1(\336)250( )87(les )1(shall )1(be )1(guar)10(anteed )1(while )1(the )1(application )1(is )1(r)-15(unning )1(or )1(\337)250( )87(agged )1(in )1(the )1(AIT )]TJ +0 Tw T* +[(tab)20(le with a control code other than KILL or DESTR)19(O)70(Y)140(.)]TJ +/T1_1 1 Tf +0 -2.291 TD +[(8.7.5 )-745(Access to system pr)19(oper)-20(ties )]TJ +/T1_0 1 Tf +0.073 Tw T* +[(Access to the system proper)-40(ties will be done b)20(y the ja)20(v)25(a.lang.System.getProper)-40(ty)100(,ja)20(v)25(a.lang.System.)]TJ +0 Tw 0 -1.2 TD +[(getProper)-40(ties and ja)20(v)25(a.lang.System.)60( setProper)-40(ty methods)15(.)60( )]TJ +0 -2.291 TD +[(The use of the ja)20(v)25(a.lang.System.setProper)-40(ties \(\) method is not per)-25(mitted f)30(or Ginga-J applications)15(.)]TJ +/T1_1 1 Tf +T* +[(8.7.6 )-745(IP suppor)-20(t o)20(ver an interactive c)9(hannel)]TJ +/T1_0 1 Tf +0.049 Tw T* +[(F)30(or de)30(vices where the estab)20(lishment \(setup\) of a connection is necessar)-30(y)100(, the direct use of ja)20(v)25(a.net.)]TJ +0.066 Tw 0 -1.2 TD +[(Soc)20(k)20(et or ja)20(v)25(a.net.URLConnection shall result in an attempt to connect according to t\ he par)10(ameters )]TJ +0.018 Tw T* +[(sent in the application's per)-25(missions \336)250( )46(le)15(.)60( F)30(or fur)-40(ther inf)30(or)-25(mation, see "P)50(er P)50(olicy Application Schema" )]TJ +0 Tw T* +[(\(see J)20(A)70(V)80(ADTV 1.3:2009\).)]TJ +-0.049 Tw 0 -2.291 TD +[(F)30(or handling of the inter)10(activity de)30(vices a)20(v)25(ailab)20(le on the platf)30(or)-25(m, the "Extensiv)25(e comm)10(unication control )]TJ +0.051 Tw 0 -1.2 TD +[(de)30(vice" API shall be used \(see J)20(A)70(V)80(ADTV 1.3:2009\).)60( Additional de\336)250( )79(nitions on the use of the ja)20(v)25(a.net )]TJ +0.145 Tw T* +[(def)30(ault )1(connection )1(API )1(\(see )1(PBP )1(1.1:2008\) )1(are )1(f)30(ound )1(in )1(the )1(class )1(documentation )1(com.sun.dtv)80(.net.)]TJ +0 Tw T* +[(Netw)10(or)-15(kDe)30(vice \(see J)20(A)70(V)80(ADTV 1.3:2009\), as w)10(ell as in J)20(A)70(V)80(ADTV 1.3:2009, 6.2.5.)]TJ +/T1_1 1 Tf +0 -2.291 TD +[(8.7.7 )-745(MPEG-2 section \036)]TJ +0.028 Tw 11.443 0 Td +[( )1(ltering )]TJ +/T1_0 1 Tf +0.128 Tw -11.443 -2.291 Td +[(T)120(o )1(get )1(the )1(MPEG-2 )1(section )1(\336)250( )157(lters)15(, )1(the )1("Suppor)-40(t )1(MPEG-2 )1(Section )1(Filter)-15(ing" )1(API )1(shall )1(be )1(used )1(\(see )]TJ +0 Tw 0 -1.2 TD +[(J)20(A)70(V)80(ADTV 1.3:2009\).)]TJ +/T1_1 1 Tf +12 0 0 12 56.6651 197.0419 Tm +[(8.8 )-623(Application mana)11(g)-10(ement )]TJ +/T1_0 1 Tf +-0.037 Tw 11 0 0 11 56.6651 171.8419 Tm +[(In this Standard, the digital tele)30(vision applications are called Xlets \(see J)20(A)70(V)80(A)120(TV 1.1:2008\), and their lif)30(e )]TJ +-0.017 Tw T* +[(cycle is managed as descr)-15(ibed in 7.1.)60( )50(These applications e)30(x)30(ecute in an ser)-30(vices-or)-15(iented en)20(vironment )]TJ +0.118 Tw T* +[(controlled b)20(y an Application Manager \(see J)20(A)70(V)80(ADTV 1.3:2009\), and this component is responsib)20(le )]TJ +0.022 Tw T* +[(f)30(or the actions of loading, con\336)250( )50(gur)-15(ing, instantiating and e)30(x)30(ecuting applications f)30(or digital tele)30(vision, as )]TJ +0.047 Tw T* +[(w)10(ell as f)30(or controlling the lif)30(e cycle and states of these applications)15(.)60( It is also the responsibility of the )]TJ +0.079 Tw T* +[(applications manager to attr)-15(ib)20(ute e)30(x)30(ecution pr)-15(ior)-15(ity le)30(v)25(els to the applications)15(, as w)10(ell as identify and )]TJ +0 Tw T* +[(mitigate an)15(y f)30(ailures that occur dur)-16(ing the e)30(x)30(ecution thereof)30(.)]TJ +ET + +endstream endobj 921 0 obj <> endobj 897 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text]>>/Rotate 0/TrimBox[0.0 0.0549927 595.22 841.945]/Type/Page>> endobj 901 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text]>>/Rotate 0/TrimBox[0.0 0.0549927 595.22 841.945]/Type/Page>> endobj 905 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text/ImageC/ImageI]/XObject<>>>/Rotate 0/TrimBox[0.0 0.0549927 595.22 841.945]/Type/Page>> endobj 912 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text]>>/Rotate 0/TrimBox[0.0 0.0549927 595.22 841.945]/Type/Page>> endobj 916 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text]>>/Rotate 0/TrimBox[0.0 0.0549927 595.22 841.945]/Type/Page>> endobj 1228 0 obj <>stream +BT +/CS0 cs 1 scn +/GS0 gs +/T1_0 1 Tf +8 0 0 8 417.7962 38.134 Tm +[(\251 ABNT 2010 - All r)-15(ights reser)-30(v)25(ed)]TJ +11 0 0 11 45.3266 35.8089 Tm +(24)Tj +/T1_1 1 Tf +0 68.648 TD +(ABNT NBR 15606-4:2010)Tj +12 0 0 12 45.3265 736.3029 Tm +[(8.6 )-623(Presentation and e)16(x)10(ecut )278(ion of media)]TJ +/T1_0 1 Tf +-0.099 Tw 11 0 0 11 45.3265 711.1029 Tm +[(The ser)-30(vice inf)30(or)-25(mation API adopts the J)20(a)20(v)25(a Media F)45(r)10(ame)20(w)10(or)-15(k \(JMF\) 1.0 and optionally ma)30(y incor)-30(por)10(ate )]TJ +0.018 Tw 0 -1.2 TD +[(additional API de\336)250( )46(ned b)20(y J)20(a)20(v)25(a Media F)45(r)10(ame)20(w)10(or)-15(k \(JMF\) 2.1.)60( )50(The JMF2.1 is bac)20(kw)15(ard compatib)20(le with )]TJ +0 Tw T* +(the JMF 1.0.)Tj +/T1_1 1 Tf +12 0 0 12 45.3265 658.3029 Tm +[(8.7 )-623(Access to data)]TJ +11 0 0 11 45.3265 633.1029 Tm +[(8.7.1 )-745(General )278(considerations)]TJ +/T1_0 1 Tf +0.078 Tw 0 -2.291 TD +[(The ja)20(v)25(a.io API \(see PBP 1.1:2008\) shall be used to access data objects in a \ gener)-15(ic w)15(a)30(y)100(.)60( Classes )]TJ +-0.033 Tw 0 -1.2 TD +[(and interf)30(aces contained in this pac)20(kage related to \336)250( )-5(les and \336)250( )-5(le systems shall comply with the f)30(ollo)15(wing )]TJ +0 Tw T* +[(restr)-15(iction:)]TJ +1 -2.291 Td +( )Tj +/TT0 1 Tf +-1 0 Td +(\227)Tj +/T1_0 1 Tf +0.297 Tw 1.984 0 Td +[(the )1(ja)20(v)25(a.io)40(.ObjectInputStream.readLine )1(method )1(is )1(mar)-15(k)20(ed )1(as )1(obsolete )1(\(depreciated\) )1(b)20(y )1(this )]TJ +0 Tw 0.103 -1.2 Td +[(Standard.)60( )50(Theref)30(ore)15(, it should not be used b)20(y applications sent via broadcast.)]TJ +/T1_1 1 Tf +-2.087 -2.291 Td +[(8.7.2 )-745(Access to \036)]TJ +0.028 Tw 8.554 0 Td +[( )1(les)]TJ +/T1_0 1 Tf +0.069 Tw -8.554 -2.291 Td +[(F)30(or an application sent via broadcast and signaled in a par)-40(ticular ser)-30(vice)15(, data objects accessed b)20(y )]TJ +0.161 Tw T* +[(means of relativ)25(e paths shall be quer)-15(ied based on the path indicated in the application's location )]TJ +0.588 Tw T* +[(descr)-15(iptor )30(\322ginga_j_application_location_descr)-16(iptor\323)40( \(see ABNT NBR 15606-3:2007, 12.18.2\),)]TJ +0.066 Tw T* +[(in )1(the )1(base_director)-30(y )1(\336)250( )95(eld.)60( )51(The )1(path )1(de\336)250( )95(ned )1(in )1(the )1(descr)-15(iptor )1(in )1(question )1(shall )1(be )1(considered )1(as )1(the )]TJ +0 Tw T* +[(application's base director)-31(y)100(.)]TJ +/T1_1 1 Tf +0 -2.291 TD +[(8.7.3 )-745(Br)20(oadcast transpor)-20(t pr)20(otocol)]TJ +/T1_0 1 Tf +0.01 Tc 0.194 Tw T* +[(When )1(the application )1(is )1(tra)10(nsmitted )1(via )1(broadcast )1(protocol, )1(using )1(the )1(DSMCC )1(Object )1(Carousel)10( )]TJ +0.151 Tw 0 -1.2 TD +[(or DSMCC Data Carousel protocols)15(, the)20(y shall be suppor)-40(ted b)20(y the e)30(xtensions pro)15(vided b)20(y the)10( )]TJ +-0.032 Tw T* +[("Broadcast \336)255( le and streams handling" \(see J)20(A)70(V)80(ADTV 1.3:2009\).)60( )50(This API pro)15(vides access to inter)-25(nal)10( )]TJ +0.12 Tw T* +[(stream data and \336)255( )153(les as an e)30(xtension to the set of functionalities already a)20(v)25(ailab)20(le in the ja)20(v)25(a.io)10( )]TJ +0 Tw T* +[(pac)20(kage \(see PBP 1.1:2008\).)]TJ +0 Tc 0.298 Tw 0 -2.291 TD +[(Clar)-15(i\336)250( )326(cations about input/output oper)10(ations f)30(or objects sent via broadcast can be f)30(ound in the )]TJ +0.156 Tw 0 -1.2 TD +[(documentation of the com.sun.broadcast.BroadcastFile class \(see J)20(A)70(V)80(ADTV 1.3:2009\), as w)10(ell as )]TJ +0 Tw T* +[(J)20(A)70(V)80(ADTV 1.3:2009 , 8.2.7.)60( )]TJ +-0.053 Tw 0 -2.291 TD +[(The af)30(orementioned clar)-15(i\336)250( )-25(cations shall also be applied to oper)10(ations with data objects of the ja)20(v)25(a.io)40(.File )]TJ +0 Tw 0 -1.2 TD +[(type \(see PBP 1.1:2008\).)59( )]TJ +/T1_1 1 Tf +0 -2.291 TD +[(8.7.4 )-745(P)30(er)15(sistent stora)10(g)-10(e)]TJ +/T1_0 1 Tf +0.01 Tc 0.205 Tw T* +[(F)30(or the pur)-30(poses of persistent stora)10(ge)15(, the ja)20(v)25(ax.microedition.io and ja)20(v)25(a.io pac)20(kages shall be)10( )]TJ +0.025 Tw 0 -1.2 TD +[(a)20(v)25(ailab)20(le \(see PBP 1.1:2008\), as w)10(ell as the "P)50(ersistent stor)10(age access r)-15(ights and proper)-40(ties" API)10( )]TJ +0 Tw T* +[(\(see J)20(A)70(V)80(ADTV 1.3:2009\).)]TJ +0 Tc 0.12 Tw 0 -2.291 TD +[(The )1(")]TJ +/TT0 1 Tf +[(com.sun.dtv)74(.persistent.root\224 )1(property )1(should )1(be )1(accessible )1(by )1(means )1(of )1(the )]TJ +/T1_0 1 Tf +0 Tw 36.992 0 Td +[(ja)20(v)25(a.lang.System.)]TJ +0.126 Tw -36.992 -1.2 Td +[(getProper)-40(ty method \(see PBP 1.1:2008\) and shall identify the root director)-30(y f)30(or persistent stor)10(age)15(.)60( )]TJ +0.013 Tw 0 -1.2 TD +[(Relativ)25(e paths should not be used to access objects in persistent stor)10(age)15(, under penalty of unde\336)250( )41(ned )]TJ +-0.015 Tw T* +[(functioning across platf)30(or)-25(ms)15(.)60( )50(The str)-15(ucture of director)-15(ies prescr)-15(ibed f)30(or persistent stor)10(age is descr)-15(ibed )]TJ +0 Tw T* +[(in detail in J)20(A)70(V)80(ADTV 1.3:2009, 6.5.)]TJ +ET + +endstream endobj 917 0 obj <> endobj 1227 0 obj <>stream +BT +/CS0 cs 1 scn +/GS0 gs +/T1_0 1 Tf +8 0 0 8 56.6651 38.2639 Tm +[(\251 ABNT 2010 - All r)-15(ights reser)-30(v)25(ed)]TJ +11 0 0 11 537.6613 35.9389 Tm +(23)Tj +/T1_1 1 Tf +-10.613 68.636 Td +(ABNT NBR 15606-4:2010)Tj +/T1_0 1 Tf +0.042 Tw -33.114 -4.899 Td +[(ABNT NBR 15604:2007, 7.2.28.3, de\336)250( )70(nes the minim)10(um functions on the remote control f)30(or receiv)25(ers )]TJ +0.047 Tw 0 -1.2 TD +[(that f)30(eature an inter)10(activity mechanism.)60( )50(These functions shall be mapped f)30(or the e)30(v)25(ent types de\336)250( )75(ned )]TJ +0.13 Tw T* +[(in the com.sun.dtv)80(.lwuit.e)30(v)25(ent.RemoteControlEv)25(ent class of J)20(A)70(V)80(ADTV 1.3:2009.)60( )50(T)120(ab)20(le 7 sho)15(ws this )]TJ +0 Tw T* +(mapping.)Tj +/T1_1 1 Tf +5.774 -2.836 Td +[(T)80(ab)10(le 7 \226 Mapping of functions of ABNT NBR 15604:2007 in the e)13(vents)]TJ +9.66 -1.2 Td +[(de\036)306( )-27(ned b)20(y J)20(A)80(V)80(ADTV 1.3:2009)]TJ +ET +q +1 0 0 1 299.0500031 600.8769989 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.664 l +S +Q +q +1 0 0 1 59.5 600.6269989 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +129.55 0 l +239.55 0 l +487.559 0 l +S +Q +q +1 0 0 1 299.0500031 579.8800049 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 59.5 579.6300049 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +129.55 0 l +239.55 0 l +487.559 0 l +S +Q +q +1 0 0 1 299.0500031 558.8829956 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 59.5 558.6329956 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +129.55 0 l +239.55 0 l +487.559 0 l +S +Q +q +1 0 0 1 299.0500031 537.8860016 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 59.5 537.6360016 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +129.55 0 l +239.55 0 l +S +Q +q +1 0 0 1 189.0500031 516.8890076 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 299.0500031 537.6360016 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +248.009 0 l +S +Q +q +1 0 0 1 299.0500031 516.8890076 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 188.8000031 516.6390076 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +110.25 0 l +S +Q +q +1 0 0 1 189.0500031 495.8919983 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 299.0500031 516.6390076 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +248.009 0 l +S +Q +q +1 0 0 1 299.0500031 495.8919983 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 188.8000031 495.6419983 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +110.25 0 l +S +Q +q +1 0 0 1 189.0500031 474.8950043 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 299.0500031 495.6419983 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +248.009 0 l +S +Q +q +1 0 0 1 299.0500031 474.8950043 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 188.8000031 474.6450043 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +110.25 0 l +S +Q +q +1 0 0 1 189.0500031 453.897995 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 299.0500031 474.6450043 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +248.009 0 l +S +Q +q +1 0 0 1 299.0500031 453.897995 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 59.5 453.647995 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +129.55 0 l +239.55 0 l +S +Q +q +1 0 0 1 189.0500031 432.901001 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 299.0500031 453.647995 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +248.009 0 l +S +Q +q +1 0 0 1 299.0500031 432.901001 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 188.8000031 432.651001 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +110.25 0 l +S +Q +q +1 0 0 1 189.0500031 411.904007 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 299.0500031 432.651001 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +248.009 0 l +S +Q +q +1 0 0 1 299.0500031 411.904007 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 188.8000031 411.654007 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +110.25 0 l +S +Q +q +1 0 0 1 189.0500031 390.9069977 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 299.0500031 411.654007 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +248.009 0 l +S +Q +q +1 0 0 1 299.0500031 390.9069977 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 188.8000031 390.6569977 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +110.25 0 l +S +Q +q +1 0 0 1 189.0500031 369.9100037 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 299.0500031 390.6569977 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +248.009 0 l +S +Q +q +1 0 0 1 299.0500031 369.9100037 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 59.5 634.7960052 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +129.55 0 l +S +Q +q +1 0 0 1 59.75 600.8820038 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.664 l +S +Q +q +1 0 0 1 189.0500031 634.7960052 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +110 0 l +358.009 0 l +S +Q +q +1 0 0 1 546.8090057 600.8820038 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.664 l +S +Q +q +1 0 0 1 59.75 579.8849945 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 546.8090057 579.8849945 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 59.75 558.8880005 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 546.8090057 558.8880005 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 59.75 537.8910065 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 546.8090057 537.8910065 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 59.75 516.6439972 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.747 l +S +Q +q +1 0 0 1 546.8090057 516.8939972 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 59.75 495.6470032 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.997 l +S +Q +q +1 0 0 1 546.8090057 495.8970032 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 59.75 474.6499939 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.997 l +S +Q +q +1 0 0 1 546.8090057 474.8999939 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 59.75 453.9029999 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.747 l +S +Q +q +1 0 0 1 546.8090057 453.9029999 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 59.75 432.6560059 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.747 l +S +Q +q +1 0 0 1 546.8090057 432.9060059 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 59.75 411.6589966 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.997 l +S +Q +q +1 0 0 1 546.8090057 411.9089966 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 59.75 390.6620026 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.997 l +S +Q +q +1 0 0 1 546.8090057 390.9120026 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 59.75 369.9149933 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.747 l +S +Q +q +1 0 0 1 546.8090057 369.9149933 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 59.5 369.6649933 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +129.55 0 l +239.55 0 l +487.559 0 l +S +Q +BT +/T1_1 1 Tf +11 0 0 11 125.6162 620.0629 Tm +[(Functions de\036)306( )-27(ned )1(in)]TJ +-0.529 -1.2 Td +(ABNT NBR 15604:2007)Tj +-0.001 Tc 0.001 Tw 16.862 1.2 Td +[(com.sun.dtv)80(.l)15(wuit.e)15(vent.RemoteContr)20(olEvent )]TJ +0 Tc 0 Tw 9.454 -1.2 Td +[(c)20(lass)]TJ +/T1_0 1 Tf +-0.028 Tw -31.208 -1.909 Td +[(Con\336)250( r)-25(m)]TJ +21.754 0 Td +(VK_CONFIRM)Tj +0 Tw -21.754 -1.909 Td +(Exit)Tj +21.755 0 Td +(VK_ESCAPE)Tj +-21.755 -1.909 Td +[(Bac)20(k)]TJ +21.755 0 Td +[(VK_BA)30(CK)]TJ +-21.755 -4.772 Td +[(Directional/Arro)15(w )]TJ +11.755 2.863 Td +(Up)Tj +-0.05 Tw 10 0 Td +[(VK_UP )-50(& VK_KP_UP)]TJ +0 Tw -10 -1.909 Td +[(Do)15(wn)]TJ +-0.05 Tw 10 0 Td +[(VK_DO)30(WN )-50(& VK_KP_DO)30(WN)]TJ +8.054 Tw -10 -1.909 Td +(Left VK_LEFT )Tj +0 Tw 14.613 0 Td +[(& )50(VK_KP_LEFT)]TJ +-14.613 -1.909 Td +(Right)Tj +-0.05 Tw 10 0 Td +[(VK_RIGHT )-50(e VK_KP_RIGHT)]TJ +0 Tw -21.754 -4.772 Td +(Coloured)Tj +11.755 2.863 Td +(Red)Tj +10 0 Td +(VK_COLORED_KEY_0)Tj +-10 -1.909 Td +(Green)Tj +10 0 Td +(VK_COLORED_KEY_1)Tj +6.932 Tw -10 -1.909 Td +[(Y)140(ello)15(w VK_COLORED_KEY_2)]TJ +7.721 Tw 0 -1.909 TD +(Blue VK_COLORED_KEY_3)Tj +/T1_1 1 Tf +0 Tw 12 0 0 12 56.6651 343.0059 Tm +[(8.5 )-623(Inf)20(ormation and selecti )278(on of ser)-10(vices)]TJ +11 0 0 11 56.6651 317.8059 Tm +[(8.5.1 )-745(General considerations)]TJ +/T1_0 1 Tf +-0.091 Tw 0 -2.291 TD +[(The API ser)-30(vice inf)30(or)-25(mation f)30(or this speci\336)250( )-63(cation is responsib)20(le f)30(or pro)15(viding the applications with access )]TJ +0.048 Tw 0 -1.2 TD +[(to the inf)30(or)-25(mation contained in the MPEG ser)-30(vice inf)30(or)-25(mation tab)20(les)15(.)60( Such inf)30(or)-25(mation shoall include )]TJ +0.125 Tw T* +[(the audio and video streams present in each m)10(ultiple)30(x ser)-30(vice)15(, also including a te)30(xtual descr)-15(iption)]TJ +0 Tw T* +[(of the ser)-30(vices and e)30(v)25(ents that compr)-15(ise it, among others)15(.)60( )]TJ +0.258 Tw 0 -2.291 TD +[(This API is based on the de\336)250( )286(nition of the APIs descr)-15(ibed in ARIB STD-B)20(.23:)50( 2006, Anne)30(x M,)]TJ +-0.031 Tw 0 -1.2 TD +[(which is based on the GEM and pro)15(vides functionalities of access to ser)-30(vice inf)30(or)-25(mation in accordance )]TJ +0.15 Tw T* +[(with the ref)30(erence model of the J)20(apanese digital )50(TV standard ARIB STD-B10:)50( 2008, the same as )]TJ +-0.099 Tw T* +[(e)30(xtended b)20(y the SBTVD)70(.)60( Ho)15(w)10(e)30(v)25(er)50(, since the core of this standard is the J)20(A)70(V)80(ADTV 1.3:2009 speci\336)250( )-71(cation, )]TJ +0.035 Tw T* +[(it w)15(as necessar)-30(y to mak)20(e changes in the elements of the jp)35(.or)50(.ar)-15(ib)40(.tv)80(.si and jp)35(.or)50(.)60( ar)-15(ib)40(.tv)80(.net pac)20(kage)15(, )]TJ +0.117 Tw T* +[(aimed at integ)10(r)10(ating the functionality of protocol-dependent access to ser)-30(vice inf)30(or)-25(mation.)60( Anne)30(x B )]TJ +0 Tw T* +[(pro)15(vides details on these functionalities)14(.)]TJ +/T1_1 1 Tf +0 -2.291 TD +[(8.5.2 )-745(Integration with API pr)19(otocol-independent)]TJ +/T1_0 1 Tf +T* +[(The protocol-independent API ser)-31(vice inf)30(or)-25(mation shall comply with J)20(A)70(V)80(ADTV 1.3:2009, 6.4.)]TJ +ET + +endstream endobj 914 0 obj <> endobj 1226 0 obj <> endobj 1225 0 obj <>stream +BT +/CS0 cs 1 scn +/GS0 gs +/T1_0 1 Tf +8 0 0 8 417.7962 38.134 Tm +[(\251 ABNT 2010 - All r)-15(ights reser)-30(v)25(ed)]TJ +11 0 0 11 45.3266 35.8089 Tm +(22)Tj +/T1_1 1 Tf +0 68.648 TD +(ABNT NBR 15606-4:2010)Tj +ET +q +110.801 270.066 362.281 475.501 re +W n +q +/GS1 gs +362.424057 0 0 475.7040253 110.7480011 269.9879913 cm +/Im0 Do +Q +Q +BT +/T1_1 1 Tf +11 0 0 11 142.9852 244.8669 Tm +[(Figure 6 \226 Composition e)15(xample of content displa)19(y plane )]TJ +-8.878 -1.745 Td +[(8.4.4 )-745(User e)15(vents handling)]TJ +/T1_0 1 Tf +-0.005 Tc 0.279 Tw 0 -2.231 TD +[(The user e)30(v)25(ents handling mechanism is pro)15(vided b)20(y specializ)15(ed tele)30(vision components and the )]TJ +-0.012 Tw 0 -1.2 TD +[(components pro)15(vided b)20(y the L)70(WUIT 1.1:2008 incor)-30(por)10(ated in to J)20(A)70(V)80(ADTV 1.3:2009.)60( )50(The pac)20(kages that )]TJ +0 Tw T* +[(de\336)248( )26(ne these components are:)]TJ +0 Tc 0.695 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(com.sun.dtv)80(.ui.e)30(v)25(ent \320 speci\336)250( )28(c tele)30(vision e)30(v)25(ents handling mechanism;)50( )]TJ +-1.315 -2.231 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +0.219 Tw 1.919 0 Td +[(com.sun.dtv)80(.lwuit .e)30(v)25(ents \320 e)30(v)25(ents handling mechanism related to the g)10(r)10(aphical components )]TJ +0 Tw 0.081 -1.2 Td +[(de\336)250( )28(ned in the L)70(WUIT 2008 incor)-30(por)10(ated into J)20(A)70(V)80(ADTV 1.3:2009.)]TJ +0.131 Tw -2.091 -2.231 Td +[(The entire user e)30(v)25(ents handling mechanism is based on the EDT \(Ev)25(ent Dispatch )50(Thread\) model, )]TJ +-0.038 Tw T* +[(giving the platf)30(or)-25(m thorough kno)15(wledge of the e)30(v)25(ents and passing them on to the applications and their )]TJ +0 Tw T* +[(specializ)15(ed treatment.)]TJ +ET + +endstream endobj 906 0 obj <>]/Filter[/FlateDecode]/Height 634/Length 5960/Subtype/Image/Type/XObject/Width 483>>stream +h c6)[N"gB'd1{ܾ䬅 2/IUL(B|E~9<b9tK"}#Q/iX'BmP6F+-*Fx1^ 8Y*Fx1^bmQq/z!üXٮb-^B1^S\|;*tdUO +/LǠ/).>ǵ.&c/&.ƋQ1q1^L\|A*&.ԋ/ɋsbKP1qq^qq*&.݋W1qq^L\|I^L\_s׈W1qq^L\3bKbܽTL\7F\sbUL\_ŗb5UL\gbL8w/&.ōbܽ8{gŗŹ{1q%8G/n|8٫8S/&.$/&.݋/A9zqk8w/&.^řz1qUMW8&/N{8EŽx1*ƋsSܢbTŨ/&.>b/Fx1q1q1*ƋbŨx1*Ƌ bTx1*ƋQ1*ƋbT|Q1^b[TbŨ/ƋbTbTŨ/&..Q1^Ũ/&.FŨ/ƋQ1^L\|-*Fx1^bnDJoA_^k`f7EXq]onˣC;#֞M!"OrmLW|tT+QSP=WJH\}UjUZgv[8h'W,-]ل/2<{= +ٽ[VfGMZ/tL[M^2Wl鷮qlJ,ֿIKEݶ:1_g+[+]6žҥhQl$橸{6L]SPlܦxnFkE2 ܏b{6\;LjdD-X}ZLAz&^ퟨ(-žqlaRh/ҋ3.OꟿՊ'^n&ۥ7= P %g_<'ޗP(^(~;{oP|2P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P P şEM(beb1[(FP|NzAqOVxbT x1bVSL\Qq8#9y1VPCyPb8KYQOqFq1b/ΏbVb/bVSL\Q1^#u*&.FŨ/ƋubT)fEQ1*Ƌ)fE?ŨŨ8bYQbbTb8zYQO1q1*Fx1*bVb/bVSL\QqM7(MP P P P P P P P P P\-qk5S(?R>.w˖t\a^'GÖl, By'Ր^=T 7-Ib~I')^(+%t/dUeUS~?/f-;l\= юnS`1/ikL&׌rsf!mhwIwv?wzx)uvM3f]ʖ._-᫢4K+3cs稣XkLX⌭v]VwB7]#F޿ly+36WnռL~73B2<Is1wM=1};Q;|gekmlNrڙ2_Eު)]f/s3(>2 2y 'Dmr*Zj,ܔGj퉺>ܬՎasZ4N\i2;dU.9W[]ӈVfAYcxfRp:bUL\SW1q1*&.N]Ũ8ubUL\SW1q1*&.N]Ũ8ubUL\SW1q1*&.N]Ũ8ubUL\'_D@T|XsjVœxX [[TSŧS1^<'d/TKŧ +l3O)b5OObxrOgR1q1*&.N]Ũ2^|&hqq*1[TSŅ:kѪ/>O(8zA'TGb *&.FũũbbTbbTL\Q1^Q1qq*&.Fxq*&.FũũbbTbbTL\Q1^Q1qq*&.Fxq*&.FũũbbT<ݿk#;FGaTbTbTSW1^9TxB@d+|e_ + XS s57bJUl~J3>#J֗ي ,4-᥼w+j_yWS~Z2[эbMR!VT_?RKEZ*]e"2~b3mmJ5/P_o3QlEF7m[ _EvXj-|}=JV;2/sX./g_/bjbˑJqP~:Δⲕ$ΫaYߘW;gjvyGM.[k(Oi0i6'[Fvwxۭ~b&EZHjmRMbMvIqY&L"UI?ɡ̸ 3lfv=`[c†4;\`6wPzxRU6h̥U6'9giP,7NEљΧsR5QPWwNC$ui||Qhr|x| eN`c2:Y` ~Q&yqlW?QM>=Ϥ4+6azŃU0_atbOUbtl(6s!{)b0WCXz{l%4~rv.T i7QfUS\'rMurFlS1Q}m~)nOmCJŢ`i}9Ww_‹UQs6:mұ>q쒐rʝrb\6՝mY2ߐUkOvXg/jCb'D1QY)uɓG?-CCN{JKO'-u['0DWR8n ֪ط:+P|Ts_Νf!z S.k8DM +T<5n}oث]#~2bn.2}jMZ}Go","QxUeǧTkH47ĜAx;}6՚;Mh)FEkoK5w$NxT67Kn4wj&B˭ELkϾ&8X-ڠ LEq>H=>Gܗ}y -`yy_z889UtBq8ať}tWj# s1O@͐g(Pl#-ǿ7;ϸG@U.+'y=&uO3fG= 5bۗ9$e7:ɰ^Gx;$|>Sy{Gs,گiC/Rn5^kR/${%7gS\=rP-uĥ *_X6"x*yŶ/u&yz>98m9>j~WߑH-s W/U%2E}P`Fd(:zqw"-ܒn| {PYG?I~q /GZQb_tߔmޅ?tU˼;hs$7Ocٽa{Pέ*)7bUiŻ_zR\Wަج6ų?~EA[?P<0h2^ퟨȄ~^n5:?Ŷ/uU[S|(vtD=u3BTZZfpd>8h)ǭ䆴(:"瘞tj gS/l_l\u^9J~\n.pl[1Ic ^Y[Z[˭IQw "\4*x^Vlsqviԗ>NHGܗ}y 4?踽G^ԃ=Ǧp{iOn'Jn>o'Vy}#Py5u bKVXsEL^It 19>c++Ŀ{3ʤUtVUS.eW۱)TuUKk\~Fn[Rq/Ϲ0;͆m +veBi& ͠v#T,rf g.+e^}#RW&EΦziu>^r^(؁> IN8/km>0h D6QW5_f`8۸d"*~m2U[4;RP lzmܒײɜ] riE.woې5)?lp;+, W[ SfMy Urm]\ȻŔGAA]QGNx}n4;P~:6l0/6c'dY\tEQ-V@qNרrR`h +zN*}3j癨le4[,E /~7K\Yplj)$ZYn lњuFb*ob4Mb?7䊭="1}~ -×Pq*IMzsQ(^'F2‹5#UO]>OLc6>stream +1 C(^/ "`@" /I)c/ +O? =:&W +61#^ v(cbc-c5U@BQ8z8@YMx 9 (Kws\[5lͶé [8 0'e;ȥ +endstream endobj 910 0 obj <> endobj 1224 0 obj <> endobj 1223 0 obj <>stream +BT +/CS0 cs 1 scn +/GS0 gs +/T1_0 1 Tf +8 0 0 8 56.6651 38.2639 Tm +[(\251 ABNT 2010 - All r)-15(ights reser)-30(v)25(ed)]TJ +11 0 0 11 537.6613 35.9389 Tm +(21)Tj +/T1_1 1 Tf +-10.613 68.636 Td +(ABNT NBR 15606-4:2010)Tj +-24.171 -4.896 Td +[(T)80(ab)10(le 6 \226 Details of the functionalities f)19(or the video plane)]TJ +ET +q +1 0 0 1 283.6649933 698.1100006 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 102.9429932 697.8600006 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +180.722 0 l +400.672 0 l +S +Q +q +1 0 0 1 283.6649933 677.1130066 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 102.9429932 676.8630066 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +180.722 0 l +400.672 0 l +S +Q +q +1 0 0 1 283.6649933 656.1159973 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 102.9429932 655.8659973 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +180.722 0 l +400.672 0 l +S +Q +q +1 0 0 1 283.6649933 635.1190033 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 102.9429932 634.8690033 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +180.722 0 l +400.672 0 l +S +Q +q +1 0 0 1 283.6649933 614.121994 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 102.9429932 613.871994 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +180.722 0 l +400.672 0 l +S +Q +q +1 0 0 1 283.6649933 579.9250031 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 102.9429932 579.6750031 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +180.722 0 l +400.672 0 l +S +Q +q +1 0 0 1 283.6649933 545.7279968 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 102.9429932 545.4779968 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +180.722 0 l +400.672 0 l +S +Q +q +1 0 0 1 283.6649933 524.7310028 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 102.9429932 524.4810028 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +180.722 0 l +400.672 0 l +S +Q +q +1 0 0 1 283.6649933 503.7339935 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 102.9429932 503.4839935 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +180.722 0 l +400.672 0 l +S +Q +q +1 0 0 1 283.6649933 482.7369995 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 102.9429932 482.4869995 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +180.722 0 l +400.672 0 l +S +Q +q +1 0 0 1 283.6649933 461.7400055 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 102.9429932 461.4900055 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +180.722 0 l +400.672 0 l +S +Q +q +1 0 0 1 283.6649933 440.7429962 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 102.9429932 440.4929962 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +180.722 0 l +400.672 0 l +S +Q +q +1 0 0 1 283.6649933 419.7460022 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 102.9429932 419.4960022 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +180.722 0 l +400.672 0 l +S +Q +q +1 0 0 1 283.6649933 398.7489929 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 102.9429932 398.4989929 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +180.722 0 l +400.672 0 l +S +Q +q +1 0 0 1 283.6649933 377.7519989 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 102.9429932 718.8300018 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +180.722 0 l +S +Q +q +1 0 0 1 103.1929932 698.1159973 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 283.6649933 718.8300018 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +219.95 0 l +S +Q +q +1 0 0 1 503.3650055 698.1159973 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 103.1929932 677.1190033 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 503.3650055 677.1190033 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 103.1929932 656.121994 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 503.3650055 656.121994 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 103.1929932 635.125 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 503.3650055 635.125 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 103.1929932 614.128006 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 503.3650055 614.128006 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 103.1929932 579.9309998 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 503.3650055 579.9309998 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 103.1929932 545.7339935 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 503.3650055 545.7339935 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 103.1929932 524.7369995 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 503.3650055 524.7369995 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 103.1929932 503.7400055 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 503.3650055 503.7400055 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 103.1929932 482.7429962 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 503.3650055 482.7429962 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 103.1929932 461.7460022 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 503.3650055 461.7460022 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 103.1929932 440.7489929 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 503.3650055 440.7489929 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 103.1929932 419.7519989 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 503.3650055 419.7519989 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 103.1929932 398.7550049 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 503.3650055 398.7550049 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 103.1929932 377.7579956 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 503.3650055 377.7579956 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 102.9429932 377.5079956 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +180.722 0 l +400.672 0 l +S +Q +BT +/T1_1 1 Tf +11 0 0 11 170.2082 704.0959 Tm +(Function)Tj +17.55 0 Td +(Description)Tj +/T1_0 1 Tf +-23.076 -1.909 Td +[(getBitsP)50(erPix)30(el\(\))]TJ +16.407 0 Td +(Launches a SetupException.)Tj +-16.407 -1.909 Td +(getColorCodingModel\(\))Tj +16.407 0 Td +(Launches a SetupException.)Tj +-16.407 -1.909 Td +[(getSuppor)-40(tedPix)30(elAspectRatios\(\))-1669(Ditto as the Gr)10(aphicPlane)15(.)]TJ +0 -1.909 TD +[(getSuppor)-40(tedPlaneAspectRatios\(\))-1249(Ditto as the Gr)10(aphicPlane)15(.)]TJ +0 -2.509 TD +[(getSuppor)-40(tedScreenResolutions\(\))]TJ +16.407 0.6 Td +(A single Dimensionobject with the )Tj +0 -1.2 TD +(dimensions of the video at that moment.)Tj +-16.407 -2.509 Td +[(isAlphaBlendingSuppor)-41(ted\(\))]TJ +16.407 0.6 Td +[(F)50(alse \(it is the plane located f)30(ar)-40(thest bac)20(k )]TJ +T* +(in the chain\).)Tj +-16.407 -1.909 Td +[(isGIFRender)-15(ingSuppor)-40(ted\(\))-4070(F)50(alse)]TJ +0 -1.909 TD +[(isGr)10(aphicsRender)-15(ingSuppor)-40(ted\(\))-1746(F)50(alse)]TJ +T* +[(isImageRender)-15(ingSuppor)-40(ted\(\))-2958(F)50(alse)]TJ +T* +[(isJPEGRender)-15(ingSuppored\(\))-3443(F)50(alse)]TJ +T* +[(isPNGRender)-15(ingSuppored\(\))-3888(F)50(alse)]TJ +T* +[(isRealAlphaBlendingSuppor)-41(ted\(\))-1861(F)50(alse)]TJ +T* +[(isVideoRender)-15(ingSuppor)-40(ted\(\))-3180(T)120(r)-15(ue)]TJ +T* +[(isWidgetRender)-15(ingSuppor)-40(ted\(\))-2625(F)50(alse)]TJ +0.625 Tw -4.797 -2.881 Td +[(There is no com.sun.dtv)80(.ui.DTVContainer object associated with this com.sun.dtv)80(.ui.Plane)15(.)]TJ +0.072 Tw 0 -1.2 TD +[(The in)20(v)25(ocation of an)15(y method other than getCapabilities \(\) in this instance in par)-40(ticular)50(, will ha)20(v)25(e an )]TJ +0 Tw T* +[(implementation-dependent eff)29(ect.)]TJ +/T1_1 1 Tf +0 -2.291 TD +[(8.4.3.6 )-736(Planes Compostion)]TJ +/T1_0 1 Tf +0.122 Tw T* +[(Picture )1(6 )1(represents )1(an )1(e)30(xample )1(of )1(composition )1(betw)10(een )1(diff)30(erent )1(planes)15(.)60( )1(It )1(is )1(possib)20(le )1(to )1(obser)-30(v)25(e )]TJ +0.052 Tw 0 -1.2 TD +[(ho)15(w the video content is displa)30(y)20(ed b)20(y the b)20(lac)20(k region in the video/image selection plane in the \336)250( )80(nal )]TJ +0.001 Tw T* +[(composition.)60( Similar)-15(ly)100(, the contents of the static images plane are displa)30(y)20(ed in front of the video in the )]TJ +0 Tw T* +[(video/image selection plane )29(\322white\323)40( region.)]TJ +0 -2.291 TD +[(The te)30(xt and g)10(r)10(aphic plane content is alw)15(a)30(ys displa)30(y)20(ed in front of the other planes)15(.)]TJ +ET + +endstream endobj 903 0 obj <> endobj 1222 0 obj <> endobj 1221 0 obj <>stream +BT +/CS0 cs 1 scn +/GS0 gs +/T1_0 1 Tf +8 0 0 8 417.7962 38.134 Tm +[(\251 ABNT 2010 - All r)-15(ights reser)-30(v)25(ed)]TJ +11 0 0 11 45.3266 35.8089 Tm +(20)Tj +/T1_1 1 Tf +0 68.648 TD +(ABNT NBR 15606-4:2010)Tj +8.471 -4.896 Td +[(T)80(ab)10(le 5 \226 Details of functionalities f)19(or the still picture plane)]TJ +ET +q +1 0 0 1 262.7250061 698.1100006 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 79.8070068 697.8600006 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +182.918 0 l +424.268 0 l +S +Q +q +1 0 0 1 262.7250061 677.1130066 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 79.8070068 676.8630066 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +182.918 0 l +424.268 0 l +S +Q +q +1 0 0 1 262.7250061 656.1159973 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 79.8070068 655.8659973 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +182.918 0 l +424.268 0 l +S +Q +q +1 0 0 1 262.7250061 635.1190033 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 79.8070068 634.8690033 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +182.918 0 l +424.268 0 l +S +Q +q +1 0 0 1 262.7250061 613.8179932 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.801 l +S +Q +q +1 0 0 1 79.8070068 613.5679932 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +182.918 0 l +424.268 0 l +S +Q +q +1 0 0 1 262.7250061 579.6210022 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 79.8070068 579.3710022 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +182.918 0 l +424.268 0 l +S +Q +q +1 0 0 1 262.7250061 545.423996 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 79.8070068 545.173996 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +182.918 0 l +424.268 0 l +S +Q +q +1 0 0 1 262.7250061 524.427002 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 79.8070068 524.177002 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +182.918 0 l +424.268 0 l +S +Q +q +1 0 0 1 262.7250061 503.4299927 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 79.8070068 503.1799927 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +182.918 0 l +424.268 0 l +S +Q +q +1 0 0 1 262.7250061 482.4329987 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 79.8070068 482.1829987 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +182.918 0 l +424.268 0 l +S +Q +q +1 0 0 1 262.7250061 461.4360046 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 79.8070068 461.1860046 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +182.918 0 l +424.268 0 l +S +Q +q +1 0 0 1 262.7250061 440.4389954 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 79.8070068 440.1889954 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +182.918 0 l +424.268 0 l +S +Q +q +1 0 0 1 262.7250061 419.4420013 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 79.8070068 419.1920013 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +182.918 0 l +424.268 0 l +S +Q +q +1 0 0 1 262.7250061 398.4450073 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 79.8070068 398.1950073 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +182.918 0 l +424.268 0 l +S +Q +q +1 0 0 1 262.7250061 377.447998 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 79.8070068 718.8289948 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +182.918 0 l +S +Q +q +1 0 0 1 80.0570068 698.1150055 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 262.7250061 718.8289948 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +241.35 0 l +S +Q +q +1 0 0 1 503.8249969 698.1150055 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 80.0570068 677.1179962 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 503.8249969 677.1179962 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 80.0570068 656.1210022 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 503.8249969 656.1210022 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 80.0570068 635.1239929 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 503.8249969 635.1239929 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 80.0570068 613.822998 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.801 l +S +Q +q +1 0 0 1 503.8249969 613.822998 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.801 l +S +Q +q +1 0 0 1 80.0570068 579.6260071 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 503.8249969 579.6260071 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 80.0570068 545.4290009 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 503.8249969 545.4290009 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 80.0570068 524.4320068 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 503.8249969 524.4320068 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 80.0570068 503.4349976 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 503.8249969 503.4349976 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 80.0570068 482.4380035 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 503.8249969 482.4380035 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 80.0570068 461.4409943 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 503.8249969 461.4409943 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 80.0570068 440.4440002 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 503.8249969 440.4440002 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 80.0570068 419.4470062 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 503.8249969 419.4470062 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 80.0570068 398.4499969 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 503.8249969 398.4499969 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 80.0570068 377.4530029 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 503.8249969 377.4530029 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 79.8070068 377.2030029 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +182.918 0 l +424.268 0 l +S +Q +BT +/T1_1 1 Tf +11 0 0 11 148.1702 704.0959 Tm +(Function)Tj +18.623 0 Td +(Description)Tj +/T1_0 1 Tf +-24.248 -1.909 Td +[(getBitsP)50(erPix)30(el\(\))]TJ +16.607 0 Td +(16)Tj +-16.607 -1.909 Td +(getColorCodingModel\(\))Tj +16.607 0 Td +(ColorCoding.YUV442)Tj +-16.607 -1.909 Td +[(getSuppor)-40(tedPix)30(elAspectRatios\(\))-1869(Ditto as the Gr)10(aphicPlane)]TJ +0 -1.923 TD +[(getSuppor)-40(tedPlaneAspectRatios\(\))-1449(Ditto as the Gr)10(aphicPlane)]TJ +0 -2.523 TD +[(getSuppor)-40(tedScreenResolutions\(\))]TJ +16.606 0.6 Td +(A single Dimensionobject with the dimensions )Tj +0 -1.2 TD +(of the still picture plane at that moment)Tj +-16.606 -2.509 Td +[(isAlphaBlendingSuppor)-41(ted\(\))]TJ +16.606 0.6 Td +[(T)120(r)-15(ue \(implemented through the video/picture )]TJ +T* +(selection plane\))Tj +-16.606 -1.909 Td +[(isGIFRender)-15(ingSuppor)-40(ted\(\))-4269(F)50(alse)]TJ +0 -1.909 TD +[(isGr)10(aphicsRender)-15(ingSuppor)-40(ted\(\))-1945(F)50(alse)]TJ +T* +[(isImageRender)-15(ingSuppor)-40(ted\(\))-3157(T)120(r)-15(ue)]TJ +T* +[(isJPEGRender)-15(ingSuppored\(\))-3643(T)120(r)-15(ue)]TJ +T* +[(isPNGRender)-15(ingSuppored\(\))-4088(F)50(alse)]TJ +T* +[(isRealAlphaBlendingSuppor)-41(ted\(\))-2060(F)50(alse)]TJ +T* +[(isVideoRender)-15(ingSuppor)-40(ted\(\))-3379(F)50(alse)]TJ +T* +[(isWidgetRender)-15(ingSuppor)-40(ted\(\))-2824(T)120(r)-15(ue)]TJ +0.469 Tw -3.724 -2.881 Td +[(The com.sun.dtv)80(.ui.DTVContainer associated with this com.sun.dtv)80(.ui.Plane will suppor)-40(t \320 in )]TJ +0.05 Tw 0 -1.2 TD +[(addition to the de\336)250( )78(nition of a la)30(y)20(out manager \(setLa)30(y)20(out \(\) method\) \320 only the addComponent \(\) and )]TJ +0.07 Tw T* +[(remo)15(v)25(eComponent \(\) calls)15(, and only when the component passed as the par)10(ameter is of the br)50(.org.)]TJ +0.08 Tw T* +[(sbtvd.ui.StillPicture )1(type )1(\(see )1(Anne)30(x )1(G\).)60( )51(The )1(other )1(methods)15(, )1(although )1(the)20(y )1(do )1(not )1(gener)10(ate )1(an )1(error )]TJ +0.071 Tw T* +[(in the application, ha)20(v)25(e no eff)30(ect because the)20(y ref)30(er to oper)10(ations that are not suppor)-40(ted b)20(y the still )]TJ +0 Tw T* +[(picture plane)15(.)]TJ +0.001 Tw 0 -2.291 TD +[(Through a com.sun.dtv)80(.lwuit.plaf)30(.Style associated to the com.sun.dtv)80(.ui.DTVContainer object instance )]TJ +0.078 Tw 0 -1.2 TD +[(of this plane)15(, a solid bac)20(k color \(without tr)10(ansparency\) can be de\336)250( )106(ned.)60( )50(This color shall be displa)30(y)20(ed)]TJ +0.05 Tw T* +[(as a content of the still picture plane in all regions of this plane tha\ t are not ful\336)250( )78(lled b)20(y objects of the )]TJ +-0.044 Tw T* +[(br)50(.org.sbtvd.ui.StillPicture kind.)60( )50(This color shall be de\336)250( )-16(ned in the RGB888, color model, which is natur)10(al )]TJ +0 Tw T* +[(of J)20(a)20(v)25(a\325)50(s en)20(vironment, being the con)20(v)25(ersion to a )90(YUV442 color model made b)20(y the platf)30(or)-25(m.)60( )]TJ +/T1_1 1 Tf +0 -2.291 TD +[(8.4.3.5 )-736(Video plane)]TJ +/T1_0 1 Tf +-0.021 Tw T* +[(The video plane displa)30(ys the elementar)-30(y video )1(stream of the ser)-30(vice)15(, or \(optionally\) video monomedia.)60( )]TJ +0 Tw 0 -1.2 TD +[(The content displa)29(y)20(ed in this plane can be handled through the JMF controls)15(.)]TJ +0 -2.291 TD +[(The retur)-25(n of the getID:)50( )30(\322VideoPlane\323)40( is detailed )50(T)120(ab)20(le 6.)]TJ +ET + +endstream endobj 899 0 obj <> endobj 1220 0 obj <> endobj 873 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text]>>/Rotate 0/TrimBox[0.0 0.0549927 595.22 841.945]/Type/Page>> endobj 876 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text]>>/Rotate 0/TrimBox[0.0 0.0549927 595.22 841.945]/Type/Page>> endobj 879 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text/ImageC/ImageI]/XObject<>>>/Rotate 0/TrimBox[0.0 0.0549927 595.22 841.945]/Type/Page>> endobj 887 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text]>>/Rotate 0/TrimBox[0.0 0.0549927 595.22 841.945]/Type/Page>> endobj 891 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text/ImageC]/XObject<>>>/Rotate 0/TrimBox[0.0 0.0549927 595.22 841.945]/Type/Page>> endobj 1219 0 obj <>stream +BT +/CS0 cs 1 scn +/GS0 gs +/T1_0 1 Tf +8 0 0 8 56.6651 38.2639 Tm +[(\251 ABNT 2010 - All r)-15(ights reser)-30(v)25(ed)]TJ +11 0 0 11 537.6613 35.9389 Tm +(19)Tj +/T1_1 1 Tf +-10.613 68.636 Td +(ABNT NBR 15606-4:2010)Tj +ET +q +1 0 0 1 284.4920044 705.4680023 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 102.1159973 705.2180023 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +182.376 0 l +402.326 0 l +S +Q +q +1 0 0 1 284.4920044 671.2709961 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 102.1159973 671.0209961 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +182.376 0 l +402.326 0 l +S +Q +q +1 0 0 1 284.4920044 623.8739929 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 46.897 l +S +Q +q +1 0 0 1 102.1159973 623.6239929 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +182.376 0 l +402.326 0 l +S +Q +q +1 0 0 1 284.4920044 602.8769989 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 102.1159973 602.6269989 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +182.376 0 l +402.326 0 l +S +Q +q +1 0 0 1 284.4920044 581.8800049 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 102.1159973 581.6300049 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +182.376 0 l +402.326 0 l +S +Q +q +1 0 0 1 284.4920044 560.8829956 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 102.1159973 560.6329956 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +182.376 0 l +402.326 0 l +S +Q +q +1 0 0 1 284.4920044 539.8860016 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 102.1159973 539.6360016 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +182.376 0 l +402.326 0 l +S +Q +q +1 0 0 1 284.4920044 518.8890076 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 102.1159973 518.6390076 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +182.376 0 l +402.326 0 l +S +Q +q +1 0 0 1 284.4920044 497.8919983 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 102.1159973 497.6419983 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +182.376 0 l +402.326 0 l +S +Q +q +1 0 0 1 284.4920044 476.8950043 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 102.1159973 476.6450043 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +182.376 0 l +402.326 0 l +S +Q +q +1 0 0 1 284.4920044 455.897995 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 102.1159973 726.1860046 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +182.376 0 l +S +Q +q +1 0 0 1 102.3659973 705.4720001 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 284.4920044 726.1860046 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +219.95 0 l +S +Q +q +1 0 0 1 504.1920013 705.4720001 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 102.3659973 671.2749939 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 504.1920013 671.2749939 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 102.3659973 623.878006 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 46.897 l +S +Q +q +1 0 0 1 504.1920013 623.878006 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 46.897 l +S +Q +q +1 0 0 1 102.3659973 602.8809967 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 504.1920013 602.8809967 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 102.3659973 581.8840027 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 504.1920013 581.8840027 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 102.3659973 560.8869934 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 504.1920013 560.8869934 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 102.3659973 539.8899994 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 504.1920013 539.8899994 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 102.3659973 518.8930054 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 504.1920013 518.8930054 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 102.3659973 497.8959961 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 504.1920013 497.8959961 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 102.3659973 476.8990021 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 504.1920013 476.8990021 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 102.3659973 455.9019928 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 504.1920013 455.9019928 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 102.1159973 455.6519928 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +182.376 0 l +402.326 0 l +S +Q +BT +/T1_1 1 Tf +11 0 0 11 170.2082 711.4549 Tm +(Function)Tj +17.626 0 Td +(Description)Tj +/T1_0 1 Tf +-23.226 -2.509 Td +[(getSuppor)-40(tedScreenResolutions\(\))]TJ +16.557 0.6 Td +(A single Dimensionobject with the )Tj +0 -1.2 TD +(dimensions of the video at that moment.)Tj +-16.557 -3.109 Td +[(isAlphaBlendingSuppor)-41(ted\(\))]TJ +16.557 1.2 Td +[(T)120(r)-15(ue \(The video/picture selection plane is )]TJ +T* +[(the mode whereb)19(y the still picture plane )]TJ +T* +[(implements alpha b)19(lending\).)]TJ +-16.557 -1.909 Td +[(isGIFRender)-15(ingSuppor)-40(ted\(\))-4220(F)50(alse)]TJ +0 -1.909 TD +[(isGr)10(aphicsRender)-15(ingSuppor)-40(ted\(\))-1896(F)50(alse)]TJ +T* +[(isImageRender)-15(ingSuppor)-40(ted\(\))-3108(F)50(alse)]TJ +T* +[(isJPEGRender)-15(ingSuppored\(\))-3593(F)50(alse)]TJ +T* +[(isPNGRender)-15(ingSuppored\(\))-4038(F)50(alse)]TJ +T* +[(isRealAlphaBlendingSuppor)-41(ted\(\))-2011(F)50(alse)]TJ +T* +[(isVideoRender)-15(ingSuppor)-40(ted\(\))-3330(F)50(alse)]TJ +T* +[(isWidgetRender)-15(ingSuppor)-40(ted\(\))-2775(T)120(r)-15(ue)]TJ +0.469 Tw -4.722 -2.881 Td +[(The com.sun.dtv)80(.ui.DTVContainer associated with this com.sun.dtv)80(.ui.Plane will suppor)-40(t \320 in )]TJ +0.072 Tw 0 -1.2 TD +[(addition to the de\336)250( )100(nition of a la)30(y)20(out manager \(setLa)30(y)20(out \(\) method\) \320 only the addComponent\(\) and )]TJ +-0.079 Tw T* +[(remo)15(v)25(eComponent\(\) calls)15(, and only when the com.sun.dtv)80(.lwuit.Component is passed as the par)10(ameter )]TJ +0.154 Tw T* +[(is of the br)50(.org.sbtvd.ui.SwitchArea type \(see Anne)30(x G\).)60( )50(The other methods)15(, although the)20(y do not )]TJ +-0.039 Tw T* +[(gener)10(ate errors in the application, ha)20(v)25(e no eff)30(ect because the)20(y ref)30(er to oper)10(ations that aren\325t suppor)-40(ted )]TJ +0 Tw T* +[(b)20(y the video/picture selection plane)15(.)]TJ +0.04 Tw 0 -1.973 TD +[(By means of the com.sun.dtv)80(.lwuit.plaf)30(.Style associated with the com.sun.dtv)80(.ui.DTVContainer of this )]TJ +0.074 Tw 0 -1.2 TD +[(plane)15(, the video content that will appear o)15(v)25(er the Still Picture Plane can be de\336)250( )102(ned, and vice-v)25(ersa.)60( )]TJ +0.093 Tw T* +[(The )1(instances )1(of )1(com.sun.dtv)80(.lwuit.plaf)30(.Style )1(associated )1(with )1(this )1(component )1(ma)30(y )1(only )1(contain )1(solid )]TJ +0.164 Tw T* +[(colors \(ja)20(v)25(a.a)20(wt.Color\).)60( )50(The color b)20(lac)20(k, ja)20(v)25(a.a)20(wt.Color)50(.)60( BLA)30(CK, represents that the video shall be )]TJ +0.039 Tw T* +[(displa)30(y)20(ed o)15(v)25(er the Still Picture Plane)15(.)60( )40(With the use of an)15(y other color)50(, the contents of the Still Picture )]TJ +0.125 Tw T* +[(Plane will appear in front of the video)40(.)60( )50(Thus)15(, the applications use a J)20(a)20(v)25(a \(RGB888 or ARGB8888\) )]TJ +0.002 Tw T* +[(color model in order to control the video/image selection plane)15(.)60( )50(This )1(API implementation )1(will )1(mak)20(e the )]TJ +-0.056 Tw T* +[(con)20(v)25(ersion of the J)20(a)20(v)25(a color model to the color model of the video/image selection plane)15(, in accordance )]TJ +0 Tw T* +[(with the f)30(ollo)15(wing function:)]TJ +/C2_0 1 Tf +10 0 0 10 56.6651 163.0179 Tm +<0003>Tj +ET +q +92.666 163.018 288.11 61.951 re +W n +q +/GS2 gs +288.6339874 0 0 62.0639954 92.628006 162.947998 cm +/Im0 Do +Q +Q +BT +/T1_1 1 Tf +11 0 0 11 56.6652 149.8179 Tm +[(8.4.3.4 )-736(Still pictures plane)]TJ +/T1_0 1 Tf +-0.019 Tw 0 -1.973 TD +[(This is the plane upon which the application can displa)30(y images with high resolution and color depth in )]TJ +-0.036 Tw 0 -1.2 TD +[(the JPEG f)30(or)-25(mat.)60( )50(T)120(ypically)100(, it is used to )1(de\336)250( )-8(ne )1(a bac)20(kg)10(round plane f)30(or the application on screens where )]TJ +0.04 Tw T* +[(the video is resiz)15(ed.)60( Ho)15(w)10(e)30(v)25(er)50(, through combined use with the video/picture selection plane)15(, it )1(can be )]TJ +0 Tw T* +[(used to displa)30(y high-resolution JPEG images o)14(v)25(er the video)40(.)]TJ +0 -2.231 TD +[(The retur)-25(n of the getID:)50( )30(\322StillPlane\323)40( is detailed in )50(T)120(ab)20(le 5.)]TJ +/T1_1 1 Tf +18.106 61.188 Td +[(T)80(ab)10(le 4)]TJ +/T1_0 1 Tf +[( \(contin)10(ued\))]TJ +ET + +endstream endobj 892 0 obj <>]/Filter[/DCTDecode]/Height 130/Length 20523/Subtype/Image/Type/XObject/Width 601>>stream +Adobed     $''''$25552;;;;;;;;;; $$22;222;;;;;;;;;;;;;;;;@@@@;;;@@@@@;@@@@@@@@@@@@@@@@@@@@@YB +  +  3!1AQa"q2B#$Rb34rC%Scs5&DTdE£t6UeuF'Vfv7GWgw;!1AQaq"2B#R3$brCScs4%&5DTdEU6teuFVfv'7GWgw?TRI)I$$JRI)I$$JRI)I$!]}6dXX9sВUUcZA-$H$.=k-$@ c+a\`;VI:;}^5vƸ9塿4:UEɷֲx ocy[.r\汥0$ ^V#Ŕ71@#XI 2qȳ)qew-pt$O\[n76s2&4FM6KZck[`l +/~{qs+}Ѭ27H ϫ]{Ͳ+;果,imb\NG(&G$b [l47vߌe$U԰mγsNUM2֘EOͯ +^[^k=syh?$k_[=()U[}:CX8f\|:ט懟4Fϫ={YXV2Ai%څuجgO}dZXkLq&-v+[Y4V;JOTʧ +Cr2 UPtw*rqͦ;=kxk7h$> + kJRI)I$(XX `.'%%(5'@1rhǯ+mhuo$b_f.K wR]w-sL~j#3 X׬읻>Jˑ_n?#va$I%)$RIJI%)Wnf3cY q ;Ð-!5P$i$ }8/{kl. qeoki{hIJ$*y V\>8) I~]3 si{ɢU$RIJI%)$RIJI%)$RIJI%)$RIJI%)$RIJ\Z_ LN-;D_~zW0W8::a$0; X=}W7;WPq e۽F%]lJZV/Q#}bgwRfuwP7;t'TCGGN=E~A7f[[cq*5{^߁ދ9deEM 7)XkouL'\ƴ$nkˉH΍ѺW(|lFYd7u,0C>MH:WPz7T/, >nl쪘Sosq]l5c4](o3t~թ1s=CS$Cupl⃉s'OuZ ֵ846R[g/LΧOKN4+7N}[f+5Y!΍'5yyvfCU9X֓pn:Xm+'^wO5c:[ǒ(eWcAqo u7/1;msϩ+S/``?SF;۳c@Dh[!k99,{\2jZ,&Ip3g/W;8UHh.#M2+OgC -Cuvc@ƊK cv11(ꘝBލfIdVL7="dBJga̮:IoJZT4[; T:_PΧD/`c\\|'tl +`]Pq0/quUe]{;G2`qOm]VۓMd1=&sr:NwIt~-Փe?ek O]x\mn$:!e|^Ҳ:GO]Elin +)?V:-mNϭ¦AskD*I~TYֶ n h)yϧ+*9{[CYqư KoNoO++ u+-Hs[;tjUEZ5_udL|^#u ,Ŀt7 +Si3{[ysؖr^ZKAcO@.: ]uZ fUM msG4oju>հǒ`!up0 ht@[:_Hs\׍{^ \Ǵx\,g\1i~^A²k= $  {S +YVn5v^ӱkm5[ouKe:151kpl&=cc4[?߷ {9 ĵد}}6qj +Ec%};ڈ-Cw%a(4]WIտ􂽛շ`g4YE݌ԸlZ89]-^mkKr)ye#ݺ"ߚCnʃm}[CDz$Bg]geWђͱt Q:P=>斌;o>L#[ iIgjcAHZrG#?c9 tn|>@JH%<| ܳUa@ {Szv'H}uf㜋s%Imb.."tnzFcm f:(ckvYʉ:!ߝ.ް^^.}Jfźyhɣ ;-}u_OckC[`sLD/P~?!{4}VwnۈiVwՌJOK=ꡮAlmNu֥gu[#rq[u5㵭 I>(Rnr].θ/.[*ǥeɱΰ58ʱszGEeS[r)ȭC R _t~[e4_mca5FZ:WKf#(ɴlm #Q4Ij~]R]sZ@qkkIq(c; 7?7*P}sdzocK)R&OJ8]7'd]KKClk!g?6v-_2 GgN4WnxQ[W||jWppvF} xJ0V torA{*աON7eu|siQI_Q5c-߸"XoKgE53XS Lw+VԺ{:Dn;2ȱ51)uN7O7GSfKݑf-*m}{@f}`X_):N},3Ҵ7tiotB ]Wkه]UwM{{6j=.Fc:986K,̹pjs@}Gs:6^ƳkhxP1rnكSnbCƵmpt+GC~_M>>OM\FcI}%{ڷchn_*uu;ȪRWQH'peiWogM#pM/o>h>v3cˆڦ2I)I$$JRI)I$$JRI)I$$JRI)I$$JRI)I$$6Zwz.﬿&yԒRIJCeN}L6= '\ cuj1pzEc:nASmuwlbt03ze )!@ѧtվs20(\\=Ft(if67R˦W]kZ9V~NуK1s+ ٙٽFg[l<8IX7ݙY]oN~kl;ήWӋz6NMBjy6YI0,k[\ߘg[z3ّun]Z:IQ:Qz5$u6~W/Hyd<9~l& +!z^ q:{o5]q߾ 9?>ЯwE euEv^9u TC+gZ}Fnk. ˥m}V6G SK:NgMؗjsM9Zւ)Z)Uuާiȹ˫u>:Z1-~걬ݽ!hκ \OO6̦WvM%Zucq!udt>Ӿŋ:{lcac!LrJun3:wU-k9cfLдzAXXo٭۞ 1MiT\CzF ]D;&~:{ |~_֫3 DEeo;y+U:UF{Z" GSu2qf>cEW =h:# +n:GL{YŻci녭`9ԺvWZU ps2*omw3P7$xEGK]\`1k%_+1?3/k>H[uc}Pnc2a_gk7e`˄dt<:n_H#+#V^Zn.n%j[`g;ufL~k2f {k/KelsH/cQa}p H{+E7/}+7uh^QeOcap"{x}cFu^CpًMcZsx jfetoHw?5vnNK+r$³pzg1m*= 9"Aq:_͡-U븝_:d3& v懟B ct}ųչ+s^dĠ>uWt:p1 _w-vCcCF$4Q]lع p]ACM78jְ~阌ˤ3sk Ө3%Qx9]'잣f~Ps(溶W25iPdXpkækXaCL6Y`[fnmUkc /۶?%_f8áFA2ӝG]{s/s{lּZw VSz/Xt<Ҝ}9ۙcZ6C{=>htYuΏՇjh ہlf,1Mv%}9Ba 5#-MHoRVGCv?P$48kgMFLꘙ} # 1&ޙѸҶr1˥,mX6)ܪ/dc[[c kpտ0#eotWo؋?JY}?!fz[CY\E;~)ZZԺ-{SX>$FeՅU5QX6 55| O{y\$ޟWGk}mX1h{ S6#zkzVL, c,ݸGtE-Ws3Գhc`qvW]ަͤ4WrwU1XqDC&rzOS}#x oky~65/HOYk1[mmǧ{qqHoNgN)ᆰm"HkZnTb]0:Z!+ԶheR7lƽӕ^sNV)R_Hmo ut̻߃1kFE{6}`47N wa&Wi +nRU&頻e:fdVB?ZvoPqr{1c`Ν4fik4nSYQ?X3zx8-Cy,up4=-I[NٽA%ç-ɟLGduNUT5| &j0CRMSW/zuّ`];!{3MܭvU945mlbLI<%h *n Ŀ#5̛,~Evz; nA*Y];޷OO(ea^c;]]io +I3cEο[K=lknk`RoDO :1srcCZӸ:24 Z\p2zubXl却:%ţl%W8Z8Y]Kzޛe!A|'*l_"zHaSU.5IJI%)$RIJI%)$RIJQsZ\d&JRoYWF 1q55ߤlxyb=|>XnMŶYs,2M{tf,sߕ-H:,ǃGjGuf1qaƸeѦ;9tsc\X=ƹIGJ:V5LqfK[mX(ba=M-t2\[h%l0;*dt,:>d<]!ʋ}VY/-ud9A\:mlphW*WKo>MovV8]II:ZV RmƦMֲs)I+}+iqhJݒtf>>e;N^bߗ~KA' tZc::0d'${ wL3,Snu'UЦpIJI%)$RIJI%)$G~koėǶ$F6QmZlf3=:XZ7ɬ yRIJI%)$RIJI%)$RIJI%)$RIJI%)$RIJI%)$RIJI%)$RIJI%)$RIJI%)$RIJI%)$RIJI%)$RIJI%)$RIJI%)$RIJI%)$RIJI%)$ ګu0| Rt s~Yrzy_ 'b;3pk؝7#?~'T?-wI8a') ޼\ ]''noXn[\+c{ijm}Nuu1.ssÎ]p"[dTtѵo5>"c}oҨ[U5He~4I,73=UsIp[qGQΑփjޢ@"{kS Sӝ}7>a,` 8kt+wj.=t)X9 Dk۫%-RI)I$$JRI)I$$JRI)I$$JRI)I$$JRI)I$$JRI)I$$JRI)I$$JRI)I$$JRI)I$$JRI)I$$JRI)I$$JRI)I$$JRI)I$$JRI)I$$JRI)I$$JRI)I$$JR]9Rs4#B12cV^;hE61^/QgTkYo^g&#vyVFaɣӅfhCI5)X qw I$-NQ>>c +7qt) +zn 8TYKw\{J +۳^Ctxk|+i%I)I$$JR纻C>msۖǑ˚ewʪeNsA԰$Xʮbю˫eu95p:n>%gȳ&kapJtḞѢwE\KIqLhZcrr8[~MZń+%Vzyxny#mk孰U닞2,e5 s0I-,.eEV_iq]CsS36&Mӑm Z"1*Gsv^5y[M.S;\Xd{1YY0H-  + Y]3.,zwU!P-$AU^׷̻#%(a@FM6zwD4)lvFMcKAOJ`mƶZa< yJĒ}N:2=սhâXt{\ᓒ><*M3#qq|CyXY~7pM"hykËL|Qd}\Eq(ȶhc5d;kln@%x䱯cmhpm-pŧ¾ceskqauna6Ak.nk{#{Nn[1)Yt.벘-eU&۫AW:^VFWZΘSm)]O3u +}I_U E- 8 F}o5S;2SC %HIO.uu3")}nMpډG+*}fuk=-kͮ#:#]XbS7:^J{CN %,/X}ce4[!Ф2rjU-cc]s+{~o s-//aw;JK[r=5 d綡V[/DF&HƯ$VpeA!Aȳ[ݮt6LfoSˠ՛uU^FƆ4!,7Tίqzv }]Xۉs ϫaXf{9,=U>VkƳ_0;#ᶷCe9$SWuU@5ƵT^(v:shcH,`Z I{Q̬]өvEK^+y:Ƕ|\βs\NNߍquGG6 +E@ÉN?Pb3f.ulh᬴IQY;/C,yaPšsu$-YV,gHǿ219u"m{ZW[,k&8UjzNxv#,8zZZZx)'P̻p83;>s\.:Uw8l 9|JM^\X9-lLxtx=C+me9&Q'J 3oO}4 +^+ygL!nm9?a~A.y脩KYNcܛhfK,8v{OyPoּs},r+mǴ~umtNRg:E[G*mx0~'ι9m- +lٸ=8Ti䱍mȦmy֍IJ Ϭ}Oɼ*c };u+_ۍ[w:J W\[2r1;Ycm ,%GGb= YS<'BT& FI&}ngtoBy?Y:{ZR d5`yw`di@;3Ukm}.i{}S[\['pN}mű(ŶeWKCH^;+?Uz̯ߏ^E:Ko1S>u{(./~PEX6=$E _nKMuv=Y=amm엇üQ!nкSnFW-xsla!͒]j $RIJI%)$RIJI%)$RIJ\Z_ LN-;D_~zW8.1W0.]!ߐ`ϻKty#k)g\/ECjls7){3=m==&%$k}ozwM]#/2uv +a{7GVιF.%?cz2m0D6cG'z7LGc+,lu97~]ms.-Emx23=Ofi`<6CݬѮA,nY 浡v5 N StލѲ*.ʳ2me s9Kv(/KܐK-D4DJEV}z:gO}c}Gwm7+$f|m۝Xz?DVMum +I5tz2esB"egv^6?Cu54Yq .sgbዑg]\,gW^{ 7UWf Yx WC웫k8^Z6>A:].k6`nE |wXl{?vhwLc;2]EN% s1nQ: j=ch o>N-;!LW"édQ+QwUDz49*]tzk*kɢ,s˟yv_3˱Vb]X&ױ|:x>eFS lc2]Y- +EC^VS~}6ݏFhm]s bƋHZxj]+q uv8]ĐҸW;2@ϸ7pkH$i2kԭ^Go@_ٸdmS?͂':I>.,w+.zՋz#ٚÓEƁmB\?GxҾt*^Vg좦)}]gS˲:K\( jr}bdcUkXCxl7-?Ws]]lXi}YK'a8'&Sn,m_@a*ο[1F#c_$]/hka?=Rbe`9̋YsL)io7;f=.uK=+v4[U:z0|gz-v*]/k_Pȸ=E>Ҿ}\=uJ2CWpT䑠DVg+ԺG]q0m +ZoﴍUtnpOmci WY>qo-ڲp ^nFN5;@e>mGDޥ~MՐ)MTؕuF~vE}CmdE5 +\^5_.ΉkǷi;YEgN{tk,ڜLfZnWn:ͻnF]f[}6?sV341I0_jm.{b5&NqvYfu+5ik^IZOc{ +ˣUm7`9V k˫6|U:;=7 ]hs={mKp}bvexXy5WD[8؟XAo{OYf?ޗEw#X_pX_],^vKwS_P67K[t$&ʮ+юbznK+o5 >:=]2?ȶʈpeEqQ6UҺ'Wf-y׋Uw5՛/WnpC.h.6ۓ@ocC< ++]75u|Lefvfc_G]bu}7l,ecΕclk읧q6NDu[o?]9ͳ?8b6O,:ݖT{Usoud9S\$ I/? ۳i~4Rֲ=߬%pRu=uimli-n|@#D}sӱZuGa몯5`~U&0m5yZ}rc}[YC130cnkA TuUɿ#Lۓ[}Lo׋4lX` ƣ| Q֟UƋaWc{ Sߵ*lGU_{\lkƍu"@IM,eSqwHV72{ELr>^Pi-qsMݥdtk?v905͓=Q(XǷ#[f/նg2~>eosncp}w} +Lv'D=:ܻKw~KEezZGt4ۙ:oSۙ_TvVU15*JCղ0}np#vZFc[umwi:ty$RIJI%)$RIJI%)$RIJ\Z_ LN-;D_~zW&ʪkIuN,>$KHEf=:րCG $sA3䧮j{{ :ǹk\hLV2-ǩ"09<DH̼v=wX_kk- +sZXjaiw[A|.9ITնg{nɓb6!,,<ӕEwjcn%S*2q})!ޛdx)2ky}lk-h%%0/q O*-mN0TXh t!%S#ui{2#)=6dm6s^`;!3⚼LZ?J3hyk`hU.ﴽX]\O'T11rK.h6Ƶ| +JQ~3\kKVjXƆRmn{{%'̔7`>zpƗTJJc/)V`MA0لSUN64א74@<9A"t1V2-ǩ"09<DH̼v=wX_kk- +#mkK;@% +JFHN2/<iIߝr-=ލU ick%0O}R= vIicc^k;\-wRtT20pTW~=F5RU$++طYKGHSm52EVza6m$es\L&|e=uWKu19q{sdd)V疴cX0mh&`xTI)I$$[}p2%$RZSugc^Z|@0T 52s7GqRSr/X[$qqױ԰ӺZ!蒩amdGST,7cixqO))m'h2iTzN/Eh˫%nS(=FVgڱ-l6ÏnLL]eww>{@A4Ի'##iȵ[<(S+kXKր w2S9đuӅ|!%1PUcukK\>&Y-hi8JYg{$I~%$I%)$RIJI%)$RIJI%)$R?n{dcu,N찷Ā&}Xƶ.Ⳬ[jϠxPkI+O\ܮsna:9P"n_R}Ce; P{#<8yuRIJI%)$RIJI%)$RIJI%)$RIJI%)$RIJI%)$RIJI%)$RIJI%)$RIJI%)$RIJI%)$RIJI%)$RIJI%)$RIJI%)$RIJI%)$RIJI%)$RIJI%)$RIJI%)$RIJI%)$RIJI%)$RIJI%)bg}SfQ#旓v~%.֮&",!tVX/  'iJE;:$}]s'#"iз*k[[k4>6 jcj ťĴmi&DI)I$$JRI)I$$JRI)I$$JRI)I$$JRI)I$$JRI)I$$JRI)I$$JRI)I$$JRI)I$$JRI)I$$JRI)I$$JRI)I$$JRI)I$$JRI)I$$JRI)I$$JRI)I$$JRI)I$$JRI)I$$JRI)I$$JRI)I$$JRI)I$$JRI)I$$JRI)I$$JRI)I$$JRI)I$$JRI)I$$JRI)I$$JRI)I$$JRI)I$$JRI)I$$JRI)I$$JRI)I$$JRI)I$$JRI)I$$JRI)K +endstream endobj 719 0 obj <> endobj 720 0 obj [722 0 R] endobj 721 0 obj <>stream +H\j0 ~ +C]C`t rZ[I l琷&AO/- ua縰Cq ޕM6)-ps>xT9Kw-)}ㄔ@ӀAn']SEy= \BUo=:dK#H5PJ5 +wrq?ۘq=xr );(A#o +endstream endobj 722 0 obj <> endobj 723 0 obj <> endobj 724 0 obj <> endobj 725 0 obj <>stream +Hj0 +endstream endobj 726 0 obj <>stream +H\U t?A"ly !"Ylي'a,=P dk Th5TY KRD=~Gof;3߽s(F̠akOǑ|G9C܇33saSΨqp˜<'lVyc51}‰W?NY{#w"+w^ _ 47>ZZsFkI@b=Ss'9k]V{kԃ莲052 \8FiOyS}j;TC\kDW^{ߗ3&ϱWt=._ ZྴAT/>Uc/Q0 B2`**: pn$[v+eNQ҆;/F=n/ץ-G +[ߣZb>C]}ZuR'4;Nn؉ҏc.܉ɜE^7gG0+dN0A8^@oP)-m/xڨMmcs%P:J9EO\fF۰GI;`~[)NJ?I +9KLo `k&p{<p\p93Lg I"Kx,-5ߎezu ` 0;A|U'CfoW2Eh=kv`7q^"edrY-R*Kc16+5@3(dbW2 pG8-ꄺS'nfYo |(ܓJrd|G+e=\zʙlu.>&luO~B"D,:32M/yX",c&lߟ[' %lˬ[(ˈuM!9"WQTs"BuR=UJVj!JTMDuQҕDZ=bM;W˧w~FW7H;d,1Kp_|50S)1@#Q2HqE̗y[ +Y*Wc-}+d%e^n$VZhՕ&jJd<"_MS3yBSGtz^H't2Bsʹ<1!&d栫+5•ZurvssqaT:!M}g{PE2sz^6r_{l=nΓsiCLX٪$-pޓTNPMi')47uqMPt.B(Fu +犪˼ՋNJebvbd3ٌwXZ3F\^ܗTi^W]e+4|yO)ӥ_=Zҙe3:U%\`u_]'Y]*5抖?R-iIT zпJS<۬#11xMCub4E{e.FZy@&PP?vK%jLnY/±1(U,fU ©I2Q xXiNcǿY ^g7BwN$Y{S9c?U1 ›܃|B]msa6kT#ȶkj m1Udb-δ; Li8#ߥԣ0i=z}(rS;{%,8Vk]-EW*:2R"ȲQ6Ԟ43%5bx|/u׵KNc;o6*MV-ZxzB5mҸы ԯWN\`@nqD&y<4MI{94CɿyҪ>?W lTサrL1?] 1w 6JE䀶DiD"j#!9Q*BDT9(iڦڦM B?~w8;jkٝٝgkK|XUNV^@\r,\ƻwCCI:ぜn=j1^#?u뭩N{%j"\Db:͖7G>66{Zn,}Rdƙ+͉qLq¢|AC*{-Qg-/1c(~kEAohIUerkt#'7)#-9[3~U"s%vyaIĞϦŔZa)вq[qx¨`}K7qp槟t9.qQ 4ȝX N6.U;2^j8ݟ R':VoS4Rg1KY2H&o`I#ɨM)oɖ,gL\k)SxSJl66ED<ƖQ|qFn))ni~xj[eu o7 `51UKD,% +۞;Kdw'(ވeR>?c-IdF2/'`L4%G"$≎iz 31Fhb[8~c9&6+mA+Me_SP4%: τ,:% +J`.3b@x Qj!]I$Jpx<- JMjfǀLX R|Mx>ʛ4nZR>x77^W߂\8Gy +uWܮh3w/ߗǏR-:t+M_<|71RfHN+j= +|u\5p7 `6ɏ zHԐ +*3h@'VOMk9 ug[i +mS@v}7_Fhπ= cYq3Vm^ȗP>H%yD1 Q}j_F{'XMl] h/rS'j.^ +䣝wu0>6vC> }cn.h Ŝ9DyOsԯ$'H`߼ggOl?oaOmwllR˳z*#,mSW6](p'@MEiaJ-@JGhz\#ni Ms~Y=ƱXqRk 1׌}#h~!Sb`AmO>wuc?q`;b +~a}e^#ud8y'%SE<&x`)?v<1ñ!$cq;|1ʙi0 ķӞ4*0V #̹sslq8T+ySY+29h9>S5(P.h!l699')sT;>w:clݯͥ;vׁ.}>IgɹzVb!L;K/H:,fhÊ}v6 e(%cȖ]Fmk,?9ס@'(I27WG AZ\,]|F@]}t:sZ]znؘb,I](@CeNyUcYd=TõgYHNf%*Se8͊%3e4][r<5y?|d4y6'_8ovvn> z~M̲35OwYSKOY*Q?=\O::QϿQ~Em󤽜ոfn +*cRx/HE6/9]eI O0i!˵SCez}I+ +hz t/2F^6>`iVKj_۲մQ'XrLTyE\@ۖ?R> ~$>w;8Yo؞o{&Ç9.Mw44ExZ>ū@}zHUm6.A __ўQ`'~;(Oˣn<̓lb3@Wh+ڢ}p*PO!G#Sk!j%9?c㨛ӺiH[]x^ikl]9x^1FyD?EGA1v RNo(G(\cjhB-Pfk Shm:s}opn`BeP^ؐ6K԰Z׵"mʘDQa%Mj7mGi*X 0j/>L>l&45!{P~y;s=_%Ht <TpUcY#W!?ȶ眥8ۈ=ݖ_Q6a N?rLK"^s XW+cbk؋A:k>ו_ٱT\>w>hW>v<{ܐ[!}Lom2濒i%scNܘ+9Ya;gԵTs;:.<ȹ0G.P B>f:Gqw'ޖ*;8c-׈ʏ?Nf㯁P2z=~װ7>q|<O'[MwT1S3rb6r;sI.q)Akў[qHK&8K3%?Gg~~LK~o_ȹZ==ռg=<>Xkt;X}ucoaM{#6_<@{!5}Oikl=N۳#ocOh_^Mxڻo{/OT[urKrعꛭ}u.lųǞ~)4YnCXyւB*hѿ5{5s SG@?llCo'HyE瑉Ds`4RFw]\ϣaIťhiÚ@|X5bG HUPz̭wED=eM`p4X&Iew]]0P( 8}r8RqFdUU%UΪ>U*q9]}Qp:õgj/ʁHm§K&!p9_Ye5 uH{eȁ@ȦS?%ԡŸGĸ)q?X{KnO!~JNi?tTZ^w 0,p;2_֫/6"̵K2[6B )Jv JBG- Ż#*1Q1 46B͵4B0͐h'}P@1hfR 鋉s~;ݝׇ:v YO/ 2Ra 2O|z="|. W/v +Tys<ƱcȨv_tw,w1hTKa񙰸",BQd1 +W[9jF}P[ALP< +qMwERϱ!>ɱR_ST ,(q F%C]Ʒ*+h Nx@f],}W?Ag=iIËD!+?OAc$ LFq')iW{B W;:*l/JC(D6fTiȼxsqp((+Zf9eQW'ٌd |ҍH\}|"8 |T\Rnҿџ瞥7fz3twSrtV+`e~+__ +ǥW+Zi.Z'6D/< Qգz+=-6æ^3m[qI)`:3*Kt=pg~TVAI*.Tm&kg ͛x{ۼko[/ ~F*A" 0"؅~Fe 0` c+N] +޹:r9߶7 +HeN]410~[_9mc˹B@s7Q)#p#Qv&s/ԇ[9igͶmoٙ"9Eى)|mg~|ȴeH" C:#&#ɐ\`J13'IE5D|qP1WJ@nF #KP +%L롘pj}<dMLSh +vtl: +yh5 +J"F?`?q>y}w*6( X=Ձ,x0N:A--djpC؎D.e nHiF#׊,l%ZcaX-ղX1cײG՝ (bGw9O*a?7Hx#Íe[UTGcpk`wP }P`4>_ +]+Gi ל lVdܗM[Φm} Gwc6f#[jфῢd>G <]wE.i4"F v&& }TMda5 kf˺l5`rjV&J.7VL[+G_~vXz 9_x_c[nǚʰ^1_{> endobj 1218 0 obj <> endobj 1217 0 obj <> endobj 1216 0 obj <>stream +BT +/CS0 cs 1 scn +/GS0 gs +/T1_0 1 Tf +8 0 0 8 417.7962 38.134 Tm +[(\251 ABNT 2010 - All r)-15(ights reser)-30(v)25(ed)]TJ +11 0 0 11 45.3266 35.8089 Tm +(18)Tj +/T1_1 1 Tf +0 68.648 TD +(ABNT NBR 15606-4:2010)Tj +ET +q +1 0 0 1 270.0930023 705.4680023 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 89.3710022 705.2180023 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +180.722 0 l +405.139 0 l +S +Q +q +1 0 0 1 270.0930023 658.0709991 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 46.897 l +S +Q +q +1 0 0 1 89.3710022 657.8209991 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +180.722 0 l +405.139 0 l +S +Q +q +1 0 0 1 270.0930023 610.673996 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 46.897 l +S +Q +q +1 0 0 1 89.3710022 610.423996 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +180.722 0 l +405.139 0 l +S +Q +q +1 0 0 1 270.0930023 589.677002 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 89.3710022 589.427002 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +180.722 0 l +405.139 0 l +S +Q +q +1 0 0 1 270.0930023 555.4799957 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 89.3710022 555.2299957 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +180.722 0 l +405.139 0 l +S +Q +q +1 0 0 1 270.0930023 534.4830017 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 89.3710022 534.2330017 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +180.722 0 l +405.139 0 l +S +Q +q +1 0 0 1 270.0930023 513.4859924 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 89.3710022 513.2359924 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +180.722 0 l +405.139 0 l +S +Q +q +1 0 0 1 270.0930023 492.4889984 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 89.3710022 492.2389984 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +180.722 0 l +405.139 0 l +S +Q +q +1 0 0 1 270.0930023 471.4920044 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 89.3710022 471.2420044 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +180.722 0 l +405.139 0 l +S +Q +q +1 0 0 1 270.0930023 450.4949951 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 89.3710022 450.2449951 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +180.722 0 l +405.139 0 l +S +Q +q +1 0 0 1 270.0930023 389.897995 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 60.097 l +S +Q +q +1 0 0 1 89.3710022 389.647995 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +180.722 0 l +405.139 0 l +S +Q +q +1 0 0 1 270.0930023 368.901001 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 89.3710022 726.1869965 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +180.722 0 l +S +Q +q +1 0 0 1 89.6210022 705.4730072 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 270.0930023 726.1869965 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +224.417 0 l +S +Q +q +1 0 0 1 494.2599945 705.4730072 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 89.6210022 658.076004 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 46.897 l +S +Q +q +1 0 0 1 494.2599945 658.076004 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 46.897 l +S +Q +q +1 0 0 1 89.6210022 610.6790009 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 46.897 l +S +Q +q +1 0 0 1 494.2599945 610.6790009 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 46.897 l +S +Q +q +1 0 0 1 89.6210022 589.6820068 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 494.2599945 589.6820068 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 89.6210022 555.4850006 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 494.2599945 555.4850006 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 89.6210022 534.4880066 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 494.2599945 534.4880066 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 89.6210022 513.4909973 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 494.2599945 513.4909973 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 89.6210022 492.4940033 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 494.2599945 492.4940033 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 89.6210022 471.496994 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 494.2599945 471.496994 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 89.6210022 450.5 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 494.2599945 450.5 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 89.6210022 389.9029999 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 60.097 l +S +Q +q +1 0 0 1 494.2599945 389.9029999 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 60.097 l +S +Q +q +1 0 0 1 89.6210022 368.9060059 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 494.2599945 368.9060059 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 89.3710022 368.6560059 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +180.722 0 l +405.139 0 l +S +Q +BT +/T1_1 1 Tf +11 0 0 11 156.6362 711.4539 Tm +(Function)Tj +17.753 0 Td +(Description)Tj +/T1_0 1 Tf +-23.279 -3.109 Td +[(getSuppor)-40(tedPlaneAspectRatios\(\))]TJ +16.407 1.2 Td +[(A single Dimension object with constr)-16( )279(uction )]TJ +0 -1.2 TD +[(v)25(alue \(16.9\) or \(4.3\), depending on the )]TJ +T* +[(con\336)250( )28(gur)10(ation of the receiv)25(er\325)50(s video output )]TJ +-16.407 -3.109 Td +[(getSuppor)-40(tedScreenResolutions\(\))]TJ +16.407 1.2 Td +(A single Dimensionobject with the )Tj +T* +[(dimensions of the te)29(xt and g)10(r)10(aphic plane)]TJ +T* +(at that moment)Tj +-16.407 -1.909 Td +[(isAlphaBlendingSuppor)-41(ted\(\))-3917(T)120(r)-15(ue)]TJ +0 -2.509 TD +[(isGIFRender)-15(ingSuppor)-40(ted\(\))]TJ +16.407 0.6 Td +[(T)120(r)-15(ue only f)30(or platf)30(or)-25(ms that per)-25(mit GIF )]TJ +0 -1.2 TD +[(images displa)30(y in the g)10(r)10(aphic plane)]TJ +-16.407 -1.909 Td +[(isGr)10(aphicsRender)-15(ingSuppor)-40(ted\(\))-1746(T)120(r)-15(ue)]TJ +0 -1.909 TD +[(isImageRender)-15(ingSuppor)-40(ted\(\))-2958(T)120(r)-15(ue)]TJ +T* +[(isJPEGRender)-15(ingSuppored\(\))-3443(T)120(r)-15(ue)]TJ +T* +[(isPNGRender)-15(ingSuppored\(\))-3888(T)120(r)-15(ue)]TJ +T* +[(isRealAlphaBlendingSuppor)-41(ted\(\))-1861(T)120(r)-15(ue)]TJ +0 -3.709 TD +[(isVideoRender)-15(ingSuppor)-40(ted\(\))]TJ +16.407 1.8 Td +[(T)120(r)-15(ue only f)30(or platf)30(or)-25(ms that per)-25(mit )]TJ +0 -1.2 TD +[(displa)30(y of video monomedia \(or e)29(v)25(en an )]TJ +T* +[(elementar)-30(y video stream\) in the g)9(r)10(aphic )]TJ +T* +(plane)Tj +-16.407 -1.909 Td +[(isWidgetRender)-15(ingSuppor)-40(ted\(\))-2625(T)120(r)-15(ue)]TJ +0.039 Tw -4.594 -3.426 Td +[(The com.sun.dtv)80(.ui.DTVContainer associated with this com.sun.dtv)80(.ui.Plane shall suppor)-40(t all types of )]TJ +-0.048 Tw T* +[(com.sun.dtv)80(.lwuit.component and g)10(r)10(aphical oper)10(ations de\336)250( )-20(ned in the L)70(WUIT API, e)30(xcept f)30(or the displa)30(y )]TJ +0 Tw T* +[(of media types that are not per)-26(mitted in the te)30(xt and g)10(r)10(aphic plane \(see ABNT NBR 15606-1\).)]TJ +/T1_1 1 Tf +0 -2.231 TD +[(8.4.3.3 )-736(Video/picture selection plane)]TJ +/T1_0 1 Tf +0.001 Tw T* +[(The video/picture selection plane allo)15(ws the de\336)250( )29(nition of areas of precedence betw)10(een the still picture )]TJ +0.067 Tw 0 -1.2 TD +[(plane and the video plane)15(.)60( In other w)10(ords)15(, in which rectangular areas of the screen the still pictures )]TJ +0 Tw T* +[(plane will be displa)30(y)20(ed o)15(v)25(er the video)40(, or vice-v)25(ersa.)]TJ +0 -2.231 TD +[(The retur)-25(n of the getID:)50( )30(\322SwitchingPlane\323)40( method is detailed in )50(T)120(ab)20(le 4.)]TJ +/T1_1 1 Tf +5.998 -2.231 Td +[(T)80(ab)10(le 4 \226 Details of the functionalities f)19(or video and still picture plane)]TJ +ET +q +1 0 0 1 273.154007 147.2779999 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 90.7779999 147.0279999 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +182.376 0 l +402.326 0 l +S +Q +q +1 0 0 1 273.154007 126.2810059 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 90.7779999 126.0310059 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +182.376 0 l +402.326 0 l +S +Q +q +1 0 0 1 273.154007 105.2839966 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 90.7779999 105.0339966 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +182.376 0 l +402.326 0 l +S +Q +q +1 0 0 1 273.154007 84.2870026 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 90.7779999 84.0370026 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +182.376 0 l +402.326 0 l +S +Q +q +1 0 0 1 273.154007 63.2899933 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 90.7779999 63.0399933 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +182.376 0 l +402.326 0 l +S +Q +q +1 0 0 1 90.7779999 167.9940033 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +182.376 0 l +S +Q +q +1 0 0 1 91.0279999 147.2799988 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 273.154007 167.9940033 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +219.95 0 l +S +Q +q +1 0 0 1 492.8540039 147.2799988 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 91.0279999 126.2830048 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 492.8540039 126.2830048 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 91.0279999 105.2859955 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 492.8540039 105.2859955 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 91.0279999 84.2890015 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 492.8540039 84.2890015 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 91.0279999 63.2920074 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 492.8540039 63.2920074 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +BT +/T1_1 1 Tf +11 0 0 11 158.8702 153.2649 Tm +(Function)Tj +17.625 0 Td +(Description)Tj +/T1_0 1 Tf +-23.226 -1.909 Td +[(getBitsP)50(erPix)30(el\(\))]TJ +16.557 0 Td +(1)Tj +-16.557 -1.909 Td +(getColorCodingModel\(\))Tj +16.558 0 Td +(ColorCoding.ONE_BPP)Tj +-16.558 -1.909 Td +[(getSuppor)-40(tedPix)30(elAspectRatios\(\))-1819(Ditto as the Gr)10(aphicPl )280(ane)15(.)]TJ +0 -1.909 TD +[(getSuppor)-40(tedPlaneAspectRatios\(\))-1400(Ditto as the Gr)10(aphicPlane)15(.)]TJ +/T1_1 1 Tf +13.385 60.706 Td +[(T)80(ab)10(le 3)]TJ +/T1_0 1 Tf +[( \(contin)10(ued\))]TJ +ET + +endstream endobj 889 0 obj <> endobj 1215 0 obj <> endobj 1214 0 obj <>stream +BT +/CS0 cs 1 scn +/GS0 gs +/T1_0 1 Tf +8 0 0 8 56.6651 38.2639 Tm +[(\251 ABNT 2010 - All r)-15(ights reser)-30(v)25(ed)]TJ +11 0 0 11 537.6613 35.9389 Tm +(17)Tj +/T1_1 1 Tf +-10.613 68.636 Td +(ABNT NBR 15606-4:2010)Tj +ET +q +58.85 569.586 488.857 175.981 re +W n +q +/GS1 gs +510.1440125 0 0 176.1840057 58.7879944 569.5080109 cm +/Im0 Do +Q +Q +BT +/T1_1 1 Tf +11 0 0 11 144.0332 544.3869 Tm +[(Figure 5 \226 Structure of la)20(y)10(er)15(s f)20(or the presentation of ser)-10(vices)]TJ +/T1_0 1 Tf +0.052 Tw -7.943 -1.745 Td +[(The subtitles plane is not accessib)20(le b)20(y Ginga applications;)50( this is a char)10(acter)-15(istic)15(, which is nativ)25(e to )]TJ +0.018 Tw 0 -1.2 TD +[(the receiv)25(er)50(.)60( Ho)15(w)10(e)30(v)25(er)50(, there remain f)30(our planes upon which a J)20(a)20(v)25(a application can oper)10(ate)15(.)60( F)30(ollo)15(wing )]TJ +-0.033 Tw T* +[(this con)20(v)25(ention, the)20(y are alw)15(a)30(ys retur)-25(ned in this manner)50(, the getAllPlanes\(\) method of the com.sun.dtv)80(.)]TJ +0 Tw T* +[(ui class)15(.Screen \(which in tur)-26(n is obtained b)20(y means of the com.sun.dtv)79(.ui.De)30(vice class\):)]TJ +1 -2.231 Td +( )Tj +/TT0 1 Tf +-1 0 Td +(\227)Tj +/T1_0 1 Tf +1.984 0 Td +[(Plane[0]:)50( )50(T)120(e)30(xt and g)10(r)10(aphic plane;)]TJ +-0.984 -2.231 Td +( )Tj +/TT0 1 Tf +-1 0 Td +(\227)Tj +/T1_0 1 Tf +1.984 0 Td +[(Plane[1]:)50( )50(Video/picture selection plane;)]TJ +-0.984 -2.231 Td +( )Tj +/TT0 1 Tf +-1 0 Td +(\227)Tj +/T1_0 1 Tf +1.984 0 Td +[(Plane[2]:)50( Still pictures plane;)]TJ +-0.984 -2.231 Td +( )Tj +/TT0 1 Tf +-1 0 Td +(\227)Tj +/T1_0 1 Tf +-0.05 Tw 1.984 0 Td +[(Plane[3]:)50( Video pl)-50(ane)15(.)]TJ +0.173 Tw -1.984 -2.231 Td +[(F)30(or each of these planes)15(, it is possib)20(le to obtain the char)10(acter)-15(istics thereof)30(, and perf)30(or)-25(m g)10(r)10(aphic )]TJ +0.203 Tw T* +[(oper)10(ations thereon.)60( )50(These char)10(acter)-15(istics)15(, and the oper)10(ations suppor)-40(ted b)20(y each plane)15(, maintain )]TJ +0.022 Tw T* +[(compliance with the de\336)250( )50(nitions set f)30(or)-40(th in ABNT NBR 15606-1.)60( )50(This detailing is done in the f)30(ollo)15(wing )]TJ +-0.003 Tw T* +[(subsections)15(, where the retur)-25(n v)25(alues are de\336)250( )25(ned f)30(or each one of the methods)15(, within the com.sun.dtv)80(.)]TJ +0 Tw T* +[(ui.Capabilities object that corresponds to the respectiv)23(e plane)15(.)]TJ +/T1_1 1 Tf +0 -2.231 TD +[(8.4.3.2 )-736(T)60(e)15(xt and graphic plane)]TJ +/T1_0 1 Tf +0.013 Tw T* +[(The te)30(xt and g)10(r)10(aphic plane is the one on which the application can dr)10(a)20(w g)10(r)10(aphical elements \(pr)-15(imitiv)25(e )]TJ +0 Tw 0 -1.2 TD +[(geometr)-15(ics and images\) with high color de\336)249( )28(nition and channel of tr)10(ansparency o)15(v)25(er the video)40(.)]TJ +0 -2.231 TD +[(The retur)-25(n of the getID \(\):)50( )30(\322Gr)10(aphicPlane\323)40( method is detailed in )50(T)120(ab)20(le 3.)]TJ +/T1_1 1 Tf +9.451 -2.231 Td +[(T)80(ab)10(le 3 \226 Details of functionalities f)19(or the te)15(xt and grap)]TJ +ET +q +1 0 0 1 281.4320068 165.7749939 cm +/CS0 CS 1 SCN +0.5 w +/GS2 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 100.7100067 165.5249939 cm +/CS0 CS 1 SCN +0.5 w +/GS2 gs +0 0 m +180.722 0 l +405.139 0 l +S +Q +q +1 0 0 1 281.4320068 144.7779999 cm +/CS0 CS 1 SCN +0.5 w +/GS2 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 100.7100067 144.5279999 cm +/CS0 CS 1 SCN +0.5 w +/GS2 gs +0 0 m +180.722 0 l +405.139 0 l +S +Q +q +1 0 0 1 281.4320068 123.7810059 cm +/CS0 CS 1 SCN +0.5 w +/GS2 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 100.7100067 123.5310059 cm +/CS0 CS 1 SCN +0.5 w +/GS2 gs +0 0 m +180.722 0 l +405.139 0 l +S +Q +q +1 0 0 1 281.4320068 63.1840057 cm +/CS0 CS 1 SCN +0.5 w +/GS2 gs +0 0 m +0 60.097 l +S +Q +q +1 0 0 1 100.7100067 62.9340057 cm +/CS0 CS 1 SCN +0.5 w +/GS2 gs +0 0 m +180.722 0 l +405.139 0 l +S +Q +q +1 0 0 1 100.7100067 186.4909973 cm +/CS0 CS 1 SCN +0.5 w +/GS2 gs +0 0 m +180.722 0 l +S +Q +q +1 0 0 1 100.9600067 165.7769928 cm +/CS0 CS 1 SCN +0.5 w +/GS2 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 281.4320068 186.4909973 cm +/CS0 CS 1 SCN +0.5 w +/GS2 gs +0 0 m +224.417 0 l +S +Q +q +1 0 0 1 505.598999 165.7769928 cm +/CS0 CS 1 SCN +0.5 w +/GS2 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 100.9600067 144.7799988 cm +/CS0 CS 1 SCN +0.5 w +/GS2 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 505.598999 144.7799988 cm +/CS0 CS 1 SCN +0.5 w +/GS2 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 100.9600067 123.7830048 cm +/CS0 CS 1 SCN +0.5 w +/GS2 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 505.598999 123.7830048 cm +/CS0 CS 1 SCN +0.5 w +/GS2 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 100.9600067 63.1860046 cm +/CS0 CS 1 SCN +0.5 w +/GS2 gs +0 0 m +0 60.097 l +S +Q +q +1 0 0 1 505.598999 63.1860046 cm +/CS0 CS 1 SCN +0.5 w +/GS2 gs +0 0 m +0 60.097 l +S +Q +BT +/T1_1 1 Tf +11 0 0 11 167.9752 171.7609 Tm +(Function)Tj +17.753 0 Td +(Description)Tj +/T1_0 1 Tf +-23.279 -1.909 Td +[(getBitsP)50(erPix)30(el\(\))]TJ +16.407 0 Td +(32)Tj +-16.407 -1.909 Td +(getColorCodingModel\(\))Tj +16.407 0 Td +(ColorCoding.ARGB8888)Tj +-16.407 -3.709 Td +[(getSuppor)-40(tedPix)30(elAspectRatios\(\))]TJ +16.407 1.8 Td +(A single Dimension\(1,1\) object is the )Tj +0 -1.2 TD +[(recommended v)25(alue \(indicates pix)30(els with )]TJ +T* +[(a 1:1 r)10(atio\).)60( An)15(y v)25(alue other than this is )]TJ +T* +(considered optional)Tj +ET + +endstream endobj 880 0 obj <>]/Filter[/FlateDecode]/Height 274/Length 17369/Subtype/Image/Type/XObject/Width 792>>stream +h{{\y}>KrKԖI\KLZ۠9w9- Os9sь"%XE0po + + +qRPlݡ#]1CAA3f !D9d 64Z((H%ӄPPP`&v4JAAd&QXn+ -#蠠 AF*BWFJ6BBAĭ&-chRu(A 4҆emJAAd$-4% + Zi#\@+k|E0Tah!CSc >eŌiEmL-P+7 +,އp ҆ۦf^iLG[\_3*(,iҘږXnoMaVL_aDlۨvo3F-+"燦݊ َr " w)Lt&|$뒃-IzUL +r&ƍme/uho +!1ӱ-#:YNh]vi[⅂\پޚ2bJ,$+@S(wv,XeGF/XYzE;+^T3tDزpY!b0Éuӹtzf\Wbp!@}ו? 餖_6l𥶭;NJYns, ZvCΘa+"GYڧvB2D+Pٶ*/[A pڅ!{aY[͓B3V"Q/ Cme5I +/6U06nas댳'/" -ĂF7%镆|k{w Ͽr?t֘ٶxQ%Hfd;"v+ +'϶KQgٚupn9hT# )^UdJ:M;v ˱sE0cbQL EJG(+VF^m0p qZa89LRyTF-Nd>`>W7Lu+~.I3@͎-Ճ [hZDȓm{RvBN^ T^4x/;%3u廫y:Xu Xi[G=rر7G+GڡBNJw'6`[`_X=XphkKI;novw|۾^[)ŋ(%@ek(r0M6.yEQE~GJwfrŋj!h +G^=\yb^NYٻ0._²jn/5ǣ‹d<ܤtێ{HUC NB<[sp)K A噡31yt% J' _@nM&`}}7Ǔ=P֧ڎ }~؏Q.Xh+wzɄwIB/g}7|CLxQ-|'[Ya&]/FƽL_9PnHēDE~%&R$Xm?:NM <%VxQAW#t]" +OwUT@k\d-}B'"/\ߏ>ڐL//.Qɔ ]_҄|-{cQA$x3_N~H`Eu b24e!A=^v`8n}+ /q/y|w]M5[:r~Iw02l P!%O( *o Kxq\5+uctѭʁcXNCK䂅H{e]vϱn2!wSC{ްE BzSZ~4T;4hZc+h:xJf"Aը?}3Ԟ(t5wVcٻʝ+'w劢RsU UJUռ{j-X.kgizʥC{f/ổό EтϫBVct6Z!zŮ ȣ6'[:uSLٹa nwZDi){:|so:D +oqqp"xQm$}3>%v4 c|)nb[ͩ7njq?ܸBy7n{lR" ˄tiIUZ\ֳ96 #fV±Xj,$(^T辦S,bk8?0AoRyp6ly~/{ҋ*_-h@dż&weF+lSLYz2?wj|UUˋ7 «K 9~W>1~}THLv؆um}EK$UKIDmI_ Z9ZppOۦY~\^@c{9f~I_T1/ꙙ#:"'dE~ 6\F+nE5R)FDm^;g▶"26\}JszQ.+^T!ƃt2adFx\w)A:./Q-0َe`T;vGo[_V@eWh!+)ti]20z.ToI%TA7b#c1ƕr4E:[ˮҋj `FC= }լi"2u( +۸{߿ҙfY9xQFDBPQh>ӂ5V+ia4 M-=o&mݱm;2Yja+_?QU CMaO[B*ncEwی WO|<7E+D,#Ie0׮{``,^t|wՂ<ىм(3Ja|;*Y+WOzLggQsv=PU%C]B)u\=PJ0y͛Y2ut?):?&NR@|<=pZpН+/D١F&zȾGuvLs +"އ8xBb y }?Z Dw{~xb=_(Hd۱6S3  $Qr-䅟𓉛sL/8 <{``͓}B/-Z{n(þJJADkK|[,`Ï7'8->9*[j%ZPgj9^˃\+6x?-|dh/`Y&Oo#h)Z,hyf@"!\RT<ǿzt{2%v(^T=-hM7h\<0^lhnK%ы K eK"%/5m)۫qx!27GF/RH4 a‹'^(bpqMnUz@Pk#.PbI\^_x#]_\DB.D=*5DiPjVF `*|$0f#@ +A5 !?GE(+^THF6D ~xO~O|xhv/ڿ"F /jh' /~|nXw-Oժdg0?~}8>Y8uH U ad#HD_w9݂by廫[3נwh]2۝hBiLŋ mH ./wBq:^VI&DPV'0'X]7 z:* ϖ'X?&B2aWA"m 5>zicK +J/"‹i4A O'(txgPW-/"‹Mu Rhs'wp4a]t`~}ڎƪ7D"Ry1pQ*J{_ [|qG[,rl}8 5FAya|gD,WxQ‡$Y R[3'Yt7H!QGP-I˶fOT,*^T/L˼NDs)<[?%or!_:ACx{L/6ٷcL1dޢoc48s:@Gm5u^Iӓiv|@4pŋ I/& p#xvn=^i n{޽o /r<5wp?MsHx}Yb ̾&5ʇ(^\0g]/t`lM-v`yr'-'}5<"!S!hӲb/}r^Vio>Ṯ4}%$=I406fzb^/`\AzA|f5/;h-‹%*(^v̮"I0ZOT][3d "U/`?QD@3Xg .AhIe0/.o.DO[x/P._/^e&dNv:[|,*ˣY@:ބNivŋ E/,N%>x:7i`A[{HX^%^5}p?B-nt>^}SlصKï<>^(^\ 0m=g1Z*Ta8F#byTr^/X5FOli=6[ p)8,?אz} Q [&i95[)j[ɣ# Z~=x@ሺ.[( 4b Ƌ|@iX#uR:Aw 2O tzBY}V]ŋb,G0Ǎ)^kWZYׅZ$H5 /.0AsDP8٧xqAQN爜5e'XYJ mО6nߪ 0R Rc#Z8>T&,Y\*ijn`"3#x+Vx+)E#(zLRQHeF+A$¿ЊVA@TH3. !E ŋ _t#d޳4p(Z)+ +D:,Ear`K6ӶP^SR`4q-ҞIv rJԇK`\!ǡU_@:Y$&ʓ|Dj+Xi0V]#Ÿ*E(p _&CḫBZV+txJHQ.PZqLP[H6)+QgN_/Kt0C<]_}ьLtx!kt(쥨( 2J&yo/Zt<"O$xa <ˍ̥s/Bu-G-\ +/0ZnT_@/yw9΄xaksFϢb!,˯cc#т_1YD>$BׁE5 ?/^@:!uG Kꧬ&Rz\|hUl{t-+$}t'k8@_⑘y0/G:B(Ui^goB&fJOg@p]n,=ʂ!o,Zhr4=|({w&8xtVƚiKھpYXAI8N _NFxafwm:jExt*ط;buз3#ў3ħ͠ ,̞aҡHaXOgNu>HPK0ѻoX Btݹ$ӓ9F f'h(Շ̌A.Pm(^,Q$)E(BIWE8yAdn,n pj&ؼQcs3S(?lK\aG*=Adb~6Ԏp];^z.S/)èLZ"ðʝfc +.2=^E)/LG6-EwgI gٟ;zsO"pB##1tȫ(_H$=MN_:O^Gpd[vlJ/ϫXWx8b൭3Ӳz궬5~#~; (-P@n_`:I]Nu+΍ŨfhLoH .Hp>vT"Yx2Ղ(e"A0W/@xnI87@~CڕjNգ/>^+bU'c CvD/XM$C"V*[>=H3L0L+,]j;R Ыa s.چ>>aQ>fp۷٫̐o)8Qzxqy:dOi^aOu,`w6zoc9LC̷zZ۳WhRZ#. Y8קGk åiD_s=;Xd'dP5\ \5GXnJeW Nؒ6S 32bH9WMl)E+5t:Ay37Ͻla6z{N~#5He;)GYX`~kNՠcA1>A:J 4C9=>=h_@NYtgbi1btL #2yq ŋG _WNoƢ-c#F{P~ ocܣNOA)W_SpNK  7\An!?pٯ} 5!kFê V1@L#) +V=Fyx{Z{kyUR8vӦ6nP8AnaՖzA:~F ~}\C KKF~5kd!_&t$ժ)w*ep:~H1- a|筂G߿:>wCi_ .>j''֎pِDDSn\Ŗa0ru1t.tJ)&ya ;+{xQy7k^{1 R:}2KmSe.z< +19u\sJ|0޵+޺ Pdy /x9(  {1Zn0<4Öw\pF="dy]ڱ m=˰#QZ:ڼYX:ȂH%n,*c0ZD _b|k97y !"e/ Eҏ)'7 ,ωLP/>+' ӣey1p,*O4daVZED/@+nH:*) & *xAGH2e m9^u(F%\x(G쫤'>oeq|ߝ-.nDPġ\gS&"s>(;CY>by})j@4<5"%/f6PmS, EݾKw pDをD1wqhXeX{ 6ރ'JK, ntL0@-f}@&a^!iL="Xl"oR$Rz%z#&]$ym*p3U<'7) F2aZ?^pπ'̟EVr<ܮٝcs \ 9R^:!D3fC/7%M}M<ڰJ]]c(WnxQ~oK6DHXɃݺwy(V}=w /^m5Egǿ\͸A1Lhd!z~cnAAIt s'E\uV5S%AYg^ ŨXf*Q)Tfg͍.!̷ŋd,>:!=%^^D΢u` ݨ\IW0wsNùLzV-3hr$>vO<.ⱁDl?  3k~̨ZǫO=~EiavvJJ"&0/u3(90β"]"Kno_EF%|ĒEdk;,8Iǀ#^vHoX#rO MK ,Oi_qy=;N7%d/xÊ|KBsv봚6%߇X/5ZqsXB7-;**_buC) ڐJLz:ZߚnhѯpUrs,!-\6ˠȈ<#t RH)*oZ|m0%r 0zj?{yz]gWZѐra>&!(5WOf€<;[ee%VFt8)Vh;jMVq*ә+kָ6ҡ-O< nqga;UNңeBb +@Di\ܠJAM` A`ҒVsAHY,I;vgAaB ztUL*F^npܠ \Y,K1 +8g&dw` -tƺ.Vfӂ u`"Z? DD4!x:9mgΣ?Y7x k֮F +hX^VqQ,Gz,nX4J텻J 8LG-r6Nj^e0Ͳ&2ףr&-&c16X\ghHSZfq<1a&GpIԚx"!(FopK饘Kd,JbQ +kuz]slKƟmalDg!+G=q 7.>ک\ -T:eZףuN3zfLX9&)y Njҗ"i@XMn Pv}zsPAoqt!V@Lg܍4g/5K F %XA7SSvI?4z@Ҋ YqIyZuʀQGU,92&Wtnp<~i1+gZ2l^I|A=EX[+۟Dė(#ȗΪd|qA;}R P3>!`n!p7K*ˠt]*1mչ<dYUYX䀔/HE bя]e<1OԦ>Tb5hvzna-2.rf .C0Kq(~×/\Dpx2/޻dfMb纺6xi]Q 7MOc(poZw?q8i1z"} x'ǜ)=yaH۝ BhŪMcZ:SjU5!G1RV;jec>p|W;Rqg:͖>u.oNQNKVlG{\$xx=k@4mg~pj eb{}ὄ#๘ \ ܉n{[Հm}Y 7}0s&w+wQ¯RkҞwf{U\rrLJNY{kXmA8Pg]!r.J\Ekk$/~Ͽ\[c+l'vOA6' G1 Ml.8;5qOQ=]ՍugJ!4p dON786:LkZΒE + Iίs O.8b\X6v :ٲ#pFzWsĝwg\wײD'vuE. '}}^]: +XٺÛsZyaG'DGgnw|2s{bϺT>TPB`I&h.(\\ϓڛc`lHUv&)/\?Ikuyo;t}o]:TC4vP=rGoT͙<|Gt5imi-o,+|1GOx8|)\q?7 )EF"б ~7Tmw!}k;ox/>  <-iU&[|iH7ܔ8_vN?rb}PIyT(p"i k#DZ{ r Wmh*1q>K/E1zG)JϥKéÌyq? +p DpkdFH<9ٔ/ّݮڡ8]px!%r|O\6H+%RDW#tmiQ3 j0nչ ȽO% ?symfP]cQ(2!8{񂋴cy]w0޻), 2ŐuwƀBY@zjyqg8"a 4+; aJyt1bb_~>]In]*՚W;FKI}@dz؜oi]SlRFBX.Zoi)AV5=]3k\mb?Wgk8ɥpo69^Pq~ {r PN%1)!W 8`ŬoF1/ᒕ޼N6V/n1~K*1)Tȏ67j0/$^+9sE~esaX-޻u&(B1 )(S@AJb6!ĭ2ʹ!7 +Y|a(cr{Zrkˆ1/.Ҏ2aƤ"!"WR&d1@P6Ѣm֟ǭuB\BU}q:G{qQy%{û2kl@"y(C/JRsdi4pԎ\_`%SLdD&Е$Y*7 + +Q~gcF]M)6(^@H c\ ab$_E%fu[B0A +,L/\.Ļ[n6LפyΙt>K=P/2V/]X))'u2q.n'׉ .KĄYXUXYZE&z`\PL\Diш6n:bPƤcGo`̖t& %igy9$ a|i]kpdV`5Gn l=y)6V m"[ ̼L|x pCq SHyI;N#S6o),tsvԆu +ttRHxSxD~BXHRKX. jdذFW-Y㩩Ni4c&=bʺK1lW.k"{q&bhs(2شl ((pu` Pɹ7 IM"btUFPαlm{cɂzL +s g8*B ~ V +":hϨOr\A-ꐰSi;zႵy֯Un +q0$݉-bLDuq*Ҫd\K/8Ouu[Û] Ck8}) W-J>?[vI8sؔjKgt_JKdf$rRWs%l09=QOng-(7uIIPp+2ml)OD vD[c?lY>E.@~",Zc 6B'}+,Ow^6ɉlٷN1!/^(p;Zy{YC3n(x#vrBQ|+oA' +7۲H:>iE*`}`'NDi`Z8k̿:i2;a8Ύ\P^pH%`fsGGn&r omN,l+0FW 'ws!,|t{ .6&w]@ ^`X`X`X`X`X`X`X`X`X`X`X`X`X`v\Թ +endstream endobj 881 0 obj [/Indexed/DeviceCMYK 244 882 0 R] endobj 882 0 obj <>stream +     + +        !"#$%%&'())* +!,"- ".!#.!#/!$0"%1#%2$&3$'4%(4%(5&(6')7'*8(+9)+9)+9*,:+-;+-<,. =-/ >.0 +>.0 +?.0 +@/1 +A02 B13 C13 D24 D24 E35 F46 G46H57I68J78J79J79K8:L9;M:;N:<O;=P<>P=>Q=?Q=?R>@S?@T@AU@BUABVBCWCDXCDXCDYDEYEFZEGG\GH]HI]HI^IJ_JK`KK `KK aKL!aLM"bMM#cNN#dNO$eOO%ePP&fPQ'gQQ'hRR(hSR)iSS*jTT+kUT,kUT,lVU,lVV-mWV.nXW/oXX0q[Z3r[Z4s\[5s][6t]\7u^]8v_]9v_^9w`_:xa_;yb`=zca>{cb?|dbA|ecB}fdC~fdDgeEhfFhfGigHjhIjhJkiLljMljNmkOnlPolRomSpnTqnUqoWrpXspYsqZtr\us]vs^vt`xubxvdywezwfzxh{yi|yk}{m~{o|p}s~t~vwyz{}ŬǯȰɲʳ̵ͶϸѺһӽֿĪũƨǦǦȥȥ +endstream endobj 885 0 obj <> endobj 1213 0 obj <> endobj 1212 0 obj <> endobj 1211 0 obj <>stream +BT +/CS0 cs 1 scn +/GS0 gs +/T1_0 1 Tf +8 0 0 8 417.7962 38.134 Tm +[(\251 ABNT 2010 - All r)-15(ights reser)-30(v)25(ed)]TJ +11 0 0 11 45.3266 35.8089 Tm +(16)Tj +/T1_1 1 Tf +0 68.648 TD +(ABNT NBR 15606-4:2010)Tj +/T1_0 1 Tf +1 -4.899 Td +( )Tj +/TT0 1 Tf +-1 0 Td +(\227)Tj +/T1_0 1 Tf +1.984 0 Td +[(application of customizab)19(le themes to the g)9(r)10(aphical components;)]TJ +-0.984 -2.291 Td +( )Tj +/TT0 1 Tf +-1 0 Td +(\227)Tj +/T1_0 1 Tf +1.984 0 Td +[(hier)10(archical treatment through containers and components;)]TJ +-0.984 -2.291 Td +( )Tj +/TT0 1 Tf +-1 0 Td +(\227)Tj +/T1_0 1 Tf +1.984 0 Td +[(abstr)10(action of components nativ)24(e to the system.)]TJ +/T1_1 1 Tf +-1.984 -2.291 Td +[(8.4.2 )-745(Graphical us )278(er interface)]TJ +/T1_0 1 Tf +0.123 Tw 0 -2.291 TD +[(The g)10(r)10(aphical user interf)30(ace will be made using the speci\336)250( )151(c components f)30(or tele)30(vision applications )]TJ +0.21 Tw 0 -1.2 TD +[(and g)10(r)10(aphical components pro)15(vided b)20(y the L)70(WUIT 1,1:2008incor)-30(por)10(ated into J)20(A)70(V)80(ADTV 1.3:2009.)]TJ +0 Tw T* +[(The pac)20(kages that de\336)250( )28(ne the g)10(r)10(aphical components are:)]TJ +0.695 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(com.sun.dtv)80(.ui \320 de\336)250( )28(nes the g)10(r)10(aphical components speci\336)250( )28(cally related to tele)30(vision;)]TJ +-1.315 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +-0.005 Tw 1.919 0 Td +[(com.sun.dtv)80(.lwuit \320 contains the g)10(r)10(aphical components that suppor)-40(t the creation of g)10(r)10(aphical user )]TJ +0 Tw 0.081 -1.2 Td +[(interf)30(aces;)]TJ +-1.401 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.599 0 Td +<0194>Tj +/T1_0 1 Tf +-0.005 Tc -0.078 Tw 1.919 0 Td +[(com.sun.dtv)80(.lwuit.animations \320 enab)20(les not only g)10(r)10(aphical components b)20(ut also animated tr)10(ansitions )]TJ +0 Tw 0.081 -1.2 Td +[(betw)10(een containers;)]TJ +0 Tc -1.396 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(com.sun.dtv)80(.lwuit.geom \320 de\336)250( )28(nes the basic geometr)-15(ic elements f)30(or dr)10(a)20(wing;)]TJ +-1.315 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(com.sun.dtv)80(.lwuit.la)30(y)20(outs \320 de\336)250( )28(nes useful types of g)10(r)10(aphic la)30(y)20(outs;)]TJ +-1.315 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +-0.052 Tw 1.919 0 Td +[(com.sun.dtv)80(.lwuit.list \320 de\336)250( )-24(nes customizab)20(le list str)-15(uctures)15(, used in components of other pac)20(kages )]TJ +0 Tw 0.081 -1.2 Td +[(such as com.sun.dtv)79(.lwuit;)]TJ +-1.396 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +-0.04 Tw 1.919 0 Td +[(com.sun.dtv)80(.lwuit.painter \320 per)-25(mits g)10(r)10(aphical elements to be dr)10(a)20(wn arbitr)10(ar)-15(ily based on \337)250( )-12(at, scaled )]TJ +0 Tw 0.081 -1.2 Td +(and/or tiled images;)Tj +-1.396 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(com.sun.dtv)80(.lwuit.plaf \320 per)-25(mits customization of the appear)9(ance of the g)10(r)10(aphical components;)50( )]TJ +-1.315 -2.291 Td +( )Tj +/C2_0 1 Tf +-0.604 0 Td +<0194>Tj +/T1_0 1 Tf +1.919 0 Td +[(com.sun.dtv)80(.lwuit.util )]TJ +/T1_1 1 Tf +(\226)Tj +/T1_0 1 Tf +[( utilities pac)20(kage)15(.)]TJ +0.308 Tw -2.01 -2.291 Td +[(The com.sun.dtv)80(.ui.MatteEnab)20(led interf)30(ace)15(, and the com.sun.dtv)80(.ui.AnimatedMatte and com.sun.)]TJ +0.085 Tw T* +[(dtv)80(.ui.StillMatte classes shall be present and implemented in order to main\ tain the contr)10(act with the )]TJ +0.189 Tw T* +[(applications)15(.)60( Ho)15(w)10(e)30(v)25(er)50(, the functionality of g)10(r)10(aphic composition using the tr)10(ansparency inf)30(or)-25(mation )]TJ +0 Tw T* +[(pro)15(vided b)20(y the instances of these objects is optional f)29(or implementations of the Ginga-J platf)29(or)-25(m.)]TJ +/T1_1 1 Tf +0 -2.291 TD +[(8.4.3 )-745(T)80(reatment of the platf)20(orm planes)]TJ +T* +[(8.4.3.1 )-736(General considerations)]TJ +/T1_0 1 Tf +-0.005 Tc 0.084 Tw T* +[(The com.sun.dtv)80(.ui pac)20(kage per)-25(mits gener)-15(ic access to the planes off)30(ered b)20(y the platf)30(or)-25(m f)30(or content )]TJ +-0.11 Tw 0 -1.2 TD +[(displa)30(y)100(, )1(organiz)15(ed )1(into )1(sections )1(on )1(the )1(de)30(vice\325)50(s )1(screen.)60( )1(According )1(to )1(ABNT )1(NBR )1(15606-1, )1(the )1(organization )]TJ +0 Tw T* +[(of the planes)15(, or la)30(y)20(ers)15(, is presented as sho)15(wn in Figure 5.)]TJ +ET + +endstream endobj 877 0 obj <> endobj 1210 0 obj <>stream +BT +/CS0 cs 1 scn +/GS0 gs +/T1_0 1 Tf +8 0 0 8 56.6651 38.2639 Tm +[(\251 ABNT 2010 - All r)-15(ights reser)-30(v)25(ed)]TJ +11 0 0 11 537.6613 35.9389 Tm +(15)Tj +/T1_1 1 Tf +-10.613 68.636 Td +(ABNT NBR 15606-4:2010)Tj +/T1_0 1 Tf +-32.114 -4.899 Td +( )Tj +/TT0 1 Tf +-1 0 Td +(\227)Tj +/T1_0 1 Tf +0.06 Tw 1.984 0 Td +[(the )1(retur)-25(n )1(of )1(the )1(System.currentTimeMillis method )1(shall )1(be synchroniz)15(ed )1(with )1(the date )1(and )1(time )]TJ +0 Tw 0.103 -1.2 Td +[(tr)10(ansmitted in the )50(T)40(O)40(T)20(;)50( )]TJ +-1.097 -2.231 Td +( )Tj +/TT0 1 Tf +-0.99 0 Td +(\227)Tj +/T1_0 1 Tf +-0.01 Tc -0.031 Tw 1.984 0 Td +[(the retur)-25(n of the System.currentTimeMillis method shall ha)20(v)25(e g)10(r)10(an)10(ular)-15(ity less than or equal to 10 ms;)]TJ +0 Tc 0 Tw -0.984 -2.231 Td +( )Tj +/TT0 1 Tf +-1 0 Td +(\227)Tj +/T1_0 1 Tf +1.984 0 Td +[(the )50(TimeZone used b)19(y the JVM shall be in accordance with the receiv)24(er's con\336)250( )28(gur)10(ations)15(.)60( )]TJ +-0.984 -2.231 Td +( )Tj +/TT0 1 Tf +-1 0 Td +(\227)Tj +/T1_0 1 Tf +0.061 Tw 1.984 0 Td +[(the ja)20(v)25(a.util.Calendar shall be synchroniz)15(ed in accordance with the date and time tr)10(ansmitted in )]TJ +-0.05 Tw 0.103 -1.2 Td +[(the T)40(O)40(T )-50(;)]TJ +0 Tw -1.087 -2.231 Td +( )Tj +/TT0 1 Tf +-1 0 Td +(\227)Tj +/T1_0 1 Tf +1.984 0 Td +[(the def)30(ault ja)20(v)25(a.util.Locale of the JVM shall be de\336)250( )28(ned as "pt_BR";)]TJ +-0.984 -2.231 Td +( )Tj +/TT0 1 Tf +-1 0 Td +(\227)Tj +/T1_0 1 Tf +0.04 Tw 1.984 0 Td +[(the Ginga-J applications shall not use the ja)20(v)25(a.util.TimeZone)15(.setDef)30(ault method.)60( )50(The beha)20(vior of )]TJ +0 Tw 0.103 -1.2 Td +(this method is implementation dependent;)Tj +-1.087 -2.231 Td +( )Tj +/TT0 1 Tf +-1 0 Td +(\227)Tj +/T1_0 1 Tf +-0.081 Tw 1.984 0 Td +[(the System.out and System.err output streams shall be a)20(v)25(ailab)20(le f)30(or Ginga-J applications)15(.)60( Ho)15(w)10(e)30(v)25(er)50(, )]TJ +0 Tw 0.103 -1.2 Td +[(the System.in input stream should not be a)19(v)25(ailab)20(le;)50( )]TJ +-1.087 -2.231 Td +( )Tj +/TT0 1 Tf +-1 0 Td +(\227)Tj +/T1_0 1 Tf +0.055 Tw 1.984 0 Td +[(the Runtime)15(.tr)10(aceInstr)-15(uctions and Runtime)15(.tr)10(aceMethodCalls methods shall be a)20(v)25(ailab)20(le without )]TJ +0.083 Tw 0.103 -1.2 Td +[(ha)20(ving an)15(y negativ)25(e impact on the e)30(x)30(ecution of the applications and without interf)30(erence in the )]TJ +0 Tw 0 -1.2 TD +(functioning of other API;)Tj +-1.087 -2.231 Td +( )Tj +/TT0 1 Tf +-1 0 Td +(\227)Tj +/T1_0 1 Tf +1.984 0 Td +[(the System.gc method is implementation dependent and has no de\336)248( )28(ned beha)20(vior)-30(;)]TJ +-0.984 -2.231 Td +( )Tj +/TT0 1 Tf +-1 0 Td +(\227)Tj +/T1_0 1 Tf +1.984 0 Td +[(the Runtime)15(.gc method is implementation dependent and has no de\336)248( )28(ned beha)20(vior)-30(;)]TJ +-0.974 -2.231 Td +( )Tj +/TT0 1 Tf +-1.01 0 Td +(\227)Tj +/T1_0 1 Tf +0.01 Tc 1.072 Tw 1.984 0 Td +[(the platf)30(or)-25(m should use mechanisms prescr)-15(ibed in ja)20(v)25(a.lang.Secur)-15(ityManager)50(.)]TJ +0.478 Tw 0.103 -1.2 Td +[(chec)20(kP)40(ac)20(kageDe\336)255( )511(nition and ja)20(v)25(a.lang.Secur)-15(ityManager)50(.chec)20(kP)40(ac)20(kageAccess)15(, in order to)10( )]TJ +0 Tw T* +[(pre)30(v)25(ent improper use of the system classes b)20(y the applications;)]TJ +0 Tc -1.087 -2.231 Td +( )Tj +/TT0 1 Tf +-1 0 Td +(\227)Tj +/T1_0 1 Tf +0.204 Tw 1.984 0 Td +[(the ja)20(v)25(ax.tv)80(.xlet pac)20(kage is considered obsolete \(depreciated\) f)30(or this speci\336)250( )232(cation.)60( Ho)15(w)10(e)30(v)25(er)50(, )]TJ +0.132 Tw 0.103 -1.2 Td +[(in order to enab)20(le g)10(reater integ)10(r)10(ation with legacy applications)15(, instances of ja)20(v)25(ax.microedition.)]TJ +0.119 Tw T* +[(xlet.XletConte)30(xt should also implement ja)20(v)25(ax.tv)80(.xlet.XletConte)30(xt.)60( Both interf)30(aces contain similar )]TJ +-0.016 Tw T* +[(methods and beha)20(viors)15(.)60( Use of the ja)20(v)25(ax.tv)80(.xlet.XletConte)30(xt interf)30(ace shall be a)20(v)25(oided f)30(or Ginga-J )]TJ +0 Tw T* +(applications;)Tj +-1.087 -2.231 Td +( )Tj +/TT0 1 Tf +-1 0 Td +(\227)Tj +/T1_0 1 Tf +0.492 Tw 1.984 0 Td +[(the ja)20(v)25(ax.tv)80(.g)10(r)10(aphics pac)20(kage is considered obsolete \(deprecated\) f)30(or this speci\336)250( )520(cation.)]TJ +0 Tw 0.103 -1.2 Td +[(The classes and interf)29(aces de\336)250( )28(ned therein should not be used b)20(y Ginga-J applications;)]TJ +-1.087 -2.231 Td +( )Tj +/TT0 1 Tf +-1 0 Td +(\227)Tj +/T1_0 1 Tf +1.984 0 Td +[(the minim)10(um g)10(r)10(an)10(ular)-15(ity f)30(or the ja)20(v)25(ax.tv)80(.util.TVTimer class shall be less than or equal to 10 ms;)]TJ +-0.984 -2.231 Td +( )Tj +/TT0 1 Tf +-1 0 Td +(\227)Tj +/T1_0 1 Tf +1.984 0 Td +[(the smallest increment of repetition f)29(or the ja)20(v)25(ax.tv)80(.util.TVTimer class shall be 40 ms;)]TJ +-0.984 -2.231 Td +( )Tj +/TT0 1 Tf +-1 0 Td +(\227)Tj +/T1_0 1 Tf +0.441 Tw 1.984 0 Td +[(calls to the ja)20(v)25(ax.tv)80(.util.TVTimer)50(.scheduleTimerSpec method shall br)-15(ing about e)30(xceptions)]TJ +0 Tw 0.103 -1.2 Td +[(of )50(TVTimerScheduleF)49(ailedException type)15(, if there are no timers a)19(v)25(ailab)20(le in the system.)]TJ +/T1_1 1 Tf +12 0 0 12 56.6651 158.4239 Tm +[(8.4 )-623(Graphical pr )278(esentation and e)16(vents handling )]TJ +11 0 0 11 56.6651 133.2239 Tm +[(8.4.1 )-745(L)80(WUIT)80(,)40( LightW)35(eight user interface toolkit)]TJ +/T1_0 1 Tf +0.018 Tw 0 -2.291 TD +[(This )1(Standard )1(uses )1(J)20(A)70(V)80(ADTV )1(1.3:2009 )1(to )1(de\336)250( )47(ne )1(the )1(g)10(r)10(aphical )1(components )1(and )1(user )1(e)30(v)25(ents )1(handling )]TJ +0 Tw 0 -1.2 TD +[(mechanism.)60( )50(The applications ha)20(v)25(e g)10(r)10(aphical functionalities such as:)]TJ +1 -2.291 Td +( )Tj +/TT0 1 Tf +-1 0 Td +(\227)Tj +/T1_0 1 Tf +1.984 0 Td +[(high-le)30(v)25(el g)10(r)10(aphical components;)]TJ +ET + +endstream endobj 874 0 obj <> endobj 468 0 obj <> endobj 793 0 obj <> endobj 469 0 obj <> endobj 832 0 obj <> endobj 470 0 obj <> endobj 855 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text]>>/Rotate 0/TrimBox[0.0 0.0549927 595.22 841.945]/Type/Page>> endobj 859 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text]>>/Rotate 0/TrimBox[0.0 0.0549927 595.22 841.945]/Type/Page>> endobj 862 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text]>>/Rotate 0/TrimBox[0.0 0.0549927 595.22 841.945]/Type/Page>> endobj 865 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text]>>/Rotate 0/TrimBox[0.0 0.0549927 595.22 841.945]/Type/Page>> endobj 868 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text]>>/Rotate 0/TrimBox[0.0 0.0549927 595.22 841.945]/Type/Page>> endobj 1209 0 obj <>stream +BT +/CS0 cs 1 scn +/GS0 gs +/T1_0 1 Tf +8 0 0 8 417.7962 38.134 Tm +[(\251 ABNT 2010 - All r)-15(ights reser)-30(v)25(ed)]TJ +11 0 0 11 45.3266 35.8089 Tm +(14)Tj +/T1_1 1 Tf +0 68.648 TD +(ABNT NBR 15606-4:2010)Tj +0.745 Tw 0 -4.896 TD +(8.2.3 Noti\036)Tj +0 Tw 5.496 0 Td +[( )-27(cation of e)15(vents)]TJ +/T1_0 1 Tf +0.147 Tw -5.496 -2.291 Td +[(F)30(or all classes listed in this par)-40(t of ABNT NBR 15606 in which there are methods f)30(or register)-15(ing/)]TJ +0.07 Tw 0 -1.2 TD +[(deregister)-15(ing noti\336)250( )98(cations)15(, successiv)25(e calls f)30(or registr)10(ation of listeners shall ha)20(v)25(e the same eff)30(ect as )]TJ +0.055 Tw T* +[(a single call.)60( )50(Theref)30(ore)15(, each e)30(v)25(ent shall be noti\336)250( )83(ed only once per listener)50(.)60( Additionally)100(, a request f)30(or )]TJ +0 Tw T* +[(registr)10(ation cancellation should not tak)19(e eff)30(ect if the listener in question is not registered.)]TJ +-0.049 Tw 0 -2.231 TD +[(The n)10(umber of processes \(threads\) used f)30(or the noti\336)250( )-21(cation of e)30(v)25(ents to the listeners)15(, is implementation )]TJ +0.004 Tw 0 -1.2 TD +[(dependent.)60( Ginga-J applications should not b)20(loc)20(k the processing in their listeners in a w)15(a)30(y as to a)20(v)25(oid )]TJ +0 Tw T* +[(that other listeners f)29(ail to be noti\336)250( )28(ed.)]TJ +0.069 Tw 0 -2.231 TD +[(All classes of e)30(v)25(ents listed in this par)-40(t of ABNT NBR 15606 shall e)30(xtend to the ja)20(v)25(a.util.Ev)25(entObject )]TJ +0 Tw 0 -1.2 TD +[(class)15(.)60( )]TJ +/T1_1 1 Tf +0 -2.231 TD +[(8.2.4 )-745(T)60(e)15(xt coding)]TJ +/T1_0 1 Tf +0.247 Tw 0 -2.291 TD +[(The standard te)30(xt coding f)30(or the Ginga-J platf)30(or)-25(m shall be UTF-8 in accordance with the ja)20(v)25(a.)]TJ +0.049 Tw 0 -1.2 TD +[(io)40(.DataOutput.wr)-15(iteUTF method \(see PBP 1.1:2008\).)60( )50(The "Latin1" standard shoall also be suppor)-40(ted )]TJ +0 Tw T* +(in accordance with ISO/IEC 8859-1:1998.)Tj +/T1_1 1 Tf +0 -2.291 TD +[(8.2.5 )-745(Lif)10(e c)10(yc)20(le of the applications )]TJ +/T1_0 1 Tf +-0.009 Tw T* +[(The )1(state )1(machine )1(de\336)250( )20(ned )1(in )1(7.1.1 )1(shall )1(oper)10(ate )1(so )1(that )1(the )1(beha)20(vior )1(of )1(applications )1(complies )1(with )1(the )]TJ +0 Tw 0 -1.2 TD +[(f)30(ollo)15(wing restr)-15(ictions:)]TJ +1 -2.291 Td +( )Tj +/TT0 1 Tf +-1 0 Td +(\227)Tj +/T1_0 1 Tf +1.984 0 Td +[(the lag time perceiv)25(ed dur)-15(ing star)-40(tup of the application shall be as shor)-41(t as possib)20(le;)]TJ +-0.984 -2.231 Td +( )Tj +/TT0 1 Tf +-1 0 Td +(\227)Tj +/T1_0 1 Tf +1.984 0 Td +[(an application can be destro)29(y)20(ed at an)15(y time)15(.)]TJ +0.021 Tw -1.984 -2.231 Td +[(The )1(Application )1(Manager )1(shall )1(use )1(the )1(Xlet )1(API )1(\(see )1(PBP )1(1.1:2008\) )1(to )1(order )1(changes )1(in )1(the )1(lif)30(e cycle )]TJ +0 Tw T* +[(of the applications)14(.)60( )50(Theref)30(ore)15(, se)30(v)25(er)10(al f)30(actors can stim)10(ulate the Application Manager)50(, such as:)]TJ +1 -2.231 Td +( )Tj +/TT0 1 Tf +-1 0 Td +(\227)Tj +/T1_0 1 Tf +1.984 0 Td +[(\337)250( )28(ags or)-15(iginating from the broadcasters \(see 7.1.9\);)]TJ +-0.984 -2.231 Td +( )Tj +/TT0 1 Tf +-1 0 Td +(\227)Tj +/T1_0 1 Tf +1.984 0 Td +[(selection based on a proper)-41(ty men)10(u with a list of applications;)49( )]TJ +-0.984 -2.231 Td +( )Tj +/TT0 1 Tf +-1 0 Td +(\227)Tj +/T1_0 1 Tf +-0.073 Tw 1.984 0 Td +[(order or)-15(iginated in another Ginga-J application b)20(y means of the "Application Lif)30(ecycle Management )]TJ +0 Tw 0.103 -1.2 Td +[(and Control" API \(J)20(A)70(V)80(ADTV 1.3:2009\) \(see 7.1.6\);)]TJ +-1.087 -2.231 Td +( )Tj +/TT0 1 Tf +-1 0 Td +(\227)Tj +/T1_0 1 Tf +1.984 0 Td +[(order or)-15(iginated in NCL documents deplo)29(ying one or more Xlets)14(.)]TJ +-0.013 Tw -1.984 -2.231 Td +[(The application itself ma)30(y decide to change its state)15(.)60( In order to do so)40(, it shall use its instance of ja)20(v)25(ax.)]TJ +0 Tw T* +[(microedition.xlet.XletConte)29(xt to request such change from the Application Manager)48(.)60( )]TJ +/T1_1 1 Tf +12 0 0 12 45.3265 181.5499 Tm +[(8.3 )-623(Common infra )278(structure)]TJ +/T1_0 1 Tf +0.051 Tw 11 0 0 11 45.3265 156.3499 Tm +[(The APIs de\336)250( )79(ned in \(see CDC 1.1:2008;)50( FP 1.1:2008 and PBP 1.1:2008\) are included herein as the )]TJ +0 Tw T* +[(basis f)30(or the functioning of the Ginga-J platf)29(or)-25(m.)]TJ +0.168 Tw 0 -2.291 TD +[(The speci\336)250( )196(c pac)20(kages f)30(or digital tele)30(vision de\336)250( )196(ned in J)20(A)70(V)80(A)120(TV 1.1:2008 shall also be used in this )]TJ +0 Tw 0 -1.2 TD +[(Standard.)60( Additionally)100(, the f)30(ollo)15(wing restr)-15(ictions shall be compliant:)49( )]TJ +1 -2.291 Td +( )Tj +/TT0 1 Tf +-1 0 Td +(\227)Tj +/T1_0 1 Tf +-0.005 Tw 1.984 0 Td +[(the g)10(roup of processes \(threads\) of a Ginga-J application shall not contain\ processes with pr)-15(ior)-15(ity )]TJ +0 Tw 0.103 -1.2 Td +[(higher than ja)20(v)25(a.lang.Thread.NORM_PRIORITY)60(;)50( )]TJ +ET + +endstream endobj 869 0 obj <> endobj 1208 0 obj <>stream +BT +/CS0 cs 1 scn +/GS0 gs +/T1_0 1 Tf +8 0 0 8 56.6651 38.2639 Tm +[(\251 ABNT 2010 - All r)-15(ights reser)-30(v)25(ed)]TJ +11 0 0 11 537.6613 35.9389 Tm +(13)Tj +/T1_1 1 Tf +-10.613 68.636 Td +(ABNT NBR 15606-4:2010)Tj +13 0 0 13 56.6651 735.5309 Tm +[(8 )-540(Ginga-J Platf)20(orm)]TJ +12 0 0 12 56.6651 710.1309 Tm +[(8.1 )-623(Ja)15(v)20(a Platf)20(o )278(rm)]TJ +/T1_0 1 Tf +11 0 0 11 56.6651 684.9319 Tm +[(The J)20(a)20(v)25(a platf)30(or)-25(m used to r)-15(un Ginga-J applications is de\336)250( )28(ned according to PBP 1.1:2008.)60( )]TJ +0 -2.291 TD +[(The J)20(a)20(v)25(a b)20(ytecode e)30(x)30(ecuted b)20(y the platf)30(or)-25(m shall be v)25(ersion 45.3 to v)25(ersion 47.)60( )]TJ +/T1_1 1 Tf +12 0 0 12 56.6651 633.3329 Tm +[(8.2 )-623(Basic consi )278(derations of the platf)21(orm)]TJ +11 0 0 11 56.6651 608.1339 Tm +[(8.2.1 )-745(Ex)10(ecution en)40(vir)20(onment )]TJ +/T1_0 1 Tf +0.109 Tw T* +[(Each Ginga-J application shall be processed in an isolated en)20(vironment of e)30(x)30(ecution, that is)15(, there )]TJ +0.014 Tw 0 -1.2 TD +[(shall be one system entity that represents one JVM where each applicatio\ n shall be e)30(x)30(ecuted without )]TJ +-0.014 Tw T* +[(an)15(y interf)30(erence in the e)30(x)30(ecution of an)15(y other application.)60( In order to do so)40(, this e)30(x)30(ecution en)20(vironment )]TJ +0.02 Tw T* +[(shall allo)15(w each application to be e)30(x)30(ecuted b)20(y means of its )1(o)15(wn loader \(ClassLoader\) or e)30(v)25(en its o)15(wn )]TJ +0 Tw T* +[(hier)10(arch)30(y of loaders to access classes that are not par)-41(t of the Ginga-J base platf)29(or)-25(m.)]TJ +0.086 Tw 0 -2.291 TD +[(Competing )1(applications )1(shall )1(not )1(directly )1(share )1(instances )1(of )1(objects )1(de\336)250( )115(ned )1(thereb)20(y)100(.)60( )1(An)15(y )1(inter)10(action )]TJ +0.029 Tw 0 -1.2 TD +[(betw)10(een applications shall be possib)20(le only through a speci\336)250( )57(c API.)60( Each e)30(x)30(ecution en)20(vironment shall )]TJ +-0.025 Tw T* +[(be estab)20(lished at the time the application is star)-40(ted and should be unloaded as soon as the application )]TJ +0.062 Tw T* +[(is destro)30(y)20(ed.)60( After the completion of each application, the Application Manager shall\ ensure that the )]TJ +0 Tw T* +[(class \336)250( )28(naliz)15(ers contained in the application are e)30(x)30(ecuted.)]TJ +0.034 Tw 0 -2.291 TD +[(The Ginga applications can be e)30(x)30(ecuted in concurrent mode)15(.)60( Once an instance of an application has )]TJ +0.139 Tw 0 -1.2 TD +[(been loaded and star)-40(ted, the creation or initialization of another instance of such applicat\ ion shall )]TJ +0.184 Tw T* +[(not be per)-25(mitted.)60( Applications are diff)30(erentiated b)20(y means of their respectiv)25(e organization_id and )]TJ +0 Tw T* +[(application_id v)25(alues \(see ABNT NBR 15606-3:2007\).)]TJ +0.224 Tw 0 -2.291 TD +[(Ginga-J applications should not synchroniz)15(e in system classes or other static system instances)15(.)60( )]TJ +0 Tw 0 -1.2 TD +[(Otherwise)15(, the e)30(xpected beha)20(vior is unde\336)250( )28(ned.)]TJ +/T1_1 1 Tf +0 -2.291 TD +[(8.2.2 )-745(Hierar)20(c)10(h)20(y of pac)20(ka)10(g)-10(es and c)20(lasses)]TJ +/T1_0 1 Tf +0.01 Tc 0.131 Tw T* +[(Only methods and \336)255( )164(elds \(and their respectiv)25(e dependencies\) of the classes listed in this par)-40(t of)]TJ +0.289 Tw 0 -1.2 TD +[(ABNT NBR 15606 shall be present in a Ginga implementation.)60( Fur)-40(ther)-25(more)15(, where there is )]TJ +0.093 Tw T* +[(dependence on a speci\336)255( )126(c pac)20(kage)15(, the full inclusion thereof is per)-25(mitted, b)20(ut not mandator)-30(y)100(.)60( )50(The)10( )]TJ +0 Tw T* +[(beha)20(vior f)30(or additional classes and methods is not speci\336)255( )33(ed f)30(or applications sent via broadcast.)]TJ +0 Tc 0.313 Tw 0 -2.291 TD +[(The classes)15(, interf)30(aces and methods listed or ref)30(erenced herein that are mar)-15(k)20(ed as obsolete )]TJ +0.024 Tw 0 -1.2 TD +[(\(depreciated\), shall ha)20(v)25(e their mar)-15(ks o)15(v)25(erwr)-15(itten so that such classes)15(, interf)30(aces or methods become )]TJ +0.013 Tw T* +[(mandator)-30(y in this par)-40(t of ABNT NBR 15606.)60( It is strongly recommended that Ginga-J applications not )]TJ +0.003 Tw T* +[(use these depreciated elements)15(, since the)20(y ma)30(y no longer be suppor)-40(ted in future v)25(ersions of this par)-40(t )]TJ +0 Tw T* +(of ABNT NBR 15606.)Tj +0 -2.291 TD +[(The inclusion of an)15(y pac)20(kage herein does not directly in)19(v)25(olv)25(e the inclusion of its sub-pac)20(kages)15(.)]TJ +0.055 Tw T* +[(Ginga-J applications should not de\336)250( )83(ne classes or interf)30(aces in an)15(y pac)20(kage \(or namespace\) de\336)250( )83(ned )]TJ +0 Tw 0 -1.2 TD +(herein.)Tj +-0.021 Tw 0 -2.291 TD +[(Implementation classes of the Ginga-J platf)30(or)-25(m should not be contained in the empty pac)20(kage \(def)30(ault )]TJ +0 Tw 0 -1.2 TD +[(pac)20(kage\).)]TJ +ET + +endstream endobj 866 0 obj <> endobj 1207 0 obj <>stream +BT +/CS0 cs 1 scn +/GS0 gs +/T1_0 1 Tf +8 0 0 8 417.7962 38.134 Tm +[(\251 ABNT 2010 - All r)-15(ights reser)-30(v)25(ed)]TJ +11 0 0 11 45.3266 35.8089 Tm +(12)Tj +/T1_1 1 Tf +0 68.648 TD +(ABNT NBR 15606-4:2010)Tj +0 -4.896 TD +[(7.2.3 )-745(Pr)20(oactive cac)10(hing )]TJ +/T1_0 1 Tf +0.044 Tw 0 -2.051 TD +[(When an application is \337)250( )72(agged with the ST)40(ORE control code)15(, the platf)30(or)-25(m is per)-25(mitted to proactiv)25(ely )]TJ +0 Tw 0 -1.2 TD +[(store an)15(y \336)250( )28(les that are speci\336)250( )28(ed in the application descr)-15(iption \336)250( )28(le)15(.)60( )]TJ +-0.049 Tw 0 -2.102 TD +[(Ho)15(w)10(e)30(v)25(er)50(, it is not mandator)-30(y to ful\336)250( )-21(ll the pr)-15(ior)-15(ity requests if the proactiv)25(e application stor)10(age techniques )]TJ +-0.01 Tw 0 -1.2 TD +[(are used.)60( In par)-40(ticular)50(, it )1(is not mandator)-30(y f)30(or the proactiv)25(e caching to store )1(all )1(\336)250( )19(les with cr)-15(itical pr)-15(ior)-15(ity)100(.)]TJ +/T1_1 1 Tf +0.623 Tw 12 0 0 12 45.3265 640.6779 Tm +[(7.3 T)80(ransmissio )]TJ +0 Tw 8.102 0 Td +(n of applications )Tj +11 0 0 11 45.3265 617.5559 Tm +[(7.3.1 )-745(Signaling rules )]TJ +/T1_0 1 Tf +-0.039 Tw 0 -2.231 TD +[(The def)30(ault Ginga-J applications signaling r)-15(ules shall comply with the pro)15(visions descr)-15(ibed in 7.1.9 and )]TJ +0 Tw 0 -1.2 TD +[(with ABNT NBR 15606-3:2007, 12.16.)59( )]TJ +/T1_1 1 Tf +0 -2.231 TD +[(7.3.2 )-745(P)30(ac)20(ka)10(ging of applications)]TJ +/T1_0 1 Tf +-0.083 Tw T* +[(Ginga-J applications shall be pac)20(kaged, authenticated and author)-15(iz)15(ed in accordance with the de\336)250( )-55(nitions )]TJ +0.122 Tw 0 -1.2 TD +[(speci\336)250( )150(ed in J)20(A)70(V)80(ADTV 1.3:2009.)60( Each Ginga-J application ma)30(y contain one or more J)20(AR \336)250( )150(les \(see)]TJ +0.011 Tw T* +[(J)20(AR:)50( 2009 and JVM:)50( 1997\).)60( )50(The main J)20(AR \336)250( )39(le contains the application's class \336)250( )39(les)15(, resource \336)250( )39(les and )]TJ +0.001 Tw T* +[(a manif)30(est that descr)-15(ibes the application and its requirements)15(.)60( )50(The J)20(AR signature mechanism per)-25(mits )]TJ +0 Tw T* +[(J)20(AR to be authenticated.)]TJ +0.043 Tw 0 -2.102 TD +[(If the tr)10(ansmission is made b)20(y using the object carousel, the pac)20(kaging should not be used in a J)20(AR )]TJ +0 Tw 0 -1.2 TD +[(\336)250( )28(le)15(, b)20(ut the tr)10(ansmitted \336)250( )28(le system shall be organiz)15(ed in the same w)15(a)30(y)100(.)]TJ +0 -2.102 TD +[(If the application is tr)9(ansmitted b)20(y the inter)10(activ)25(e channel, it shall be sent in J)19(AR \336)250( )28(les)15(.)]TJ +/T1_1 1 Tf +T* +[(7.3.3 )-745(Application authentication )]TJ +/T1_0 1 Tf +-0.017 Tw T* +[(The authentication of Ginga-J applications shall comply with the Br)10(azilian Standard in f)30(orce at the time )]TJ +0 Tw 0 -1.2 TD +[(the application is tr)9(ansmitted.)]TJ +0.014 Tc 10 0 0 10 45.3265 337.1339 Tm +[(NO)40(TE )-1412(The Br)10(azilian Standard on application authentication is currently under de)30(v)25(elopment.)]TJ +/T1_1 1 Tf +0 Tc 11 0 0 11 45.3265 314.0129 Tm +[(7.3.4 )-745(Signaling t )278(he same application in diff)9(erent depar)-20(tments)]TJ +/T1_0 1 Tf +0.078 Tw 0 -2.102 TD +[(In order f)30(or an application to be considered as signaled in v)25(ar)-15(ious ser)-30(vices)15(, the f)30(ollo)15(wing conditions )]TJ +0 Tw 0 -1.2 TD +(shall be met:)Tj +1 -2.102 Td +( )Tj +/TT0 1 Tf +-1 0 Td +(\227)Tj +/T1_0 1 Tf +1.984 0 Td +[(the signaling shall be present in an AIT tab)19(le in all ser)-30(vices)15(.)60( )]TJ +-0.984 -1.973 Td +( )Tj +/TT0 1 Tf +-1 0 Td +(\227)Tj +/T1_0 1 Tf +1.984 0 Td +[(the application identi\336)249( )28(er shall be the same in all ser)-30(vices;)]TJ +-0.984 -1.973 Td +( )Tj +/TT0 1 Tf +-1 0 Td +(\227)Tj +/T1_0 1 Tf +-0.029 Tw 1.984 0 Td +[(the tr)10(anspor)-40(t protocol descr)-15(iptor shall be the same in all ser)-30(vices Or the application is \337)250( agged with )]TJ +0 Tw 0.103 -1.2 Td +[(the UNBOUND control code and is already persisted in the receiv)23(er)50(.)]TJ +-0.01 Tc -0.047 Tw -2.087 -1.973 Td +[(If besides the abo)15(v)25(e descr)-15(ibed conditions the application is also \337)246( )-24(agged with the \336)]TJ +-0.023 Tw 34.528 0 Td +[( eld )24(ser)-30(vice_bound_\337)245( ag)-10( )]TJ +0.015 Tw -34.528 -1.2 Td +[(with the v)25(alue 0, this application shall be k)20(ept r)-15(unning among all the ser)-30(vices changes)15(, unless there are)-10( )]TJ +0 Tw T* +[(an)15(y resources restr)-15(ictions in the receiv)25(er)50(.)]TJ +/T1_1 1 Tf +0 Tc 0 -2.231 TD +[(7.3.5 )-745(Do)15(wnload of applications thr)20(ough the interactive c)10(hannel )]TJ +/T1_0 1 Tf +T* +[(The application tr)10(anspor)-40(t r)-15(ules shall comply with ABNT NBR 15606-3.)]TJ +0.158 Tw T* +[(Applications obtained through the inter)10(activ)25(e channel shall be contained in a J)20(AR \336)250( )186(le \(see 7.3.1\).)60( )]TJ +0 Tw 0 -1.2 TD +[(Compression suppor)-41(t in the J)20(AR \336)250( )28(le is optional.)]TJ +ET + +endstream endobj 863 0 obj <> endobj 1206 0 obj <>stream +BT +/CS0 cs 1 scn +/GS0 gs +/T1_0 1 Tf +8 0 0 8 56.6651 38.2639 Tm +[(\251 ABNT 2010 - All r)-15(ights reser)-30(v)25(ed)]TJ +11 0 0 11 537.6613 35.9389 Tm +(11)Tj +/T1_1 1 Tf +-10.613 68.636 Td +(ABNT NBR 15606-4:2010)Tj +/T1_0 1 Tf +0.063 Tw -33.114 -4.899 Td +[(Optionally)100(, the platf)30(or)-25(m can pro)15(vide a men)10(u with a list of applications with ST)40(ORED)70(, PRESENT and )]TJ +0.085 Tw 0 -1.2 TD +[(UNBOUND \337)250( )113(ags \(those that the user chose to install\) so that the user can choose\ the r)-15(ight time to )]TJ +0 Tw T* +[(initializ)15(e them.)]TJ +0.004 Tw 0 -2.291 TD +[(With the e)30(xception of those applications \337)250( )32(agged with the \336)250( )32(eld ser)-30(vice_bound_\337)250( )32(ag initializ)15(ed with 0, all )]TJ +0.016 Tw 0 -1.2 TD +[(applications shall be destro)30(y)20(ed dur)-15(ing a change of ser)-30(vice)15(.)60( )50(The e)30(x)30(ecution of applications \337)250( )44(agged with )]TJ +-0.043 Tw T* +[(the \336)250( )-15(eld ser)-30(vice_bound_\337)250( )-15(ag setted f)30(or 0 is not restr)-15(icted to a speci\336)250( )-15(c ser)-30(vice and cannot be interr)-15(upted )]TJ +-0.022 Tw T* +[(dur)-15(ing the selection among v)25(ar)-15(ious ser)-30(vices \(see 7.3.4 f)30(or fur)-40(ther details\).)60( )40(When changing the ser)-30(vice)15(, )]TJ +0.093 Tw T* +[(the receiv)25(er can alw)15(a)30(ys interr)-15(upt the e)30(x)30(ecution of these applications if the liber)10(ation of resources is )]TJ +0 Tw T* +[(necessar)-30(y)100(.)]TJ +/T1_1 1 Tf +12 0 0 12 56.6651 593.0419 Tm +[(7.2 )-623(Stora)10(g)-10(e and )278( )278( )278( cac)10(hing of applications)]TJ +11 0 0 11 56.6651 567.8419 Tm +[(7.2.1 )-745(Stora)10(g)-10(e models )]TJ +/T1_0 1 Tf +-0.048 Tw 0 -2.291 TD +[(The Ginga-J application model per)-25(mits applications to be stored and launched from persistent memor)-30(y)100(.)60( )]TJ +0.035 Tw 0 -1.2 TD +[(Applications ma)30(y be cached proactiv)25(ely or in response to a request from another application, subject )]TJ +0.032 Tw T* +[(to the user's consent and the platf)30(or)-25(m's resource limits)15(.)60( In either case)15(, the objectiv)25(e is to impro)15(v)25(e the )]TJ +0 Tw T* +(application's load speed.)Tj +0.015 Tw 0 -2.291 TD +[(Thus)15(, )1(it )1(ma)30(y )1(be )1(useful )1(f)30(or )1(applications )1(where )1(it )1(is )1(desir)10(ab)20(le )1(to )1(ha)20(v)25(e )1(a )1(quic)20(k )1(displa)30(y)100(, )1(a)20(v)25(oiding )1(lag )1(in )1(the )]TJ +0.013 Tw 0 -1.2 TD +[(star)-40(tup thereof due to the unload time)15(.)60( )50(These applications ma)30(y be related to broadcast, in which case )]TJ +-0.019 Tw T* +[(the )1(application's )1(lif)30(e )1(cycle )1(is )1(controlled )1(b)20(y )1(the )1(broadcast )1(of )1(the )1(AIT)120(, )1(or )1(can )1(be )1(completely )1(self-suf\336)250( )10(cient, )]TJ +0 Tw T* +[(in which case the AIT input f)29(or the application is stored along with the application's data.)]TJ +-0.017 Tw 0 -2.291 TD +[(Applications \337)250( )11(agged with the ST)40(ORE or UNBOUND control code in the AIT shall add e)30(xtr)10(a inf)30(or)-25(mation )]TJ +0.026 Tw 0 -1.2 TD +[(in the MANIFEST)120(.MF \336)250( )54(le in a w)15(a)30(y as to indicate which \336)250( )54(les shall be stored.)60( F)30(or each \336)250( )54(le that shall be )]TJ +0.019 Tw T* +[(stored, )1(the )1(input )1(in )1(the )1(MANIFEST)120(.MF )1(f)30(or )1(this )1(\336)250( )48(le )1(shall )1(contain )1(the )1(v)25(alue )1(tr)-15(ue )1(f)30(or )1(the )1("P)50(ersistent-Flag" )]TJ +-0.052 Tw T* +[(attr)-15(ib)20(ute )1(and )1(a )1(v)25(alue )1(f)30(or )1(the )1("File-V)80(ersion" )1(attr)-15(ib)20(ute )1(indicating )1(the )1(\336)250( )-23(le )1(v)25(ersion.)60( )1(Receiv)25(ers )1(that )1(suppor)-40(t )1(the )]TJ +-0.039 Tw T* +[(stor)10(age of applications shall v)25(er)-15(ify the \336)250( )-11(le v)25(ersion stored and update it when the application receiv)25(ed is )]TJ +-0.011 Tw T* +[(a later v)25(ersion.)60( Fur)-40(ther)-25(more)15(, \336)250( )17(le inputs shall be added to the MANIFEST)120(.MF f)30(or the application_id and )]TJ +0 Tw T* +[(organization_id, both \337)249( )28(agged in the AIT f)30(or the application in question.)]TJ +0.272 Tw 0 -2.291 TD +[(Stored )1(applications )1(shall )1(be )1(visib)20(le )1(b)20(y )1(the )1(Application )1(Lif)30(eCycle )1(Management )1(and )1(Control" )1(API )]TJ +0 Tw 0 -1.2 TD +[(\(J)20(A)70(V)80(ADTV 1.3:2009\), just as with an)15(y other applications)15(.)]TJ +/T1_1 1 Tf +0 -2.291 TD +[(7.2.2 )-745(Stora)10(g)-10(e issues )]TJ +/T1_0 1 Tf +0.155 Tw T* +[(The space a)20(v)25(ailab)20(le f)30(or application stor)10(age ma)30(y not be suf\336)250( )183(cient to accommodate all applications )]TJ +0.037 Tw 0 -1.2 TD +[(\337)250( )65(agged as persistent \(ST)40(ORE or UNBOUND\), making it necessar)-30(y to choose which of them shall be )]TJ +0.103 Tw T* +[(eff)30(ectiv)25(ely persisted.)60( Occasionally)100(, it ma)30(y be necessar)-30(y to remo)15(v)25(e pre)30(viously stored applications)15(.)60( In )]TJ +-0.041 Tw T* +[(these cases)15(, the application persistence and remo)15(v)25(al policy of applications \337)250( )-13(agged as ST)40(ORE remains )]TJ +-0.053 Tw T* +[(at the discretion of the receiv)25(er man)10(uf)30(acturer's implementation.)60( )50(The applications \337)250( )-25(agged as UNBOUND )]TJ +-0.017 Tw T* +[(shall )1(be )1(installed )1(and )1(remo)15(v)25(ed )1(with )1(the )1(user\325)50(s )1(e)30(xplicit )1(author)-15(ization )1(and )1(shall )1(ha)20(v)25(e )1(pr)-15(ior)-15(ity )1(in )1(relation )1(to )]TJ +0 Tw T* +[(the applications \337)250( )28(agged as ST)40(ORE.)]TJ +-0.001 Tw 0 -2.291 TD +[(When the broadcaster signals a ne)20(w v)25(ersion of a stored application, the middle)20(w)15(are can o)15(v)25(erwr)-15(ite the )]TJ +0.036 Tw 0 -1.2 TD +[(old v)25(ersion of the application with a ne)20(w v)25(ersion.)60( )50(The time at which this happens is not predictab)20(le)15(.)60( If )]TJ +0.042 Tw T* +[(the old v)25(ersion is r)-15(unning at the time of updating, the platf)30(or)-25(m ma)30(y store both v)25(ersions until the cop)30(y )]TJ +0.046 Tw T* +[(currently r)-15(unning ends)15(.)60( At that time)15(, the old cop)30(y is remo)15(v)25(ed from stor)10(age)15(.)60( If the platf)30(or)-25(m chooses to )]TJ +0.007 Tw T* +[(delete the old cop)30(y bef)30(ore the application ter)-25(minates)15(, the beha)20(vior of the application currently r)-15(unning )]TJ +0.072 Tw T* +[(shall be the same \(in pr)10(actice)15(, this means that all classes shall be loaded in memor)-30(y bef)30(ore the old )]TJ +0 Tw T* +[(v)25(ersion is deleted\).)]TJ +ET + +endstream endobj 860 0 obj <> endobj 1205 0 obj <>stream +BT +/CS0 cs 1 scn +/GS0 gs +/T1_0 1 Tf +8 0 0 8 417.7962 38.134 Tm +[(\251 ABNT 2010 - All r)-15(ights reser)-30(v)25(ed)]TJ +11 0 0 11 45.3266 35.8089 Tm +(10)Tj +/T1_1 1 Tf +0 68.648 TD +(ABNT NBR 15606-4:2010)Tj +ET +q +1 0 0 1 110.5310059 706.6490021 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 195.5809937 706.6490021 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 47.0509949 706.3990021 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +63.48 0 l +148.53 0 l +S +Q +q +1 0 0 1 110.5310059 643.0529938 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 63.096 l +S +Q +q +1 0 0 1 195.5809937 706.3990021 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +341.25 0 l +S +Q +q +1 0 0 1 195.5809937 643.0529938 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 63.096 l +S +Q +q +1 0 0 1 47.0509949 642.8029938 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +63.48 0 l +148.53 0 l +S +Q +q +1 0 0 1 110.5310059 539.8569946 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 102.696 l +S +Q +q +1 0 0 1 195.5809937 642.8029938 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +341.25 0 l +S +Q +q +1 0 0 1 195.5809937 539.8569946 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 102.696 l +S +Q +q +1 0 0 1 47.0509949 539.6069946 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +63.48 0 l +148.53 0 l +S +Q +q +1 0 0 1 110.5310059 518.8600006 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 195.5809937 539.6069946 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +341.25 0 l +S +Q +q +1 0 0 1 195.5809937 518.8600006 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 47.0509949 518.6100006 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +63.48 0 l +148.53 0 l +S +Q +q +1 0 0 1 110.5310059 402.4640045 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 115.896 l +S +Q +q +1 0 0 1 195.5809937 518.6100006 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +341.25 0 l +S +Q +q +1 0 0 1 195.5809937 402.4640045 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 115.896 l +S +Q +q +1 0 0 1 47.0509949 402.2140045 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +63.48 0 l +148.53 0 l +S +Q +q +1 0 0 1 110.5310059 289.0670013 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 112.897 l +S +Q +q +1 0 0 1 195.5809937 402.2140045 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +341.25 0 l +S +Q +q +1 0 0 1 195.5809937 289.0670013 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 112.897 l +S +Q +q +1 0 0 1 47.0509949 288.8170013 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +63.48 0 l +148.53 0 l +S +Q +q +1 0 0 1 110.5310059 185.8710022 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 102.696 l +S +Q +q +1 0 0 1 195.5809937 288.8170013 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +341.25 0 l +S +Q +q +1 0 0 1 195.5809937 185.8710022 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 102.696 l +S +Q +q +1 0 0 1 47.0509949 185.6210022 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +63.48 0 l +148.53 0 l +S +Q +q +1 0 0 1 110.5310059 151.673996 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 195.5809937 185.6210022 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +341.25 0 l +S +Q +q +1 0 0 1 195.5809937 151.673996 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 47.0509949 727.3659973 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +63.48 0 l +S +Q +q +1 0 0 1 47.3009949 706.6519928 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 110.5310059 727.3659973 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +85.05 0 l +426.3 0 l +S +Q +q +1 0 0 1 536.5809937 706.6519928 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 47.3009949 643.0559998 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 63.096 l +S +Q +q +1 0 0 1 536.5809937 643.0559998 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 63.096 l +S +Q +q +1 0 0 1 47.3009949 539.8600006 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 102.696 l +S +Q +q +1 0 0 1 536.5809937 539.8600006 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 102.696 l +S +Q +q +1 0 0 1 47.3009949 518.8630066 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 536.5809937 518.8630066 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 47.3009949 402.4669952 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 115.896 l +S +Q +q +1 0 0 1 536.5809937 402.4669952 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 115.896 l +S +Q +q +1 0 0 1 47.3009949 289.0700073 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 112.897 l +S +Q +q +1 0 0 1 536.5809937 289.0700073 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 112.897 l +S +Q +q +1 0 0 1 47.3009949 185.8739929 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 102.696 l +S +Q +q +1 0 0 1 536.5809937 185.8739929 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 102.696 l +S +Q +q +1 0 0 1 47.3009949 151.677002 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 536.5809937 151.677002 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 47.0509949 151.427002 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +63.48 0 l +148.53 0 l +489.78 0 l +S +Q +BT +/T1_1 1 Tf +11 0 0 11 65.1659 712.6359 Tm +[(Code)-3379(Identi\036)]TJ +0.028 Tw 8.851 0 Td +[( )1(er)]TJ +0 Tw 15.754 0 Td +(Description)Tj +/T1_0 1 Tf +-24.439 -3.845 Td +[(0x03)-3284(DESTR)20(O)70(Y)]TJ +12.257 1.936 Td +[(Applications with the DESTR)19(O)70(Y control code shall be )]TJ +0 -1.2 TD +[(unconditionally shutdo)14(wn b)20(y the application manager)49(.)]TJ +0 -1.473 TD +[(Applications pre)30(viously signaled with the ST)39(ORE control code shall )]TJ +0 -1.2 TD +[(be remo)15(v)25(ed from the cache)]TJ +-12.257 -5.645 Td +[(0x04)-4628(KILL)]TJ +12.257 3.736 Td +[(Applications with the KILL control code shall be shutdo)13(wn b)20(y the )]TJ +T* +[(application manager as soon as possib)19(le)15(.)60( If an e)30(xception of the )]TJ +T* +[(type ja)20(v)25(ax.microedition.xlet.XletStateChangeException is launched )]TJ +T* +[(dur)-15(ing an attempt to \336)249( )28(naliz)15(e the application, it shall contin)10(ue )]TJ +T* +[(r)-15(unning)]TJ +0 -1.473 TD +[(Applications pre)30(viously signaled with the ST)39(ORE control code can )]TJ +0 -1.2 TD +[(optionally be k)20(ept in the cache)]TJ +-12.257 -1.909 Td +[(0x05)-3099(Not de\336)250( )28(ned)-1876(Reser)-30(v)25(ed f)30(or future use)]TJ +0 -6.245 TD +[(0x06)-3537(REMO)40(TE)]TJ +12.257 4.336 Td +[(Applications with the REMO)39(TE control code do not ha)19(v)25(e their )]TJ +0 -1.2 TD +[(\336)250( )28(les tr)10(ansmitted in the current tr)10(anspor)-40(t stream.)60( )50(The data source )]TJ +T* +[(f)30(or these applications shall comply with the )30(\322T)120(r)10(anspor)-40(t Protocol )]TJ +T* +[(Descr)-15(iptor\323)40( application descr)-15(iptor \(see ABNT NBR 15606-3:2007\))]TJ +0 -1.473 TD +[(Applications with the REMO)39(TE control code shall not be star)-41(ted )]TJ +0 -1.2 TD +[(automatically and shall be added to the list of the receiv)23(er\325)50(s )]TJ +T* +[(a)20(v)25(ailab)20(le applications)15(.)60( Can be initializ)15(ed using the )30(\322Application Lif)30(e )]TJ +T* +[(Cycle Management and Control\323)39( API \(see J)20(A)70(V)80(ADTV 1.3:2009\) )]TJ +-12.257 -6.109 Td +[(0x07)-3129(UNBOUND)]TJ +12.257 4.2 Td +(Applications with the UNBOUND control code are similar to )Tj +T* +[(applications \337)250( )28(agged with PRESENT)120(, e)30(xcept f)30(or the f)30(act that its )]TJ +T* +[(e)30(x)30(ecution is not limited to a speci\336)250( )28(c ser)-30(vice)15(.)60( If the receiv)25(er does )]TJ +T* +[(not ha)20(v)25(e a)20(v)25(ailab)20(le stor)10(age capability to store the application or the )]TJ +T* +(user chooses not to install the application, this shall be assigned as )Tj +T* +[(non-a)20(v)25(ailab)20(le \(it cannot be listed among the a)20(v)25(ailab)20(le applications\).)60( )]TJ +T* +[(Receiv)25(ers without application stor)9(age suppor)-40(t shall ignore the )]TJ +T* +[(applications \337)250( )28(agged with this control code)]TJ +-12.257 -5.645 Td +[(0x08)-3954(ST)40(ORE)]TJ +12.257 3.736 Td +[(Applications with the ST)39(ORE control code shall not be star)-41(ted )]TJ +T* +[(automatically)100(, b)20(ut indicate which caching techniques can be used )]TJ +T* +[(to acceler)10(ate the loading their resources dur)-16(ing star)-40(tup \(see 7.2 f)30(or )]TJ +T* +[(fur)-40(ther inf)30(or)-25(mation\))]TJ +0 -1.473 TD +[(If the platf)30(or)-25(m is not ab)20(le to perf)30(or)-25(m pro-activ)25(e caching techniques )]TJ +0 -1.2 TD +[(or data stor)10(age)15(, applications \337)250( )28(agged as ST)40(ORE shall be treated in )]TJ +T* +[(the same w)15(a)30(y as applications \337)250( )28(agged with PRESENT)]TJ +-12.757 -1.909 Td +(0x09\311)Tj +0.445 -1.2 Td +(0xFF)Tj +5.322 0.6 Td +[(Not de\336)250( )28(ned)-1876(Reser)-30(v)25(ed f)30(or future use)]TJ +-0.054 Tw -7.237 -4.026 Td +[(If an unkno)15(wn control code is receiv)25(ed, the application shall remain in the state it is in at that time)15(.)60( )40(When )]TJ +-0.014 Tw T* +[(a change in the control code br)-15(ings about a change of state in a Ginga-J application, an e)30(v)25(ent shall be )]TJ +-0.039 Tw T* +[(gener)10(ated f)30(or all Ginga-J applications that are registered to receiv)25(e change noti\336)250( )-11(cations in the lif)30(e cycle )]TJ +0 Tw T* +[(of the application in question.)59( )]TJ +/T1_1 1 Tf +18.106 59.805 Td +[(T)80(ab)10(le 2)]TJ +/T1_0 1 Tf +[( \(contin)10(ued\))]TJ +ET + +endstream endobj 857 0 obj <> endobj 1204 0 obj <> endobj 833 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text/ImageC/ImageI]/XObject<>>>/Rotate 0/TrimBox[0.0 0.0549927 595.22 841.945]/Type/Page>> endobj 840 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text/ImageC/ImageI]/XObject<>>>/Rotate 0/TrimBox[0.0 0.0549927 595.22 841.945]/Type/Page>> endobj 845 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text]>>/Rotate 0/TrimBox[0.0 0.0549927 595.22 841.945]/Type/Page>> endobj 848 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text]>>/Rotate 0/TrimBox[0.0 0.0549927 595.22 841.945]/Type/Page>> endobj 851 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text]>>/Rotate 0/TrimBox[0.0 0.0549927 595.22 841.945]/Type/Page>> endobj 1203 0 obj <>stream +BT +/CS0 cs 1 scn +/GS0 gs +/T1_0 1 Tf +8 0 0 8 56.6651 38.2639 Tm +[(\251 ABNT 2010 - All r)-15(ights reser)-30(v)25(ed)]TJ +11 0 0 11 543.7772 35.9389 Tm +(9)Tj +/T1_1 1 Tf +-11.169 68.636 Td +(ABNT NBR 15606-4:2010)Tj +-33.114 -4.896 Td +[(7.1.8 )-745(Pr)20(oper)-20(ties of the en)40(vir)20(onment)]TJ +/T1_0 1 Tf +-0.012 Tc -0.125 Tw 0 -2.291 TD +[(In addition to the proper)-40(ties already de\336)244( )-103(ned b)20(y the Ginga-NCL model \(see ABNT NBR 15606-2:2007, 7.2.4\),)-12( )]TJ +0.079 Tw 0 -1.2 TD +[(the Ginga-J application model shall pro)15(vide each application with a ja)20(v)25(ax.microedition.xlet.)60( XletConte)30(xt)-12( )]TJ +0.075 Tw T* +[(\(see PBP 1.1:2008\) including a set of speci\336)244( )97(c proper)-40(ties already de\336)244( )97(ned in J)20(A)70(V)80(ADTV 1.3:2009, which)-12( )]TJ +0 Tw T* +[(are sho)15(wn in )50(T)120(ab)20(le 1.)]TJ +/T1_1 1 Tf +0 Tc 11.103 -2.836 Td +[(T)80(ab)10(le 1 \226 Pr)20(oper)-20(ties of the Ginga-J en)40(vir)20(onment)]TJ +ET +q +1 0 0 1 202.7460022 608.1100006 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 282.7519989 608.1100006 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 58.0070038 607.8600006 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +144.74 0 l +224.745 0 l +S +Q +q +1 0 0 1 202.746994 578.7599945 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 28.85 l +S +Q +q +1 0 0 1 282.753006 607.8600006 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +265.8 0 l +S +Q +q +1 0 0 1 282.753006 578.7599945 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 28.85 l +S +Q +q +1 0 0 1 58.0079956 578.5099945 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +144.74 0 l +224.745 0 l +S +Q +q +1 0 0 1 202.7480011 504.9629974 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 73.297 l +S +Q +q +1 0 0 1 282.7539978 578.5099945 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +265.8 0 l +S +Q +q +1 0 0 1 282.7539978 504.9629974 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 73.297 l +S +Q +q +1 0 0 1 58.0090027 504.7129974 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +144.74 0 l +224.745 0 l +S +Q +q +1 0 0 1 202.7489929 444.3659973 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 60.097 l +S +Q +q +1 0 0 1 282.7550049 504.7129974 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +265.8 0 l +S +Q +q +1 0 0 1 282.7550049 444.3659973 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 60.097 l +S +Q +q +1 0 0 1 58.0099945 444.1159973 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +144.74 0 l +224.745 0 l +S +Q +q +1 0 0 1 202.75 410.1690063 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 282.7559967 444.1159973 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +265.8 0 l +S +Q +q +1 0 0 1 282.7559967 410.1690063 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 58.0110016 409.9190063 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +144.74 0 l +224.745 0 l +S +Q +q +1 0 0 1 202.7510071 375.9720001 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 282.7570038 409.9190063 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +265.8 0 l +S +Q +q +1 0 0 1 282.7570038 375.9720001 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 58.0119934 628.826004 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +144.74 0 l +S +Q +q +1 0 0 1 58.2619934 608.1119995 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 202.7519989 628.826004 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +80.006 0 l +345.806 0 l +S +Q +q +1 0 0 1 548.3079987 608.1119995 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 58.2630005 578.7619934 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 28.85 l +S +Q +q +1 0 0 1 548.3079987 578.7619934 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 28.85 l +S +Q +q +1 0 0 1 58.2630005 504.9649963 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 73.297 l +S +Q +q +1 0 0 1 548.3079987 504.9649963 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 73.297 l +S +Q +q +1 0 0 1 58.2630005 444.3679962 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 60.097 l +S +Q +q +1 0 0 1 548.3079987 444.3679962 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 60.097 l +S +Q +q +1 0 0 1 58.2630005 410.1710052 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 548.3079987 410.1710052 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 58.2630005 375.973999 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 548.3079987 375.973999 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 58.0130005 375.723999 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +144.74 0 l +224.745 0 l +490.545 0 l +S +Q +BT +/T1_1 1 Tf +11 0 0 11 115.5252 614.0959 Tm +(Name)Tj +8.651 0 Td +[(T)60(ype of data )]TJ +15.872 0 Td +(Description)Tj +/T1_0 1 Tf +-29.162 -2.289 Td +[(com.sun.dtv)80(.persistent.root)-1222(Alphan)10(umer)-15(ic)-1145(Base director)-30(y f)30(or persistent stor)10(age on the platf)30(or)-25(m)]TJ +0 -4.689 TD +[(com.sun.dtv)80(.orgid)]TJ +14.337 0 Td +[(Numer)-15(ic)]TJ +-0.01 Tc 6.072 2.4 Td +[(Unique identi\336)245( )23(er f)30(or the organization responsib)20(le f)30(or)-10( )]TJ +0 -1.2 TD +[(the application.)60( It shall be the same v)25(alue tr)10(ansmitted)-10( )]TJ +T* +[(in the organization_id \336)245( )23(eld of the application )]TJ +T* +[(descr)-15(iptor identi\336)245( )23(er \(see ABNT NBR 15606-3:2007,)-10( )]TJ +0.01 Tw T* +(12.7\))Tj +0 Tc 0 Tw -20.409 -3.709 Td +[(com.sun.dtv)80(.appid)]TJ +14.337 0 Td +[(Numer)-15(ic)]TJ +6.072 1.8 Td +[(Unique identi\336)250( )28(er f)30(or the application.)60( It shall be the )]TJ +T* +[(same v)25(alue tr)10(ansmitted in the application_id \336)249( )28(eld of )]TJ +T* +[(the application descr)-16(iptor identi\336)250( )28(er \(see)]TJ +T* +(ABNT NBR 15606-3:2007, 12.7\))Tj +-20.409 -2.509 Td +[(com.sun.dtv)80(.v)25(ersion)-4359(Alphan)10(umer)-15(ic)]TJ +20.409 0.6 Td +[(V)80(ersion n)10(umber of the J)20(a)20(v)25(aDTV speci\336)250( )28(cation )]TJ +T* +[(implemented b)20(y the platf)30(or)-25(m \(J)20(A)70(V)80(ADTV 1.3:2009\))]TJ +-20.409 -1.909 Td +[(br)50(.org.ginga.system.)]TJ +T* +[(v)25(ersion)]TJ +13.146 0.6 Td +[(Alphan)10(umer)-15(ic)]TJ +7.262 0.6 Td +[(V)80(ersion n)10(umber of the Ginga-J speci\336)250( )28(cation )]TJ +T* +[(implemented b)20(y the platf)30(or)-25(m)]TJ +/T1_1 1 Tf +0.745 Tw -21.12 -3.426 Td +(7.1.9 Applicatio )Tj +0 Tw 8.081 0 Td +[(n contr)20(ol codes )]TJ +/T1_0 1 Tf +-0.022 Tw -8.081 -2.291 Td +[(The )1(dynamic )1(control )1(of )1(the )1(application\325)50(s )1(lif)30(e )1(cycle )1(is )1(signaled )1(b)20(y )1(the )1("application_control_code" )1(\336)250( )7(eld )1(f)30(or )]TJ +0.039 Tw T* +[(the application in the AIT \(see ABNT NBR 15606-3:2007\).)60( )50(The Ginga-J )1(application control codes are )]TJ +0 Tw T* +[(sho)15(wn in )50(T)120(ab)20(le 2.)]TJ +/T1_1 1 Tf +12.138 -2.836 Td +[(T)80(ab)10(le 2 \226 Ginga-J application contr)19(ol codes)]TJ +ET +q +1 0 0 1 121.8690033 228.5059967 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 206.9190063 228.5059967 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 58.3890076 228.2559967 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +63.48 0 l +148.53 0 l +S +Q +q +1 0 0 1 121.8690033 207.5090027 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 206.9190063 228.2559967 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +341.25 0 l +S +Q +q +1 0 0 1 206.9190063 207.5090027 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 58.3890076 207.2590027 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +63.48 0 l +148.53 0 l +S +Q +q +1 0 0 1 121.8690033 173.3119965 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 206.9190063 207.2590027 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +341.25 0 l +S +Q +q +1 0 0 1 206.9190063 173.3119965 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 58.3890076 173.0619965 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +63.48 0 l +148.53 0 l +S +Q +q +1 0 0 1 121.8690033 112.7149963 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 60.097 l +S +Q +q +1 0 0 1 206.9190063 173.0619965 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +341.25 0 l +S +Q +q +1 0 0 1 206.9190063 112.7149963 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 60.097 l +S +Q +q +1 0 0 1 58.3890076 112.4649963 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +63.48 0 l +148.53 0 l +489.78 0 l +S +Q +q +1 0 0 1 58.3890076 249.2220001 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +63.48 0 l +S +Q +q +1 0 0 1 58.6390076 228.5079956 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 121.8690033 249.2220001 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +85.05 0 l +426.3 0 l +S +Q +q +1 0 0 1 547.9190063 228.5079956 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.464 l +S +Q +q +1 0 0 1 58.6390076 207.5110016 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 547.9190063 207.5110016 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 20.497 l +S +Q +q +1 0 0 1 58.6390076 173.3139954 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 547.9190063 173.3139954 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 33.697 l +S +Q +q +1 0 0 1 58.6390076 112.7169952 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 60.097 l +S +Q +q +1 0 0 1 547.9190063 112.7169952 cm +/CS0 CS 1 SCN +0.5 w +/GS1 gs +0 0 m +0 60.097 l +S +Q +BT +/T1_1 1 Tf +11 0 0 11 76.5044 234.4919 Tm +[(Code)-3379(Identi\036)]TJ +0.028 Tw 8.851 0 Td +[( )1(er)]TJ +0 Tw 15.754 0 Td +(Description)Tj +/T1_0 1 Tf +-24.439 -1.909 Td +[(0x00)-3099(Not de\336)250( )28(ned)-1876(Reser)-30(v)25(ed f)30(or future use)]TJ +0 -2.509 TD +[(0x01)-2748(A)50(UT)40(OST)120(AR)30(T)]TJ +12.257 0.6 Td +[(Applications with the A)49(UT)40(OST)120(AR)30(T control code star)-40(t automatically )]TJ +0 -1.2 TD +[(upon selection of the ser)-31(vice that contains such applications)]TJ +-12.257 -3.709 Td +[(0x02)-3295(PRESENT)]TJ +12.257 1.8 Td +[(Applications with the PRESENT control code shall not be star)-42(ted )]TJ +T* +[(automatically and shall be added to the receiv)24(er\325)50(s list of a)20(v)25(ailab)20(le )]TJ +T* +[(applications)15(.)60( )50(The)20(y can be star)-40(ted b)20(y using the )30(\322Application Lif)30(e )]TJ +T* +[(Cycle Management and Control\323)39( API \(J)20(A)70(V)80(ADTV 1.3:2009\) )]TJ +ET + +endstream endobj 853 0 obj <> endobj 1202 0 obj <> endobj 1201 0 obj <>stream +BT +/CS0 cs 1 scn +/GS0 gs +/T1_0 1 Tf +8 0 0 8 417.7962 38.134 Tm +[(\251 ABNT 2010 - All r)-15(ights reser)-30(v)25(ed)]TJ +11 0 0 11 45.3266 35.8089 Tm +(8)Tj +/T1_1 1 Tf +0 68.648 TD +(ABNT NBR 15606-4:2010)Tj +/T1_0 1 Tf +-0.043 Tw 0 -4.899 TD +[(When an application instance is chosen to ha)20(v)25(e its e)30(x)30(ecution ter)-25(minated, the application manager shall )]TJ +0.03 Tw 0 -1.2 TD +[(call its destro)30(yXlet method.)60( As descr)-15(ibed in 7.1.1, if this instance is being shut do)15(wn due to a ser)-30(vice )]TJ +0 Tw T* +[(selection oper)10(ation, its \336)250( )28(nalization shall be unconditional.)60( )]TJ +/T1_1 1 Tf +0 -2.291 TD +[(7.1.4 )-745(Suppor)-20(t f)20(or m)20( )279(ultiple applications)]TJ +/T1_0 1 Tf +0.125 Tw T* +[(Ginga-J applications shall be e)30(x)30(ecuted in a m)10(ultitasking en)20(vironment, geared to)15(w)15(ard media e)30(v)25(ents )]TJ +0.123 Tw 0 -1.2 TD +[(mar)-15(k)20(ed b)20(y broadcast and user input e)30(v)25(ents)15(.)60( )50(The application model w)15(as designed to be e)30(xtensib)20(le)15(.)]TJ +-0.056 Tw T* +[(It is possib)20(le to suppor)-40(t m)10(ultiple competing applications that are cooper)10(ating \(designed to comm)10(unicate )]TJ +0 Tw T* +[(with each other and share resources\) or non-cooper)8(ating \(independent and competing f)29(or resources\).)]TJ +-0.03 Tw 0 -2.291 TD +[(The suppor)-40(t model f)30(or m)10(ultiple )1(applications in )1(Ginga-J shall be based on the application model de\336)250( ned )]TJ +-0.055 Tw 0 -1.2 TD +[(in J)20(A)70(V)80(ADTV 1.3:2009.)60( )50(Thus)15(, an application cannot be star)-40(ted if an instance of this application is already )]TJ +-0.05 Tw T* +[(activ)25(e in the ser)-30(vice selected f)30(or displa)30(y)100(.)60( F)30(or cases where more than one Xlet is r)-15(unning, no actions that )]TJ +0 Tw T* +[(ma)30(y aff)30(ect the global state of the platf)30(or)-25(m are per)-25(mitted \(see 7.1.1\).)]TJ +0.062 Tw 0 -2.291 TD +[(Each )1(application )1(instance )1(is )1(considered )1(as )1(if )1(it )1(w)10(ere )1(r)-15(unning )1(within )1(its )1(o)15(wn )1(vir)-40(tual )1(machine )1(instance)15(.)60( )]TJ +-0.008 Tw 0 -1.2 TD +[(Ne)30(v)25(er)-40(theless)15(, it is the broadcaster\325)50(s responsibility to ensure that applications e)30(x)30(ecuted sim)10(ultaneously )]TJ +0.047 Tw T* +[(in a par)-40(ticular ser)-30(vice are comprehensib)20(le to the user and cause no perceiv)25(ab)20(le prob)20(lems b)20(y m)10(utual )]TJ +0 Tw T* +[(interf)30(erence)15(.)60( )]TJ +/T1_1 1 Tf +0 -2.291 TD +[(7.1.5 )-745(The sharing of resour)19(ces between applications)]TJ +/T1_0 1 Tf +0.036 Tw T* +[(Allo)15(wing the sim)10(ultaneous e)30(x)30(ecution of m)10(ultiple applications)15(, means that some r)-15(ules shall be de\336)250( )64(ned )]TJ +0.142 Tw 0 -1.2 TD +[(f)30(or these applications to share a)20(v)25(ailab)20(le resources in the system.)60( In par)-40(ticular)50(, applications being )]TJ +0 Tw T* +[(e)30(x)30(ecuted shall share the )30(\322Input F)30(ocus\323)40( and )30(\322Output F)30(ocus\323.)]TJ +0.07 Tw 0 -2.291 TD +[(An application has the )60(\324Input F)30(ocus\323)40( if)30(, and only if)30(, the ja)20(v)25(a.a)20(wt.Component or the com.sun.dtv)80(.lwuit.)]TJ +0.028 Tw 0 -1.2 TD +[(Component, which ha)20(v)25(e )30(\322Input F)30(ocus\323, belongs to the components tree of that application.)60( )50(The )30(\322Input )]TJ +-0.05 Tw T* +[(F)30(ocus\323)40( can be requested b)20(y applications calling the requestF)30(ocus method in one of the af)30(orementioned )]TJ +0 Tw T* +[(classes)15(, depending on the type of g)9(r)10(aphical component used.)]TJ +-0.005 Tw 0 -2.291 TD +[(The application that has the )30(\322Input F)30(ocus\323)40( is)15(, in pr)-15(inciple)15(, capab)20(le of receiving user input e)30(v)25(ents)15(.)60( Other )]TJ +0.041 Tw 0 -1.2 TD +[(applications that do not ha)20(v)25(e the )30(\322Input F)30(ocus\323)40( can request the reception of )1(a subg)10(roup of user input )]TJ +0 Tw T* +[(e)30(v)25(ents through the )30(\322TV Speci\336)250( )28(c UI functionality Ev)25(ent\323)40( API \(see J)20(A)70(V)80(ADTV 1.3:2009\).)]TJ +/T1_1 1 Tf +0.745 Tw 0 -2.291 TD +[(7.1.6 Contr)20(olli )]TJ +0 Tw 7.338 0 Td +(ng applications)Tj +/T1_0 1 Tf +0.036 Tw -7.338 -2.291 Td +[(It is possib)20(le to control the lif)30(e cycle of an application through the "Application Lif)30(ecycle Management )]TJ +0.113 Tw 0 -1.2 TD +[(and Control\323)40( API \(J)20(A)70(V)80(ADTV 1.3:2009\), which pro)15(vides means to per)-25(mit applications to request the )]TJ +0 Tw T* +[(Application Manager to star)-41(t, stop)35(, pause and resume other applications)14(.)]TJ +/T1_1 1 Tf +0 -2.291 TD +[(7.1.7 )-745(Comm)20(unication between applications)]TJ +/T1_0 1 Tf +0.37 Tw T* +[(The model of comm)10(unication betw)10(een Ginga-J applications shall comply with the application )]TJ +0.139 Tw 0 -1.2 TD +[(model de\336)250( )167(ned in J)20(A)70(V)80(ADTV 1.3:2009.)60( Applications shall use the mechanisms de\336)250( )167(ned in the "Inter-)]TJ +0.141 Tw T* +[(Xlet Comm)10(unication" API \(see PBP 1.1:2008\) f)30(or )1(such )1(mechanisms)15(.)60( Comm)10(unication betw)10(een one )]TJ +0.202 Tw T* +[(application )1(and )1(another )1(is )1(estab)20(lished )1(b)20(y )1(the )1(connection )1(betw)10(een )1(an )1(object )1(to )1(a )1(name )1(in )1(ja)20(v)25(ax.)]TJ +0.09 Tw T* +[(microedition.xlet.ixc.IxcRegistr)-31(y \(see PBP 1.1:2008\) and another application seeking this name and )]TJ +0.059 Tw T* +[(in)20(v)25(oking the methods of the object.)60( )50(The possib)20(le "namespaces" f)30(or registr)10(ation shall comply with the )]TJ +0 Tw T* +[(de\336)250( )28(nitions estab)20(lished b)20(y the comm)10(unication interf)30(ace betw)10(een applications of J)20(A)70(V)80(ADTV 1.3:2009.)]TJ +ET + +endstream endobj 849 0 obj <> endobj 1200 0 obj <>stream +BT +/CS0 cs 1 scn +/GS0 gs +/T1_0 1 Tf +8 0 0 8 56.6651 38.2649 Tm +[(\251 ABNT 2010 - All r)-15(ights reser)-30(v)25(ed)]TJ +11 0 0 11 543.7772 35.9399 Tm +(7)Tj +/T1_1 1 Tf +-11.169 68.636 Td +(ABNT NBR 15606-4:2010)Tj +/T1_0 1 Tf +0.003 Tw -33.114 -4.899 Td +[(The destro)30(yXlet method ma)30(y be called in an)15(y state and is used to notify the application that it is about )]TJ +0.077 Tw 0 -1.2 TD +[(to ha)20(v)25(e its application completed.)60( )50(The application shall sa)20(v)25(e inf)30(or)-25(mation on its state \(if possib)20(le and )]TJ +0.065 Tw T* +[(necessar)-30(y\) and release pre)30(viously used resources as soon as possib)20(le)15(.)60( )50(This method has a Boolean )]TJ +0.015 Tw T* +[(par)10(ameter that indicates if it is unconditional that this application shall\ be shut do)15(wn.)60( If the application )]TJ +0.169 Tw T* +[(is being shut do)15(wn due to a ser)-30(vice selection oper)10(ation, the \336)250( )197(nalization of the application will be )]TJ +0 Tw T* +(unconditional \(see 7.1.3\).)Tj +0.014 Tc 10 0 0 10 56.6651 647.0419 Tm +[(NO)40(TE )-1704(An application instance ma)30(y enter this state only once)15(.)]TJ +0 Tc 0.416 Tw 11 0 0 11 56.6651 621.8419 Tm +[(If a Xlet interf)30(ace method tr)-15(iggers ja)20(v)25(ax.microedition.xlet.XletStateChangeException \(see PBP )]TJ +0.053 Tw T* +[(1.1:2008\), b)20(y def)30(ault the Xlet remains in the state it w)15(as in immediately bef)30(ore the call that tr)-15(iggered )]TJ +-0.052 Tw T* +[(the e)30(xception.)60( )50(The only e)30(xception to this r)-15(ule is the destro)30(yXlet method when the unconditional Boolean )]TJ +-0.055 Tw T* +[(par)10(ameter is passed with a tr)-15(ue v)25(alue)15(, In this scenar)-15(io)40(, tr)-15(igger)-15(ing XletStateChangeException shall ha)20(v)25(e )]TJ +0 Tw T* +[(no eff)30(ect and the Xlet shall be destro)29(y)20(ed.)60( )]TJ +0.053 Tw 0 -2.291 TD +[(The initXlet method shoall be called only once)15(.)60( Moreo)15(v)25(er)50(, the application manager of ma)30(y choose to )]TJ +0.023 Tw 0 -1.2 TD +[(change the Xlet to the )30(\322Destro)30(y)20(ed\323)40( state \(without calling destro)30(yXlet\) at some speci\336)250( )51(c implementation )]TJ +0 Tw T* +[(time afterw)15(ards if an XletStateChangeException is tr)-16(iggered.)]TJ +-0.042 Tw 0 -2.291 TD +[(Applications in the )30(\322Destro)30(y)20(ed\323)40( state cannot be star)-40(ted with the )30(\322Application Lif)30(ecycle Management and )]TJ +0 Tw 0 -1.2 TD +[(Control\323)40( API \(see J)20(A)70(V)80(ADTV 1.3:2009\) or an)15(y other mechanism a)20(v)25(ailab)20(le on the platf)30(or)-25(m.)]TJ +/T1_1 1 Tf +0 -2.291 TD +[(7.1.2 )-745(Star)-20(tup of applications)]TJ +/T1_0 1 Tf +0.034 Tw T* +[(When a ne)20(w ser)-30(vice is selected f)30(or displa)30(y)100(, the global application manager of the system shall chec)20(k )]TJ +0.209 Tw 0 -1.2 TD +[(the a)20(v)25(ailab)20(le applications in accordance with ABNT NBR 15606-3:2007, 12.16.)60( In par)-40(ticular)50(, this )]TJ +-0.046 Tw T* +[(manager also identi\336)250( )-18(es applications that shoall be star)-40(ted immediately after the selection of the ser)-30(vice )]TJ +0 Tw T* +(in question.)Tj +0.081 Tw 0 -2.291 TD +[(If there is already an application r)-15(unning at the time of de-selection of ser)-30(vice that contains it, such )]TJ +0 Tw 0 -1.2 TD +[(application can contin)9(ue r)-15(unning if it is \337)250( )28(agged as a v)25(alid application f)30(or the ne)20(w ser)-30(vice selected.)60( )]TJ +-0.044 Tw 0 -2.291 TD +[(After the selection of a ser)-30(vice)15(, it\325)50(s possib)20(le that \337)250( )-16(agged alter)-25(nativ)25(e applications are star)-40(ted b)20(y the user)50(, )]TJ +0.038 Tw 0 -1.2 TD +[(b)20(y the zapper or b)20(y an)15(y other applications using the )30(\322Application Lif)30(ecycle Management and Control\323)40( )]TJ +0.007 Tw T* +[(API \(see J)20(A)70(V)80(ADTV 1.3:2009\).)60( In other w)10(ords)15(, the user can star)-40(t an application after receiving an off)30(er )]TJ +-0.032 Tw T* +[(of applications through a par)-40(ticular user interf)30(ace)15(.)60( Since this interf)30(ace is dependent on implementation, )]TJ +0.19 Tw T* +[(\337)250( )218(agged ser)-30(vices shall indicate e)30(xplicitly if the)20(y require the application to be star)-40(ted automatically)]TJ +0 Tw T* +(\(see ABNT NBR 15606-3:2007, 12.16\).)Tj +/T1_1 1 Tf +0 -2.291 TD +[(7.1.3 )-745(Finalization of applications )]TJ +/T1_0 1 Tf +0.011 Tw T* +[(Ginga-J applications can v)25(oluntar)-15(ily ter)-25(minate their application using the Xlet API )1(\(see )1(PBP 1.1:2008\) )]TJ +0 Tw 0 -1.2 TD +[(or can be \336)250( )28(naliz)15(ed b)20(y the system\325)50(s application manager)50(.)]TJ +0.118 Tw 0 -2.291 TD +[(Additionally)100(, an application shall ha)20(v)25(e its e)30(x)30(ecution interr)-15(upted unconditionally whene)30(v)25(er an)15(y of the )]TJ +0 Tw 0 -1.2 TD +[(f)30(ollo)15(wing conditions occur)-30(:)]TJ +1 -2.291 Td +( )Tj +/TT0 1 Tf +-1 0 Td +(\227)Tj +/T1_0 1 Tf +0.124 Tw 1.984 0 Td +[(the AIT tab)20(le \(see ABNT NBR 15603:2007 \) has been updated or substituted and in t\ his ne)20(w )]TJ +0 Tw 0.103 -1.2 Td +[(v)25(ersion there is no ref)30(erence to the application in question;)]TJ +-1.082 -2.291 Td +( )Tj +/TT0 1 Tf +-1.005 0 Td +(\227)Tj +/T1_0 1 Tf +0.005 Tc 0.207 Tw 1.984 0 Td +[(the )1(AIT )1(tab)20(le )1(\(see )1(ABNT )1(NBR )1(15603:2007\) )1(is )1(no )1(longer )1(ref)30(erenced )1(in )1(the )1(PMT )1(tab)20(le )1(\(see)]TJ +0 Tw 0.103 -1.2 Td +[(ABNT NBR 15603:2007\) of the ser)-30(vice being displa)30(y)20(ed.)65( )]TJ +ET + +endstream endobj 846 0 obj <> endobj 1199 0 obj <>stream +BT +/CS0 cs 1 scn +/GS0 gs +/T1_0 1 Tf +8 0 0 8 417.7962 38.1349 Tm +[(\251 ABNT 2010 - All r)-15(ights reser)-30(v)25(ed)]TJ +11 0 0 11 45.3266 35.8099 Tm +(6)Tj +/T1_1 1 Tf +0 68.648 TD +(ABNT NBR 15606-4:2010)Tj +/T1_0 1 Tf +0.041 Tw 0 -4.899 TD +[(Ginga-J applications shall be e)30(x)30(ecuted in an en)20(vironment geared to)15(w)15(ard ser)-30(vices and maintained b)20(y)]TJ +-0.032 Tw 0 -1.2 TD +[(a global application manager of the system.)60( Ev)25(er)-30(y ser)-30(vice is presented in a ser)-30(vice conte)30(xt, which ma)30(y )]TJ +-0.043 Tw T* +[(be de\336)250( )-15(ned as its en)20(vironment of e)30(x)30(ecution.)60( F)30(or Ginga-J applications)15(, the ser)-30(vice conte)30(xt is represented )]TJ +0 Tw T* +[(b)20(y an instance of the ja)20(v)25(ax.microedition.xlet.Ser)-30(viceConte)30(xt class)15(.)]TJ +0.194 Tw 0 -2.291 TD +[(Fur)-40(ther)-25(more)15(, Ginga-J applications can be controlled either b)20(y a zapper)50(, b)20(y the broadcaster \(see )]TJ +0.001 Tw 0 -1.2 TD +[(ABNT NBR 15606-3:2007, 12.16\), b)20(y another application using the Ginga-J API )30(\322Application Lif)30(ecycle )]TJ +0.111 Tw T* +[(Management and Control\323)40( \(see J)20(A)70(V)80(ADTV 1.3:2009\) or b)20(y Ginga-NCL documents)15(.)60( Consider)-15(ing that )]TJ +0.105 Tw T* +[(the )1(application )1(pro)15(vides )1(a )1(class )1(that )1(implements )1(the )1(ja)20(v)25(ax.microedition.xlet.Xlet )1(interf)30(ace)15(, )1(this )1(class )]TJ +0.014 Tw T* +[(contains at least f)30(our methods that are called b)20(y the platf)30(or)-25(m to inf)30(or)-25(m the application of imminent lif)30(e )]TJ +0 Tw T* +[(cycle changes)15(.)60( A diag)10(r)10(am sho)15(wing the lif)30(e cycle of Ginga-J applications is sho)15(wn in Figure 4.)]TJ +ET +q +115.841 418.999 352.201 171 re +W n +q +/GS1 gs +352.3440552 0 0 171.1439972 115.7879944 418.9080048 cm +/Im0 Do +Q +Q +BT +/T1_1 1 Tf +11 0 0 11 151.9172 401.6419 Tm +[(Figure 4 \226 Dia)10(gram with the lif)9(e c)10(yc)20(le states of an Xlet)]TJ +/T1_0 1 Tf +-0.007 Tw -9.69 -1.745 Td +[(Initially)100(, after the data of the application is obtained, the object that impleme\ nts ja)20(v)25(ax.microedition.xlet.)]TJ +-0.046 Tw T* +[(Xlet is created b)20(y using its constr)-15(uctor)50(.)60( If the def)30(ault constr)-15(uctor retur)-25(ns without tr)-15(igger)-15(ing an e)30(xception, )]TJ +-0.059 Tw T* +[(the )1(application )1(instance )1(will )1(be )1(considered )1(as )1(being )1(in )1(the )31(\322Loaded\323)40( )1(state;)50( )1(if )1(not, )1(the )1(application )1(instance )]TJ +0 Tw T* +[(will be considered as being in the )29(\322Destro)30(y)20(ed\323)40( state and discarded.)]TJ +0.014 Tc -0.021 Tw 10 0 0 10 45.3265 318.8419 Tm +[(NO)40(TE )-1725(The initialization of the resources utiliz)15(ed b)20(y the application is done in the initXlet\(\) method and not)14( )]TJ +0 Tw T* +[(the constr)-15(uctor of the class)15(.)60( )50(The call to the constr)-15(uctor is implementation-dependent.)]TJ +0 Tc -0.012 Tw 11 0 0 11 45.3265 281.6419 Tm +[(In order to star)-40(t the initXlet method application, a ja)20(v)25(ax.microedition.xlet.XletConte)30(xt instance object is )]TJ +-0.023 Tw T* +[(called, which has inf)30(or)-25(mation about the conte)30(xt of the e)30(x)30(ecution f)30(or the application including proper)-40(ties )]TJ +-0.024 Tw T* +[(and mechanisms f)30(or the noti\336)250( cation of changes in states initiated b)20(y the application.)60( Once the instance )]TJ +-0.039 Tw T* +[(of )1(the )1(application )1(has )1(been )1(successfully )1(loaded )1(and )1(successfully )1(initiated, )1(the )1(application )1(manager )1(can )]TJ +0 Tw T* +[(change the state of the application instance to )29(\322P)40(aused.)100(\323)]TJ +0.014 Tc 10 0 0 10 45.3265 204.8419 Tm +[(NO)40(TE )-1704(It\325)50(s possib)20(le that the initXlet method will be called asynchronously)100(.)]TJ +0 Tc -0.031 Tw 11 0 0 11 45.3265 179.6419 Tm +[(The star)-40(tXlet method can then be called to inf)30(or)-25(m the application that it will be con)20(v)25(er)-40(ted to the )30(\322Activ)25(e\323)40( )]TJ +0 Tw T* +[(state)15(, initiating the e)30(x)30(ecution thereof)30(.)]TJ +-0.035 Tw 0 -2.291 TD +[(The pauseXlet method ma)30(y be called to inf)30(or)-25(m the application that it shall change to the )30(\322P)40(aused\323)40( state )]TJ +-0.03 Tw 0 -1.2 TD +[(and that it shall minimiz)15(e its consumption of resources)15(.)60( )50(The application can change bac)20(k to the )30(\322Activ)25(e\323)40( )]TJ +-0.031 Tw T* +[(state after a ne)20(w call to the star)-40(tXlet method.)60( An application instance in the )30(\322P)40(aused\323)40( state shall reduce )]TJ +-0.054 Tw T* +[(its )1(consumption )1(of )1(resources )1(if )1(it )1(intends )1(to )1(maximiz)15(e )1(its )1(lik)20(elihood )1(of )1(sur)-30(viv)25(al.)60( )51(This )1(does )1(not )1(mean )1(that )1(it )]TJ +-0.05 Tw T* +[(cannot maintain an)15(y resources)15(, b)20(ut that - if it does - it shall ha)20(v)25(e a lo)15(w)10(er pr)-15(ior)-15(ity f)30(or accessing resources )]TJ +0 Tw T* +[(than if it w)10(ere in the )30(\322Activ)25(e\323)40( state)15(.)]TJ +ET + +endstream endobj 841 0 obj <>]/Filter[/FlateDecode]/Height 300/Length 7957/Subtype/Image/Type/XObject/Width 618>>stream +hy@TlLܗ|f٦z]Fp M'Zsa**ZZ&iry$& 2;3 2a>r˹s=?                             tOSX Ht>ϘGnX Ѱ=¾iG4|wa# ϼ=kMR\GY[ UGOnĴZDi?g{1asGKѯ_igϣUhZQeN֧՚ߺeźuOkXLVMSMks<޳-D[0ZwQ٤Y/r>g4mei#sc[ɦݳI?ӞX`G=]',m~51Eg*0]mM үdl0/|{N[6 j#xyu#a}u}މi;kxِ7uśfٴ 11ݚUdfJV(dif ! -DZ\-7mNDDIJpNoNJe'K7mb2EAh9,P8YhZ6="iMs%fK;sq ݥ/X0NSL $}[r1͸呦Z?-b˴:ʹ{tJ5-W>jZpܴ涟=yɛe0k\DЂZp [;1笘]Ī4xS _Zq!78d8ziނE͗Դ%Tӎw]g=A +~( 76d /}?dh!ؙi8E,4yqh"f  |KX4qXRMۀV!D6a M5[|)M{[= ɥưd|%)R!)s'b7:x60ͭNhv0R%93U +Sq/UHv[Gï%hՑF__ᑦŌAc MA~jQ%4?&70-(ʹH\"E!\ Q +MFlh͏#O!´g'(ݴ ` nw{ Hhy?i|4^ƒbvzGp7B ׌^E͗4Io9-)ʹX! b2?}5y,ch!´kj:;tBq_A¿~{X +(cI1;Z{II/L{i`l޴4)/:5̢cT1~Se(263Qx7NcS֪NӦ"K,$ XAV!aD 0X{܎4?JqM8MS +’?dZ62mP56iݲ3`9lѷ>O4\!k59ڍ09yKn:}׶䎀clEyn荫'%/jkAfѦll`f 4" iۡD`<g4<#M'uYbGsY |Q_Xbm_/Ybi}{*_iKchQMMka#CH!BJBg`o@sׂ4MOl n-ó BX~bC|j,ij㬧$j ,!M/gҝGv?G3~+ar}Lk}Zs&-{9p~~gpU ÇAXѴfw +g=K1c E^t3qz Oػ{b<{2cvw"Uk-=.4Ls)SFcA2L+d%45o6T'ku42iOnЩJ42͚q\{UJi5S[d*ƑidM8)idM8idMLޓL#42L#42L#42LӚ Z;F;2L8y<vXFiz 3&iH.qdXӴ6?Ar?6+5&){=#/wa#cn~h+U Ru3o~ofGJVoe|`;آZoހg4pzUƢJ##Z ]QUńM=Ǖmk~6Yw /xb^꠫y>,҆K9\kSM3={|<}7BrpXQU[M39*>zўō xɷ2\ x+265~0V.kc + ҏw=b8X$iN%PqC([ĉc +_`|0!iɚe,a,*=|EG*nZ>2yZ&q^8\Ma􃖁hϞ/vki|G^VrL]s9+U/n\]{`+tLMۖڇV_OwsZ9){v^f&<̞̖uPPF*&&rLm`}-YY԰h)jѠF":5#jZ*D 4RZ.U +0Z r3IݧHSXǚ̴J Ezq]EP2ʸVA5EƢqixBy{yb;pf5>fE ͂vfZWLGc4+I.cPCIxHRLkrHJDd8gj]EH%$ OixXULt`K?!AşiP;p*. S캍U4T`wUV +Íȴ +R; J== +dZyovA~~ߴZQ@hY.'O\'VN:_b[FQ.Գki#\}SeO9oiMo:]N%,uɴ2FmP; .s>Hx)+u +I5|纒8L;\!i9\DҔf +I4qpR8m]p3RVHڡiZ$KŨG̳{SO2 HdZ 6%M$pu28#8Ta}6.$"/67/ѮMo-tj1Uɴz[AdxDhXxۼ(:ؚs/a'|jGI}\Jӎo3.uLM;j7٣hWH^ʳei炸in~hŘߩ{;g%.J/OJlZ/U Rudi-ĪvfZ$P3*+$5sʾ(!.c?iѿ+FݮL=ΰ6wt3~9h1q#ʜtڕi5`"GrZ+$O*Vo/q.O.m. 3G]:] s1s3` {=߼ ĵ&| rFq1SlvF{bKLoZ?&kEg9Zi32vi[ؗin 4x0ՙl. +>>[6S| ҏ)zz16%I}!:ػ}1\4͸=9 E2 )=goCl̻Ĩk4<+~ik_rZq +ډi5BUPv!lAPeX!rivx׸Shj|G^/4[<ǪhZN-)Bj= \@؈~s9KYcɌ?քTMcm<Ⱥ!><|,g["N2A{l:فi!y,r'lOUoCSȮAKB{V 7:n1pba c4upE`->%>=Z,T{+4Or|νyl+$#R+UiM7|a{JB򙚥ש$3uW +쫄c1@qlBRL Lק^t+$iwɮ\ܗi1Z +춧DD#lMJ HRTS|nIF@3FmjcZ䌦SW;ӄ+@l :< rla;i7>\Bl0d3:]N-2g;jiU'R LQ]Ls*2g6I),jD<"+$Y{mLk{L{t3i-BKU4OYPҪbCjUf^mT4yWMWMW7fy2EJ)=RNUț`4Hp͒~-^- +W?5O^g$2jYo'H.)1TDKgiF~ɐ:,y {U}i\zO<߃f*¢ȢHyFwi͎W>!{uYjACɫUUf,RPU"h0**̒W W͓W ٫ɫr1<,RP7mzj/Xk$bUӞ:Յfɫ٫fɫ٫MWMW5fyE0TE"-<>ur6-!{YjAjUVojZ1]aPUHi2h  ٫fɫ"ɫ٫&ɫ&٫<_HCU4RKSHkTLD?iI͂բɫ)&$Vo|!T-iu7ϰ(y$Rvd7i$>ڞ7=JGW "5Bs1+^dKɒUBH:) +zћ4kp*M9ƅi3[&֌Big-dWN?%]޼ hC8K%Ş2\($- Js̄ ̀6C}=j٫瀄t _~fJӬ*f0 |0£n$i$iTBZ&.cĿ}Z9z@ +쪿Iwac~~SytR +7M(lnڻ*oۄ|OۗN߱.2,lgaaˣ0gbZ䌥KיrşՉ7P~\뼮&a1+ʝmAaw.W<4[ж,Q?UEusD3 ik;}=mz97Y#"IʵTsaM.2,ro2SE8 AB/x?of/tdu`㕲]^߹ݺ}QmIF(P1N.e%Д4!WSn.i*?G11Jw~lɻ f~34 =C轚KӮ[/P =N/OExI槿Sx #/t@x%RH*ܦAlk1i΂( ʡeyt۬E3Z iC|~%X)8R-gSk6xP* 6-lx˖`##".Wv V @+؎ob.O3&t7(r .y4 쥨ˑ s#""/W,^6<"B53v|7a p}<aiKPL:|Hq +3xԺ=8WLz4m8~ˏ XYiu0EzY1Mw4rVo+q0!ނ׸0&$P4(dIaK7KEq_bv -|,&]b_B6=/q.P*f5MxٱJ6m?wWan 9wkh2bùiM1)\8[GBݛWf9'?RUig<^v|l? wFk wm8-_ B0XfAD,6GX{$SiV~,ĜMW ?99YQS_ԜV`tA}^7-g~Z^iP/;cUuNe%2@Pw6;ݩ׸ _fRc|,'5M>]~t@lIu +8o=zj~ =-/`c\_oĻUCmXAqX>NpL{8dgk^u 6zi,CHSLO@m:ZadE'G>ːUU3cܸ|xz[|j L΃4W@ĩ}Lk.-)δ.4L#TJ]w3߻09p1w-T{, *<#0W({[V4͋tY6s@MhZX$-kio:ªߘB.Sj^fFe]liZۈH+l!ZmDPL?56).G!dzZYރB-w^{4)SPoho!kE8OCxgP =?uBH +0Q79@ZϼRZE9*DjN˂zP<. E0ާ@)4jU8܂rcTt*wW@FQ$7bfʦ!@lpm&Hj_Q/ؓ5KKi%4_ِ n xg|!2^i b>stream +     + +        !"#$%%&'())* +!,"- ".!#.!#/!$0"%1#%2$&3$'4%(4%(5&(6')7'*8(+9)+9)+9*,:+-;+-<,. =-/ >.0 +>.0 +?.0 +@/1 +A02 B13 C13 D24 D24 E35 F46 G46H57I68J78J79J79K8:L9;M:;N:<O;=P<>P=>Q=?Q=?R>@S?@T@AU@BUABVBCWCDXCDXCDYDEYEFZEGG\GH]HI]HI^IJ_JK`KK `KK aKL!aLM"bMM#cNN#dNO$eOO%ePP&fPQ'gQQ'hRR(hSR)iSS*jTT+kUT,kUT,lVU,lVV-mWV.nXW/oXX0oYX1pZY2q[Z3r[Z4s\[5s][6t]\7u^]8v_]9v_^9w`_:xa_;ya`{cb?|dbA|ecB}fdC~fdDgeEhfFhfGigHjhIjhJkiLljMljNmkOnlPolRomSpnTqnUqoWrpXspYsqZtr\us]vs^vt`xubxvdywezwfzxh{yi|yk|zl}{m~{o|p}s~t~vwyz{}ªīŬǯȰɲʳ̵ͶϸѺһӽվֿééĪũƨǦǦȥȥ +endstream endobj 843 0 obj <> endobj 1198 0 obj <> endobj 1197 0 obj <>stream +BT +/CS0 cs 1 scn +/GS0 gs +/T1_0 1 Tf +8 0 0 8 56.6651 38.2649 Tm +[(\251 ABNT 2010 - All r)-15(ights reser)-30(v)25(ed)]TJ +11 0 0 11 543.7772 35.9399 Tm +(5)Tj +/T1_1 1 Tf +-11.169 68.636 Td +(ABNT NBR 15606-4:2010)Tj +/T1_0 1 Tf +0.093 Tw -33.114 -4.899 Td +[(The Ginga de)30(vice shall ha)20(v)25(e access to streams of video)40(, audio)40(, data and other media that shall be )]TJ +0.063 Tw 0 -1.2 TD +[(tr)10(ansmitted o)15(v)25(er air)50(, cab)20(le)15(, satellite or IP netw)10(or)-15(ks)15(.)60( )50(The inf)30(or)-25(mation receiv)25(ed shall be processed and )]TJ +0 Tw T* +[(displa)30(y)20(ed to the vie)20(w)10(ers)15(.)]TJ +/T1_1 1 Tf +0.745 Tw 0 -2.291 TD +[(5.2.2 Ar)20(c)10(hitecture)]TJ +/T1_0 1 Tf +-0.036 Tw T* +[(The Ginga-J model distinguishes betw)10(een hardw)15(are and softw)15(are entities and resources of the system )]TJ +0 Tw 0 -1.2 TD +[(and applications as descr)-16(ibed in Figure 3.)]TJ +-0.056 Tw 0 -2.291 TD +[(The resident applications can be implemented using non-standard function\ s)15(, pro)15(vided b)20(y the Oper)10(ating )]TJ +0.027 Tw 0 -1.2 TD +[(System of the Ginga de)30(vice)15(, or b)20(y a par)-40(ticular Ginga implementation.)60( Resident applications ma)30(y also )]TJ +0.042 Tw T* +[(incor)-30(por)10(ate functionalities pro)15(vided b)20(y the standardiz)15(ed Ginga-J API.)60( )50(T)120(r)10(ansmitted applications \(Xlets\) )]TJ +0 Tw T* +[(shall alw)15(a)30(ys use standardiz)15(ed API pro)15(vided b)20(y Ginga-J)30(.)]TJ +ET +q +203.049 416.001 236.46 156.721 re +W n +q +/GS1 gs +236.5440063 0 0 156.8639679 203.0279999 415.9080658 cm +/Im0 Do +Q +Q +BT +/T1_1 1 Tf +11 0 0 11 140.0902 393.8419 Tm +[(Figure 3 \226 Gi )278(nga-J ar)20(c)10(hitecture and the e)15(x)10(ecution en)40(vir)20(onment )]TJ +/T1_0 1 Tf +-0.072 Tw -7.584 -1.745 Td +[(In gener)10(al, Ginga is e)30(xtr)10(aneous to an)15(y resident applications)15(.)60( )50(These resident applications include)15(, b)20(ut not )]TJ +0.054 Tw T* +[(limited to)40(, the f)30(ollo)15(wing:)50( closed caption, conditional access system messages \(CA\), resident rec\ eiv)25(er )]TJ +0 Tw T* +[(men)10(us and resident electronic prog)9(r)10(amming guides \(EPG\).)]TJ +0.021 Tw 0 -2.291 TD +[(Resident applications ma)30(y ha)20(v)25(e pr)-15(ior)-15(ity o)15(v)25(er Ginga applications)15(.)60( F)30(or e)30(xample)15(, the closed caption and )]TJ +0 Tw 0 -1.2 TD +[(emergency message shall ha)19(v)25(e pr)-15(ior)-15(ity in the Ginga system.)]TJ +/T1_1 1 Tf +13 0 0 13 56.6651 268.7419 Tm +[(6 )-540(Content f)20(ormat )]TJ +/T1_0 1 Tf +0.005 Tc 0.249 Tw 11 0 0 11 56.6651 244.5419 Tm +[(The content f)30(or)-25(mat f)30(or the Br)10(azilian digital terrestr)-15(ial tele)30(vision system shall be compliant with)]TJ +0 Tc 0 Tw T* +(ABNT NBR 15606-1.)Tj +/T1_1 1 Tf +13 0 0 13 56.6651 190.2419 Tm +[(7 )-540(Ginga-J application model)]TJ +12 0 0 12 56.6651 164.8419 Tm +[(7.1 )-623(Application m )278(odel)]TJ +11 0 0 11 56.6651 139.6419 Tm +[(7.1.1 )-745(Lif)10(e c)10(yc)20(le)]TJ +/T1_0 1 Tf +0 -2.291 TD +(Th )Tj +-0.055 Tw 1.167 0 Td +[(e Ginga-J application model shall be compliant with the model de\336)250( )-27(ned in J)20(A)70(V)80(ADTV 1.3:2009.)60( Hence)15(, )]TJ +0.029 Tw -1.167 -1.2 Td +[(Ginga-J applications shall contain a class implementing the ja)20(v)25(ax.microedition.xlet.Xlet interf)30(ace \(see )]TJ +0.082 Tw 0 -1.2 TD +[(PBP 1.1:2008\), which shall be ref)30(erenced in accordance with the de\336)250( )110(nitions of application signaling )]TJ +-0.001 Tw T* +[(\(see ABNT NBR 15606-3:2007, 12.16\).)60( Otherwise)15(, the class \(and the instance of the application\) ma)30(y )]TJ +0 Tw T* +(be ignored.)Tj +ET + +endstream endobj 834 0 obj <>]/Filter[/FlateDecode]/Height 282/Length 15244/Subtype/Image/Type/XObject/Width 426>>stream +h{yt\%6z%VD3LUoa2Mh9LHlI 6^=`!}'ۮ,,L0%YXt:V0k ؐ$߹I7*Fg[*Uz%;sϘ3ێ9w |,jEs.=suƜ3k6)qf;{MJ療TQ=x\f85/al(*n߽ M94wsfaۆce?Ox_S9<Qg)Ӳ3 eˏ.̅!υ^_n+'Rg +FSA2,1lg?.nqo89?C * 䓮wfe@(? =76RAgo^Kv)]>kr̟>pAß)p nO7~9J2Oҧ-'ƬT&kd~}Nzly-sQVl9d-c֨ 5Rpcr/~Lg7lZ(!B+'© +S3ѳz'k@jVot/t9¿uHq|.H={D=G[۸/JҺ!5GtxTGx Ӽ6/ѝz\sĩDԶ,yy/NquX_|m)R5<  3~݆*ws!rWWsV)r9~f=aXnw~ +B_~ڊ.R^@WxUp)uljYT!FeB>~޸炰)Enr8tMcc )TWvWYڮo(JxMnZG+msˏgqD3QTSs̞.is$"VSd:άML8 +rp'(̞a~Sįlu?2Y(,^0ܠ1`V6٨~\vJ1Jq +Hƃ9psא!UCT R5jHՐ!UCtDpĔ\mĦb'Ǟ1;q&VlK?])TNlsPT|1 -| hsӆc=b0ټR5,":O8^7YhA*6SMB3H`Pu|㔝Sqw## +Bi yAslgd #Yl}}2B++Ɣ~X& 4c |*#[7F8 xNW="FMpH`uz='[5He- q3k;cGXV+q`hlӲ3dYlr#%Z~<7 (ꁶn eك(VR,k1G]dpK;+d,@3g|,cE 'hbeZ]i6և=wniE9再Th Iz2C9͹^nw6s_VR{Q}]۶PNhv&,g#r>g2N~KX+6]hig=N9*[1Q«`ɺp1񃼻! +a!f̴ics?5q?*,~\5~|TtMni691Spb/UL|1 :n;? ~A;|1r'cӧ;m &S7@_K\^ˮ.~&xoW*,%qB5?Oo,|{~7[ ^_E ooJ mZo޲-m1]#Gobagߢ&Pj8Y‰ +yCO"$ j_t2o? `Z@'f9]7{,{?X֮f6+MjڿQ1m{xm:s9R<lgx?NSиvt`o ]'2g}:o߾:r "ɡG`.uaG{x0kCe}&ӵ6Zxm<ꆷα5QF {|.#`!o-+OG+?VQ oMnBj@r{ + @"׻a/UL +Fn'Qpõv r9DCK@ZAm7~6[3r^VMjDvw_G- +V+he y'CwM¹|Q7sѰ6ea}` vˋZ7lkh#_-k#{H偌G +OFQڗcwRp&C'Pqڞk+"Fiiw/~7k_,ZiдoU +gDUtޭE}mvǰvwlgBMg[%D?<3U*6ݐq 5 1ݴgٓV?WTrR~58ʻoBcg. '1A8VSs|`i5p  oB|Eڱ^uláe ~0]axݻmjZ $̹3"7~vBP4-qC#;7]v=َo/> ,\r"+Ki@htU>XQO=\}o=BznÓ\Eo] e챇2Odj݋%7KG׀$dփc˳8]M#$9h\?yqF3mO1coHHYte8@R'!@n<q'ʧ&EtfU4!'܄>zݵ;#+>'h}'Nol߲=z?e,>ˣ+XhHd{}ͼv74b&kr=Hh ol3|},+"PBQ9@Oawҁn@OϓS)}8JpJ]Hxmsw`oG>|57 rrӛ=! ؍Svf!:dsoi٘a6tt#h`b&rQMڍB!\v!!o>-p)x?U:U椊8z="1?;BIs۲E Z^~H% ȚkXdB{a6p",_I +>whhX,lZp>;sʏ|%+ ˗ppKK nvaygD?+9ðyǙ>R! ~c(k!VhG0]:}yt_/i +禅aXl=׳.g0`ȅp26C3@v-bE,:8ϜSӸWb$Mg~cx29_d̙~!{HB{!=k9wyǻ|6~wbḬ{ϱY~,S h#wI^~"6|G@rbv!(!\8̈!'ҟO: 2-GTqB lzr(D~[ щwwI Np)p,W5E"U!3YjL*iօh=^XhVpoXZK3xR5`ل(LOъRe+sY=M>kwޯ I ODPT3p˨qqR{|Ƒ𸱐_zZ DEfq,?^ц nyž @28`u8 U:I{_L )̆b`&+D8#xRy~(vwa@܂#H .ӆ<> gc%¤R\ۥ?WV*#VUL;d.z!+A h8376m(WVHb2i E|cN3{aa86Eυ p׬ϮW椑ʅw$ +> LBs/ZPBX 1_n#ɓS>t?/JEԏ̈&#%;DØqc Gѷ;$WBNޭDלeP>7gc_H0YTGYՏ(cՆW#J$vDDS820*+Z85w.cU\MՕraB4e(d{QLJ:]}VV,Oy4YFi>p%6(r8e,'CԡRT&:e9ǪZ9]3 +J8>%SRU&+O=]~y׮!UCT R5jHՐ!UCT *DJ5MIU9HOZ/LqH/wp%AVE%EOYW759kHM)MI)\ +P崮KbuK+j)*k@02*,MqVW=c6\ӲVCjH9?nb~$1&1Wv$Mk ǶJSmV5&qBNk&qc]b>"Ր2RL ]f-I@O"q#G9cCM1J\IOQ5dK i)M}S&W!u%C@$8"= Xe?[%KJx>ZB25 LpKא:ޡꖸ4 +8Q"L}:3HdՑ!8pD5 -L A̧(#U4I/ZCagKfט(v#Mf{'w +C:``t[ +jrk؆Seʶb-OtlF՚M)jVIƱp +ԋb0#=٠P3IJ*i&>xV»}Ih@~+aN )U#Y)ŭ,Y(`K撌 '$jқE(js̱H+"O3@ Z>u +oM}0L$?֥'h uPYΞ@f1T+^ijr'%mYu-rMSHx;^?Dncpʄ O6!(^oQƑtk @":œfP'g8@7׼) E$ͥb/hR 9MpJ-F28wE4J8cBtXRU6ǝ\CW8GXе~S/e=`,t`Rד:q~OX:AI֑iuH\R_&MRS~xMBvB¸G ))?֊k|3FSGA䄸s3EpR1͓|'\"O\!eWO +qV45KmEu$HJL[%EiåZbLnxpv-1W <]=_ՐY85Ŋwh*w+h?ȗԴ]B7%7zx8|mJsO@5b䱴WǓ1FlhX66Z *Ӵ@ +o;/jHU>D/?. +kHUT&8A?/ATUJM:r0>09*IUÞ|.\Sը?~k.JR$Yӻ \ajWꧨ;|$~Uyɞ + ~3m[S9 +!9 +áb3^55 +Ӵ `eV +(Ar%V;RŀJåW\z~ #ee3e;C +7mZWTTQe޽q" l@JT5^;bhA*|!U)OKc<ئ[C8;+[x7kHUR0hˊVT!%i y MdE)IL+_wh(汰}R ޝ뮪q]:bz5*H^NS+N G&Õ)F*p ].y/{^<s!uEz+TYi0)qkuI7;4Ė +!rayC7_Fȼ˯aB`уX]kG8DE-{:߽4@OtNz!w]! ;\,iz J%{uhyqH<[^x[᷽A}'ka4ѥu j=ۡ!^Wypఎ-,"Sn C/Ax4v|u?OwWNC>ޝGV{ +4ȞR4ZX_"(iZJwn:VΥ㋃Kz.|96K[(|tċH>}J应0N$] 2+Y +A+Z>'vwzEĺ25)2ȭaT!wr;Ɋs|R\Z|["> >Ey{7YXgL.<-dHRAx?T$q6x)a OHPxL\[m7TZ&V>;xgtֺj 漖EIgXKZ``y +RD1HrZ lqwEH.hEL ,](^ڵ_h `}--} +xSk9?{2t*F +7{3^XCf\w%-"1\Ȟ{ElIWxLyR] +`Pº*L5%|Ԯxg^>F +`^ 2ߥu9a_8JViI5$J )+ʜH)924\=*Iu8cxⶣUK=.x8_X{nG^(vip"~8o5^jSXNy (iM?\".xA$<ˋͪ(eUL>kؼ*ma}|뚚D8H0\j޴!ھr'o+_Ѣ*F +R[n X [@-5{d~ Ci7MY6QѻTiQ ̕ጬJQI?jJ]ˎݩ*Riʙopphry%@ȣVq*%KD핿abN#{AVEd5g!}]b'=xXr@P6*>E/vGdZS>4y-@JLNxHV[ YSTS=ƑB,o8*U̩qS~]ɚ)n*)Z.PLEv8>EMƟ:tIKpyst[(1f׋ۢG*W|++쏪; +o)܃"ƭu 5p$i}!{M!AnA8%**꼁U[.֙SRXߣrj1:5zU5@\iXKsׯ5³$%>J RS*>KiTQʀh)_Vް֒P?y lL;H#-8 ^];M|Όs p^(qZK(D(C$ H閸E)~+G=Apxx]VilA&EY>x=mh /jU4 ?<| 0ӪM^E?^v# T q +~8q*?tt'jG? A1hVU@Vlk쵀~S=Q"~( n ]o='ˎFnK;JQvd^ ׂ7ҽ1K?Dހg96@ڲM)=k{QwʦhKc_ϩG8un0H R)1A ew^B~^Ɏߡx|Z u7vp +H zrl-:^mzJ)cJlOwC;/>}q\i9[,ZhYݤnN~d ?Ãk*s_f7[זvłpm>/[ekz#Ws(nc;XVֳ>%ph4xӝ +9*d{J/yJ1V'nSұ8JX1%mw`\erݡrv+~!1:mqy 8hk;(DWvXJV8| Y>Vq]!} GPOWW}ҚB:ss3-=s⡹}ˍC¶?N~gCPg? gW&K2LlE "}Tlzm\n0 e\j9SjevCڃ[}q9r<]rRmJs} + ;2-z5(V|)j@ d,g`AV RӍgtNKt|^[^9[64 g.u1WyشPWcfϑ ZU'~?Nh,LmH +{{:1ζE)]Ff?#eיm}u$0{ӣS}jB)-Ǎomǹ$Ĥz9ُ&'R{=kG/o\qIV|;7Tx teɮaX":NQ]Gk8 yA))oOdyW wڈ{Ԑ:B?r͐ X8!Sd9bIH w^lzgxf~1O`7Uƥ׫W_X\ hǙUup?%Zj^;ލyޏDjSOAϭKgӋ~$x /kIY\?ϝlpӉNKA4/av)!exųUry\(=V_rP;٫jXCѡ#ҽ%vOC_xy>8 \Lc./%\.#ԤV.lWS3(W 8z{9&.KGkxJ'M/=nbONr|4)ʃM[){g*N]M3Uώ<=zv??p>%Ҧ_Ww;`,S#};H<D7*xrU ."oBo9s +t{|ZptH)[nM)'!`Rjm{>FzCHqgH>U82B FXX^/Ίz]"E,;/pZք8KDמs\w6vi@e:~zU9h =.~rLɮǥ] +穞? ^EV;zJ=~b{ߠ@Aܝp.R=塊tPVą[$zܻY7؏Umz&6C I oeVok& OYE˟?[9kO7UDA|㶡~f\Ԝvo* +$tx)v%\Zx؆xwsaʄ6 Qp,0DZp7^m [B1.Q p>_mP*~4W,V*Q1OG#$f\tVgĥJ9zZӕA*ospmPHnHnF2d\"yF!B0/Da7 8RTH⊪"R8JARd8j8LL:1Qq:B\:NoS2+ -RxÊXLjTZXB"J +-rR +C04Hä*#b2K#>Xb񝓖"V~UUQTQeѓHiW0R\BlҪuqykz մ +]Lp>뿘NЛ2_ /*e1L7eBiy *ݚxj!r4uIRVQ$YO,h*-LW˕LSpC(t(߾1B9Py$jih:g !ǑP:*˴XC8"7E> +XIږa?81u7-*C`5R2*'hG'@eI+Q(0)V),j +ttpjQ:i:ޤ |T5bEE5 `7]N;Q!PGa(`Iw?a2H!Pg$`qQTv\M@(J:WP +m _kj)F @!qJ e)Sh}#<;{5`A!I6ЏEBW-SO&6R(z 7HN@y{mEJo@ɥOD*# (T3BzQ#mM)w<ejRA)<-M} R-~A_ޡw ML%a(:  xXr%: *auA s#: "_uA98<{2H Twej%A/̵is?wR|LݠM@ڌIQMOl3^}}m'&nǚǚ52-ib*wƻ9di̘1cƌ3f̘1cƌ qX +endstream endobj 835 0 obj [/Indexed/DeviceCMYK 247 836 0 R] endobj 836 0 obj <>stream +     + +        !"#$%%&'())* +!,"- ".!#.!#/!$0"%1#%2$&3$'4%(4%(5&(6')7'*8(+9)+9)+9*,:+-;+-<,. =-/ >.0 +>.0 +?.0 +@/1 +A02 B13 C13 D24 D24 E35 F46 G46H57I68J78J79J79K8:L9;M:;N:<O;=P<>P=>Q=?Q=?R>@S?@T@AU@BUABVBCWCDXCDXCDYDEYEFZEGG\GH]HI]HI^IJ_JK`KK `KK aKL!aLM"bMM#cNN#dNO$eOO%ePP&fPQ'gQQ'hRR(hSR)iSS*jTT+kUT,kUT,lVU,lVV-mWV.nXW/oXX0oYX1pZY2q[Z3r[Z4s\[5s][6t]\7u^]8v_]9v_^9w`_:xa_;ya`{cb?|dbA|ecB}fdC~fdDgeEhfFhfGigHjhIjhJkiLljMljNmkOnlPolRomSpnTqnUqoWrpXspYsqZtr\us]vs^vt`xubxvdywezwfzxh{yi|yk|zl}{m~{o|p}s~t~vwyz{}īɲʳ̵ͶϸѺһӽվĪũƨǦǦȥȥ +endstream endobj 838 0 obj <> endobj 1196 0 obj <> endobj 810 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text]>>/Rotate 0/TrimBox[0.0 0.0549927 595.22 841.945]/Type/Page>> endobj 813 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text]>>/Rotate 0/TrimBox[0.0 0.0549927 595.22 841.945]/Type/Page>> endobj 816 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text]>>/Rotate 0/TrimBox[0.0 0.0549927 595.22 841.945]/Type/Page>> endobj 819 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text]>>/Rotate 0/TrimBox[0.0 0.0549927 595.22 841.945]/Type/Page>> endobj 822 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text/ImageC/ImageI]/XObject<>>>/Rotate 0/TrimBox[0.0 0.0549927 595.22 841.945]/Type/Page>> endobj 1195 0 obj <>stream +BT +/CS0 cs 1 scn +/GS0 gs +/T1_0 1 Tf +8 0 0 8 417.7962 38.1349 Tm +[(\251 ABNT 2010 - All r)-15(ights reser)-30(v)25(ed)]TJ +11 0 0 11 45.3266 35.8099 Tm +(4)Tj +/T1_1 1 Tf +0 68.648 TD +(ABNT NBR 15606-4:2010)Tj +/T1_0 1 Tf +0.103 Tw 0 -4.899 TD +[(It is impor)-40(tant to obser)-30(v)25(e that in a uniquely Ginga-NCL ou uniquely Ginga-J implementation, eithe\ r )]TJ +0.236 Tw 0 -1.2 TD +[(in \336)250( )264(x)30(ed or mobile receiv)25(ers)15(, the asser)-40(tion of an)15(y kinds of conf)30(or)-25(mity with SBTVD is prohibited.)]TJ +0 Tw T* +[(Thus)15(, Ginga assures the off)29(er of pro\336)250( )28(les that are alw)15(a)30(ys compatib)20(le with the pre)30(vious v)25(ersions)15(.)]TJ +0.28 Tw 0 -2.291 TD +[(Common )1(content )1(decoders )1(shall )1(ser)-30(v)25(e )1(the )1(needs )1(of )1(both )1(procedur)10(al )1(and )1(inf)30(or)-25(mativ)25(e )1(decoding )]TJ +0.145 Tw 0 -1.2 TD +[(applications )1(and )1(presentation )1(of )1(the )1(common )1(PNG, )1(JPEG, )1(MPEG-type )1(content and )1(other )1(f)30(or)-25(mats)15(.)60( )]TJ +0.028 Tw T* +[(Ginga-Core is compr)-15(ised of common )1(content )1(decoders and procedures to obtain content tr)10(anspor)-40(ted )]TJ +0.21 Tw T* +[(in MPEG-2 tr)10(anspor)-40(t streams \(TS\) and through a retur)-25(n channel.)60( Ginga-Core shall also suppor)-40(t)]TJ +0 Tw T* +[(the conceptual vie)19(w model descr)-15(ibed in ABNT NBR 15606-1.)]TJ +-0.034 Tw 0 -2.291 TD +[(Architecture \(see Figure 1\) and the f)30(eatures of the Ginga speci\336)250( )-6(cation shall be designed f)30(or application )]TJ +0.083 Tw 0 -1.2 TD +[(in tr)10(ansmission systems and receiv)25(ers f)30(or terrestr)-15(ial \(o)15(v)25(er-the-air\) tr)10(ansmission.)60( Moreo)15(v)25(er)50(, the same )]TJ +-0.066 Tw T* +[(architecture and f)30(eatures can be applied to other tr)10(anspor)-40(t systems \(such as satellite tele)30(vision systems )]TJ +0 Tw T* +[(or cab)20(le )50(TV systems\).)]TJ +ET +q +119.576 348.095 344.728 211.18 re +W n +q +/GS1 gs +355.2239838 0 0 215.5440063 119.5079956 343.7880249 cm +/Im0 Do +Q +Q +BT +/T1_1 1 Tf +11 0 0 11 149.8932 321.8419 Tm +[(Figure 1 \226 )278(High-le)15(vel ar)20(c)10(hitecture of Ginga mid)10(dle)15(ware )]TJ +12 0 0 12 45.3265 301.4419 Tm +[(5.2 )-623(Ginga-J ar)20(c)10(hitecture )]TJ +0.745 Tw 11 0 0 11 45.3265 276.2419 Tm +[(5.2.1 Conte)15(xt)]TJ +/T1_0 1 Tf +-0.121 Tw 0 -2.291 TD +[(Figure 2 presents the conte)30(xt in which the stac)20(k of Ginga-J softw)15(are is e)30(x)30(ecuted.)60( Ginga-J is a speci\336)250( )-93(cation )]TJ +-0.048 Tw 0 -1.2 TD +[(of distr)-15(ib)20(uted middle)20(w)15(are)15(, which resides in a Ginga de)30(vice \(a de)30(vice that deplo)30(ys the Ginga middle)20(w)15(are )]TJ +0 Tw T* +[(- a digital tele)30(vision receiv)25(er\).)]TJ +ET +q +142.901 85.311 298.08 128.28 re +W n +q +/GS1 gs +298.223999 0 0 128.4239807 142.7879944 85.1880188 cm +/Im1 Do +Q +Q +BT +/T1_1 1 Tf +11 0 0 11 222.9492 62.6419 Tm +[(Figure 2 \226 G )278(inga-J conte)15(xt)]TJ +ET + +endstream endobj 826 0 obj <>]/Filter[/FlateDecode]/Height 339/Length 24275/Subtype/Image/Type/XObject/Width 564>>stream +h{itו.X|; ˠ;ԕL $Fc$~+/q# M'8iww&tYG,kojN:uw}3f2ZFh-e2ZFh-e,icƌ,ٶc9KcF1یNϗFrQSUm8誦8GΠ7{sCo`X(U5G늎cjh|Pû E] +n|p[8iܼ'7]!lWUW=}oMO9Xe>egy%HiGsdJd. tbO,]< >n1l+L.g,*1T46 G@=:i(C N*HR!2]1ώ׿f: 3̗GaTn_lE'k'VF Y0<*G:(~^%$LomnvK?d^ad:_/] 3PW~lԴUD;3VuO;Mg0]LߛUh59 =GT.fjz'Ƴ/9e]9gFk)3DOw2c#B-%s+)vސb[78SƪƤ{wNV ;[V4Zg\<_ݘuZska E=:n*=&yR +ڞPud" bE*ՐX{?4tkZOUYDg>L U{*ak8Bd]z_{&)jgD Wڨ)d߰K". #B:!I>8/ 5epZ2GhqDsRX, 4=[pUV'>P3ŜYI]K&[*1M1ѕrZqH>ZnɍgnrjgPKgT;P9zf<Vrj6ChhqM7X3d]{5SOTJ Co3^d +R׫hƅ+ *LHK3si xN @J!4s{˸-m"NIpƀ}3U9c(u +f&eDh={>eNY:J]5 5 /vw @}]?[%|Y-9i >'YiUkiCϰdtM&\U~H{JXEӻWTv YKChp7|[ L}l-S`֫Ue]\yiuy!!]}*=Vڕ U8fŸSMuɓ,Œ!kvV+}bi;y r Hip_qk ^+™Mb7,Dppj̈i~Sglr#,c~jnAdhowCWRģ^SO).Sad3ӄ"^REʄ"CMuWmf3?sK)f́]Η[^[[PkHW[Z^ᑶ^߂h{No-nkƕ8pyVg*S u78}M0>@(/4\yx4Cor0p΃w?EcOMy036m̝|~A ay-%l_ 5l\BpmjA%_k@;@_6Pg?1!ЇIŸް0܀?af7XC (Ȫ- +3 V &^gD_4j^ yk,a1k&eeg;|eHerY 'E2[X̋>0:2Y%A4tQ}ǔ 7 Bc &)MOl! F _(}d:BP2l{=F|@͖Us}?g"k,kَ3L?+p_Y<Ðe{C^o AWP$IhGCc,Cp]] 'kjW}*: +>_"-@mfO#WWW+4pY@0v/^ʞq 3v!Y /p}KU XT<Į}CW6xYbgZeAVeE9תMF@T8ZNAeȷ A4SpLp̳25&|x/GbN@XAC Y|uu@J]ЏZF8sTGL28W `d;mje81tlة&!3ˌ YO"qb\C© Jl-*2( *Mp>(*YxGz+c-Fh$˰EoM)zƙyafPWP[O³#!GA^ 1 z-B%@P([{'kœ(lįCy~L?d%.l%y! s{l!B4@1a ցA7uR2AQ3sorh^f T57Q"^,IЦp-Lv_lsR]ZgSF9Sď#b +ؘ 83 L;Z@8 - +] Y?`W@$/d +B9K +g'aB4XAMKB>h ?k?EK%reNu_0 U3&e gnCBt|P3Xq f$PM e#į/ȋR~Du)EQ6r| s(y;~p^fOuJ1&~4f8/l0fD%YC!1Q!% 6?Y2{ rr1 IC0rF ̐z UZ+˄h?kpV͖M KK1_r^Flsfl-/2e]_|kq.@v;ݪ4z/cx򆚐`2K툥pﵷ]g^Dj!y_ WNS8{]wL30qHg3b,E?`+Rsby ٰHxɁ` ^*YA +P7qo~961c\:[ xΠ0 4B<[PXrNF,rpoağbQH5P4!N;1YƏ*,smR;}-;x/ԹX̶&D7yTۘ_"z^Q0Y389n'}h[! ;`'ܥ/?IY*+qm_+HTf‹"qbS?vްfaAئ +{A؇%rЎHYbT6p=5;zWA;97kӶgw{m;ikovm]Eao[޶߉=]ut}}ٱ}:pK'㗎SS\C?y/7O1܁1WFXIFf$?37(WDqG"Xn׎Dp׌;F9+Z}r#q/&'rch,͍Ѩ Ʈ^#h;܊s_0E9we7޼ f ]4&5-3-_\tl[y '|~x_(♿3F(j,+U&)$)IRIQI5d_V*2hr:\ Re(ouɍK$,nd#]qMr W*YVVv%qH<7sf%bc\)_D,7ˋ]ތfԌ5?͏حcF\E0DV6NXیF͛@+13Gcef"j&"mS^sfƤq E<Ɛ%.i6r5e2\zFCS[2_?P%XTPp J?zѐ`?1t'ylY(G"H^,ʨ1ĀXL4n&sA=ZxЁ+c?-ޞ _{ 17+5ɲ$]SQc"p,7q1+MIla27~vl}80r +Hb4AEW/Sx$a]A<G oXby FMlbeF٫ģ7) qkY~$rws|O1?fOp %a^aS:ifKg#I)S. ^_V3骋RY1eHB7XIkQ쟤pou^<]r N$Qsqb81Ʋ*b-}dwݓwn1 Zx)q3S|SJ<0Fv0k'C&Y]t 4ؖ4.eH.˚,\AP، +4C|٥lHDfLDL[h D[hxbz3{H^<#[[&N߶Mtͳ7)jX +5 0>u+GI1@k vW1D +y tg)#뻔'vIT@E֜Ud&XV<8t6YgO.b6-W[}7 eeM7ܵ|i,nB'ܓn{ +Ȏ_j1vg_{EG@s) + &Mug +/hu@l *H +pޅ5]oM<" +䜽5R%K;E}nZ;PlE`nzs4Wew;Ŷ;gߟ-'Y/*rwpcj* +¯j|}7Sr lKWV%m0fpB;[%0+؛aU)tHOUa2IUg{M\v;e/={7@۷>/HC,8%v98ʱjH2dfPo=eckMGGЅahZ[ 2_woJC_a SjM +I"]LSVdr[$0Ɋ]|͕Im.Fx&ީiU,+OZyZ.ktM [R*~}Pwׅ±IwLC +5sˁV@(šHV$ ѩtktyg +hd5ql)Xp6[;Z>&^C-G5OK1C(e'%?fuqeՆkK4S4vYk6Z0};i:JSayEZ2sOPn?.6Gp^ W읏 +b1ABL`]0fTպEٮϻ'],Tݍ݊-/'JF8P>%()*%R")8F"I>%L&(}5IR١Ji{jP}xIn t@rཪ[vU=ny|`B%'=TOzH~T"s+-tm6cuWV^#ē(gHOɮ|Rq$ipI~ +ٔO`7]k$aDX-P#9ΐ}Q\vۅ3o8$%,3r׌Ѽ- T +eOܟ +Ļ挳{ |ӗ{xT3J_B:aڝТo:EI]DA]U} LaSGْv}EUjUR UpI=nE +vt&KGUݜ>Zn)D.Vne} +p +- _ڦkSRQBtkLDؽOM)$-g!#oX[Mg$&"x%uGqO Ľ\)I?'(34Ƕsr;M'%s%S<}6|牯 +Kp[Uή7;;^vuiW1/+[SU$骼kQV3Re*ENUqMNqsݶ¾>[TW NaR‹5F}rb$֨L3Rʛ.ۨ`9K5ϏT 0X3-[N<ˢd$/zH|SL48>8OX/\OLp%kp YBS0`dLsn<,%_[WM?9=5I_aҏo +8Iw|ji̴88;WT3]F=#9rPdHqW}F'_*駾ŲTHYB/ЦqG]0K_d`3Rxei˥^PzY;D!(ekgdC _nY E 8ڷti3ӘCI<K  +s%λSRkgK*t::K٪١wFLY]*&1ޙA[&ccDL`F^p5%p[N(8~Rܻ)W+/'o~kgCl`]Q8jn*E' zSA @ve8)A=_InJMƒsLD#*K&]+V^9&h>`>,i)94CH%Y(m(ɱ0@yxW2Na%Pg~xbq +Ь0RآpzR7nUe,kKVQZR P):*fӝU4}3yBsZ1ᚖ-hq1"¯`re첊NDJB`Md2^X) 苅5Yȡ_e4[,nח,KVo +` &L +3~1+\T!dE Qb%47 +.']H2$J +.S*4'x-a9ghiqQ18KQ;`e#wVNE,T1&0'%ؗCuXULT1a}7<&o( Va6uJpN9WGv:lJ[~}PW`C9߿K!`x13UE-aRJ0 t1%t㪡_a!  +؝Y$ڠa<| gY`b$$*3 URČZ*7flJ`a7"T0S~Q~GX&3DFw1 yZh``hg%Ф_ebTԙ[`ޮvډhyO_9\`jiI% ʂNo@`JK%J+ ƄD9*+U] '6s.ca&2F." +Z)%جɏQVd+w ahoyL$vϮ]R{^ܵE|Ov߱cwҺ4m)S+K+&_uŕW_s5W^}1x܄Ғ3nf1fQƍ;x%+0^Qi:|eϡ͸q%EyAyQȖ'/EQ8[QZ/1ÄڎR -ad dL]-W?HPgauD4/o'OxGK++C]^ zLh ⦮wU$ gΓ9$A$0IQ_̵f U g ffD$eSc2$‹'G's5lLW_0=3c'[/QACTQ ,xlb/o XpBVLW_&n|h@&O HRT'/C"LyYM|"FܗtDqe ϰ7 +agxBe[*h~\o(eteD2<o1Y3]} (nIJte~^F% NQʛ:fTY&fE=<A=9`_ "?Lg_)&FzW_F!Q,%? #K;X_YSkwepq#8|9226k%τ}/K_F  2_ X̄}/K_^;e }lq|<e} 2_ O`&|Y22$+j \ +s͹etXgݗ}g +}v_&[)*A-ݍ`Fg3!fB̄ 1b&L3!fB̄ 1b&L3!fB̄ 1b&L3!fB̄ 1b&L3EVHTTňQ7 131C@#\<Qv393_ыΒ-F!f`E}N(+JB `̨ċŌm0bfM%rEp_QBmʍu]lϱ8svNϼaO/0:VQbVqh.Jڞ g 13|KfKl y&L7fHY # `6—b&Lf,dz@5y 7Hٞb&L7fi3 >X&-7Ԧ3=<-G7{$Ӆo0pM[z3~&i+@@vCb&0@ӶsfOϋ_kSӏ6X%3SSfϻjw-M%ʎ~}IMOMckM:@DE3:a|ncrlǞMSVZ龔{Jz039co\)TQt=`^Gԋl>iuCm@׭߸z#m*,PLk*նsf#T.7׺qG ?lMBØiuAft cFq[>lHO]T0k1x(`aݔVaOleHۜŒF +AW]lԍ-"u2@"ьC `mR% Uo"e|iE&IHjS.`&+Ψ& +%a4[ldTe+b&0HN82 (@uz H%lp)o!@$*O!D|FL"{(U@GTT-y/7L{MVv=iNYN,Q X:nY}a]-"J셛ٴɵF$-33J>Q:o3It,{uLDTET&5* 3EHWT=̀owW=8=E"c]yz *Ser LzW!frnH>NیXh FeĈ)힢bwrǵm7;{h 䙜c O[΢_ ɡg TA]j+z ,|g,ݼmAgiUy&' n,Is2]R6|nd+L.z`"ջm,31A~TYĝv%JvNhj+La&_\tgYIw偎EcRxGWXly+JMe{n,`&UBqߚ|YtްyYh.{k`!w- wQyS"N"`DԈ0qIfLMC$o>7HvZ˵-[&fs)G&}* `?7 $K@x@( nN@RK|sT6BԍD켼7DaL80r / ^~*wOr6GE -D9*sI`#L3I bPx64 =]Հ83/gݵR/CbbjHQr GdZe7M>0\+{aWDCD$A#5 c"^ f g 3C bd .yx7Pz#&\vѤ0;cƯ"bi Vɺ4 >bN,|PK+ƸhmBBcu3΢t̊a=3۵02W!,1~G%{NhS!\_1Ck:hlb)'&^ 6H805 +L:ibH(|B1^փab8BUk*Ҽ,Й> 3G"RzZ+TXGRՔ;*Sa}l:ҎpeQJwVܣ'7VMx_?Fףrq(Ǡ1_|1Ȗk%#&^1sFzC&x-P_AdN'>Өg >b71?1ק0Ǡcǚ Ii1gr=1͎\Dt9hz~yy@ +qxTCH==@OO5>ʧ{yLjTBR'z;DT&#SZ:*D"\#0l]knIYCBBj/#qHxȦ~"7"TS3M>?(klPO1u1=paB߶56} 4'1'fwƍZMm04jZkAl[/3 p-/dg\g񟇕޲Y;J{z+IaY <&X]>J8ciߧpI7S'ȁ6BMﻓ$ +Kt>8xpsMچOAݟiV]ȚWh'#5c3}i7Z錸q}mt1Zx&kF?;F@WM +%lL}٤ky 7}Τl$T᫢]XOjoEŵ8`9",FLH עDRX]xD> VzD0;;(urDp D^kmapQ{ńoOKOw(ZLKӫ䈏Q|o͇iz5^F릍dѳ?gc^*%OokG$qI\2s+y Ϋqa7$'r8!1"x5j|$"_dhFk8z\7.Lh&ਛ9 =>iPUt8C̜1L[Lh1M/IBm4am'cʢMJ{[I3{TU!J\ᐒ 8+D AMlxc7A݌DS9_ ls3}48/%@aSp Ei&16p Ц~]bM3SgF(E+L$RNKe\~D=lJs>Xb`I 0'D$''t vҡ/`@8&3l6`L3QUxaiq0  3Yu z!יαU0C/-]Ѿc]n{{~$z^~iF< I%zgXĎp<ʹ9! $P-hĝt(p-bOd$ I A.X @eaE"-!ǧpm1zAƹZ{Rdיִpuz~jjYJ1t= WB9f"aK< ZY! RHd3"LPTy1x82gl& H0Qk` +$>g)%[Xqmyɔ#4a3mA$,91sy< VKaZŭB#*Wkiьcb&dhw@QYih'ʄƵS̍ *Q6>FeY6=)=B~1w{9 6AIW2 Y:6V[h@Jkl'Q x2sh _e@aݗ3 +վA$u7)n3_1V1ӸC(F >?=5]˪7Mq6ȣ^] +8>4SD.hk@$cI:m=5h3X8ki&*L1jmNH$?RpB3>kE4_4:xFpcnȒaɢJoϘiZWRѽPun+ys{0\u|5_ qJ~$AXtc`\&ߡso O0+f@*G/O%SP:۽kAC{Fsv- P 0yPQt0Dk'6G,9 o)GiY?G +BZ2Ѡ5SNq}ꔛčCc!G 1cwtr1*4b=>WǾ捥drX>oql[mjΊ-*?֣a'Q*؅r&^-3|aS#D 5US[kSL[z3&Vi|PIŠp1B}hՐLNbg5dI8ˌ,}iL5ʩFV$5=*XtU'EVkW gD6W*H&ŧ|5!EAݔHpfZcF\52{`]$J6wl Ev3arX. ۛMqŬfqV2;uDuۃQ"e^>ffEQqi 80_"{&$MKrrAC54jL54GFzfh"k;A\a0̔ՙx[KbdEFfXdza f0`ɘd&kFLI`9uf\2H ̔efDX<Ľ 0sofȜL<2 0\)MZ~4 0d)hiYS_i2fы]k3͖Z/v!i-}`;;] fʘϝKl` ~\jfso3 {R"a`)JI27`w if6esg'jݔfMﲊ 0̔M_ϝsl`"fr]disw Йܻcwո/43T3=//2L/>7ս//2LsS2Luƃ 0lf3AehX^e`21V4/2L0!:Qq|^e`2!Uϼ$#t9[fF$ɋ 0LfBrtez部ݗfLJ ٳ 3b#/0 5Ƌl 3(zlzZ: $:}"$%`fM%fe3L9ftE9vd>6@ 0SVg'm:T 94K)H_O00{fItH 3DHڡ$y4*f &lz^g3AE3='\ZI͘Iv2i> b/ɲj V )> f} =XJXnwSN03 +#OfU6G'6fEg"w߅sǩ;~|PTLo!Ug䓾>V$W7%D@uyHۇR. 靖W?hQ}e)r=v;>)7d)f'$g!ͻe슿Y DLMX"_B#>]/Filter[/FlateDecode]/Height 208/Length 22536/Subtype/Image/Type/XObject/Width 483>>stream +h{ XS>' ցImk@”)S”1 bU&*V;ױWh'{[u_C{먶9_*Dt%9>k9Ykw}P/Q N~\?!}4K/x e1lkhhzXVg}e-4d˃iƴ `{}"~^~>ا[2Q귻Аz7g @Y},سPp+ɪg 5+ppY]{[|/,2u[(4'C $\wޛ G|K}AP!?DգyȂ Fa!(Hƭ x[A>?X E>'!А !BP'=DqLCɐ Q P/C}D.Ǎ[at0PGBEP!|apOC9a$\& EBD|(E$ +*  DQ \ A$ jvShǮy`chb5ońGD##""##âHH3JdxTX{n4,4BHQDDTx(*V ۰p(<,*,,RU7Ћ rSދ~! 3y">S&M~i zRqdT)GJ$QHI4ĜH"Q"!"Q1a[,(4B|+"PP).DDD=6nFy{/Z{&V7~,1(/FcŒIlTˏ%h4Zʉ$Z*H$Z,DK$1bi[ڼo7I$[Dyb6M,u "ДhqD{y_s@2c=敳TW*v M}*xo,:1&$q7@bd9Wcceqqǿ11.TdZ(K0~m&E%e'IA)%d2HҙڤǠDJP,>)>_L̓)կdd{ax +'g'P@.)ʎhШ|Srz$8/_啜\&jK?) +ֿ蠟MˮKm)l۠5iCVS8ٰ3\^vLzZ>jXxwҪ _~kzߗsv+W^J )lw?ĚH-Z~ P= N. +]  5GR(#R@D"~(,8\ԟ UDؤ2 :Iy~$$Ж0(Os`e1,pYYq HřW_/%S[Nftx2 o˷g=39ٖge澕Dffwʌ f|>~4<#̌%"M~EnnM.O@h8cw o/52MZe83~Ea5_it7$oA|Ni?~IyZ[aVW3?>O + YYmڭLYet'4{ m@):0RM[S#ɕp5.e<6hW>Yɶ\]]kd2DBCK}rvIݞYg;bE-2SmUxs͚7'h|t7H"\%-Yz"{P-zH[3_l* +t|^W(j:ՀbGMv&Pd *.ܵRۼQ)\UnصB[ؼv'd=hAgpI熢­;k ^l7" Zڹsi]/M,WLs@;Kq7;Md(Ҧ 4fb).CɃKNJζwqrRSp}WRR?9\ט%J,m;T/ %=||k+I&u +\7*Ȧ$Z=֤Qm,h,*.*.,-HҕŒ2])oIQiQ*²BЃ4=)DSV\D4@J.-):zuEeERQaTCZP3RR-+RIv WcҪxSȋbE A |q7~Vς8qfKvƌdkii)o+ҒO?kSqji{CI-Rrvq*kiIQ/KI;-e4)960fRRņ /fYLT))fx"}}i^_ZZ^/їK/WҲҒJd))-,ѳzVT_^TVJJ%H}Iy1d*++їb=J*JUl%%DlѯQEG5(Q>,L/wflMY\ol`htOcjzWYkY@ C23Yזf-t^Mzf'駾޾̰tEJ)} %D0]qe_lMFzF^q,9e*~dJ\2ZgQ&'WїWTsRF++UXQê9 +rNTꍇXVUQ^UQQU6J_Q*9XICF}S +*+*ʪ+H!TU^3Hl._Yޯ]br#zz^C[@/=] +zFULۛ2B?nNĻTo֧yS5d'39oe) _S .K7B ^g+ZOg)3sL*"k ~!T)~?{9Pȕ'T 5 +ջ?7_T$2|+.R V?OT=s+<;j'sTW͙WY9[]U5bn%쟭Slųpun܊9¯b.TVBj?*CJ[ e1U9wNʊg+ʹs%UU̫sAjQm@ZGM6hG +~9u 2ͮ x艋!V`w9lϥmzm:[TeZ|cidQ*O)REoQf'>_S+s3OYT)`~:/y/UR}ԝ'«U멋W+$ P+ܹHo۾m{kmom![m-pZZ@mk[l޺t!WK+oۺ-Tbk#Z[>nҾ|!k[KK;[m:R}K[`mۤפrc}Q?)ATMF?U}5.iE] ckk2FybAy_ԳROxa^N [ّMMnvWWl?QX[+Ԯ *Zo\]TH `Ϧnp-i_Pf(Crl{~B}T +.P_V!mpAZxp\}CM}$NM۠f]!PˢBm$N+< +5Et]:--pPH-b  5$ UaP .puC7B>зH|wpхZj3ѥiPm[g#43VϑHK2DMҔ}"1g=tg TӢ-~Ւ2##`$*Ĕ|m_ˮ\:G6Q$.޵=vjA y悘 MRTOobSP+dg=?F7"PfD7J1 2 ׮47:y]%sAL!hGp]F;wjV} o@T34P{!ֈ^XB:%}dpBx>V} JfŔ1Z0V = qhvfTw Euס..{va\C} QEv#޵P2;&|q bD|Kv3L+QNDmE78e} `ɲY21E]FxzNDXpԂlיbp2n<=Bn}[n7|M1Y1;{œ't਻eXxq`=ƾ8">W"dw@L x>N]EAZe6}TyqQl-nޢ5#,0h ōV1,-9Zv]/"ᵳ+70h..B4[͆zgYNS `} C(z(t|ʋfn/neEnnnrPڨQgtLbcYwnD">*6]9dTQȶf^P=2l>z.xH:?l qD)iۚ1qFDG{r]\&zľ|PC讈ybM.e؏#&7;wiC[3 b}[7J7gOA󛀐׶[M chp>qZauGy798;Lpb,0԰me%p֌f2<===<|;M鵉;vF+w&Ħ`Y:fnmuO+:8/S [ `og?{5n6Ђ㺗{,P¡G==ܽ<=<<ܽ\̳fŜ/e;|Dnbew׾3<tm6b??utON+mmlŇܺ׊qotiDO7WI>rFk5&B3f 껱nI2س1Gi;g$Nz8H[;;z\7y8Vl\2᷼#u|=&{N_yxt/;%fe[8 +>CNn68j_ɞD|l"llܠM]qpt&Mtvr<\ݜ\&:Mo݈&/Sӑg vS]\]\]]zXwi\Ǝ3vZCQƑAv 89AŸ+,̔k1;!yx%lE/"S;kwb?/wz9a0̘ǎQVwtGԊqA?Y;:؛nub`omEOKjsG`?ޝ۵i؋R^LU5 K'ygNWcEud 3َeؙ}@1rޤOSlm[gmp:f!B46)sКEIp~Ũf} ; nY:pDS鉬2~?z#1+ijzd"1IF=dO=, K2qI⎳L݀4Gi40J7o!>nXqc9Mt_%B ?mZEэ!(,yhKeK GE%f/&"2-̧3[1煇+ _PyI;'h5z8{ljn&O}35g:_B< iO_9X" ws2lq_mPl1`)otfVHh`{1{ma=i;[l]Ʉ÷b +㯊\(H xmqynQVA|/Q:3_g&8;،ٺyyyxxyy QT˸/0 )LuvȸƆBwQ!C䯼WS$A!rs ݑr=oVLeSZf_C62nd7[漁 M{!^+g +L1hާv,&zN}}&|ϻ\VlA昆c/yżˎbbX8IxϬ땒6Nm_A'd_ɾöbb/ck^w qh34G}}_L  ]u-jsTA\=EW<)~DaŴ?[w@S&E$!N ![^g.]* vivײDmV[۾վQmojhxܜ{>?>13 !Z)v*m"ZDegxBB)C1m2zo#x3cLs' +)ibqh *Fiڟ{T3ADؕ*_gEҨO +a)`;wSJ+gd*ݕPj,1^R̠4 v&TUO%z'%&chb'q;bՀCoT*$VL AĩGB\-eX]f.-t)!it6shXqI1"%jt'Q#'Mބx'& UHWll@m6N-1n IXbKh8_mڌ?ZJweK ַL?i C\/iO(NQ/Weby:c#Ko:Zp<iX\>aP-0paKJv&'O(Q'C +RP*Q#Hqb} ma/tb,+f]Wp BJw +XYP˕ +֕ AvpV %OF~# N@1 lWZ@ v~qZR:˕JIuyDIq(vYd5 ٚpfAqEEZ +BaOkxU]{',O'.wߌR0p$댇^ϗ)rJ;X]\Rs*,&„8(1W`12 ˦dÛi28W*&?7%gۓ eXK:X\Xٔ xKqVב,"^i#WWV-_0{oʲE-kl +Ԃ겫;,k͛|R\ 橡 K%iCZ V5jqMJcSʧ4OLťkfI8 +8|K6Zsk{v HN2Vt@8KIhXIq JLeq|K+iQl0KMyB<҄:L[3;_upNIΒuTNkXtT[ &,DKf.]_սǴ\x +,=7O>ީ ?1A/Y~t&&ODM]mX!6J} +{[+{| G3*(+zasOo{ŭK?[n,*cx !ѪѾz*;P怯'Cx]i.vGk=Ol[|9F؜XzƨѭC ]Gg?QGMJlMKg6j3ږ.?]n6Y& _,pZmAl0Γ\A# x8#;TKLMdmD +(~16<ŝę>rϔL%O9sí+^9uhFMc2A z_n髺Bnh;s'5R$a(s)h + qxM{lߵGb `۽wKh[c*Y]Q \h/_~jav|_l߹:: ? kyw`t {xb.?γڲi{8HX'ft(Q;=iY/<ůu⁽Pےn[GCm_ Z+:|ƨth^,C@U8ޝ$R b,PEȏ"šQ38dx˖-Je4љwO򿾾٢nJ\C>!#^PMrbb,f,+?b-w +GS+dddbSO>z~_5fG+Utug2o &^|Jjxx2İhnL ėCGh 8(T_}éȌhX98o|y߿יh73r(fZ5w1hxCt߉NSpDŞ &=`2tf,ʄ7sth +8M# +!=WdSrL&~7>. ȣ[w# +$ܹRȨ}Qwt:N1CU]pZ.U+J* Mwp].lZ63FT +R^6C ZX) 5}x1 #Q)T*BD! XF.@V)~TC`T].t:vM.&aًy:uF ibܖ;b9F"<:dM"aQ @|JVʕ2JZÉzwdgTS%=GuA/N~0o%HS!& qxo|eT C*J:kk|D=tCI|t<5Wӂ[CދKVPEvݹRL36{4QLVUr%dh1qc'QԱ>E-zŵpo/gX:V"ЮJBC%e?1u] lx/᷾_OGMnٕ)kN^a,r"r +fsӣ!ϟAC<~c{U Aml$(-()ş:aEC5V +1*9bn^gwu 7%!$7I 1nȰ56&Xn.FIpV5`}J߯}C@ux^,[ +}bX v?LLݵk~BUp|dN{4^־y& ?C0SXQ#<'11[Ԕ\>ݢ _e6}P`ZQ}oL^)!Wc cknf- +R c, FZQ$PԥʢAG <@ MTpj1c#v "'1y +QHShe#|H@/5֔@)$̬'^!_4CD/HG/0A`v?)^ 0R +{.AM"u"12Gu<P.wO$H^C^! oϷ +♓i" Mⶀ9r̳tXHDR02^NQ5f57CdMBf,ɊM0 {ՠ:5r΂ E~؆ߎlRvO")%4Z&NHdS΂c(D1>k?6[Oh:ŌWFBnTMJt˅tS@zI&z=Y"dЪ/d АЫ!p/7}@_J5gq(Qq˾v lq͊+] QFGi{HO(rO=B eGs{͠$ x'o٦HP~ o+ $/5' +%Q(Q/O%9K| {Z` 5bR*5owoP8o#I#W >6+ 8 +!\ 16b MI^7BH(0҆ݪ@MGNN4_{|D*ɱxlq *F<@p ˭.I`cq@<!ŀ\0^p݈qN9ŐqM >}xhG_wmd8D .إiZFN2Y].6Ĉn&i]OIJN +t( bJ!q8u#-p !SzSGimcYV m/9>H$QýizZVGrzR4f2>Xl󅍂flO +=1[h)FbLf!9|uσsx\r+[L\N=T%+Um:\qI$ɷҳd0$#5ez-`b43OP FTe!tΓb̿ьNMs8qȽn\Æby|㱨K7&Ʊc(:3Nh *j?XY7Bl1Y-fb]U"r4JѨT +=ݠFk# QV9L.&8Zy9<>8\(fpl@xE/RL霸Dǧ>%ZvGr##%9m8M?d*KBv4WH 2PQ e8 |EtP{02瀚1M3Z[lHwMcxD/?dgӕrlnתU&#EaQd2>#PjiGe!#L!F ДxU{v,˂ d09fpdCm||:Pf O[fA'H7,<5RO|zzE˛N_L73N, !FgLçGQPllN񍈽(Hdr Z\1,&/Ŏ`ƲbDU-(4g%eVuw?H8+I $h9[R4(DMZ_Zx33+ӧ8 ;fY@?h&~S#0/uEo-+_b2XF qpKgwcbLw]MGL `dQ-`إj߸b-EnfeenP S-$B. P@niEhtR<Gx4 n o/)C*s`1bcXRRYMԆƖB#a96L32k/):cG?s(S)܄rxp/=lPY4&7+nVQTQc"swDjԥKYiq~v'~zdk/4O7uf˨/xJ! Buԏ[#]̈<b? PmaqcÕ&djQ~c{1ù1}1Ch:B#>ĞW=[i'ZU1(K_Sj"rlZӽ=`Kk[:E٪OIDXd;p_ !~_Q$T*'ȁtXh, Ƃ}3>Ziڬsu\(X4M!Q)є(@P(LKf;V J(X%@+K2DRYGR`䥸 ("Qᅮφ3W ;;//}̿!@I&>5zMcM{,o:J-(($2ť:YvRӳ +|FRBVA]<X~:Fc4jXu JB<\A … R~]prY,1J JT:"hd f0mD:Hm#RjԽswPעK. Q},pQQ=mS:B&N~#Cp1R) +ѣito'cއٙ˕P2E7fXzY٤dʊ o!/h@~pX8J!'Nʤ**+|06(Au'oyL8%X7;χ + ^M=D} aoi TnЩ4(ZѪt6dq\m hFAOگޗ~vvM@|z=%*?P k@zp3gBϚ% |U Ϝ:u ~7Wy >Zv +2KKJJJJ,x(/IӴBRB8XǷLWJb}}URFA21Tb:Û'6f6=ŝ/Vif?ZRD{6遪`n|!4{K-zRUU%|iЀC_y |3X[qOҽK +G>lجe-Skׯ?KCUʠ"#L13a#R]6Ř@+d?3miy9"vbw-K'zD2؝N39%99řfVVs-'LJ ۋ QceY]?W冰9c Ngk 2r_21Vopt1h]o-{O+\CRˡV#ź2xJGQzZV7 -HsyseXv!FlwV>}y'E(#Lu;]Ngjj'3'v+Wͫ$BIR  Q27o8wRP"8NJ(+|qOYJO +Q6mAެ7z.c܌dQ텘XwVx:b-_|ٲl٦Ųs=48> 44M`qP +/5 Sɔa25f˶Mk$_q8x?޾G9y7VV1Іt[mUuueM}^ωɝ2c.븃碇CT +9!EpyΑ:'k[5TWn0^Dz:,F$Q.t kh=-`?Oo]x¯ #8̷?nkR_gb3[Y()m|&ğ&,&u$. +[E i5Z:4@7x~svaea2H$fDu(ex?hyS E:)IY߽wkc|3:c"r8%]Fk >}2C/瞷K{v\F +cpe~e$hqc6vbiM0&|l^Hkױ)I+VXu3a:C%KCǀ_AǠYzb2A8;aڊ(;27dattҭ"֛Op્XIep˒AChHg [Ai nIY@Fi5Yk HCIpcRwhgKbȊY]pqՀ~>6CjO_Ii?*ʖpvOS?mpQniS^M+"&~煍_AK#6y!vCX X%ܻ#aC3/JҁnHw4kG$ 9R󆞙b HN8YX @˽w?6 9Lj7q=|I:@mj!ZWQpĀ"`ӧsW8aZبOZFYOfK(]#.48xhNN^|LJ{")Xd},9'RqP G̒8xd F@1W19H:*0X5CN Dohn"DAX_;M82gȦ( $?j\T@Oc(`zbvڦ{(n-VBNMZ TZ~B=fXZp)`CGk!o,$g4r'D*8-ﳠS6DzծS Orz +ˏa0yLP3$MMr̔,@Svao,DkWjB; + +ǒ1{fPRhffSZ,vўPE&)K_r@1%|*s-ݬ/sk +qwsP^~,V&$r!([շG,YkҙKD(S޺8%`)/|mt\ =섑SP̈&zC*8m@a'"8kBaap lsBu]lTJR_r`dw =cK$}Hor@ qbѩ~Ve -[Y#ԊĨƲ&ḋz:#7hj=hA긘$8Z>stream +     + +        !"#$%%&'())* +!,"- ".!#.!#/!$0"%1#%2$&3$'4%(4%(5&(6')7'*8(+9)+9)+9*,:+-;+-<,. =-/ >.0 +>.0 +?.0 +@/1 +A02 B13 C13 D24 D24 E35 F46 G46H57I68J78J79J79K8:L9;M:;N:<O;=P<>P=>Q=?Q=?R>@S?@T@AU@BUABVBCWCDXCDXCDYDEYEFZEGG\GH]HI]HI^IJ_JK`KK `KK aKL!aLM"bMM#cNN#dNO$eOO%ePP&fPQ'gQQ'hRR(hSR)iSS*jTT+kUT,kUT,lVU,lVV-mWV.nXW/oXX0oYX1pZY2q[Z3r[Z4s\[5s][6t]\7u^]8v_]9v_^9w`_:xa_;ya`{cb?|dbA|ecB}fdC~fdDgeEhfFhfGigHjhIjhJkiLljMljNmkOnlPolRomSpnTqnUqoWrpXspYsqZtr\us]vs^vt`xubxvdywezwfzxh{yi|yk|zl}{m~{o|p}s~t~vwyz{}ªīŬǯȰɲʳ̵ͶϸѺһӽվֿéĪũƨǦǦȥȥ +endstream endobj 830 0 obj <> endobj 1194 0 obj <> endobj 1193 0 obj <>stream +BT +/CS0 cs 1 scn +/GS0 gs +/T1_0 1 Tf +8 0 0 8 56.6651 38.2649 Tm +[(\251 ABNT 2010 - All r)-15(ights reser)-30(v)25(ed)]TJ +11 0 0 11 543.7772 35.9399 Tm +(3)Tj +/T1_1 1 Tf +-11.169 68.636 Td +(ABNT NBR 15606-4:2010)Tj +0.54 Tw 13 0 0 13 56.6651 735.5309 Tm +[(4 Abbre)15(viations)]TJ +/T1_0 1 Tf +0 Tw 11 0 0 11 56.6651 711.3309 Tm +[(F)30(or the pur)-30(poses of this par)-40(t of ABNT NBR 15606, the f)30(ollo)15(wing ab)10(bre)30(viations apply)100(.)]TJ +0 -2.291 TD +[(API )-3565(Application Prog)10(r)10(amming Interf)30(ace)]TJ +0 -1.2 TD +[(CA )-3788(Conditional Access )]TJ +T* +[(CDC )-3011(Connected De)30(vice Con\336)250( )28(gur)10(ation)]TJ +T* +[(CSS )-3121(Cascading Style Sheets)]TJ +T* +[(ECMA )-2288(European Computer Man)9(uf)30(acturers Association)]TJ +3.177 Tw T* +[(EDT Ev)25(ent)]TJ +0 Tw T* +[(EPG )-3065(Electronic Prog)10(r)10(am Guide)]TJ +T* +[(HAN )-3066(Home Area Netw)10(or)-15(k)]TJ +T* +[(IRD )-3455(Integ)10(r)10(ated Receiv)25(er Decoder)]TJ +T* +[(JPEG )-2565(Joint Photog)10(r)10(aphic Exper)-40(t Group)]TJ +T* +[(MIDP )-2677(M\227bile Inf)30(or)-25(mation De)30(vide Pro\336)250( )28(le)]TJ +T* +[(MPEG )-2232(Mo)15(ving Picture Exper)-40(t Group)]TJ +T* +[(NCL )-3177(Nested Conte)30(xt Language)]TJ +T* +[(PBP )-3176(P)50(ersonal Basis Pro\336)250( )28(le)]TJ +T* +[(PNG )-3010(P)50(or)-40(tab)20(le Netw)10(or)-15(k Gr)10(aphics)]TJ +T* +[(SBTVD )-1843(Sistema Br)10(asileiro de )50(T)120(ele)30(vis\213o Digital )50(T)120(errestre)]TJ +-0.05 Tw T* +[(T)40(O)40(T )-3306(Time )-49(Offset )1(T)120(ab)20(le)]TJ +0 Tw T* +[(TS )-3899(T)120(r)10(anspor)-40(t Stream)]TJ +-0.049 Tw T* +[(UTF )-3282(Unicode T)120(r)10(ansf)30(or)-25(mation )-49(F)30(or)-25(mat)]TJ +0 Tw T* +[(XHTML )-1788(Extensib)20(le Hyper)-40(te)30(xt Mar)-15(kup Language)]TJ +/T1_1 1 Tf +13 0 0 13 56.6651 406.2309 Tm +[(5 )-540(Ar)20(c)10(hitecture of the Ginga mid)10(dle)15(ware )]TJ +12 0 0 12 56.6651 380.8309 Tm +[(5.1 )-623(Over)-10(vie)15(w of the Ginga ar)21(c)10(hitecture )]TJ +/T1_0 1 Tf +0.188 Tw 11 0 0 11 56.6651 355.6309 Tm +[(The univ)25(erse of applications f)30(or digital )1(tele)30(vision can be par)-40(titioned into tw)10(o sets:)50( the declar)10(ativ)25(e )]TJ +0.04 Tw T* +[(application set and the procedur)10(al application set.)60( A declar)10(ativ)25(e application is one in which its )30(\322initial\323)40( )]TJ +0.042 Tw T* +[(entity is of the )30(\322declar)10(ativ)25(e content\323)40( type)15(.)60( Similar)-15(ly)100(, a procedur)10(al application is one in which its )30(\322initial\323)40( )]TJ +0 Tw T* +[(entity is of the )30(\322procedur)10(al content\323)40( type)15(.)]TJ +0.058 Tw 0 -2.291 TD +[(A declar)10(ativ)25(e content shall be based on a declar)10(ativ)25(e language)15(, that is)15(, a language that emphasiz)15(es )]TJ +-0.032 Tw 0 -1.2 TD +[(the declar)10(ativ)25(e descr)-15(iption of the prob)20(lem, instead of its breakdo)15(wn into an algor)-15(ithmic implementation.)60( )]TJ +0.081 Tw T* +[(A procedur)10(al content shall be based on a non-declar)10(ativ)25(e language)15(.)60( Non-declar)10(ativ)25(e languages can )]TJ +0.101 Tw T* +[(f)30(ollo)15(w diff)30(erent par)10(adigms)15(.)60( )50(Thus)15(, w)10(e ha)20(v)25(e module-based )1(languages)15(, object-or)-15(iented )1(languages)15(, etc.)60( )]TJ +0.007 Tw T* +[(The liter)10(ature on digital tele)30(vision, ho)15(w)10(e)30(v)25(er)50(, uses the ter)-25(m )30(\322procedur)10(al\323)40( to represent all languages that )]TJ +0.101 Tw T* +[(are not declar)10(ativ)25(e)15(.)60( In procedur)10(al prog)10(r)10(amming, the computer shall be inf)30(or)-25(med about each step to )]TJ +0.037 Tw T* +[(be e)30(x)30(ecuted.)60( One can asser)-40(t that in procedur)10(al languages)15(, the de)30(v)25(eloper has g)10(reater po)15(w)10(er o)15(v)25(er the )]TJ +-0.049 Tw T* +[(code)15(, and is ab)20(le to estab)20(lish the entire \337)250( )-21(o)15(w of control and e)30(x)30(ecution of the prog)10(r)10(am;)50( and because there )]TJ +0.005 Tw T* +[(are more resources a)20(v)25(ailab)20(le)15(, the deg)10(ree of comple)30(xity is g)10(reater)50(.)60( J)20(a)20(v)25(a is the most common language )]TJ +-0.032 Tw T* +[(f)30(ound in procedur)10(al en)20(vironments of digital tele)30(vision systems)15(.Ginga-NCL \(or Presentation Machine\) is )]TJ +0.011 Tw T* +[(a )1(logical )1(subsystem )1(of )1(the )1(Ginga )1(system )1(that )1(processes )1(NCL )1(documents)15(.)60( )1(A )1(k)20(e)20(y )1(component )1(of )1(Ginga-)]TJ +-0.031 Tw T* +[(NCL is the inf)30(or)-25(mativ)25(e content decoding mechanism \(NCL f)30(or)-25(matter\).)60( Other impor)-40(tant modules are the )]TJ +0 Tw T* +[(XHTML-based user)50(, which includes a style language \(CSS\) and ECMAScr)-15(ipt inter)-30(preter)-30(;)50( and the LU)40(A )]TJ +T* +[(mechanism, which is responsib)19(le f)30(or inter)-30(preting LU)40(A Scr)-15(ipts)15(.)]TJ +-0.022 Tw 0 -2.291 TD +[(Ginga-J \(or Ex)30(ecution Machine\) is a logical subsystem of the Ginga System that proces\ ses procedur)10(al )]TJ +-0.028 Tw 0 -1.2 TD +[(applications \(J)20(a)20(v)25(a Xlets\).)60( A k)20(e)20(y component of the procedur)10(al application en)20(vironment is the procedur)10(al )]TJ +0 Tw T* +[(content e)30(x)30(ecution mechanism, which is based on a J)20(a)20(v)25(a )50(Vir)-40(tual Machine)15(.)]TJ +ET + +endstream endobj 820 0 obj <> endobj 1192 0 obj <>stream +BT +/CS0 cs 1 scn +/GS0 gs +/T1_0 1 Tf +8 0 0 8 417.7962 38.1349 Tm +[(\251 ABNT 2010 - All r)-15(ights reser)-30(v)25(ed)]TJ +11 0 0 11 45.3266 35.8099 Tm +(2)Tj +/T1_1 1 Tf +0 68.648 TD +(ABNT NBR 15606-4:2010)Tj +/T1_0 1 Tf +0 -4.899 TD +[(J)20(AR:2009, )]TJ +/T1_2 1 Tf +-0.019 Tw 4.908 0 Td +[(Sun Microsystems)15(.)60( J)20(AR File Speci\036)250( )9(cation.)60( 2009, a)20(v)25(ailab)20(le in http://ja)20(v)25(a.sun.com/j2se/1.4.2/)]TJ +0 Tw -4.908 -1.2 Td +[(docs/guide/jar/jar)50(.html)]TJ +/T1_0 1 Tf +0 -2.291 TD +[(L)70(WUIT 1.1:2008 ,)]TJ +/T1_2 1 Tf +[( LightW)30(eight User Interf)30(ace )50(T)120(oolkit, Sun Microsystems)]TJ +/T1_0 1 Tf +T* +[(J)20(A)70(V)80(ADTV 1.3:2009,)]TJ +/T1_2 1 Tf +[( J)20(a)20(v)25(a DTV Speci\036)250( )28(cation, Sun Microsystems)15(.)60( )]TJ +/T1_0 1 Tf +0.036 Tw T* +[(J)20(A)70(V)80(A)120(TV 1.1:2008, )]TJ +/T1_2 1 Tf +[(J)20(a)20(v)25(a )50(TV Speci\036)250( )64(cation 1.1 \(JSR 927\), Sun Microsystems a)20(v)25(ailab)20(le at:)50( http://jcp)35(.org/)]TJ +0 Tw 0 -1.2 TD +(en/jsr/detail?id=927)Tj +/T1_0 1 Tf +0.027 Tw 0 -2.291 TD +(JCE:1.0.1:2006 , )Tj +/T1_2 1 Tf +0.026 Tw 7.779 0 Td +[(Sun Microsystem.)60( Secur)-15(ity \(JCE \226 J)20(a)20(v)25(a Cr)-30(yptog)10(r)10(aph)30(y Extension\) Optional P)40(ac)20(kage )]TJ +0 Tw -7.779 -1.2 Td +[(Speci\036)250( )28(cation v1.0.1, a)20(v)25(ailab)20(le at:)50( http://jcp)35(.org/en/jsr/detail?id=219)]TJ +/T1_0 1 Tf +T* +(JSSE:1.0.1:2006, )Tj +/T1_2 1 Tf +0.297 Tw 8.358 0 Td +[(Sun Microsystem.)60( Secur)-15(ity \(JSSE \226 J)20(a)20(v)25(a Secure Soc)20(k)20(et Extension\) Optional )]TJ +0 Tw -8.358 -1.2 Td +[(P)40(ac)20(kage Speci\036)250( )28(cation v1.0.1, a)20(v)25(ailab)20(le at:)50( http://jcp)35(.org/en/jsr/detail?id=219)]TJ +/T1_0 1 Tf +T* +(JVM:1997, )Tj +/T1_2 1 Tf +0.076 Tw 5.134 0 Td +[(J)20(a)20(v)25(a\(TM\) )50(Vir)-40(tual Machine Speci\036)250( )104(cation, )50(The \(2nd Edition\), )50(T Lindholm, F )90(Y)140(ellin \226 1997 \226 )]TJ +0 Tw -5.134 -1.2 Td +[(Addison-W)30(esle)20(y)]TJ +/T1_0 1 Tf +T* +(PBP 1.1:2008, )Tj +/T1_2 1 Tf +[(P)50(ersonal Basis Pro\036)250( )28(le 1.1 \(JSR 217\), a)20(v)25(ailab)20(le atn http://www)60(.jcp)35(.org/)]TJ +/T1_0 1 Tf +T* +[(SA)120(TSA:1.0.1:2007, )]TJ +/T1_2 1 Tf +-0.045 Tw 8.674 0 Td +[(Sun Microsystems , Secur)-15(ity and )50(T)120(r)-15(ust Ser)-30(vices API f)30(or J2ME \(JSR 177\), a)20(v)25(ailab)20(le )]TJ +0 Tw -8.674 -1.2 Td +[(at:)50( http://jcp)35(.org/en/jsr/detail?id=177)]TJ +/T1_1 1 Tf +13 0 0 13 45.3265 417.3119 Tm +[(3 )-540(T)60(erms and de\036)]TJ +0.028 Tw 8.121 0 Td +[( )1(nitions )]TJ +/T1_0 1 Tf +0 Tw 11 0 0 11 45.3265 393.1119 Tm +[(F)30(or the pur)-30(poses of this par)-40(t of ABNT NBR 15606, the f)30(ollo)15(wing ter)-25(ms and de\336)250( )28(nitions apply)100(.)]TJ +/T1_1 1 Tf +T* +(3.1 )Tj +0 -1.2 TD +[(b)20(ytecode)]TJ +/T1_0 1 Tf +T* +[(inter)-25(mediate f)30(or)-25(m of the code inter)-30(preted b)20(y the JVM)]TJ +/T1_1 1 Tf +0 -2.231 TD +(3.2 )Tj +0 -1.2 TD +[(ser)-10(vice conte)15(xt )]TJ +/T1_0 1 Tf +T* +[(en)20(vironment in which the ser)-30(vice is displa)30(y)20(ed on the digital receiv)25(er)]TJ +/T1_1 1 Tf +0 -2.231 TD +(3.3 )Tj +-0.08 Tw 0 -1.2 TD +[(Ja)15(v)20(a Vir)-20(tual Mac)-70(hine)]TJ +0 Tw T* +(JVM)Tj +/T1_0 1 Tf +T* +[(process that loads and r)-16(uns the J)20(a)20(v)25(a applications)]TJ +/T1_1 1 Tf +0 -2.231 TD +(3.4 )Tj +0 -1.2 TD +[(ser)-10(vice)]TJ +/T1_0 1 Tf +T* +[(set of inf)30(or)-25(mation, which contains audio)40(, video and/or data, to be displa)30(y)20(ed on a digital receiv)25(er)]TJ +0.014 Tc 10 0 0 10 45.3265 152.1579 Tm +[(NO)40(TE )-1704(Vie)20(w)10(ers nor)-25(mally ref)30(erence the ser)-30(vice as a )30(\322tele)30(vision channel\323.)]TJ +/T1_1 1 Tf +0 Tc 11 0 0 11 45.3265 127.6189 Tm +(3.5 )Tj +T* +(zapper)Tj +/T1_0 1 Tf +0.035 Tw T* +[(resident application, nor)-25(mally de)30(v)25(eloped b)20(y the man)10(uf)30(acturer of the receiv)25(er)50(, which user can activ)25(ate )]TJ +0 Tw T* +[(at an)15(y time)]TJ +0.014 Tc 10 0 0 10 45.3265 64.6809 Tm +[(NO)40(TE )-1704(The zapper can be used to select ser)-30(vices and applications f)30(or e)30(x)30(ecution at a later time)15(.)74( )]TJ +ET + +endstream endobj 817 0 obj <> endobj 1191 0 obj <>stream +BT +/CS0 cs 1 scn +/GS0 gs +/T1_0 1 Tf +8 0 0 8 56.6651 38.197 Tm +[(\251 ABNT 2010 - All r)-15(ights reser)-30(v)25(ed)]TJ +11 0 0 11 543.7772 35.8719 Tm +(1)Tj +/T1_1 1 Tf +-44.283 67.689 Td +[(BRAZILIAN ST)90(AND)40(ARD)]TJ +ET +q +1 0 0 1 56.6649933 798.4250031 cm +/CS0 CS 1 SCN +2 w 4 M +0 0 m +493.228 0 l +S +Q +q +1 0 0 1 56.6649933 770.6260071 cm +/CS0 CS 1 SCN +2 w 4 M +0 0 m +493.228 0 l +S +Q +BT +/T1_1 1 Tf +11 0 0 11 420.9202 780.4505 Tm +(ABNT NBR 15606-4:2010)Tj +14 0 0 14 56.6651 734.7589 Tm +[( )278( )278(Digital terrestrial tele)15(vision \227 Data coding and transmission speci\036)]TJ +0.028 Tw 31.8 0 Td +[( )1(cation )]TJ +0 Tw -31.8 -1.2 Td +[(f)20(or digital br)20(oadcasting)]TJ +0 -1.2 TD +[(P)30(ar)-20(t 4:)40( Ginga-J \227 )100(The en)40(vir)20(onment f)20(or the e)15(x)10(ecution of pr)20(ocedural )]TJ +T* +(applications)Tj +0.54 Tw 13 0 0 13 56.6651 641.0859 Tm +(1 Scope)Tj +/T1_0 1 Tf +-0.013 Tw 11 0 0 11 56.6651 616.8859 Tm +[(This par)-40(t of ABNT NBR 15606 speci\336)250( )15(es the requirements f)30(or the procedur)10(al par)-40(t of the middle)20(w)15(are f)30(or )]TJ +0 Tw T* +[(the Br)10(azilian digital terrestr)-16(ial tele)30(vision system \(SBTVD\).)59( )]TJ +/T1_1 1 Tf +13 0 0 13 56.6651 563.2469 Tm +[(2 )-540(Normative Ref)10(erences )]TJ +/T1_0 1 Tf +11 0 0 11 56.6651 539.0469 Tm +[(The )1(f)30(ollo)15(wing )1(documents )1(are )1(indispensab)20(le )1(f)30(or )1(the )1(application )1(of )1(this )1(document.)60( )1(F)30(or )1(dated )1(ref)30(erences)15(, )]TJ +0.109 Tw T* +[(only the cited editions apply)100(.)60( F)30(or undated ref)30(erences)15(, the latest edition of the ref)30(erenced document )]TJ +0 Tw T* +[(\(including an)15(y amendments\) applies)14(.)]TJ +0 -2.231 TD +(ABNT NBR 15601:2007, )Tj +/T1_2 1 Tf +[(Digital terrestr)-15(ial tele)30(vision \226T)120(r)10(ansmission system)]TJ +/T1_0 1 Tf +0.044 Tw T* +[(ABNT NBR 15603:2007 \(all par)-40(ts\), )]TJ +/T1_2 1 Tf +[(Digital terrestr)-15(ial tele)30(vision \226 Multiple)30(xing and ser)-30(vice inf)30(or)-25(mation )]TJ +0 Tw 0 -1.2 TD +[(\(SI\) P)40(ar)-40(t 1)]TJ +/T1_0 1 Tf +0 -2.231 TD +(ABNT NBR 15604:2007, )Tj +/T1_2 1 Tf +[(Digital terrestr)-15(ial tele)30(vision \226 Receiv)25(ers)]TJ +/T1_0 1 Tf +-0.056 Tw T* +(ABNT NBR 15606-1, )Tj +/T1_2 1 Tf +[(Digital terrestr)-15(ial tele)30(vision \226 Data coding and tr)10(ansmission speci\036)250( )-28(cation f)30(or digital )]TJ +0 Tw 0 -1.2 TD +[(broadcasting \226 P)40(ar)-40(t 1:)50( Data coding)]TJ +/T1_0 1 Tf +-0.029 Tw 0 -2.231 TD +(ABNT NBR 15606-2:2007, )Tj +/T1_2 1 Tf +[(Digital terrestr)-15(ial tele)30(vision \226 Data coding and tr)10(ansmission speci\036)250( cation f)30(or )]TJ +/T1_0 1 Tf +-0.023 Tw 0 -1.2 TD +[(digital )1(broadcasting )1(\320 )1(P)40(ar)-40(t )1(2:)50( )1(Ginga-NCL )1(f)30(or )1(\336)250( )1(x)30(ed )1(and )1(mobile )1(receiv)25(ers )1(\320 )1(XML )1(application )1(language )1(f)30(or )]TJ +0 Tw T* +(application coding)Tj +-0.029 Tw 0 -2.231 TD +(ABNT NBR 15606-3:2007, )Tj +/T1_2 1 Tf +[(Digital terrestr)-15(ial tele)30(vision \226 Data coding and tr)10(ansmission speci\036)250( cation f)30(or )]TJ +0 Tw 0 -1.2 TD +[(digital broadcasting \226 P)39(ar)-40(t 3:)50( Data tr)10(ansmission speci\036)250( )28(cation)]TJ +/T1_0 1 Tf +0 -2.231 TD +(ISO 639-2, )Tj +/T1_2 1 Tf +[(Codes f)30(or the representation of names of languages \226 P)39(ar)-40(t 2:)50( alpha-3 code)]TJ +/T1_0 1 Tf +-0.003 Tc -0.008 Tw T* +(ISO/IEC 8859-1:1998,)Tj +/T1_2 1 Tf +[( Inf)30(or)-25(mation technology - 8-bit single-b)20(yte coded g)10(r)10(aphic char)10(acter sets \226 P)40(ar)-40(t 1:)47( )]TJ +0 Tw 0 -1.2 TD +(Latin alphabet N\260 1)Tj +/T1_0 1 Tf +0 Tc 0.05 Tw 0 -2.231 TD +(ISO/IEC 13818-1,)Tj +/T1_2 1 Tf +[( Inf)30(or)-25(mation technology \226 Gener)-15(ic coding of mo)15(ving pictures and associated audio )]TJ +0 Tw 0 -1.2 TD +[(inf)30(or)-25(mation:)50( Systems)]TJ +/T1_0 1 Tf +0 -2.231 TD +(ARIB STD-B10:2008, )Tj +/T1_2 1 Tf +[(Ser)-30(vice inf)30(or)-25(mation f)30(or digital broadcasting system )]TJ +/T1_0 1 Tf +T* +(ARIB STD-B23:2004, )Tj +/T1_2 1 Tf +[(Application e)30(x)30(ecution engine platf)30(or)-25(m f)30(or digital broadcasting)]TJ +/T1_0 1 Tf +T* +(ARIB STD-B31:2007,)Tj +/T1_2 1 Tf +[( )50(T)120(r)10(ansmission Coding Standard)]TJ +/T1_0 1 Tf +0.291 Tw T* +(CDC 1.1:2008, )Tj +/T1_2 1 Tf +[(Connected )1(De)30(vice )1(Con\036)250( )320(gur)10(ation )1(1.1 )1(\(JSR )1(218\), )1(a)20(v)25(ailab)20(le )1(in )1(http://jcp)35(.org/en/jsr/)]TJ +0 Tw 0 -1.2 TD +(detail?id=218)Tj +/T1_0 1 Tf +0 -2.231 TD +(FP 1.1:2008, )Tj +/T1_2 1 Tf +[(F)30(oundation Pro\036)250( )28(le 1.1 \(JSR 219\), a)20(v)25(ailab)20(le in http://jcp)35(.org/en/jsr/detail?id=219)]TJ +ET + +endstream endobj 814 0 obj <> endobj 1190 0 obj <>stream +BT +/CS0 cs 1 scn +/GS0 gs +/T1_0 1 Tf +8 0 0 8 417.7962 38.1349 Tm +[(\251 ABNT 2010 - All r)-15(ights reser)-30(v)25(ed)]TJ +11 0 0 11 45.3266 35.8099 Tm +(x)Tj +/T1_1 1 Tf +0 68.648 TD +(ABNT NBR 15606-4:2010)Tj +14 0 0 14 45.3265 734.7589 Tm +[(Intr)20(oduction)]TJ +/T1_0 1 Tf +-0.074 Tw 11 0 0 11 45.3265 698.8589 Tm +[(The Ginga-J de\336)250( )-46(nition compr)-15(ises a set of Application Prog)10(r)10(amming Interf)30(aces \(API\) designed to pro)15(vide )]TJ +0.093 Tw 0 -1.2 TD +[(all the functionalities necessar)-30(y f)30(or the implementation of applications f)30(or digital tele)30(vision, from the )]TJ +0 Tw T* +[(handling of m)10(ultimedia data to the access protocols)14(.)60( )]TJ +0.076 Tw 0 -2.291 TD +[(The Ginga speci\336)250( )104(cation applies to receiv)25(ers f)30(or terrestr)-15(ial tele)30(vision tr)10(ansmission systems \(o)15(v)25(er-the-)]TJ +0.002 Tw 0 -1.2 TD +[(air\).)60( Ginga is designed to co)15(v)25(er a full r)10(ange of implementations including integ)10(r)10(ated receiv)25(er-decoders )]TJ +0.119 Tw T* +[(\(IRD\), integ)10(r)10(ated tele)30(vision sets)15(, m)10(ultimedia computers and local clusters of de)30(vices connected via )]TJ +0 Tw T* +[(Home Area Netw)10(or)-15(ks \(HAN\).)]TJ +-0.003 Tw 0 -2.291 TD +[(This par)-40(t of ABNT NBR 15606 is aimed at de)30(v)25(elopers of receiv)25(ers compatib)20(le with the Br)10(azilian digital )]TJ +0.148 Tw 0 -1.2 TD +[(terrestr)-15(ial tele)30(vision system \(SBTVD\) and de)30(v)25(elopers of applications that use the functionality and )]TJ +0 Tw T* +[(Ginga API.)60( )]TJ +0.144 Tw 0 -2.291 TD +[(This par)-40(t of ABNT NBR 15606 is aimed at ensur)-15(ing the interoper)10(ability of Ginga applications and )]TJ +0 Tw 0 -1.2 TD +[(diff)30(erent Ginga implementations)14(.)]TJ +0 -2.291 TD +[(This par)-40(t of ABNT NBR 15606 is consistent with inter)-26(national speci\336)250( )28(cations)15(, as detailed in Anne)30(x A.)]TJ +ET + +endstream endobj 811 0 obj <> endobj 794 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text]>>/Rotate 0/TrimBox[0.0 0.0549927 595.22 841.945]/Type/Page>> endobj 797 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text]>>/Rotate 0/TrimBox[0.0 0.0549927 595.22 841.945]/Type/Page>> endobj 800 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text]>>/Rotate 0/TrimBox[0.0 0.0549927 595.22 841.945]/Type/Page>> endobj 804 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text]>>/Rotate 0/TrimBox[0.0 0.0549927 595.22 841.945]/Type/Page>> endobj 807 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text]>>/Rotate 0/TrimBox[0.0 0.0549927 595.22 841.945]/Type/Page>> endobj 1189 0 obj <>stream +BT +/CS0 cs 1 scn +/GS0 gs +/T1_0 1 Tf +8 0 0 8 56.6651 38.1349 Tm +[(\251 ABNT 2010 - All r)-15(ights reser)-30(v)25(ed)]TJ +11 0 0 11 541.9512 35.8099 Tm +(ix)Tj +/T1_1 1 Tf +-11.003 68.648 Td +(ABNT NBR 15606-4:2010)Tj +14 0 0 14 56.6651 734.7589 Tm +[(Fore)15(w)20(or)20(d)]TJ +/T1_0 1 Tf +0.264 Tw 11 0 0 11 56.6651 698.8589 Tm +[(The Associa\215\213o Br)10(asileir)10(a de Nor)-25(mas )50(T\216cnicas \(ABNT\) is the Br)10(azilian Standardization F)30(or)-15(um.)60( )]TJ +-0.101 Tw 0 -1.2 TD +[(Br)10(azilian Standards)15(, wich content is the responsability of the Br)10(azilian Committees \(ABNT/CB\), Sector)-15(ial )]TJ +0.086 Tw T* +[(Standardization )1(Bodies )1(\(ABNT/ONS\), )1(and )1(Special )1(Studies )1(Committees )1(\(ABNT/CEE\), )1(are )1(dr)10(afted )1(b)20(y )]TJ +0.066 Tw T* +[(Study Committees \(CE\).)60( Such Studiys Committees are made up of representativ)25(es from the sectors )]TJ +0 Tw T* +[(in)20(v)25(olv)25(ed and include producers)15(, consumers and neutr)10(al entities \(univ)25(ersities)15(, labor)10(ator)-15(ies and others\).)]TJ +0.025 Tw 0 -2.291 TD +[(Br)10(azilian Standards are dr)10(afted in accordance with the r)-15(ules giv)25(en in the ABNT Directiv)25(es \(Diretiv)25(as\), )]TJ +0 Tw 0 -1.2 TD +[(P)40(ar)-40(t 2.)]TJ +0.021 Tw 0 -2.291 TD +[(Attention is dr)10(a)20(wn to the possibility that some of the elements of this document ma)30(y be the subject of )]TJ +0 Tw 0 -1.2 TD +[(patent r)-15(ights)15(.)60( ABNT shall not be held responsib)20(le f)30(or identifying an)15(y or all such patent r)-15(ights)15(.)]TJ +-0.005 Tc -0.131 Tw 0 -2.291 TD +[(ABNT NBR 15606-4 w)15(as prepared within the pur)-30(vie)20(w of the Special Studies Committes of Digital )50(T)120(ele)30(vision )]TJ +0.108 Tw 0 -1.2 TD +[(\(ABNT/CEE-85\).)60( )50(The 1st Dr)10(aft Standard w)15(as circulated f)30(or National Consultation in accordance with )]TJ +0.05 Tw T* +[(ABNT )1(Notice )1(\(Edital\) )1(n\241 )1(09, )1(from )1(September )1(6th, )1(2007 )1(to )1(No)15(v)25(ember )1(5th, )1(2007, )1(with )1(the )1(n)10(umber )1(Dr)10(aft )]TJ +-0.025 Tw T* +[(00:001.85-006/4.)60( )51(The )1(2nd )1(Dr)10(aft )1(Standard )1(w)15(as )1(circulated )1(in )1(accordance )1(with )1(ABNT )1(Notice )1(\(Edital\) )1(n\274 )1(05, )]TJ +0.08 Tw T* +[(from Ma)30(y)100(, 19th, 2009 to J)20(uly 17th, 2009, with n)10(umber Dr)10(aft 00:001.85-006/4.)60( )50(The 3rd Dr)10(aft Standard )]TJ +-0.038 Tw T* +[(circulated in accordance with ABNT Notice \(Edital\) n\274 3 from March,\ 5th, 2010 to Apr)-15(il 5th,2010, with the )]TJ +0 Tw T* +[(n)10(umber 3rd Dr)10(aft 85:000.00-006/4.)]TJ +0 Tc -0.064 Tw 0 -2.291 TD +[(Should an)15(y doubts ar)-15(ise regarding the inter)-30(pretation of the English v)25(ersion, the pro)15(visions in the or)-15(iginal )]TJ +0 Tw 0 -1.2 TD +[(te)30(xt in P)50(or)-40(tuguese shall pre)30(v)25(ail at all time)15(.)]TJ +-0.001 Tw 0 -2.291 TD +[(This Standard is based on w)10(or)-15(k carr)-15(ied out b)20(y the Br)10(azilian Digital )50(T)120(ele)30(vision F)30(or)-15(um as estab)20(lished b)20(y )]TJ +0 Tw 0 -1.2 TD +[(Presidential Decree n\274 5820 of J)19(une 29, 2006.)]TJ +0 -2.291 TD +[(This English v)25(ersion is equiv)25(alent to ABNT NBR 15606-4:2010, from 2010.04.13.)]TJ +T* +[(This v)25(ersion in English w)15(as pub)20(lished in 2010.06.15.)]TJ +ET + +endstream endobj 808 0 obj <> endobj 1188 0 obj <>stream +BT +/CS0 cs 1 scn +/GS0 gs +/T1_0 1 Tf +8 0 0 8 417.7962 38.1349 Tm +[(\251 ABNT 2010 - All r)-15(ights reser)-30(v)25(ed)]TJ +11 0 0 11 45.3266 35.8099 Tm +(viii)Tj +/T1_1 1 Tf +0 68.648 TD +(ABNT NBR 15606-4:2010)Tj +0 -4.896 TD +[(T)80(ab)10(le A.16 \226 Classes of the com.sun.dtv)80(.ui pac)20(ka)10(g)-10(e )133(.....................................................................)-60(41)]TJ +0 -1.454 TD +[(T)80(ab)10(le A.17 \226 Classes of the com.sun.dtv)80(.media.contr)20(ol pac)20(ka)10(g)-10(e )221(.................................................)-60(43)]TJ +T* +[(T)80(ab)10(le A.18 \226 Classes of the com.sun.dtv)80(.media.dripf)10(eed pac)20(ka)10(g)-10(e )231(...............................................)-60(43)]TJ +T* +[(T)80(ab)10(le A.19 \226 Classes of the com.sun.dtv)80(.security pac)20(ka)10(g)-10(e )21(..........................................................)-60(43)]TJ +T* +[(T)80(ab)10(le A.20 \226 Classes of the com.sun.dtv)80(.l)15(wuit.painter pac)20(ka)10(g)-10(e )115(...................................................)-60(44)]TJ +T* +[(T)80(ab)10(le A.21 \226 Classes of the com.sun.dtv)80(.locator pac)20(ka)10(g)-10(e )76(............................................................)-60(44)]TJ +T* +[(T)80(ab)10(le A.22 \226 Classes of the com.sun.dtv)80(.resour)20(ces pac)20(ka)10(g)-10(e )112(.......................................................)-60(45)]TJ +T* +[(T)80(ab)10(le A.23 \226 Classes of the com.sun.dtv)80(.net pac)20(ka)10(g)-10(e )188(...................................................................)-60(45)]TJ +T* +[(T)80(ab)10(le A.24 \226 Classes of the com.sun.dtv)80(.media.te)15(xt pac)20(ka)10(g)-10(e)5(.......................................................)-61(46)]TJ +T* +[(T)80(ab)10(le A.25 \226 Classes of the com.sun.dtv)80(.media.f)20(ormat pac)20(ka)10(g)-10(e )221(..................................................)-60(46)]TJ +T* +[(T)80(ab)10(le A.26 \226 Classes of the com.sun.dtv)80(.platf)20(orm pac)20(ka)10(g)-10(e )166(..........................................................)-60(47)]TJ +T* +[(T)80(ab)10(le A.27 \226 Classes of the com.sun.dtv)80(.io pac)20(ka)10(g)-10(e )133(.....................................................................)-60(47)]TJ +T* +[(T)80(ab)10(le A.28 \226 Classes of the com.sun.dtv)80(.l)15(wuit.animations pac)20(ka)10(g)-10(e )114(............................................)-60(48)]TJ +T* +[(T)80(ab)10(le A.29 \226 Classes of the com.sun.dtv)80(.ser)-10(vice pac)20(ka)10(g)-10(e )199(............................................................)-60(48)]TJ +T* +[(T)80(ab)10(le A.30 \226 Classes of the com.sun.dtv)80(.media pac)20(ka)10(g)-10(e )188(..............................................................)-60(48)]TJ +T* +[(T)80(ab)10(le A.31 \226 Classes of the com.sun.dtv)80(.transpor)-20(t pac)20(ka)10(g)-10(e )39(........................................................)-60(49)]TJ +T* +[(T)80(ab)10(le A.32 \226 Classes of the com.sun.dtv)80(.l)15(wuit.util pac)20(ka)10(g)-10(e )227(..........................................................)-60(49)]TJ +T* +[(T)80(ab)10(le A.33 \226 Classes of the com.sun.dtv)80(.l)15(wuit pac)20(ka)10(g)-10(e )117(................................................................)-60(50)]TJ +T* +[(T)80(ab)10(le A.34 \226 Classes of the com.sun.dtv)80(.l)15(wuit.g)-10(eom pac)20(ka)10(g)-10(e )14(.....................................................)-60(51)]TJ +ET + +endstream endobj 805 0 obj <> endobj 1187 0 obj <>stream +BT +/CS0 cs 1 scn +/GS0 gs +/T1_0 1 Tf +8 0 0 8 56.6651 38.1349 Tm +[(\251 ABNT 2010 - All r)-15(ights reser)-30(v)25(ed)]TJ +11 0 0 11 539.5102 35.8099 Tm +(vii)Tj +/T1_1 1 Tf +-10.781 68.648 Td +(ABNT NBR 15606-4:2010)Tj +-33.114 -4.896 Td +[(D)30(.2.2.2 )-1619(NCLEvent c)20(lass )119(........................................................................\ ......................................)-60(91)]TJ +-0.135 Tw 0 -1.454 TD +[(D)30(.2.2.3 )-1754(NCLEventListener inter)-135(face ...................................................................\ ........................)-60(9)]TJ +0 Tw (2)Tj +T* +[(Anne)15(x E )]TJ +/T1_0 1 Tf +[(\(nor)-25(mativ)25(e\))]TJ +/T1_1 1 Tf +[( API speci\036)306( )-27(cation f)20(or graphic plane suppor)-20(t )]TJ +/T1_2 1 Tf +(\226)Tj +/T1_1 1 Tf +[( br)60(.or)15(g.sbtvd.ui pac)20(ka)10(g)-10(e )89(....)-60(93)]TJ +T* +[(E.1 )-3312(ColorCoding c)20(lass)6(........................................................................\ ..................................)2(.)-62(9)1(3)]TJ +T* +[(E.2 )-3312(StillPicture c)20(lass)9(........................................................................\ .................................)2(.....)-62(93)]TJ +-0.221 Tw 0 -1.455 TD +[(E.3 )-3533(Switc)10(hArea )-221(c)20(lass ...................................................................\ .......................................)]TJ +0 Tw [(...)-60(94)]TJ +-0.057 Tw 0.091 -1.454 Td +[(Bib)10(liograph)20(y ......................................................................\ ............................................)]TJ +0 Tw [(....................)-60(95)]TJ +-0.091 -4.157 Td +(Figures)Tj +0 -1.454 TD +[(Figure 1 \226 High-le)15(vel ar)20(c)10(hitecture of Ginga mid)10(dle)15(ware )252(.................................................................)-60(4)]TJ +T* +[(Figure 2 \226 Ginga-J conte)14(xt )34(........................................................................\ ............................)1(.............)-60(4)]TJ +T* +[(Figure 3 \226 Ginga-J ar)19(c)10(hitecture and the e)15(x)10(ecution en)40(vir)20(onment )203(...................................................)-60(5)]TJ +T* +[(Figure 4 \226 Dia)10(gram with the lif)9(e c)10(yc)20(le states of an Xlet )161(...................................................................)-60(6)]TJ +T* +[(Figure 5 \226 Structure of la)19(y)10(er)15(s f)20(or the presentation of ser)-10(vices )42(....................................................)-60(17)]TJ +T* +[(Figure 6 \226 Composition e)14(xample of content displa)19(y plane )117(..........................................................)-60(22)]TJ +0 -4.157 TD +[(T)80(ab)10(les)]TJ +0 -1.454 TD +[(T)80(ab)10(le 1 \226 Pr)20(oper)-20(ties of the Ginga-J en)40(vir)20(onment )116(........................................................................\ .....)-60(9)]TJ +T* +[(T)80(ab)10(le 2 \226 Ginga-J application contr)20(ol codes )269(........................................................................\ .............)-60(9)]TJ +T* +[(T)80(ab)10(le 3 \226 Details of functionalities f)20(or the te)15(xt and grap )83(...............................................................)-60(17)]TJ +T* +[(T)80(ab)10(le 4 \226 Details of the functionalities f)20(or video and still picture plane )40(......................................)-60(18)]TJ +T* +[(T)80(ab)10(le 5 \226 Details of functionalities f)20(or the still picture plane )98(........................................................)-60(20)]TJ +T* +[(T)80(ab)10(le 6 \226 Details of the functionalities f)20(or the video plane )265(............................................................)-60(21)]TJ +T* +[(T)80(ab)10(le 7 \226 Mapping of functions of ABNT NBR 15604:2007 in the e)15(vents)]TJ +5.091 -1.454 Td +[(de\036)306( )-27(ned b)20(y J)20(A)80(V)80(ADTV 1.3:2009 )158(........................................................................\ ................)-60(23)]TJ +-5.091 -1.454 Td +[(T)80(ab)10(le 8 \226 System Pr)20(oper)-20(ties )183(........................................................................\ .....................................)-60(26)]TJ +T* +[(T)80(ab)10(le A.1 )]TJ +/T1_2 1 Tf +(\226)Tj +/T1_1 1 Tf +[( Classes of the com.sun.dtv)79(.br)20(oadcast pac)20(ka)10(g)-10(e )111(.........................................................)-60(32)]TJ +T* +[(T)80(ab)10(le A.2 )]TJ +/T1_2 1 Tf +(\226)Tj +/T1_1 1 Tf +[( Classes of the com.sun.dtv)79(.smar)-20(tcar)20(d pac)20(ka)10(g)-10(e )187(.........................................................)-60(33)]TJ +T* +[(T)80(ab)10(le A.3 )]TJ +/T1_2 1 Tf +(\226)Tj +/T1_1 1 Tf +[( Classes of the com.sun.dtv)79(.l)15(wuit.e)15(vents pac)20(ka)10(g)-10(e )212(......................................................)-60(33)]TJ +T* +[(T)80(ab)10(le A.4 \226 Classes of the com.sun.dtv)80(.\036)]TJ +-0.13 Tw 18.919 0 Td +[( )-157(ltering )-129(pac)20(ka)10(g)-10(e )1(.............................................................)-60(34)]TJ +0 Tw -18.919 -1.454 Td +[(T)80(ab)10(le A.5 \226 Classes of the com.sun.ui.e)15(vent pac)20(ka)10(g)-10(e )198(...................................................................)-60(35)]TJ +T* +[(T)80(ab)10(le A.6 \226 Classes of the com.sun.l)15(wui.plaf pac)20(ka)10(g)-10(e )142(..................................................................)-60(36)]TJ +T* +[(T)80(ab)10(le A.7 \226 Classes of the com.sun.dtv)80(.media.timeline pac)20(ka)10(g)-10(e )75(.................................................)-60(37)]TJ +T* +[(T)80(ab)10(le A.8 \226 Classes of the com.sun.dtv)80(.media.langua)10(g)-10(e pac)20(ka)10(g)-10(e )130(...............................................)-60(37)]TJ +T* +[(T)80(ab)10(le A.9 \226 Classes of the com.sun.dtv)80(.application pac)20(ka)10(g)-10(e )75(.......................................................)-60(38)]TJ +T* +[(T)80(ab)10(le A.10 \226 Classes of the com.sun.dtv)80(.media.auto pac)20(ka)10(g)-10(e )75(.....................................................)-60(38)]TJ +T* +[(T)80(ab)10(le A.11 \226 Classes of the com.sun.dtv)80(.test pac)20(ka)10(g)-10(e )188(..................................................................)-60(39)]TJ +T* +[(T)80(ab)10(le A.12 \226 Classes of the com.sun.dtv)80(.tuner pac)20(ka)10(g)-10(e )76(...............................................................)-60(39)]TJ +T* +[(T)80(ab)10(le A.13 \226 Classes of the com.sun.dtv)80(.l)15(wuit.la)20(y)25(outs pac)20(ka)10(g)-10(e )237(...................................................)-60(40)]TJ +T* +[(T)80(ab)10(le A.14 \226 Classes of the com.sun.dtv)80(.br)20(oadcast.e)15(vent pac)20(ka)10(g)-10(e )206(.............................................)-60(40)]TJ +T* +[(T)80(ab)10(le A.15 \226 Classes of the com.sun.dtv)80(.l)15(wuit.list pac)20(ka)10(g)-10(e )172(..........................................................)-60(41)]TJ +ET + +endstream endobj 802 0 obj <> endobj 1186 0 obj <>stream +BT +/CS0 cs 1 scn +/GS0 gs +/T1_0 1 Tf +8 0 0 8 417.7962 38.1349 Tm +[(\251 ABNT 2010 - All r)-15(ights reser)-30(v)25(ed)]TJ +11 0 0 11 45.3266 35.8099 Tm +(vi)Tj +/T1_1 1 Tf +0 68.648 TD +(ABNT NBR 15606-4:2010)Tj +-0.078 Tw 0 -4.896 TD +[(B.2.2.10 )-1111(SIMonitoringListener )-78(interface ..............................................................\ ........................)-60(6)]TJ +0 Tw (6)Tj +-0.13 Tw 0 -1.454 TD +[(B.2.2.11 )-1163(SIMonitoringT)60(ype )-130(interface ..............................................................\ .............................)]TJ +0 Tw [(.)-60(66)]TJ +-0.229 Tw T* +[(B.2.2.12 )-1262(SINetw)20(ork )-229(interface ..............................................................\ ....................................)]TJ +0 Tw [(.......)-60(67)]TJ +-0.213 Tw T* +[(B.2.2.13 )-1246(SIRetrie)15(v)20(alListener )-213(interface ..............................................................\ ..........................)]TJ +0 Tw [(..)-60(67)]TJ +-0.079 Tw T* +[(B.2.2.14 )-1112(SIRunningStatus )-79(interface ..............................................................\ ..............................)]TJ +0 Tw [(.)-60(68)]TJ +-0.15 Tw 0 -1.455 TD +[(B.2.2.15 )-1183(SISer)-10(vice )-150(interface ..............................................................\ ....................................)]TJ +0 Tw [(........)-60(68)]TJ +0 -1.454 TD +[(B.2.2.16 )-1033(SISer)-10(viceT)60(ype interface )200(........................................................................\ .........................)-60(70)]TJ +-0.028 Tw 0 -1.455 TD +[(B.2.2.17 )-1061(SITime )-28(interface ..............................................................\ .......................................)]TJ +0 Tw [(.........)-60(71)]TJ +-0.131 Tw 0 -1.454 TD +[(B.2.2.18 )-1164(SIT)80(ranspor)-20(tStream )-131(interface ..............................................................\ ............................)]TJ +0 Tw 43.706 0 Td +(71)Tj +-0.12 Tw -43.706 -1.454 Td +[(B.2.2.19 )-1153(SIT)80(ranspor)-20(tStreamB)30(A)90(T )-120(interface ..............................................................\ .....................)-60(72)]TJ +-0.074 Tw T* +[(B.2.2.20 )-1107(SIT)80(ranspor)-20(tStreamNIT )-74(interface ..............................................................\ ......................)-60(72)]TJ +-0.064 Tw T* +[(B.2.2.21 )-1097(Descriptor )-64(c)20(lass ...................................................................\ ..................................)]TJ +0 Tw [(.........)-60(72)]TJ +-0.176 Tw T* +[(B.2.2.22 )-1209(SIDatabase )-176(c)20(lass ...................................................................\ ..................................)]TJ +0 Tw [(........)-60(73)]TJ +-0.152 Tw T* +[(B.2.2.23 )-1185(SIExEventInf)20(ormation )-152(c)20(lass ...................................................................\ ........................)]TJ +0 Tw 43.706 0 Td +(76)Tj +-0.244 Tw -43.706 -1.455 Td +[(B.2.2.24 )-1277(SILac)20(kOfResour)20(cesEvent )-244(c)20(lass ...................................................................\ ..................)-60(76)]TJ +0 Tw 0 -1.455 TD +[(B.2.2.25 )-1033(SIMonitoringEvent c)19(lass....................................................................\ ...........................)8(..)-62(77)]TJ +-0.107 Tw 0 -1.454 TD +[(B.2.2.26 )-1140(SINotInCac)10(heEvent )-107(c)20(lass ...................................................................\ ...........................)]TJ +0 Tw [(.)-60(78)]TJ +-0.248 Tw T* +[(B.2.2.27 )-1281(SIObjectNotInT)80(ab)10(leEvent )-248(c)20(lass ...................................................................\ ...................)-60(78)]TJ +-0.231 Tw T* +[(B.2.2.28 )-1264(SIRequest )-231(c)20(lass ...................................................................\ ...................................)]TJ +0 Tw [(.........)-60(78)]TJ +-0.172 Tw T* +[(B.2.2.29 )-1205(SIRequestCancelledEvent )-172(c)19(lass ...................................................................\ .................)-60(78)]TJ +-0.14 Tw T* +[(B.2.2.30 )-1173(SIRetrie)15(v)20(alEvent )-140(c)20(lass ...................................................................\ ............................)]TJ +0 Tw [(.....)-60(78)]TJ +-0.158 Tw T* +[(B.2.2.31 )-1191(SISuccessfulRetrie)14(veEvent )-158(c)20(lass ...................................................................\ ...............)-60(79)]TJ +-0.136 Tw T* +[(B.2.2.32 )-1169(SIT)80(ab)10(leNotFoundEvent )-136(c)20(lass ...................................................................\ ......................)-60(79)]TJ +-0.249 Tw T* +[(B.2.2.33 )-1282(SIT)80(ab)10(leUpdatedEvent )-249(c)20(lass ...................................................................\ .........................)]TJ +0 Tw 43.706 0 Td +(79)Tj +-0.121 Tw -43.706 -1.454 Td +[(B.2.2.34 )-1154(SIUtil )-121(c)20(lass ...................................................................\ ......................................)]TJ +0 Tw [(..............)-60(80)]TJ +-0.063 Tw T* +[(B.2.2.35 )-1096(SIException\(\) )-63(c)20(lass ...................................................................\ ...............................)]TJ +0 Tw [(.......)-60(80)]TJ +-0.099 Tw T* +[(B.2.2.36 )-1132(SIIllegalAr)15(gumentException\(\) )-99(c)19(lass ...................................................................\ ...........)-60(80)]TJ +-0.027 Tw T* +[(B.2.2.37 )-1060(SIIn)40(v)20(alidP)30(eriodException )-27(c)20(lass ...................................................................\ ..................)-60(80)]TJ +0 Tw T* +[(Anne)15(x C )]TJ +/T1_0 1 Tf +[(\(nor)-25(mativ)25(e\) )]TJ +/T1_1 1 Tf +[(API e)15(xtension speci\036)306( )-27(cation f)20(or tuning \226 )]TJ +-0.231 Tw 5.091 -1.454 Td +[(P)30(ac)20(ka)10(g)-10(e br)-171(.or)15(g.sbtvd.net.tuning .....................................................\ ...............................)-60(81)]TJ +-0.062 Tw -5.091 -1.454 Td +[(C.1 )-3319(ChannelMana)10(g)-10(er )-62(c)20(lass ...................................................................\ ................................)-60(81)]TJ +-0.12 Tw T* +[(C.2 )-3377(Channel )-120(c)20(lass ...................................................................\ ..........................................)]TJ +0 Tw [(.....)-60(82)]TJ +T* +[(Anne)15(x D )]TJ +/T1_0 1 Tf +[(\(nor)-25(mativ)25(e\) )]TJ +/T1_1 1 Tf +[(NCL Bridg)-10(e API Speci\036)]TJ +0.001 Tw 20.359 0 Td +[( )-26(cation )1( )]TJ +0 Tw 3.549 0 Td +[(.......................................................................)-60(83)]TJ +-0.082 Tw -23.908 -1.454 Td +[(D)30(.1 )-3369(General consider)-82(ations .................................................................\ .................................)-60(83)]TJ +0 Tw T* +[(D)30(.2 )-3287(NCL bridg)-10(e API )203(........................................................................\ ........................................)-60(83)]TJ +-0.205 Tw T* +[(D)30(.2.1 )-2658(br)60(.or)15(g.sbtvd.net.tuning )-205(pac)20(ka)10(g)-10(e ......................................................................\ ..............)-60(83)]TJ +-0.09 Tw T* +[(D)30(.2.1.1 )-1709(NCLPla)20(y)10(er c)-70(lass ...................................................................\ ....................................)]TJ +0 Tw [(.......)-60(83)]TJ +T* +[(D)30(.2.1.2 )-1619(NCLPla)20(y)10(erEvent c)20(lass )33(........................................................................\ ...........................)-60(85)]TJ +-0.049 Tw T* +[(D)30(.2.1.3 )-1668(NCLPla)20(y)10(erEventListener inter)-49(face ...................................................................\ .............)-60(86)]TJ +0 Tw T* +[(D)30(.2.1.4 )-1619(NCLGingaSettingsNodes c)20(lass....................................................................\ ..................)-62(86)]TJ +-0.119 Tw T* +[(D)30(.2.1.5 )-1738(NCLEdit c)-99(lass ...................................................................\ ......................................)]TJ +0 Tw [(.........)-60(87)]TJ +T* +[(D)30(.2.2 )-2453(br)60(.or)15(g.sbtvd.net.bridg)-10(e)-20(.nc)20(l pac)20(ka)10(g)-10(e )271(........................................................................\ ......)-60(91)]TJ +T* +[(D)30(.2.2.1 )-1619(NodeMana)10(g)-10(er c)20(lass)7(........................................................................\ ..............................)2(...)-62(91)]TJ +ET + +endstream endobj 798 0 obj <> endobj 1185 0 obj <>stream +BT +/CS0 cs 1 scn +/GS0 gs +/T1_0 1 Tf +8 0 0 8 56.6651 38.1349 Tm +[(\251 ABNT 2010 - All r)-15(ights reser)-30(v)25(ed)]TJ +11 0 0 11 544.3932 35.8099 Tm +(v)Tj +/T1_1 1 Tf +-11.225 68.648 Td +(ABNT NBR 15606-4:2010)Tj +-0.201 Tw -33.114 -4.896 Td +[(A.2.8 )-2624(com.sun.dtv)80(.media.langua)10(g)-10(e )-201(pac)20(ka)10(g)-10(e ......................................................................\ ....)-60(37)]TJ +-0.146 Tw 0 -1.454 TD +[(A.2.9 )-2569(com.sun.dtv)80(.application )-146(pac)20(ka)10(g)-10(e ......................................................................\ ............)-60(37)]TJ +T* +[(A.2.10 )-2013(com.sun.dtv)80(.media.audio )-146(pac)20(ka)10(g)-10(e ......................................................................\ ..........)-60(38)]TJ +0 Tw T* +[(A.2.11 )-1867(com.sun.dtv)80(.test pac)20(ka)10(g)-10(e )259(........................................................................\ .......................)-60(38)]TJ +-0.147 Tw T* +[(A.2.12 )-2014(com.sun.dtv)80(.tuner )-147(pac)20(ka)10(g)-10(e ......................................................................\ ......................)-60(39)]TJ +-0.03 Tw T* +[(A.2.13 )-1897(com.sun.dtv)80(.l)15(wuit.la)20(y)25(outs )-30(pac)20(ka)10(g)-10(e ......................................................................\ .........)-60(39)]TJ +0 Tw T* +[(A.2.14 )-1867(com.sun.dtv)80(.br)20(oadcast.e)15(vent pac)20(ka)10(g)-10(e )277(........................................................................\ ..)-60(40)]TJ +-0.243 Tw 0 -1.455 TD +[(A.2.15 )-2110(com.sun.dtv)80(.l)15(wuit.list )-243(pac)20(ka)10(g)-10(e ......................................................................\ .................)-60(40)]TJ +-0.204 Tw T* +[(A.2.16 )-2071(com.sun.dtv)80(.ui )-204(pac)20(ka)10(g)-10(e ......................................................................\ ...........................)]TJ +0 Tw [(.)-60(41)]TJ +-0.014 Tw 0 -1.454 TD +[(A.2.17 )-1881(com.sun.dtv)80(.media.contr)20(ol )-14(pac)20(ka)10(g)-10(e ......................................................................\ .......)-60(43)]TJ +0 Tw T* +[(A.2.18 )-1867(com.sun.dtv)80(.media.dripf)10(eed pac)20(ka)10(g)-10(e )24(........................................................................\ ..)-60(43)]TJ +-0.092 Tw T* +[(A.2.19 )-1959(com.sun.dtv)80(.security )-92(pac)20(ka)10(g)-10(e ......................................................................\ .................)-60(43)]TJ +-0.186 Tw T* +[(A.2.20 )-2053(com.sun.dtv)80(.l)15(wuit.painter )-186(pac)20(ka)10(g)-10(e ......................................................................\ ..........)-60(44)]TJ +-0.147 Tw T* +[(A.2.21 )-2014(com.sun.dtv)80(.locator )-147(pac)20(ka)10(g)-10(e ......................................................................\ ...................)-60(44)]TJ +-0.183 Tw T* +[(A.2.22 )-2050(com.sun.dtv)80(.resour)20(ces )-183(pac)20(ka)10(g)-10(e ......................................................................\ ..............)-60(45)]TJ +0 Tw T* +[(A.2.23 )-1867(com.sun.dtv)80(.net pac)20(ka)10(g)-10(e )259(........................................................................\ ........................)-60(45)]TJ +-0.076 Tw T* +[(A.2.24 )-1943(com.sun.dtv)80(.media.te)15(xt )-76(pac)20(ka)10(g)-10(e ......................................................................\ .............)-60(45)]TJ +-0.014 Tw T* +[(A.2.25 )-1881(com.sun.dtv)80(.media.f)20(ormat )-14(pac)20(ka)10(g)-10(e ......................................................................\ ........)-60(46)]TJ +-0.237 Tw T* +[(A.2.26 )-2104(com.sun.dtv)80(.platf)20(orm )-237(pac)20(ka)10(g)-10(e ......................................................................\ .................)-60(47)]TJ +-0.204 Tw T* +[(A.2.27 )-2071(com.sun.dtv)80(.io )-204(pac)20(ka)10(g)-10(e ......................................................................\ ...........................)]TJ +0 Tw [(.)-60(47)]TJ +T* +[(A.2.28 )-1867(com.sun.dtv)80(.l)15(wuit.animations pac)20(ka)10(g)-10(e )185(........................................................................\ )-60(47)]TJ +T* +[(A.2.29 )-1867(com.sun.dtv)80(.ser)-10(vice pac)20(ka)10(g)-10(e )270(........................................................................\ .................)-60(48)]TJ +T* +[(A.2.30 )-1867(com.sun.dtv)80(.media pac)20(ka)10(g)-10(e )259(........................................................................\ ...................)-60(48)]TJ +-0.11 Tw T* +[(A.2.31 )-1977(com.sun.dtv)80(.transpor)-20(t )-110(pac)20(ka)10(g)-10(e ......................................................................\ ...............)-60(49)]TJ +0 Tw T* +[(A.2.32 )-1867(com.sun.dtv)80(.l)15(wuit.util pac)20(ka)10(g)-10(e )20(........................................................................\ .............)-60(49)]TJ +T* +[(A.2.33 )-1867(com.sun.dtv)80(.l)15(wuit pac)20(ka)10(g)-10(e )188(........................................................................\ ....................)-60(5)1(0)]TJ +T* +[(A.2.34 )-1867(com.sun.dtv)80(.l)15(wuit.g)-10(eom pac)20(ka)10(g)-10(e )85(........................................................................\ .........)-60(51)]TJ +T* +[(Anne)15(x B )]TJ +/T1_0 1 Tf +[(\(nor)-25(mativ)25(e\) )]TJ +/T1_1 1 Tf +[(Speci\036)306( )-27(cation of the pr)20(otocol-dependent ser)-10(vice inf)20(ormation API )208(.............)-60(52)]TJ +-0.082 Tw T* +[(B.1 )-3339(General )-82(considerations .........................................................\ .........................................)-60(52)]TJ +0 Tw T* +[(B.2 )-3257(Pr)20(otocol-dependent ser)-10(vice inf)20(ormation API )100(...............................................................)-60(52)]TJ +-0.208 Tw T* +[(B.2.1 )-2631(br)60(.or)15(g.sbtvd.net )-208(pac)20(ka)10(g)-10(e ......................................................................\ ..........................)]TJ +0 Tw 43.706 0 Td +(52)Tj +-0.173 Tw -43.706 -1.454 Td +[(B.2.1.1 )-1762(SBTVDLocator )-173(c)20(lass ...................................................................\ .................................)]TJ +0 Tw [(...)-60(52)]TJ +T* +[(B.2.1.2 )-1589(SBTVDNetw)20(orkBoundLocator c)19(lass )36(........................................................................\ ....)-60(54)]TJ +-0.098 Tw T* +[(B.2.2 )-2521(br)60(.or)15(g.sbtvd.si )-98(pac)20(ka)10(g)-10(e ......................................................................\ ...........................)]TJ +0 Tw [(.)-60(54)]TJ +-0.102 Tw T* +[(B.2.2.1 )-1691(DescriptorT)80(a)10(g )-102(interface ..............................................................\ .................................)]TJ +0 Tw [(...)-60(54)]TJ +-0.145 Tw T* +[(B.2.2.2 )-1734(PMTElementar)-10(yStream )-145(interface ..............................................................\ .....................)-60(59)]TJ +0 Tw T* +[(B.2.2.3 )-1589(PMTSer)-10(vice interface )204(........................................................................\ .............................)-60(60)]TJ +T* +[(B.2.2.4 )-1589(PMTStreamT)60(ype interface )76(........................................................................\ .....................)-60(61)]TJ +T* +[(B.2.2.5 )-1589(SIBouquet interface )81(........................................................................\ ...............................)-60(62)]TJ +T* +[(B.2.2.6 )-1589(SI Br)20(oadcaster interface )173(........................................................................\ ........................)-60(62)]TJ +-0.139 Tw T* +[(B.2.2.7 )-1728(SIEvent )-139(interface ..............................................................\ .......................................)]TJ +0 Tw [(........)-60(63)]TJ +-0.116 Tw T* +[(B.2.2.8 )-1705(SIInf)20(ormation )-116(interface ..............................................................\ .................................)]TJ +0 Tw [(....)-60(65)]TJ +-0.027 Tw T* +[(B.2.2.9 )-1616(SIIterator )-27(interface ..............................................................\ ....................................)]TJ +0 Tw [(........)-60(66)]TJ +ET + +endstream endobj 795 0 obj <> endobj 774 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text/ImageC]/XObject<>>>/Rotate 0/TrimBox[0.0 0.0549927 595.22 841.945]/Type/Page>> endobj 784 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text]>>/Rotate 0/TrimBox[0.0 0.0549927 595.22 841.945]/Type/Page>> endobj 787 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text]>>/Rotate 0/TrimBox[0.0 0.0549927 595.22 841.945]/Type/Page>> endobj 790 0 obj <>/ExtGState<>/Font<>/ProcSet[/PDF/Text]>>/Rotate 0/TrimBox[0.0 0.0549927 595.22 841.945]/Type/Page>> endobj 1184 0 obj <>stream +BT +/CS0 cs 1 scn +/GS0 gs +/T1_0 1 Tf +8 0 0 8 417.7962 38.1349 Tm +[(\251 ABNT 2010 - All r)-15(ights reser)-30(v)25(ed)]TJ +11 0 0 11 45.3266 35.8099 Tm +(iv)Tj +/T1_1 1 Tf +0 68.648 TD +(ABNT NBR 15606-4:2010)Tj +-0.079 Tw 0 -4.896 TD +[(8.3 )-3502(Common )-79(infrastructure .........................................................\ .........................................)-60(14)]TJ +0 Tw 0 -1.454 TD +[(8.4 )-3423(Graphical presentation and e)14(vents handling )61(..............................................................)-60(15)]TJ +T* +[(8.4.1 )-2589(L)80(WUIT)80(,)40( LightW)35(eight user interface toolkit............................................\ .........................)-62(15)]TJ +T* +[(8.4.2 )-2589(Graphical user interface )138(........................................................................\ .........................)-60(16)]TJ +T* +[(8.4.3 )-2589(T)80(reatment of the platf)20(orm planes )255(........................................................................\ ...........)-60(16)]TJ +0 -1.455 TD +[(8.4.4 )-2589(User e)15(vents handling )178(........................................................................\ ..............................)-60(22)]TJ +0 -1.454 TD +[(8.5 )-3423(Inf)20(ormation and selection of ser)-11(vices )235(........................................................................\ ...)-60(23)]TJ +-0.082 Tw T* +[(8.5.1 )-2671(General )-82(considerations .........................................................\ .........................................)]TJ +0 Tw 43.706 0 Td +(23)Tj +-43.706 -1.454 Td +[(8.5.2 )-2589(Integration with API pr)19(otocol-independent )276(...................................................................)-60(23)]TJ +T* +[(8.6 )-3423(Presentation and e)14(x)10(ecution of media )276(........................................................................\ ....)-60(24)]TJ +T* +[(8.7 )-3423(Access to data )195(........................................................................\ .........................................)-60(24)]TJ +-0.082 Tw 0 -1.455 TD +[(8.7.1 )-2671(General )-82(considerations .........................................................\ .........................................)]TJ +0 Tw 43.706 0 Td +(24)Tj +-43.706 -1.454 Td +[(8.7.2 )-2589(Access to \036)]TJ +-0.14 Tw 10.399 0 Td +[( )-167(les )1(........................................................................\ .........................................)-60(24)]TJ +0 Tw -10.399 -1.454 Td +[(8.7.3 )-2589(Br)20(oadcast transpor)-20(t pr)20(otocol..................................................................\ .......................)-62(24)]TJ +-0.149 Tw 0 -1.454 TD +[(8.7.4 )-2738(P)30(er)15(sistent )-149(stora)10(g)-10(e ......................................................................\ ................................)]TJ +0 Tw [(.....)-60(24)]TJ +T* +[(8.7.5 )-2589(Access to system pr)19(oper)-20(ties )81(........................................................................\ ................)-60(25)]TJ +T* +[(8.7.6 )-2589(IP suppor)-20(t o)20(ver an interactive c)9(hannel )124(........................................................................\ .)-60(25)]TJ +T* +[(8.7.7 )-2589(MPEG-2 section \036)]TJ +-0.246 Tw 13.287 0 Td +[( )-273(ltering )-246( )1(........................................................................\ ........................)-60(25)]TJ +0 Tw -13.287 -1.454 Td +[(8.8 )-3423(Application mana)10(g)-10(ement )24(........................................................................\ ......................)-60(25)]TJ +3.423 Tw T* +[(8.9 T)90(uning )]TJ +0 Tw 8.34 0 Td +[(........................................................................\ .......................................................)-60(26)]TJ +-0.037 Tw -8.34 -1.454 Td +[(8.10 )-2904(NCL )-37(Bridg)-10(e ......................................................................\ .........................................)]TJ +0 Tw [(.......)-60(26)]TJ +T* +[(8.11 )-2867(Platf)20(orm pr)20(oper)-20(ties )117(........................................................................\ ................................)-60(26)]TJ +-0.25 Tw T* +[(8.11.1 )-2283(System )-250(Pr)20(oper)-20(ties ...................................................................\ ...................................)]TJ +0 Tw [(.....)-60(26)]TJ +-0.25 Tw T* +[(8.11.2 )-2283(User )-250(pr)20(oper)-20(ties ...................................................................\ .....................................)]TJ +0 Tw [(........)-60(27)]TJ +-0.017 Tw T* +[(8.12 )-2884(Interactivity )-17(c)10(hannel .................................................................\ ...................................)]TJ +0 Tw [(...)-60(27)]TJ +-0.001 Tw T* +[(8.13 )-2868(Complete list of Ginga-J pac)19(ka)10(g)-10(es .....................................................................\ ..........)-62(27)]TJ +0 Tw T* +[(8.13.1 )-2033( Ja)15(v)20(a platf)20(orm pac)20(ka)10(g)-10(es )230(........................................................................\ .........................)-60(27)]TJ +T* +[(8.13.2 )-2033( Ja)15(v)20(aTV 1.1 and JMF 1.0 speci\036)]TJ +-0.191 Tw 19.646 0 Td +[( )-218(cation )-190(pac)20(ka)10(g)-10(es )1(.........................................................)-60(28)]TJ +0 Tw -19.646 -1.454 Td +[(8.13.3 )-2033(Ja)15(v)20(aDTV 1.1 speci\036)306( )-27(cation pac)20(ka)10(g)-10(es )193(........................................................................\ ....)-60(29)]TJ +T* +[(8.13.4 )-2033(JSSE 1.0.1 speci\036)]TJ +-0.229 Tw 13.291 0 Td +[( )-256(cation )-228(pac)20(ka)10(g)-10(es )1(........................................................................\ ........)-60(30)]TJ +0 Tw -13.291 -1.454 Td +[(8.13.5 )-2033(JCE 1.0.1 speci\036)]TJ +-0.173 Tw 12.679 0 Td +[( )-200(cation )-172(pac)20(ka)10(g)-10(es )1(........................................................................\ ..........)-60(30)]TJ +0 Tw -12.679 -1.454 Td +[(8.13.6 )-2033(SA)90(TSA 1.0.1 speci\036)306( )-27(cation pac)20(ka)10(g)-10(es )137(........................................................................\ ....)-60(31)]TJ +T* +[(8.13.7 )-2033(Ginga-J speci\036)305( )-27(c pac)20(ka)10(g)-10(es )118(........................................................................\ ....................)-60(31)]TJ +T* +[(Anne)15(x A )]TJ +/T1_0 1 Tf +[(\(nor)-25(mativ)25(e\))]TJ +/T1_1 1 Tf +[( Ja)15(v)20(a DTV 1.3 speci\036)]TJ +-0.216 Tw 18.928 0 Td +[( )-243(cation )1(........................................................................\ .....)-60(32)]TJ +-0.082 Tw -18.928 -1.454 Td +[(A.1 )-3339(General )-82(considerations )-83( .......................................................................\ ..........................)-60(32)]TJ +0 Tw T* +[(A.2 )-3257(Ja)15(v)20(a DTV API )105(........................................................................\ ...........................................)-60(32)]TJ +-0.182 Tw T* +[(A.2.1 )-2605(com.sun.dtv)80(.br)20(oadcast )-182(pac)20(ka)10(g)-10(e ......................................................................\ ..............)-60(32)]TJ +0 Tw T* +[(A.2.2 )-2423(com.sun.dtv)80(.smar)-20(tcar)20(d pac)20(ka)10(g)-10(e )258(........................................................................\ ............)-60(33)]TJ +T* +[(A.2.3 )-2423(com.sun.dtv)80(.l)15(wuit.e)15(vents pac)20(ka)10(g)-10(e)5(........................................................................\ .........)-62(33)]TJ +2.423 Tw T* +[(A.2.4 com.sun.dtv)80(.\036)]TJ +-0.202 Tw 11.485 0 Td +[( )-229(ltering )-201(pac)20(ka)10(g)-10(e )1(........................................................................\ ................)-60(34)]TJ +-0.021 Tw -11.485 -1.454 Td +[(A.2.5 )-2444(com.sun.dtv)80(.ui.e)15(vent )-21(pac)20(ka)10(g)-10(e ......................................................................\ .................)-60(35)]TJ +-0.02 Tw T* +[(A.2.6 )-2443(com.sun.dtv)80(.l)15(wuit.plaf )-20(pac)20(ka)10(g)-10(e ......................................................................\ ...............)-60(36)]TJ +-0.146 Tw T* +[(A.2.7 )-2569(com.sun.dtv)80(.media.timeline )-146(pac)19(ka)10(g)-10(e ......................................................................\ ......)-60(37)]TJ +ET + +endstream endobj 791 0 obj <> endobj 1183 0 obj <>stream +BT +/CS0 cs 1 scn +/GS0 gs +/T1_0 1 Tf +8 0 0 8 56.6651 38.1349 Tm +[(\251 ABNT 2010 - All r)-15(ights reser)-30(v)25(ed)]TJ +11 0 0 11 542.5682 35.8099 Tm +(iii)Tj +/T1_1 1 Tf +-11.059 68.648 Td +(ABNT NBR 15606-4:2010)Tj +14 0 0 14 56.6651 734.7589 Tm +(Contents)Tj +/T1_0 1 Tf +11 0 0 11 519.1482 737.0419 Tm +[(P)40(ages)]TJ +/T1_1 1 Tf +-0.144 Tw -41.953 -2.625 Td +[(Fore)15(w)20(or)20(d ......................................................................\ ................................................)]TJ +0 Tw [(.....................)-60(viii)]TJ +-0.066 Tw 0 -1.455 TD +[(Intr)20(oduction ...............................................................\ ...................................................)]TJ +0 Tw [(......................)-60(ix)]TJ +-0.03 Tw -0.091 -1.454 Td +[(1 )-4287(Scope ..................................................................\ .....................................................)]TJ +0 Tw [(..........)-60(1)]TJ +0 -1.454 TD +[(2 )-4257(Normative Ref)10(erences )72(........................................................................\ .............................)-60(1)]TJ +T* +[(3 )-4257(T)60(erms and de\036)]TJ +-0.131 Tw 11.839 0 Td +[( )-158(nitions )-130( )1(........................................................................\ ..............................)-60(2)]TJ +-0.068 Tw -11.839 -1.454 Td +[(4 )-4325(Abbre)15(viations ...............................................................\ ................................................)]TJ +0 Tw [(.....)-60(3)]TJ +T* +[(5 )-4257(Ar)20(c)10(hitecture of the Ginga mid)10(dle)15(ware )22(........................................................................\ ...)-60(3)]TJ +T* +[(5.1 )-3423(Over)-10(vie)15(w of the Ginga ar)19(c)10(hitecture )211(........................................................................\ ........)-60(3)]TJ +T* +[(5.2 )-3423(Ginga-J ar)20(c)10(hitecture )52(........................................................................\ .............................)1(...)-60(4)]TJ +-0.18 Tw T* +[(5.2.1 )-2769(Conte)15(xt .....................................................................\ ............................................)]TJ +0 Tw [(..............)-60(4)]TJ +-0.109 Tw T* +[(5.2.2 )-2698(Ar)20(c)10(hitecture ..............................................................\ ..............................................)]TJ +0 Tw [(...........)-60(5)]TJ +-0.005 Tw T* +[(6 )-4262(Content )-5(f)20(ormat ..................................................................\ ............................................)]TJ +0 Tw 43.088 0 Td +[(....)-63(5)]TJ +-43.088 -1.454 Td +[(7 )-4257(Ginga-J application model )80(........................................................................\ .......................)-60(5)]TJ +-0.137 Tw T* +[(7.1 )-3560(Application )-137(model ..................................................................\ .......................................)]TJ +0 Tw [(....)-60(5)]TJ +-0.157 Tw T* +[(7.1.1 )-2746(Lif)10(e )-157(c)10(yc)20(le .....................................................................\ .........................................)]TJ +0 Tw [(..............)-60(5)]TJ +T* +[(7.1.2 )-2589(Star)-20(tup of applications )100(........................................................................\ .............................)-60(7)]TJ +T* +[(7.1.3 )-2589(Finalization of applications )135(........................................................................\ .....................)-60(7)]TJ +T* +[(7.1.4 )-2589(Suppor)-20(t f)20(or m)20(ultiple applications )168(........................................................................\ ............)-60(8)]TJ +T* +[(7.1.5 )-2589(The sharing of resour)19(ces between applications )167(............................................................)-60(8)]TJ +-0.115 Tw T* +[(7.1.6 )-2704(Contr)20(olling )-115(applications ...........................................................\ .....................................)]TJ +0 Tw [(...)-60(8)]TJ +T* +[(7.1.7 )-2589(Comm)20(unication between applications )223(........................................................................\ ....)-60(8)]TJ +T* +[(7.1.8 )-2589(Pr)20(oper)-20(ties of the en)40(vir)20(onment )74(........................................................................\ .................)-60(9)]TJ +T* +[(7.1.9 )-2589(Application contr)20(ol codes )115(........................................................................\ ......................)]TJ +0.06 Tc -0.06 Tw (.9)Tj +0 Tc 0 Tw T* +[(7.2 )-3423(Stora)10(g)-10(e and cac)10(hing of applications )12(........................................................................\ ....)-60(11)]TJ +T* +[(7.2.1 )-2589(Stora)10(g)-10(e models )83(........................................................................\ ......................................)-60(11)]TJ +T* +[(7.2.2 )-2589(Stora)10(g)-10(e issues )251(........................................................................\ ........................................)-60(11)]TJ +T* +[(7.2.3 )-2589(Pr)20(oactive cac)10(hing )276(........................................................................\ ...................................)-60(12)]TJ +T* +[(7.3 )-3423(T)80(ransmission of applications )222(........................................................................\ ................)-60(12)]TJ +T* +[(7.3.1 )-2589(Signaling rules )28(........................................................................\ .......................................)-60(12)]TJ +T* +[(7.3.2 )-2589(P)30(ac)20(ka)10(ging of applications )132(........................................................................\ ......................)-60(12)]TJ +-0.134 Tw T* +[(7.3.3 )-2723(Application )-134(authentication )-135( .......................................................................\ .....................)-60(1)]TJ +0 Tw 44.262 0 Td +(2)Tj +-44.262 -1.454 Td +[(7.3.4 )-2589(Signaling the same application in diff)9(erent depar)-20(tments )82(...........................................)-60(12)]TJ +T* +[(7.3.5 )-2589(Do)15(wnload of applications thr)20(ough the interactive c)10(hannel )81(.......................................)-60(12)]TJ +-0.062 Tw T* +[(8 )-4319(Ginga-J )-62(Platf)20(orm ....................................................................\ ........................................)]TJ +0 Tw [(.)-60(13)]TJ +-0.196 Tw T* +[(8.1 )-3619(Ja)15(v)20(a )-196(Platf)20(orm ....................................................................\ .........................................)]TJ +0 Tw [(......)-60(13)]TJ +T* +[(8.2 )-3423(Basic considerations of the platf)19(orm )168(........................................................................\ ....)-60(13)]TJ +T* +[(8.2.1 )-2589(Ex)10(ecution en)40(vir)20(onment )233(........................................................................\ ..........................)-60(13)]TJ +T* +[(8.2.2 )-2589(Hierar)20(c)10(h)20(y of pac)20(ka)10(g)-10(es and c)20(lasses )214(........................................................................\ .......)-60(13)]TJ +2.589 Tw T* +(8.2.3 Noti\036)Tj +0 Tw 7.34 0 Td +[( )-27(cation of e)15(vents )232(........................................................................\ ..............................)-60(14)]TJ +-0.064 Tw -7.34 -1.454 Td +[(8.2.4 )-2653(T)60(e)15(xt )-64(coding .................................................................\ ............................................)]TJ +0 Tw [(.........)-60(14)]TJ +T* +[(8.2.5 )-2589(Lif)10(e c)10(yc)20(le of the applications )96(........................................................................\ ................)-60(14)]TJ +ET + +endstream endobj 788 0 obj <> endobj 1182 0 obj <>stream +BT +/CS0 cs 1 scn +/GS0 gs +/T1_0 1 Tf +8 0 0 8 417.7962 38.1349 Tm +[(\251 ABNT 2010 - All r)-15(ights reser)-30(v)25(ed)]TJ +11 0 0 11 45.3266 35.8099 Tm +(ii)Tj +/T1_1 1 Tf +0 68.648 TD +(ABNT NBR 15606-4:2010)Tj +/T1_0 1 Tf +-0.028 Tw 9 0 0 9 45.3265 227.2769 Tm +[(ABNT of\336)222( ce)]TJ +0 Tw 0 -1.2 TD +[(All r)-15(ights reser)-30(v)25(ed.)60( Unless otherwise speci\336)250( )28(ed, no par)-40(t of this pub)20(lication ma)30(y be reproduced or utiliz)15(ed in an)15(y f)30(or)-25(m or b)20(y )]TJ +T* +[(an)15(y means)15(, electronic or mechanical, including photocop)30(ying and micro\336)250( )28(lm, without per)-25(mission in wr)-15(iting from either ABNT)120(.)]TJ +-0.028 Tw 0 -2.4 TD +[(ABNT of\336)222( ce)]TJ +0 Tw 0 -1.2 TD +[(A)40(v)80(.T)120(rez)15(e de Maio)40(, 13 - 28\274 andar)]TJ +T* +[(20031-901 - Rio de J)20(aneiro - RJ)]TJ +T* +[(T)120(el.:)50( + 55 21 3974-2300)]TJ +T* +[(F)50(ax:)50( + 55 21 3974-2346)]TJ +T* +(abnt@abnt.org.br)Tj +T* +[(www)60(.abnt.org.br)]TJ +0 -2.4 TD +[(Pub)20(lished in Br)10(azil)]TJ +ET + +endstream endobj 785 0 obj <> endobj 1181 0 obj <>stream +BT +/CS0 cs 1 scn +/GS0 gs +/T1_0 1 Tf +10 0 0 10 505.5842 673.4389 Tm +[(V)70(alid from)]TJ +-0.004 Tw 1.211 3.475 Td +[( e)1(d)1(i)1(t)1(i)1(o)1(n)]TJ +/T1_1 1 Tf +0 Tw 24 0 0 24 424.5922 780.8971 Tm +(ABNT NBR)Tj +/T1_0 1 Tf +22 0 0 22 172.8852 782.3754 Tm +(BRAZILIAN)Tj +0 -1.2 TD +[(ST)120(AND)40(ARD)]TJ +ET +q +173.051 68.749 98.882 42.251 re +W n +q +/GS1 gs +99.3619995 0 0 42.5039978 173.0279999 68.628006 cm +/Im0 Do +Q +Q +BT +/T1_0 1 Tf +10 0 0 10 488.0542 34.5569 Tm +(\251 ABNT 2010)Tj +-31.517 11.847 Td +(ICS)Tj +ET +q +1 0 0 1 172.8860016 634.4550018 cm +/CS0 CS 1 SCN +0.5 w 4 M +0 0 m +377.008 0 l +S +Q +q +1 0 0 1 172.8860016 632.7429962 cm +/CS0 CS 1 SCN +0.5 w 4 M +0 0 m +377.008 0 l +S +Q +q +1 0 0 1 172.8860016 633.598999 cm +/CS0 CS 1 SCN +0.5 w 4 M +0 0 m +377.008 0 l +S +Q +q +1 0 0 1 172.8860016 127.2059937 cm +/CS0 CS 1 SCN +0.5 w 4 M +0 0 m +377.008 0 l +S +Q +q +1 0 0 1 172.8860016 125.4940033 cm +/CS0 CS 1 SCN +0.5 w 4 M +0 0 m +377.008 0 l +S +Q +q +1 0 0 1 172.8860016 126.3500061 cm +/CS0 CS 1 SCN +0.5 w 4 M +0 0 m +377.008 0 l +S +Q +BT +/T1_0 1 Tf +10 0 0 10 438.1322 153.0219 Tm +(ISBN 978-85-07-)Tj +2.935 -4.97 Td +[(Ref)30(erence n)10(umber)]TJ +4.127 -2.7 Td +(95 pages)Tj +/T1_1 1 Tf +24 0 0 24 461.8372 754.6294 Tm +(15606-4)Tj +/T1_0 1 Tf +10 0 0 10 498.2572 708.1869 Tm +(First)Tj +0.16 -1.158 Td +(2010.04.13)Tj +0 -3.526 TD +(2010.05.13)Tj +/T1_1 1 Tf +16 0 0 16 172.8852 610.9239 Tm +[( )278(Digital terrestrial tele)15(vision \227 Data coding )]TJ +0 -1.2 TD +[(and transmission speci\036)306( )-27(cation f)20(or digital )]TJ +T* +[(br)20(oadcasting)]TJ +T* +[(P)30(ar)-20(t 4:)40( Ginga-J \227 )100(The en)40(vir)20(onment f)20(or the )]TJ +T* +[(e)15(x)10(ecution of pr)20(ocedural applications)]TJ +/T1_0 1 Tf +10 0 0 10 193.2002 153.0219 Tm +[(33.080;)50( 33.160.01)]TJ +32.001 0 Td +(02022-6)Tj +-7.836 -6.389 Td +(ABNT NBR 15606-4:2010)Tj +ET + +endstream endobj 775 0 obj <>]/Filter[/DCTDecode]/Height 89/Length 13154/Subtype/Image/Type/XObject/Width 207>>stream +Adobed     $''''$25552;;;;;;;;;; ""2(!(2;2222;;;;;;;;;;;;;;;;;@@@@@;@@@@@@@@@@@@@@@@@@@@@YB +  +  3!1AQa"q2B#$Rb34rC%Scs5&DTdE£t6UeuF'Vfv7GWgw;!1AQaq"2B#R3$brCScs4%&5DTdEU6teuFVfv'7GWgw?TRI)JU}7gV5{σZ5(J nԺGٺmK?y0֏=g'Wpn-t8ncl{|[KxgO4hDV:3/-0p\+id-SaXVɴ^(l]C*U:HĠZ*UzV1~Qv.-7׺~{CI 2nFNvM0_EPȻEgO}a]hkCaĵ8!ZxAcF>wRApڋhvzCoUS`' :"$JRI)I$*}OGf8@.$M6zoM;Y!D\@[͡`Xj!VyOIٍinhl٬>ʫ`.acvp.00-j,eؖuD_Y:oZazf+s[ KKbBc~u>[,mMqf]]ksk{]c;qk>1ϭ.( o?YrV$6Vmox||OVxCdd1Ͷd8Fؙ(293ffDz̽ņӼ xc}o4d6a[qun45%Q_TN.%0[ax-7U?Lkhv;_]VVңf!i~Y+}6;{s*XG3?E9 4avWM̷1E.H0yHof :,xqastB<%aһ|u OJVmw52ҳ(a%\0#H DAeк%]W /&2^![u2 }+v?Ex-N0N7ں ԗ;szwLMԺ$5`T1>G1۳&]8 s u콘 OSCu?$JT}^[η}+ݕ_< #twݕgP˸de4,WQoүKx/v  t\gҰh8}%_b謹\\\ߝMNA@i?Rñ;`=5_cH`vAOAkrݸyzu.ߩu +YcˋaxlGpLW]OJ Zz j[n~CY] kq#c#:?u]_Ak)s`;\4l,l|cm,{L +bm/[UmN-}ok X$JR~gY:I.8qmms@nւu>#F9^nm]+u-n{*9ֹZ>Kc׾}Z}ΨݿicAHmSw]Wt߭<9^\ T9?R۪N]:[{tKAVBtV}z-Sϭۅv;:~gw_V cvT7U߲zcnчoS3+\cvw2s+a^ Ö/ҝmb3zNǧtN=Vz\3~ 6v_eyY\"ﳝDq2;SSX:ҺIѹ_=ލmn&ONl~/{*h{ak}Q =a+&msX懈t(@:^?Vzxa~GZXߵQ_Ys}߹vV]ӇBID7OL쑪xl?X: 3qm ÙzUY5n p#_(1{_F},˝ԛmMWPcL^GUV:Լ;|l-&@7d9?־ע-Q؎qx:v,JqЛ-\Y#ivv)q՝ cX9%ߢ? Lv[wSzm{ g=Eett:{xcqnzSgx:188[ޥN0h^qh0ᕘuO0]FW ƨ} O3F"+gM>߮X/m⻩V';|1ܢ}},%kHJKt?PIG6K}7Gb1K%Ρė9ln++mג mU\|v+, ݱBC6i}k7׾=Gck d5?KWp[dH#B6 "?z?ּ, wW6]V_޺b}s1qh{2Au_o΅?sZsCGĉhsH-"A +$RtnoS.kb#fp*鮰Zkΐ$W/&%ec水$R@-?=_z1G1Ꮀ7܃7Տ_Xs2@8X]cHp(%31ɛp8`kEc76\?wsIPz_oFk*NC+k[>pOշ}㸰=²"goFg1ז.-?- ԨTX@"spzQC?x4ڲhz~Rl[]\p2az65Yycܛ4o&r:U}J}c[ot׫od\{Q om :qdK`cb`l0GIwz˜ÐʋZc]ߚ~\JfO[kX: [p}c\Nz&vk0~*xN&=W1l ?z=ؿWUY3#'*Opk!ʳOSPwO.9)w CcY٪RMGI#`Nֳ;#h|z{,v*SuT^ίT\\6?4k~QVMd;^XP;uZt?lK?ϔ.&0?Se|7O 7_8V+/#R+51eV=߯πc7Y?I[iSr{Յb6ݾ:mnO'~a㱧Usk4Ws4;cI]GY?g\I`qmg*ny.GLZ:\h=36{ +uRz[]޵LZ6~-1؅E]gqͣ%17ODO^g6XK'vSi/M]; +Χs͠ۍ+Gc=3Vamm iOVRn}RѽጮOssca>N%x 70) \g+"ܫns{{Լ=B@sk-ipO$TP _-e wIl?%=z'Z_X^hqkcX7nl&acɭ!=&:#N?D?S !m?y*]]>(|ퟩ j4,~ Ȭ?zr8Ί'`fi ի,伿1|jnM+i˸MO_TGwCptr?ؽ k4F$R kzMz:MB+fN;9 ŨmS?UeZ p_}^Vێjê«Z ODxXP3I+[p,6F]= TqzGV?:MƱpӸ|tV FI_u\ۑ$ybv`#tcunEkP4}W꘵]@  \ Apkh\XΏ* ㋗^S\{AiGG_?x묆p }tNh6߫_WzJUZ +袐]2ˎN GgI/a;ZOM>{znUl Ȧ 1n+Cw[˯#7vCOhȹ_ޟf/[;(Kz۳YמR=5r=9c^?`AQ:էёLȯ'o\K`ΫmwXϖg<͢6]? zc `43%߱:jX jGHX?)WxڝOn$**6 h h'@4O6eչ%΁I@p~So.pT6Dp`#@*"oG?}My>YG{Dd}Dڋ=LIS 0WXZgXWLNl ;Kn 6Ta'k^Lj%m'r:{8_??Yc;Oe%Rɺ/o}f}Ro'Dwt~= -^^I)I$.w/}xG'SŏPLn:,3vGLu *sK#*DZq[#L}qtSlp-k $8tMS?3tk=&?4cn.ƀ]c\HaUU;/a{n0 H')"Vt}_X9=7Uc`Cn)}aŏznɦ˅-Z7kJTW3>[mU>W˚#pnZPYp0k5쮳\H/ɒ8RP[\C77/}$5ZtY:VK0+ǍnpoHFeLGլέfq,*you6X}l1\HƔ'kurlL2TDAk:N`ȷ*RL䖴LjZ=Jԅħ7Xa2 7{Z&;Jt|LkZCC{#i3;}Y=k73ۺ<=9XHa}e}8@lKڥ*W=C#1Z\Fmk0>}Juu4?kb]$ƦRML[QqcxcKh.tuvM4׻fL="zk-%JHԍ$4ə7e>X6my<'DxQ⿨`=WOYc\ 7kq̩s-U4yUc:=W~u p,;VU]?ޑft}9. Z"hqS齌nzQ.n%MɏYh N<ޗg>lgVLSE1KW+nϭJ[*!mxMG*=5:4r?žs>W@0=Vܷf,2׳YOZ!1Տ:\}eP~Ew_-:ύXKƧdz//c6ۖg/\frڌTGwGwޏ5$JR:5SӮ>絃mzn5}s&lerBz.Vr9bX{柑pUMTc20Cձio0|t~g9pi1i>[t@x5"=n2>ßd 4}~7`c1ܛesDƓ/$?E[kng[ ưnsg]kɻ  ѳr^c F{\p SSu,ޱҩvG_شҵ[뫭HZY^HӦA &]!eоcӽq˝+7*۾ae;0)DhQMSIaz<7XlՎ~7t,}mY9,5Hh˧@ #qt`u]xukݠ!Mr;zWvf>Qk4!ƇCTkf_YʫtOFFwLsq.0l\&Cί3u6V6|9KC2?ZivVfuKr[@4-sOޥ7f^#2|{EoDkBà[o[N$uss0usf[Z^Ȣ߫nՁ,䬿1|jvM7o}f}Ro'Dwt~= -^^I)I$,,_VssUn:ɀ5DH1cgN, )`!kZbIyZO%Z-=!1]@0AdhU4պ}@uZsZdd<|_=+( ۋ@ ['cqGue{h{ 7 ϸ{rkwpq8A]/ ?3PʨxKLlMOmwGdXC5øH@)zWXӃs,m׈#亗D]j]k5<Ze HQ]tM߲mׇ6QzL]aVqa}[ p!K{O(/з/.mm{z!q cZ*n޻Ҭ.o(q4PFrϫbu_˪wr<32=,o\5C98>.g u<mõ۾6\ n[Gw+b:q,xZ\;E2o f_Hͳ5-Z~{ +3N?{o4a7ԟWu/ZU_]оnUcƷS`ӏ13-Og2~e{1k{[c夼eװfފ1}WHB{8??Yz}Ct:C~eP~D$xrՃ,伯1|jt[ƟnO:)C?'Tq>˛E\s@@ԵzGKәcC1.6[n&v7>#j +ʎ7@7yi%I)KoZӼXϣOs}g5up.ױ<|S}S鸽upu$;e>߂R]?Z:V~CKY^ƃ+BK]E+l֞L-f}y߫U>oE嵲,wmǗmN6MuX Vk:H=}WâNP܋sk@{ Z?7D4fs5n+r׿=W +6HղhrI;ZLEB;-O~meoykZnh +z%3' +]0 x!azfS0z.m/n5BCX3GffI߿kG 7mUq8܊PV^*T9Z>0`bguu^HVwa>@igdat_:Kbn^lG{A{JRI)K'p Ob1lWkY Ӌh].M\S A9inQH Yq?"^z % J@{uVOGΪYߴ?EpZYە>te5UY5Ʒkfk1l{"]xS{!rm׼1ۚ6Ow:J+QzKÿ;#+ lL~V_ռ<<UsLd'H +t?S±j7k1οaaaf߬=+$85-{ h^7?_Kb2-n0J}oRn;LieM:=^c\~31:vIoQO'E=3cZw{. ـAQ#@]{c}~tlڅW\Gx +^n7 V6'HcEFVU>W1:~i洰9h?YD8/̥01E~_gtKZM&huMG +sQeZZq㿩We>cCCis渉n1"Z5L߭X.@QsˡkY:,Qޫ𬣧afk^:ƆNst;PvG}Zu S{塮zbtR]zm=v;D[(t}W1^-KtcO\_LӘsYq*ַǶ-a='Qp2mwYlao#s+:־Λ:}G-@&X[O> endobj 1180 0 obj <> endobj 1166 0 obj <> endobj 1167 0 obj <> endobj 1168 0 obj <> endobj 1169 0 obj <> endobj 1170 0 obj <> endobj 1171 0 obj <> endobj 1172 0 obj <> endobj 1173 0 obj <> endobj 1174 0 obj <> endobj 1175 0 obj <> endobj 763 0 obj <>stream +HQWSAE):"ѱ)+("XhI(R {OH$t%R#H&JE)" JPcc›u>{}(v4=A͹FͫRvy"ɢ"FaG_抰>'#R2[%=G;7:"A8$FY8OmDVsN#uAqrxŏ"ȉMB?\)T/28c++E "N}ҔN?Iu'jh"YӟD'H$MѶpLSiTMvq";9ZWWNj`N|-9eu8E^!H]gX=7OJj ~MZzE/YdRYY99yye˖/+WTRRV^JEEU@Xz͚?Xvݺ7l 6nTWڴDټy]ݭ[m۾}ǎ;w۽[_Ϟ{ ۿ##c:|G;~ K˓')+ӧϜ9{9kk[[;;{{2BRϟwqquusswpFӽ}||} PpB&3 b9`. cc/]JIIMMKKO|9##3լkrrrs +_/,,**.q[n߮s{ojz𠹹G::?|򤫫޾gϞ?b``pphWGFFG^|۩w޿O>efo߾_WgSie!ưv7.xť}"&- ᶋW`' чpi3Op{ +{&Va>q:q޵C>}p;gU[=c7ՋlahV M:x5sNf#0G2s^ vffhfwK/k:5x6Vf6.F ^Iħ(C@(I9:3ІgMruk Ώ(ڈG č"XjagjqPb_L)돯Cx4O^C݉MY,AP)pjrHRqƕLeOuS}X^4zv3r(v?9W tW MYDQq?<2D>*ϰ>CbGjLRյ Hn*ĖK~ +`Z|ytm,2b#o]9\@QtW;BZw' 4&;ײ+?&P4:rsL~| Iȋ4-:Np +1 t[XT;9\b= +߳2M܉r,p:$l73P F5T6MXIAUS2QRrhr2?F0] ݫKc0z߱pi\W$W }gfg7iy.0GCvBMeP)7\tqr+Htn+gb[WQ#u&t1\5[8=^7kcDC0ʵ*19 Bؚ 3U5@{5Ldxuے +%3@(zVRtǘa-O` V:rhW[֗۴'Œ;`MQ|Y.Ρ]Wp.6Z0AzS{|T-ȴ e:7b9"@&ˠ6rږ4Pڦ$*+&dyDi* S$njMWlSM()6oC,CGlVbƼY=i #nndԾdtW`tT_ e1v%j ,ŽXf7 Л]-pkN8AVƵ2J\PTdk#}Y$aV l0e +!=UāT+^#"!ƬYĿXg1Ԍj+R57P+-'݅Tre (WG6Ru-L/5W|O]^DHh7ˏ1R _-c)cYZUC˩~TC[C5N*}aR+0$%VVMX*7՘w3>omJIYa_EDPhԂUБZMd>v?MA.+{m'w$'M lϫu7/ z;HIHop9:đ3pB:~j<G7ٞÕ2fFؓ\7s@85M޽"1kFEQ +t(5+k'p=A<>,zgcoMQubvCihC)(5TߜgkӠm850E.$ k"~p>/{ V+6v +xp ?85&~gBFr'|HǾ\ +Ua."l$s%^#HiW]t9zD[ 箣*S1j{wRmMs$df8X)&h!DY"Ifo(<v'p2 ,-'t?l2(1ՏF^AMr`;Ϝ䝣TRcOl@>2C>Υ 폅i/V,:-|. g%Z|~ ~=te5DۃVx-PWHcJ;`.sd!LI9uaMBpj4 |at +^עL< 'J9L|։ObGPU..5SHnpGZ}ͬRtۼ9SGSRdid-NNM Rh$=橂+QpF3YJDǴ#_☁ch1jg TSAڣeXv‹N3}*Rmnj.|JHTqA]P7FUxP~X뿃NCZbxSx*ja¦KЩx ܕo.ʱAK@M' %8:: +̅ MAH +2F?'\Ry5MZw+.耿Kԓə&92ÇбB@ldrYMUUԍv 6%XIvj#_ g3gwT?p=[B[8\իPn2DPj]JH aaA"CR-ǿcM$OsC& qy {E$a pbE iЌrU'tsԋBZm/ht>~iQ'`'?ǒzF?Erq_,FmlFRgNd&aLW7t#B,ziBnMod 9.`L{ZSθцZ" /Н; +^C1p2KX_7$a6Oe:$f+Ydnڌ}ZHHqIFċ +!fa/PD2̗F{m>g##EY_A;7'7_GH`?I8Oջc%*n.GV3xg`s39_tζfN C Q'𝀁ؓA[tEHsǴRضZ껀P3Z +/x+pn_/MI'q=D{mrO+#^obNi7], kф6e}}1xa7UIoiGo ~ORӰHXG4vH^M&KDhTTtu] U m/nޢ?P}IʬՃ6Gid _{D >-0 "ps4vyt *E\ p{!P,X]S:\ttV>ډ)ȋ{4SYXzo"Q>b#y,Q_ ԑX;ɘ5x(`g] h?͠@ٛ +ExIg(Z_QPEy-,' HcrA6]x UG.S%'#du Yd' ވz'yw1,Yh %]h ƫ($H$+2KGta'J>œ> __1{Fs"ee3K xz` xxboBwD6SyJ=e!R%f+일sx0}ʴNp8 0' z "ٌcb +)YFǷBoQE- Y!T0ΑI/`Y?s)ANȌxw)/LgG`mUlf/c +<(@u"D^q;@CG>\GFH ) Vq'.(}%{I+ZVs#ڪj*fY:\JJC _a:叫]'ð?D$2Go Fny:!/ Z2To.+znv8{پyֆXES]+&q5txGB!aӈx4"}wMR[#wWrlHn"r)[_(ǵ_Ґ"X^"MMj'MI9dn%S}Dyx! +<QWY0ީ8V>T!h;?pa j=7? /[w6S-JI'+\Oᲁ)m +vJrvRZތ~L.nF S]ڒ!;UKQՋY!-K侦Jr27RO)ղ p?ck"Hsӫ0i$v͕k;%jeLT~:B3+( `Bņ m)ޙyU~N|`&4̞#LqFȎJ5 /Cp[bߏ\^ŞmȭdꆊLikMtO%Q>e/!gD5BRƷŋ +7GX>`ԫ!r3^H #I莪$65jqlRM SP#qlȠCa" l+LUK.F7U` sL) ǣFXNofvTc:]2UPsT)~Ko8E6uyNGO]|k 3qWJ,p[yخq.}Щ1ʀql0PkZF-"~!#~&,RfPbFNM=cexo4Ltq/&] ١58#=]AQRQ0NEv39pD0Oĵ gqH,1]ϝ +5.ywBnR+όI󶥥-6E,IQQYភ8#23VҴYn0>bzwc̣UR%"z` E쁣y(_'Rgtu*(_TCTSUD5pV4ʰ7s~,V8(j:!kw?C(f?N䊠"4 Y$U Up}5y =@ÁWe*E GUd>U+ &KWe0L"YRDKU+Zsg}?>)泴: xS̰oʃ&Vj;p5T@Ϫh-SIWplV߈;=gjp}0|#IڟX?v7qJ KIwʠFOlѢw<3=L(#E.bށR;3{XRף"Hڪc!xl'dikӛ nűpRju^0Y6AޤD1W"ϱ d XJ.NUg s~d-SNiʋƍ2 w0⃂eiH3;B(e_CG{AFd*vZ +"tQECIFvʽia{XSfRҒyԃIdX_l\@9zKP} rqr)' BB VӃ +lY^?ذN-5Egj7&VTeT),gswHE1ḙ_Y1a栥'IfגSZګz:Uږ=J$\NN3sؼ;{fcZ>ڿ"/f+ĸs֎B:ځEXRVcl+'ԸLmp!X꾐П:[hW'ZY`y +w5x##LBfU&2柊P(Iv'z2踲5āgsǤK_5U$=·Ϣ'Kl[#-iWQ2P[Ng+I&|f_,uX|6'r۪%XrooF6گ_DPr& #<B˻P%Tnq[iNG, o)A(*X.(ٷ_fU[?*3/PO~0^RJ*JVW4Ckj&k̂OcA: ;| i*؄i,*F42H[3gpOgWGVTk&Uޱth'L!!D"o V +PF9P$1:Є'-5uU4s끆5?ȊZېڦ6픷qCo_DD + qh:rL?hW]Qa2Z -[kvw@-tW+2ޛI$aݛZxHLn{`ahZA٩'a7ڧjaDI|{ُ׹Jr 3dqhXV6^1\L\ 쪩W/gNy)b4wOYMb , _ASٷo3***f )e($*z)jѦX-g:ZF[=Nq /m;bVTi;K[0:9ZF5rbUeb Z /G2Qa7\Eob,h].tW^`^V/Ts*S* ڠBDC+YU ;TEVL'U!;s]Ī e۫#c%睊pHDzqM&k!m&/]`Ǡ3{Cɶcu.*X/NFXolτ;;&A2>< ]bz&l*xz82b^,nc)et7)T?BTUIԋeC'[&)Гp2DN9>0/ENw,1hO#JٚSz!*ADU1JbGRD^ !զ_R ggd5t0 50O8Fs#zO7tH]IW5IWyWʽyB܍(qYRW%jh``F~5?62>ԴP R?툳1ݿ$+ ¢/ߧV;ۇ!DZ I+WH1$ocx Ygf v Ⴋht ]8dO_o|BjqiWr*ۡ\=YPUrN jAB@'-xNl#H#@u"3VA S9ڳi +9<(QuƆß [1h +~M-N/yQ]njމnW6jwG5W[9uu3Q]z[YRL9Q8mQH'owKawȯ +,9h\6f$wi0(? u$3\^M +v P}GijEB2Up)b !7duss aEu <}mQ|߯3lE>thϴlZנzšV) \Cu`{pFe#ٔZ VYmB6.7x@0n3VfN7m"j,yL̦ͨ{ډϽ?-:n} ||yIRec$N$F5b$x5>g}ղ1\[bIvkTf8FgiZ:)Ma]ZM5>Ȧ8P?NdoH[b]G UJO7G\z뇬˭DmZGZ( L,Kw*zBB5Y-i TB(X߰*/A 1 ? D uH>h:H\aMY1hSuaCTT& +>E  mL+)KbVCZ&'(WV dԖ-trM|DC @/Q8DFU*ǩBO-( )ϨQVCzƭ#)JȦe\g ۶s2_(?3Zk~=fQuuWR8X@o6A;XJt{&C$rFyon+m2=8NCQb t.!ȱT!ϣ+l|$k Y!:Ɋ]a ~Ÿ8LcF{W6ܲ263RSuEW(#ZZ-(.Pȧ>O‹W3t.Qk,Da~~Oo dܥ^oT:- {^~jhٲO)嚭RVmz$S+>rSQ'|+ge8e2oa!!,,fG2Ohm#[L{@0\GAnH/v]q v)r+R>|Ytu;r4"ks!7I)mWϯcup<5Dgͻ̠5wTl^6yn:MB6TCR_ *Ym< Y> +Abtiدa}\S^3Ʊ־:iu ,^h""{,s42^x8-Cbq"X;#j?G%)S$EG eR{qEP'; ^Vd|ֽ Ctn]\?m+oQku*MT᭫Ml8԰+Bv3&EJNT. *|X]w>m+3gDs;? }湽tqPnPJDqvܥkMZ6nx7lmKa<" e|G**k湁x5f0\|t{}j׃]]SEbg %7'!/гN}aϯaZ7ͺ$/3,ma#A F=aZ/+n/:](_dV!\H8l@<ጓݚ%͐>N VZmD5B#uĉL=Yӆ%m/9ݰ"RqI+#F/_DO3NT k4V*m!H5StR; T-ی= p8z*QԴ&[)FBP +QUΜ3gfμg4cȫ_;I{ko޽mKů~ŷJûRo܄Y"72$%-WhL LZTnF1z)G2/vFH<-:@&+sgxxsL\#t󬿱ͫXw; <}IhA ҼJ̈G19z8;z)^8pV рm9 vPj"=fAͽqNqدSTgay2u|_LN.YDV +} Sؗ\+cE߀Ǯ qLSxlKƛ0"/ j{ێVP5 b_".>bǕpb3k&n+s+XtFZ+4**b+Ǹ1#EVH뿖h#>PaT ?}Ggnh0aD0 ArQE?cm.vJuG*Vq\j}ԡ+FTju4 tJD1W)=#(^5& pFpLopKk[Up#B~pԫ<`8՜{;\sPoV\R8ng$0)#ħ +yG8ΜV8c%:rG,?ZLg~ķw  ?hi_qꑂ{~t4ǢثHOjdRQ0_#HGn7|{@=XNa\z,]td"1HޜSBF|=/}9J5W;ɇEX>QS ċ7d A5mDVg9[^v6Ixb1}a~C_lゟT'4|e>>mFԘ.w+O +ֵSH0$.C +ƫ4WڥGқM07˖4ZHU2hms5bOəEiu%;k$>)]1 +˂:t?>}:qe׾J>;\ϴZ'.őZB/^82,* m#u) 5sP8/,%b\ZD+og Pe_Kt7ہ#n2NH5sAʦA !|q?FQۤ]<\u"Z4"x+ ;A:`.@zs%5/vnB;H-׊äMὭSߴLM-י[rĠ)N%=̒.-!{/~KNnjRJC4mB~g?y%O^Db9dsm?F?PYr:nR\nW-'Ų%PrCQV +5raYmfO_.~m\4yB§]nW':0'T0^f3 +:: byi*USHGK IW"l +/4y`\u<fP)Ɛ5jUOq6'QTr(7H E;g`xKB" dR \jAGd0' +mfo Nn5U7x,+86ɀJR{P%r;z$ mB(s5]/ڈ][6#_յm%bk+#,.$iW:a>k;zVbEXxy)Kb5 nCFK_#F;Ai MOB|f=l:M4~+>jоB>fVS+sHt:Y76mu!9cb(]?縷,6Ꚉ}-Otl]bcsZ~IQ1!4Fܛs:=0-ɌZ!NM2*QK#R{6}:GtLlhcŢz[R&iH|^p}|i'|`}LX}P ~F~;ڝ[.$ .S{OȜD'ډeyq3,iEk`穕 Xk=OlE″:n/-pxu߁xYSɔXtط8Kxpү ShԬ]`RW܂ND8,+Ã,{tq⿉Q,lx,@up4h1_:7WzNDa8/.*ϙ[#1\!u}e?ߌƀ"w΋oҮ0ug㫇_tÉIVҦMMUCP7霳@*vWÄ"1S u͒%6CвwkLo{g+_StViMp&CP_71Qs)s=&4H暾ZK6~ݵpwʒo&9g/^另U-L{B6}닳(0VS'Wi鈓PJvGoOg #^oU⤳LB6Gc)4$r ՄDYKΟWsvĮњWnͬEf̩g^OUKLBe6$*)#aaxBoSU1 +>~ɰv[Nn߫МfJ^MVaMݖ5D Y8Z,"Vʍc͆ׄlhV~gJveâ4n׫#g (^NVNCE<;:(.^#ۑ7Ѝj @G@~ބ6Ϋ/|st߭mAea]gUfrM>✪Cʚ9ɚ/R# )V\ Wsҳez)sQ=kcé[ǧ S7KšBʞ9 .=O",le iב d[ܵzYrjn+bZĨtlRMJz^A~73-2y"L }#{XPs~kݯ+Nc Z0QJK@T6q- "ޔ*{ ^wcv?)x yx{rxk8y\decy\ЯgzxUk{!Lr{CC|9Ţ}i,ʞ~Ě9$k㌼jnĕ{M{ |2yG|'r~[|hkQa|c챀|\Hy}PTp}LJ~$CO^~8S+o$nb=Q4ē㉤iz rkGc)[֮S̫ CK} wBIր60)nぬl@`ļ6Q{>yr5ʃzjij=c Z%R)J.5@߂4$'7xIxǃmZ֊ωYλyKqƶSjTybZARDIą@,qq4,=2&%Xْk{#7zA`kyqۋj%kb4Z4FRF8IHY@'4هF&ӆ0VAeȑ؀VߐxҸqOZi񲅍bNZGhRŋIlً#?a3lr&e|^@IڐΈKyxyjpגgi caۯCjYǬFQuQHϦc>2%=G(3܆XyIOߜ_Sgx:KpKi8aY{ÒQ!̑H}ڐ>u25e%N +j$Մdƈ7h5x!$p˙i baj9Y[BQNHi_t>O2ҏ%XH鄂ٿ襁ox3pxJh}a+YƙP֗H$=>fY2F&揖匣菕Շӻw.--wzCpsialY*>Q2I/?4@)na˓-Խ5ֺЬ<~w٧p}i[)rb%PfZϩXUS$VK&ɛAuu<6^,sJ!Zԏ> +兓No}v۴oʲCrhLaK+YRVvJk˟@ۡL6?L,!!L4y j%f[|'u϶pnⰄgY[T_ҮŬ!X%PCH~LY?!pl5u1+$ I3 U̇Ĉa7z}wEuٸ{ne):fU\_0c/WuMeOFƧc>(4Yx,~!jis zn䅿wڀwz.öxsxmtxfȻx_FyUXzQ#zI2{@zJ|c6P}`(~v[r 0|a|pz$…|_s|8l꼩|qe|_|Wس}!PL}Hp~?Ϊ!~4ϥi'W31 Jc l*|[z2cscleW^,6V̳O&DG?ۀ~>T[2ݤO%W,[qGyŠU!CAAbYUP*<$oo$FB@BaVTWhO<x=>݋,34X +2TguR~&⦃Q .~sj0 >31&&#@#٭(~-70AuZ3C3QſtLܓ޼2¨nT +7W5O?G"3=_[:~ HcߵdaR_ftеD"%BwGE8aFp]V3mgΠF; {Ftn;̐8Ѯ%k;pI*՗jBFϾ!޵Hr/%އTJT5da/«h0cF( +ZY2nt72Yɘ<㇄Xutl@'+bhR_jS)Dz ӛSbnaq( U`2njFTWs; /{OM幯Ř]CjiPw K@"?5T̤P]1 EG~Yzt~WmU*>m>&%# SndIcuT' C5dAղ=tΈQ!7P+5[},`z~gER^{@ݖglkSrHFCvO`nW)uT" 3ښl@)1#$SC >:"GvCݫz$Z-JD!1M]5YocXcyj;kob'9i# h4-pe;y"X 4wGͧ{u8NSJ)*l@ϒh< OmsUe59 |mT!6wSKyro"0koUyT&pr*.:_-WUѰERҋ%̻Cd?I$u7cxs_V',=oEt7"5HCj +%{XlWsM.z},0{i&u딸xy іGF$[졤G봄#_ +Tr 7vHse (_ݬ|MuCѭX,}|{²84R~̥ +m-O*KΩL{qVׂ>gl(< }C!+(` {S( ?lRu !e^/\ܽ}ۂ𥾾d9n%MR㯬$QL& kKV'rȗO'HkQ9אV(IN$evt\Km9;,} aV3p2g|wflÇ)!%1ߝt娹I"S.PL;yR. Jg>)lf]ɺ{d"j ™`]I6$]:Od5u3Ek<oɯRg]ҋr?BBbeά=>G]8" sGG#)<l~MVTRiq>RS{.Kւay-+3\%bx; st=12{R ~z4yTR  ٝ6WNƃ`Rpԙg'^^uINb8Sާ.)brБHԥ_&ul3<ƴ:I)*R| ۻ+/qS ~l ǬD~VLN/Xڈ(J~ͻUarGŒDd>.`ZEh,3Q,Lp׊Vޟ4?o,g 9ӶPZ&s.i u[٭3.$Y:Bw% }h4Q* 9[++4^۽N%{ʾx8W OV[ F4Ut݀BiڦInO/_+%KY!gJ赹!jWѢ!|!Bl-ϧn$YZ&iZȱZgqEn7v.ھWBTToӎSo^\ +hԸܯ-Wz& aK/>dleGZԏhŵ"ڔUHm֜Nto5Um6U؆ +esufԒ@?zm=ߋZR +~p\wX-{O2$ZcW~K7}d\s ʩ3AځÅ5e]$n$wOsWZvo4j2v=i}yʂV,J&>IZil95[YnR_ Ω'V:MyPڕ'{%s C7& YrXa2=< FLiȋqAa9Ø! Aô84IaoؚFtևR)1or$ŅO`p7xΈQp0{#2yڀu+,mٗedrl3M$D1nF"hP4=A%-OUhG$t:Cpm cVt)H7V`iwy9_߶C̒MD'd`$!+As2dd>P}ѣ+7Pz&1V +IgWN=BHqȚ5ϣx##$<- "c~)EfwfqQ*+a:F[!bn3vEjZyqGC }P`h&* >^<~" {9;cv!9P!e)Cwg-RzMcƗ;žWJ1 |)wZ%;5AIo5*&) +&6GKf,V" [yfUQt,ȯ{ jͣ +ك2"SW֧g_dL1MK< %J/C;ixA19 CxGn_%CXC\QW0zTE:/PH{dB +MSAtI;.aAMIpkbO7ę{CڙlkS_`1b7Zu\ςG`r){+8#)m+C~-biQI( ,xL}Gȅ[d율ߏv@nKto9p㆓x-&e)S#oUql_V_ NB|KcPig:xhG5 I9d9Go+@YٯO]ۆ07yr-l9Sl ͲSA~ԫ)WEM :#{2 +yxD l:,q}} }h=[Z*hoSF[@8 OM Eú bM5UҸ Ufb#RNp)GW#qt(mIr/f,mSSITTZBEҦ(G~&FP)Gتcm"·ݍb+f^>F2Ŋce:!fiDx. IXV]~ ?kSy']=p;}}exAyUXV1"0XlWR닙iqsdi^wV% c~w"Zu/͙a?dvkF>5laN¿u3ۡ}cQotRrbi<74{t%d%*$'yѧ/t6ާ40Pe4N-=Om3K5PStjFOgPSМjϧi o5&H#t7+i!諾5rIf&,6qxRɝH)g3Ay/"L-o%IS{IjXHY]Dn%.'WrL&1 (8XY+Ke<%HV9Fr&4jB2'D% +6CAvpoٌ&ܡ7ĸWXC8P]!dyO$fVD K4 vĚ4ӑ[pt>4.ͻV6v I!юLp*IQ&݅#U.+N_q<@WY +OIp^Xn +qxX4M]/؈Ƣ\ ɴh@#CSaϔ7'6๡<eW%*_đ +6. TwsE0y8IZogt.:+򊙛҄ܣ#KQn +5` +)‡EɨTT oW}lĻTW4HPMYH_(Sin(&+w'Ft9>`2[t `O YOv&4rMg㍊ez4yΏx9Ǣ,gÄФ:x="f&ȯ;N njp:z)6F8؉΅[fUy.Ʀ"Q2 k JAx,{U.3Di-rK(JCI.Q=LrJkF#-]0S3kXQܵ wQ%t-Ʌ;Jw E8G)(K1z/_M3 5UT O&"|m`m)K×(XK /Vmi{~ Jdp^B'+:?9@ > E@#Bܗ`{^ݻmD6NJt ٵXwóK]z ]`jsbEVi柠xVZp7Bzo +Th`2<i<gxW Ӷ .mRUEfՖ oWѭq\WP=RtDꀢ)9ylq&G-/=*gWц.QϦ#R%m;< iKTZa _夰G` + + +;ٓ iO,ȍ0 "RUkCZVv͓9=,. ַ's% ?0q؞/:ϥErv=vap0A u> %'!$GzD4q=DY!w\Iɹl/Q+ $R5;y!*`S[Ni<nj&-t:AC[;ۻRF[N$u/3 + +1=U&p\YWv\QɮeA%3ʦ]xǔ~B5fʘe63ʦhI+Hܴr_):uu f9?us9JuՄ]WKӅ}Cj9ʱzQ4f9tL3]AK7ZIJy*O 6Ă-]/]5?PFДܯ|N݇~pfښP}y{x=h`3&%7=P5 5hKA%7ٴ|9l7㕢:zh&/R :4J jSAj9Oe&+ܔy8eE J+`[ѺBT3"vSg\[Όe ϐ`30n^t >'n,9 ļط&}v}FW-8 傂,P^yEgcB$?*M0ЏH֢ -7:n{ U7npQŒ -םZ Ѻkq͆pHC*ts0\>*(*{C-*.۶N`\'z=UXljN{gjasP77m踼>1Vl6v󊎄GDs[ED{DiZ[ZY(jFxiwF~ f=_š@Ej +7ϖԳk3HsIAFvp$%0Nh@xs3kh~p  &f#˙P%r*Sԉ)ki[^r+9Zs;ōl AX4!#̴67n℈oϧJ2jiX/+uC/oBbtؚ<2L+HًSt_RƜcX'$%{*SSwqLRiKg^KZ=~djlm4bCVP`dU*wlƮcĨZF.Kgl1ӥet|v׿?Iu2|$&01_wSkMA? ч_Sw'8NяX[!8E E<j%"2~LB I$H$ 'Ur('- ٱHfDyDmwE'?4@?20D?qS Kj"4>Z|z^ T4ܰ\_ Kpns g9cng[!}DͽYR8^%uFYX9[W5T3Są).ۯA3/8A7q!sdK "!|0mẚ֙a "2ӕdt1'si3Nu޹W[Nd:G^~to ՂGVI +'@hj6[LA z/lW+}<̤“ͩnYuH;Zq&W8-@2FbZ#k;g^ lyiqw#tyvOܩ! &5ؖ5Ġg+ڟ.GOyk%GzrM0޷pw<ݲ N­;_c6mY#"xG +3Ql,qd}+;z">C=_=3b{wW8K +]߇⯱M +>ubLM?\A u Р*I2Ԥta1ŻoB.+^!GӉ#xy?{T&O|۫ +.IW~&97ݜK^u)Tj.ucx1Ub Z"[: <*Xiy{ ֡3ܩf>_3-ayڋL/:ǔq*hmJʗ7|)GGiۇK#<Bz9,#_bH֣#i'0 +3t Xb/_b{/4;'f6(/.#r3A+<hy'^#)| u)'*Ϥ[a7F46+_M_/ 7E{&܀s6` ̃ ʇ]Gmʪo6 3R=)zϔ̠Tq[ԪPI" +n><=N^fwSd{$[=\({ԛ¦*BPPd'teĆ9b ?`%̦CBS*.CIb60_\Y~!Ke0CR%e㒅 Wu*f"|z'@Fģ4&&8(; ;+d%{l k~ +x.):v/Y柹deZDHMBᔇY)ZG撎=O]gC0A7oN=ok"hvg;Q⌡`EOU[>Ѯ3@7C>fL^nrןӶi\$Te,ߊGVmp4)os:t5e%{gŠ_H5EU3@r/PHy>>F$ ?">&%6 Iþxg"s6m- 7TJGjUڮyƹ­ً*PEz8˜.?ݎ.&vHZkϢ-yygOGo[3Xdȱ-Eze4xtʘHXZ42]䮒 BZ,$^ڀ\_U(fs鰟6(v EYTəA=a1GO7w6Ӝ**{M"i&s%U6TDL0>/Yu!^{_}miX~qZHM֝!~XiwM J__ųut|v?.aW\Ѷ'6+6=v2i?usp\cH Rϣ!E$WMI)%l*a}<}}yϧ;]k:Z1&ze?&^w9TNa?)i f|O1Ph1_}$t)pU,.;*? 9V䍈1W.Xvo&gc(;ָymKvS-lrqBN& ^[:6X9} +*j-2ڎH XEP>MCv|!'Bho1po@n?H)jo>y/K`y2AMSNCVW!6WCmnmf"l#a'| GE PeQӖ.]WM/e5LE;D+B _%'"5kbx + 7*lY_:dN9rh|?$!&uU9YmՔ7XLdQ)"?J,t$OMVY%8s eGw(縪Oq&zVˀpcՔbη֗Wpx]a{$XPtr&_BB%wI7|2,X%B\]Bi +G$eBt{Jol=PM.!E5œ}?_`XF| -ۗ$( +iE9VWS]Q~y[S56* ABzV⧬)yEl;{4DBz0 )'m@sVú%QJk%<@2Z/ TcqI[QCb|RSJD ^$xb*ى+ żeJ&BhVjD~~&91*M1[{Ln9X׫\F! +PS=@L;Gr4@&G4d뺀{`逽U C7 ϕGc:?m1nXmBj2 Q\ǧ||FR7.>TCi8DOhӪ l2C>ާwҶA3=XX[K-q&侀T4T eS +?|i:)v4)բ֌12"g?|rG( +k[ hni~PT17S Qidɍ3c+[i#ԗIY[1z=BQ>хmv^3_!Sru,7>]PNC3^nP?TCT*;NhE]zឞ~-al`Ƙbp( +&Ĩv_aB.[ <ȴFoY _T\F{:@DƛH`o m}JE⁃t&lB6cW.&"rVTrT- E(X@W GIf&$$LHQ*EZxVO2qdH% > 0P ?MQ0uUH,34uC+5CJrSv mU7 "áAK.Gal!8 +ʇ;} @p}>({RAO[j&ϺՏ(ί!ʍf xDhg/D{r-&,eՓyxr]Ĵ([$}c5'X0:KG=MZP3.ْXVER s`Lf +M!#S_`w.2h=3@9šO^UE!u'~-U\[S,vfltez]a2w˶2?㍴ON"N oׂq,wD!iOJ7ٜKѦH}Mmƫ`dL?k`cqyJԆuCi%fp5uqSL3uȁ M[wgTY}\1pD[ݱd<@Dt-{r.R6RHxgqp7M}o N!ZO5ts|֨> +0ja;? =3Nyk2-VZn9)`*[ƶ,nTjO'|{^藞nwbh[k猷KlmFAY\6S9^-?2*1w_GW3-ESYEfiDG8\'qyc3F!݂DT1TAnTLu#^o5Dk{x˚g{Wb4ԍNsA;.n+Z9opZY\SrڷPJ(kLu*AMpw߁qLwFc+5u5t, k.s uނ Bcc(v\_X XIY~ޓ/T4x/*{Fa-d~SJ1vλYx ]tVg9( +`VjB٨Q3^ +pGuz Ir*/i4Ȯ,WMAN +b£)7_!oDxrjlK-sy5ˁG@S$~*U%(^X^JؗK)nڟpvZ_@C<[V| {\%o)hWf*P{-!Ʌp"VY?Wn;h,Ap:O„&k`R +z\*S6Yr:W?OXBuv̏Q? ff*$ OEUɮCB%Uod)FxFDo^e.ӰnB;W-T&xͫR/R\%T~,ފG*5XR;B7ýDiAq)nq68b2I^3A S +j?)eyC +ŕQrFcE949,ޤD+4 +D @sGq`t Z/Ll2%a1,//SbTjy^d{܍n{$" !Y#Z/xB.D_ nַ,6P.A{E+BiM %A"_Ge-EcIuQ+va1p+΁Qb v32D#lFA՞vl_mUbM:S2t.+RcJ9FľՍ[[t/aMc$[!7 ڗ=q+M8h\6]I[{O~^4*YNr72oh-5ƭ5p Z@&m\l |5q(} !Z A +pU"Jd 2s˼, E'*xj*I_m?ߪvGZw8 +@H6V!՟I):(I9 视ѴLhJ@6QwS/-Ɗq8Ò~?sO úk˚z^nZ/ԛ՝weskmX4.Nx\1|UKmZȤ^w7i|QFvScpUboړmD,f;Nca_l/JMSWNEgF2gӌb?8%elmU0Iz^=LJ;۶˶ T=wPz]⸘" X+n+5EZq"4)D1~h~ZUkG9eUʳu .Zaf[x25[Z xLM'P80A(届|ь1V>}sj "l6EH 㗒X]}5]'j_!U8OdץIxqryJ¸0CӸZ0m7jvT}4* 9:|J'TRɡ\lDTX.Ȭ +S%Zh\0F6#ܙvu[+w6cL5uFT/c-#;/KQ3KY9tQMQv>^TJ+3Fe -*MC E\@Symp<,s 3gќ55uuF*< .OZ2SXZR~Z>drAF"!M_yDxr SbA -_fTsGCHnfQԗWVQ-5*NB:ÚtPڞ*iH)y< n_lgg-4=2bKn<4zQmTS[KcP=w_>mH Kť4Inkv~@^1Cf +*g{5~= /7M$CTR-뤵OTUU%bmyye{RцY@cD:sa;xh(/y!Doa76$V5zvVws]ѹF(BsGՊF*I-V|nJM,':SrCF(UZ! + i\(z?\9 n\='z`xn\zMsѭ!_^QYe~k_m_#o.- T(W2zGkͭO7+kZ<~DU쩽g0=V5IkV]:բTGjտmSo!vT.#LKk~%{)8|Jy@ ʹxU_R7B-}e %%ADi"5A څ'7%<$)LDAA'u0XǍoxJEC8b<,+(AfS4Ax(cV @ ƀ1+8& +,"KxͰe&j꽹ΗZ, S .I3mICmeBܡ! 2ihfp>:!.DZ YeTD!2LY^^e'/yY/{1ԉ=zVj{@G"(du"e%ډP;ۨa`.`{ h2 ܺ- ++\|ں&eԴEU аK{ +L<.acNҰ&+'(~1Q~p:<= Ed[7xkUiЙ/TZkz&v/r}u2}Il+tR̝6$Xi@I'm~h`+@zP)p, =&3_ݲ̿s +IYYצb5Ꭳ7aϼKcDi/c$񍤘8<=1?6 3i sv$ZTn>.ԸDGj5u9ST?)9Myr<["=Ⱥ8*qΉ yp<~_-:Cic3j`dۅLWNFd"t>Pn/S7UygO?{Itq '?zPela %eg~6VA9`#5ly%X8̣--ZH:U;nE1NyEr4oRV"/?G HjC^cLѹYXzvF.tΝK\a7K}ޘVl.RO/R+eC I7Z ') +"A;Lt`$,{c`O0QFj#)5Y6ïF\_FZgE(cG2ESMGI *dV|;:L0)|}0zS0an4\E#-)گL1ձ4ÊXοj\sOJGgp'̅Bu:wzO>h92tkZP3+=֠4g-~"_k~p` +&_0:!u5큥bմF,_(2Ӌd $L\!dCg +g"cMW]f_jLY>,p_$0j*ty=eDM| UpG~wLTq娿CDK}amBע0'+4ЄhwOus&>9nA'5#e y_h4lWlk sWi_|Ԗ x)03Íy< ᭵u#sU:k!*rRf@LF__N!W[18sAv.'%o0!#j"i5h ^/_-)Wjy< ny]N&F͡|;`~k2-`[C]w:@/I[`;u@KS8Qd {"@{H_T}К`ȋ( ݺiğF|<ԭ]^bIxֶm쇩*?-g:S)ե4@A +!J]NOS6Ǘʛ(51ApW[0c&S *CvKpYg `m\,U]7}F?z_nfA9U }{P7-?"uNo=W#)4) TC^t^;n5i!WqQVWF#: P5o,ͩ`0*e};%tEr(yu>ϧQnP +y6FE+^Xza¼^yٸ{x>g`ʙ];{gAKVC,v<|,lmaĬ@n =b]=Ț+OpUR ܵf77tD*]WPfbWx@Z +>f]$Xsăc'Պtm֚kxfp3vh`-WXrO)E:98-"0xۆWk'DNvD:x pDFhja`#Wڝ[OgcE:Sf/=^#s|ĄKpu~;ӣ6vE]norfmW^/UҙMCD9W$/H!r#Z׊- rYuvm" ߩ|֧tl㤚d\^T+LΛC9/p#AGߋz +$m֓['d{gtXIl5d.\UTEfAA|2%tzhlExd,E\f!T=L?ˤB.^c8ל,!^)q +ʆgղiMĄN%|9u6l(d[ϣ۰S$oK@ț[6,ɚ:!|ړߍ d~rtst|uu,5vmíw7f"w^|xVynNY?z/Ey{ :ʝ|.. }L}l ~i3޻~w͉ + +xy2{ƲDytkym/zXez]{YU/{M||D_}&9˜~-~W$$/|扩 }4Ĵ~}@{}5t}bm*}eD}]~Uz~zM&~CƟCM8+\Ct=! ӕjѷk&ÁX|U&tOm: e]ecU/LLBП%6)AD:ÊxF҆~Z~$BN|w?t3lrdR\~\0T KY-AS25Q("\/M'ъQ!l6ɶ芉{.sxl((dfz\3݇:SΤ?K*A3<5J.(L̓uƃłڏΌ+QЃ-1{ vsB`k}d[צgmSs̉Jơ?g@O4̇'vJ"q[@F6}ȓ9̲z#rۭ@kN[c|[\RlJ7Y@i3rG&WkŔi<~D3ez|Vr=k &c`.[+RǢ5Jkh?Ý{!3&e%:;퇔70@dHzF\r +j(c)kZ)5RI֠?l3=u'}eIX3H+CԴ .4z~rojᩬjc3D[3xS +J͟X@356*M vsz’p|GIryꡪrXfkٝck[ˣȚYS"Kٞ&Bu7z뒅,֔a"(l  0l<:x9p2 i٢!ayBZ[TRjzJA3И"7d@*-("猁b t̅TζŲׯ}vU/o<g©.`<78XҢPڢcIRܞ@Usp6ИЗ,e8!+km +-Ը ŴV|ѳ3vzVn f_ovW\OHO(?Rh5+ؗ ISs +8Rp}~yvñ3#nfʹc^GVsMä:Gs=v?4*W*+V }ד9@̌ +م%R{rh9Bs"|tv0u{odv%hZvawnZWxMRy%J%yAߥz7{*ĝ}:~>~Sw>x{غyyuyHnǵ,ygrz`zY{!R {J*>|NAg/}6 })䜳~}Qɓ|"j|Ǽ} | }uZ} n}Cg}v`a}X ~QR@~`Iqq~@U75Z(dnIwݒV eټƁg|í>u>nsgH_XUPHs#9?!؁u3Y& j܁3ӆS=|'Au= n fñ[w_B,WoOcG(7=Eǃ1i$Jȃ8PK>'̿o[{Ըt-m̳|~fΈ_)WLQ-OH|G=3<.1s?$ef]^܄oËUl r{&tm1fNG^譣W%̊OOF'O<ˆ1Շ#`o y$#qb肼{2t3/me܏^u]FVpMEʑ;:GK/kX#(XxDKw„J@9؟zsly4e"P]qUѨMEdF:ş/?$MT&6g=z_BsvlSceo]V'P=N`Ff8<1 '!]bÄ+Ъ kz_smhle^7WcP%8HP>=93”)ޑ`eH< -I- +÷.yGrѲ3kd4]MV.OR1G\>$!f4YF4*fԒ( +2hmH~9xаqpjñc\x'UMܤ0FP$<Р$3)@)ڑی) +)~w-qQշ+iQbrZryS>K\ZDHE;op2( ˒2U JMs4|sevtLpDtjyuLd1u]}vV\wNxG#yn>8z4O{&ܡ}~8 {&+Sx)|Axv>Fxp-xiӺyPcRFy\yUzNH{ZF}|>|3P}& ~! &$}|_}+vS}o}i#},bp }?[´j}]Tg}MWh~/Eʫ]~= &1֣$ob ᔲqĦ|cuؾ܁No\8h\aZSrKDR'; w/,# GrUO(G)=)cS!=(6Ŗcf3ؘ976r=o$S=7zꉞ|~}Xqn'bOncޮiD,*oP3l:;!OÖx(v~[z?rκø>upm#jon]`ž^:hD6Pč{=ȒDj-dC *C:6$~2TL>0W\RTDXE1=Q֣ Ⱥ޿U>_H~$j;J5gR2P0 +Iy8@QҎ.\m+AdȋgG#}lswF`*w1ڛfǻ`!Sœ)-OUtcV(`Z4,X(c{ev81v#D{#WK3/X N:^!Lxh&K&bςw7Ű"y qBIN1Lwz5sd=ks1mπ + J`VSAHӞ 8@lɧ%bZGbJ:%QFƚ6j.s"Nf].;IrBӊ=&F*r1O$[Fྺi}w`ejA]lzKjX@ >K?U4#}Ԟ6M ?1# 0އ2Upsݡm\2uBo(rMR-P/%>) \%9Dn(U=ǚmPR.&TќG겮̚ȕy\}<ٺCOjIJ*"aJhgӁ2} +IYM8$sS;+y!KϩyW;/(ۻSPƥvSPBH/iz[YMR-">8C('A+%=S8= +Vb#1=:bgiGBD ,՟OF(5* 6j`͆[pEF0U9>"Z^&p;hĽ8VKaZ3"/Dqt;sݏYФVd4g G5Q~JXMLMBP\|5LJ^5-AAʾEr}]VbLㅙFt𭯙K??g)_ǀCzk?n: 3[sx.YB6>ނZWP97ed];+P`v9-9N]m9"'y@ E9TO +i@NMr6 G>oF1"D}̘EM_Ǣͣwr:y(736|Tꂇ. +{lEwYR6`}#E\$f8 MbSqn:/f1ZĘfoѠ; 97?V0j1NHP#B6†q-?蕱chPOĿM ŋ!}ggu8k-izT^}q:(w ظ-yxMpCC1S^"ϋ FVњ:'vK&$є\E,sT]wo+ f6 i+o8~>5ΌU %1PEĨ޷9 %1Oiԅ`Z7o>Gҝh'/9LJ7B6 yLa%0`Փ[<t]d~ޑĴט1bqͭEej}}Ё'* vmGj:Xj0~2ݞh)5u^ln4m{؆AX|4Ds 5f}fe}C ۉU$)5eV)>bHw<Fׂk&fAm%ONAwZQ'{nտ ̉#:\%6GJ/'v1A2taFs` 3=0AR::UmҾ27*0M~kKykVq>%E[ hړzW-yڦN;e3|jVdbSܖd',no5,痭i pPKXR)+ژ7-d΅F8.0o/H6wߡʁl5G2r\#/X}-_AʭIHLS\SE+?EkPqMs`e÷2}`ctp&\4qmٱwR$![ "'׏妞F%8\SJ_L:ҭzIoxRc:JQjmETC+ܮks<=Ê-Y3G ۨ TIqj=O{PkWh&i-m:2½5DUdY''V6NhZ"jʝu*Lj%z*^.xkV*pW8,sَVB{P͉5UŜh\1T[G8Wv"*.;ZdXZHV p“9ۮڈ_Zn]\?7H`aI|/3@ ACdzK;&?b.Lo #4~[M !a$g9Kn#ǐA8} !~@D\EȐ˜X360cFuܙE*91Y/2fcʨc,hA za&~@\]n?yǜ-7GLIaTǤbLxa&4n?0_tNF28df#rmCi!2J\GF7Q?lEKCf^6Lp0qI7TĮe 2}G gBRA}yI{Ό́7’䣈K?Kiȇ,4$y?!`9Vl`܋y4T82(:ogڴGnm U4!Yz +4Z=wC4* +W"А$B'˱&9^6JL>"'gOeZ*$5P:AqyYK>+% N9/i:@Lqi$9y,j ʢt$!`chUޣAjPF$Ui6 'm9i28' u9b*IFrӟPIzl))dC{}^_8 Q͚–Jд\ +^,UlˋC%}Ǡnw!5/J#{l䑰a)`;v+/zMsӺZ CfWV10V:Yc F +T +|6~t(Nj3C)b\\y1Eo[zK +4yh68žrfx'_` Ŷ'd5W("X#y&Ґv<..abcz$>TI"_$t~~5K?DaC(7̱#* Mn=UhXixk(vkQGyv!1;qo6]퐐8UPA"D?9{\UX̣{BTOZݑU*[P«SQ\:FCy&N ^(5!n˱\^s 7Ț')$j/=~:zgr³,N +j#u^r"&1jQmgрLЀ<:5  XmȪ-UnYҽI _IZ, 3/j\w) LZ\d)0CʡK@HЦ5o/nᵗ6ĪyF;_A9p+'Յ?gpӁ|lo0fQbw8 ttg'mq?+kMq%8ٴ3k8s\#8{vnƗx;aĿR{&Bo_c!f'j *ڰEyR̊:U+d4#o%'SYnX)k9(tE6 x`l``czD J?՗УTFOԠ-ߏr/nD2墪E&A($A8/h-W{D]Q[*b11~}+ޒy`Rg2@Msڝ֖Lk}򔋒hIr)?p\yo@֊Nf +hRH.`tRn\t@ь::ܕup*4+ ܝ$%jXf0;Ւ "/'8D¿c/| eL;@m}+D+lgéwxh$ * z3!S(_/bx6s> $ª +.@Z1DQ q dv0N#r |R|ׁG}սk66]wB@6lڐ8+D\u>7wsNe/7l^ +4uV\6xk/g {cW#< "vFa4q{MiKD`KC_he @`=l̒[_:̉RB +oy<EBn}dh$6yc\m˙eCc˜'ч9(=N!96IWtxRDzM?'JiqH^qşMQԿSeA_DFҟ]D { ^[I]oC;,hc29Qt vPg:7QP5ugRegԀd-`!)[㷤_DHx)wӯͤZ;[q}- /kX)وGv yeg>y+D&siF7!UY7=v)Pb*VwЕr:YfWD}J$8XB9-|rnSGy/tt% xVneK޾(QkG>Z&$4Pc׊g)Qܮ7>brV"T5R\"IT&;~qGj'#tzѭTUʆj{#(Zdme dDV@(XM.7W^XC dѾ!% ݌FG^v.SKnSvͯ('Mv}Y~ 2M}4+%$_G%}=K'^ Bw!Ŏo"vQc k ˨cǚT\Td_gHLouDB4y ^WfƤs3ĒD[+E\񐂽\ "<Ǫ?=[ Z'P);=jﴽqƮ!n[_[qNnղ ҆f +>0J2 #yDZ ؗq~,3㰹;X?~# u m?UKZsK7|)jKNuQ+ SM/e3ǣU~e'kح(kV.zjKEmzԸS'ae#p5"Pԋe &%l|~X)=˱N٬3 s9ֽXY.X9bG*\tݠkm" NWAiЁh[y`0gфNKj,OK* +pމ. 3Cez|>WK@r0Gy:J*qH&pjJ><׃ibHmcW,H\N?Zи6u lꬠ^Rf[@Oh(Kz7Hân\#O`?#r:üR0dZr#ڐ {5q65x]a:,c61*-u,|[+Gxx W]λ(`v_J5WkhT[l4h y#㷁V[!Zq |~k\8:ͅ_]#jK([@`x@^ߌr^-m.(K`>yZzD@k@-ZB ɉ%d?P0&&!sf +†mS)/'PMuG05 +& ϬdS 5Az- Ǝ~BkLU,ȼ)B9D^ +RVQK9)$2%HŮO 7rWHrF>g$} iM]wZVx^v9M1,e*#LD ͌!Bӝh>RB)7Kh4 o5yNBNV \2B%I;9G%SKu^㨘b3KX8x5@C7C̙8mѓ~z{rw%w@Dċ{HM9N͜N"26qSǣ skaԔeOM,Kg Id1K#z~`ZŮu_SO +:*B^.h56J Ԟ ",Pf;tF>EpZ8Ċ/"2C~ɨ+5b*{Q+J)_IatiVxJd儇T;n9z?Wd# L;q&!Xʟ3~ ϙzSNAݭ~Sʑ#doE^ZrOմNb0,""v.B$@nRw vnO:y9q k# n\ &t&PF{6yiC:"5\%i\ՔHU>aScҗuBoB[WA6.bS;jXabM ٩ߩ8Mj]mG>^Q&O6:O3DLMxuHZs6)>qS\]C`L+L w{Zmԅi8*9R|nIi&: +!lh;Ϝg*sº|>-E|(dƖb*IiAiڞ A`$M4Ȣ~qX:jU߷?g20 WJ~^<7{#FPle&yq`:r_8~;I픜C[VG]KWTH*$e1̳|g clYc%HZO{VqV9?G:L)5ۖ u >@Cod4Z4u&)Q.moHr[-%rxςeސ0~Zy+I{F'xJ6uΊkOUvKUNfƎ}40ޘwCo]of]bGO:q02/K[>r߄ʺǜp\Ƌf1E^rgfHчEOP ؗdWFϾ=_jm nY.sֲ #?}5B3Iܡ5ٽQC2V7H =Ô1ƕ\'ٻ7HPlfd {%'DJ^D +%u +aY?-ӟMFCk~ P@n2NO]6؛:8M!KmC8DNq@<~arK5X7\/GF ,MXQ;; dyLn=Z$ʊ0)za֕j<9d)wߣKK `< 9u١q0 .^Lz&u6A/c]YB70Y2*##)FD )N{LmZYc!}u GcCx;T YBii\觊ǭJEm]ޒ7d'›q8/a/)`'d(MNV)ƊBd;\ ;#'d8^€^pҩJ҉G(=DjR8[d\p,%Lbnh/{ &+P @{ +K[+ug8#;f{{Ԇ^,XXL%زse,[^ݲ /^@KzkEs&r_UDOĪHOp9뿻=VL'!2Nx(k.%c^c@o՞-^ o'];&(hItGLMkPBj#概WTPu!g68bR+-usEyZ߬JdiSQͬ[zKa-. ˆq`Ќ=FOca}?Cusptaֱۚ+4<Dz%m%|i:'҅N<+d.^0֯J'^^#h&?9rgI}3NbC_꧗`gݧv%7++Ƕ+l!_Z(BZ~cx h$^,$dvT]Aw8Jufvr*;kc~"iۣ[ +1^0N4 +>lE-Cة`i=VX[UM~RM9p2FHΩ {=0·]C}}bagW4/[?o ?֍si"WRU&red2#c19Mx׀aCo?Bp\4 !v +'hq,QeZWDae-YPM|MeH^6ݚhՎ ǟjc"EJa4d +]] _0^ !.E_Y!hv\Xu*7P:6,z#K!F DEW=/W +.3FkD!2f8AK/w P<}F2`.`.|8V39i) +)y%m!3)'JcJL4v`lSTj|prrbgnRTj]@$rM>ʓ04a.3S(2ܚ@Ė\%c1˱s=P8#FN dW$v;zĒh[*a/CGj˿-$ҳ5MJt~ xpt]FQoF iRaD4?_E:fa}5r%%:L?hnۨ0#9! \8)>b;+^AWvN E>fh4g +!^383(АɟXN3c qõ~>CZeDiDp?O:uQ~ؾj<*tۢߗK 7zԂ~,2(~xc@+3NU%:_4kn1}*6]Sn{M1Uά8v=1=g#*,=`3:ҵ^AK55ݙiKYs6hfgYCdr( x(tgU9I:LLOKsm(k=D + E!yfpnރ]ԥz6W_F#X*\z)s자%5J&fyDbshI^+dL'eI╘Z zYMTV>h/-"tZ, +%Xr'0]6K?d-7Q{*w}  c/w/c[IԦNB |D\h P `a@7O߆bR{9qb9 Gy3n`SS B<ϒOxhr6!k6"h3EK%~$*6h^ +UyFB=vE?cRTu\Ɍ5U,LFE .}lt)a5r7ps؍=ϡf?8!R% CPj9v6 7iɂci?7[գk;tbMA% +ZngܙO1b =J̻ I{O?{rGvkի&ƴYgcʰ(@oXnқun)s;_=#kʇ afy;SyщH,Q2 +eu C7sy: Չ?ԉ϶eUtunTB*ROR9⃹0o~s7{#FC,/S筭X):lėG0,W͸WC"_ 3YT=d-ܡ{V٤ M,myR] C,8B7oaD)kϤKR:aS[SxޫLu%I0i/S >{ @tI1Os*gYƾ + FVьۭOWRS'D+i<6S?Ij9Szd,0@e+$_󞫁e:ʣJz"a|2%z|ܬP>Z/}P ̂7'uwFICìB[?5<5E5l3ړ=Ylp +6^\;yq;;M([%=5OҤKdчǵ:g'V^b6]37jV3O={/c5n#5e;š4TY+"%RZKdsm[7"~ Q >KW?糼) ?8s'> -xP: H^ğ.N&ݹAc6`2BĒ~K+խURQOQ*1}Fo퓨fDqipp:|b + ~@Z$ +B/LRņN9bd#DG&LJkϫvpZ"A2[ K*֠UU{JyD@<BvOLv9 \XcA*^v" ]G]Wܬx@>.?eC6J7Kt|ީw(8lJC4z1 +0!;,,XwtQZbh6U8n|DSi[t%8n{^Ioeр[A).f_*zD @5n6N^_%c_3ꎋjxǝ_H'yQ0nM +@G+ @UD" Cʺ222 ( u(> 'v\w1OETqȳyF,WnYxzcI}C?oލ74iJcZ翆%]n W?+3Nma{^ւ&Lp +XW7s?(dd$,QQb]&ATcّDRVƌ(Xk?"jE`!8>϶F{>acAe&ix#.phP7x{p&όv>TKcBal;(=?WvxNgsw:y-M/A\f]/Ew4+]tO"x1U g8z@!uMkJNCxϧ7nlɱ[vD%[1 9RVVڢ*$hər.u Y|xq+0+aI[~R] B2U+ Y"G_"%JK{BO3'M:%NE'Ź/i0@>PB=xRPY(s-GpGb_+!˔vG]9@,`񆼺x0wOSUjЇiqs +} h̠j~Ry FtR~J3 o'ˢɂasjOtS$8'V1s㎚ZCl5f/Op1\;m0jo"CۊjJ٫C6$lSQ7rtJOZ$[? N-m3m\pdqFA6=+ğ4U3XNM2 PܴFh6Wkm LtNjLRB"#; 4 :̔s$"[6qgU 2vБOݮ{`˧fX+rqs!RZU;/+:Җ[w$Q"!|/Ѓ->xN쾅y^e6wB>Ɛ$n >Zcñ:,JrL5˪Jqͳ+8%G!DwL> @+fĂ|wlTizx%dv4`<UmdJn%'?GÝ)r[Qy2"ַt.,(olRH8zB7_?ATp3V,_v+j"݋ccZl,>2'dkIEIUl%Er"_\1\ŽM;gk2$!hg) W3ef6*I(KX1XM"t&۝VY֩Ě˖2)!,aWý6wXGF_VsvҘ.d\+yy& :R8GCe$t){ +Ǵ%/7- pQ ,_,$il%@#4yD[5P$XEK"6r'I^d{&`h;>j[bZ\;Ynf$j ^u(+Z?/R!didٲBZ-D$G!D=OX'J~oB=Pz3l~BW } hiL&V-R5T1;gKd-]RdZE)HI(RLEY|h,Lc{л=nbO.Nx;rW=cbg *67Vu)ƺz٤(4E{ 8S5R+`;\Qtk\а^rP<5@3c cQr3௟~VܻӨ;}Nj\h;]ʒߴGVVd6gkupB ol&ʅ)^BP~k/Q J2Cc< +xoL%׏|E1z +NսaC߿<u=n vfEM.'-?5554Z~/?}qSmh.SksfOm'!c{jq}!1o˭w=*˱<C8|DT2 +pp:FXdm"e1~DOv?j)a 1C_0p2?Z||JE b,}@v; WP:-gLujX,HA3c; YOx2!zW7JM,Χyٴ?nd+bn"K9zf]QPV9V<#M}U5#K{ +!?*+嘒}-q 1O|p~1I.x|Mbxٓ%佖] s~xlCVd8j\TהLh+Bsi7ُO,Ӑ !D#tlGvCyRrJj;bѠ2jZܞRϛJ~A/ה)7N-"H(ЉVc +ʎӫ9k~,wӦGpkL'hXLaP]{YzBQ2I@Ֆ7,-,Ґߑ>!Ǎn݊wUL~/}wgp hʥaڣY:ʡQv̠I㚂@xeO6ʔI,G)L H쌑 ΅'m܆븽n?qyrr<'sjtcߩvu`\IveTfjw^L4xLBey_8ǜz,!K{ޕ|@}wSsƅ u,~stv,wvp̭nwbiūwbx["&yDSVzKA/zB.{7||+9}aY~ +|~hy"z }zew@wzp zi{Ka{ZK|*R{|Ju}-An}6i~)Dm}:0~}~~&~w=~p\~i)O~aɧ~ZD R$eJ1@Z$5(Qh؇o!~|JwgpKGh%'axY/QI;3(?(Vc3. x&Ђiے҂)&7O˶݆4s}vpo5h<`lXHPH2 > 2f{%`:Hy|ւi}j?vXog˩>i`RXonvPOG=22 ?%<iքr'߁֍zq z}ÏBu{n(gRЍ_ئgWOš6G](<11-$RgjZ_ՂTCDŽͱ|¯Iun\g \_W0Ot&tG<0t5$4 s܇sʇۃ܍\h#|Ɨusn,5fڧs_[SWr+EOLUFJq<;;0a%$c(GnΆ1ѝ|C?;u?mfo!_?)WO@UGw˓2=b2 (e'ԓL]~X|TmoO+T{խu$en#>g_CXqOPƟFHΜΕr>ٙR4O*ꎐ d9Pw΄!4qzBs Clġde^@W-՜OttG>oі#4xh*Γ% yIzm$g! 9v3ccj\ikIDfaA35Z+TfSziJgMATeA`9tDx <"_CVn7Ī, /'aQFL˗[%?++"<+eTi\q 9TaSNbB5`3_qSW1Uj@q DY}v}"W Gfk)Gz`b]eulv]>tXx= <-1i_gtl4l|p/H !ѽJ"\zH*Vu@kB)%A]njja[7HN'"?g+x?h/ԃi-@78n&wg!V _>l %T:nbID,(C>%(g\ #!UJȬK'r]t鴭_Y'B/P.͟INo:W?j"pңƸhQ5?G93 +6վ+Tq3£lק-ET|TO "߃iKziU}&G@JmAgӢ?5"_^:B[;Q +̢F%4㐪O56l5ϻ?U%u~MAY=Lks3f3XCڥq{G5[RYFE|V%gK;+T#%So:u ~mnk9z ˕:o}Fa 1\$i[@.M;*Ӻwɇb;eJ] ꔨ3k%^tti L>dcWǡښRb۠.V Yf* wp0ɦ֦r{{@|B;y侮eaUwsYi3r25EN:)1hߡImɅ[e+mWV| r(#F*SՒº泙 26^Á6SX`q!vLGk2DIENfߓ!tJtM'? (>JPŨ7}\3>BG`*h`_8k|^>ۧ:Gڵ$ y4KӽP 1Cp,pJE ۧ'v:: qKڨ9'!o@7{~Ƴw0.ѧ8גj-rgIcYj[ԄvQ9Q0G +k^yCDzryV$!T,UKMWv3 [״Hb!2xuBZ\fjaD$ ;,"w9tt<**j{m_MISz]= WzwVhX/6+)3tD~rЪT׏/+3h嚨UIqo9 +;"Fa ze(vʏ}pM0:S.)_/-_lp\֗× tw+/j}qvcmsxq,'y-ub}\8~ c}g=@!n\FJQ!j&hX?]|Ss}+6Zݳ 8"5R: W2|K/Ȇ?4@_n%7 V<ussj6NVks”AL=HŇIg}C+3\εL6O\g|$xo2߈`} y {3tdɾDŽDړ^L ( :3 /ƈ AWM`/N5:l&ĵu_a& y.%/K(Ր}{RC0#Ji-Q Qcw`wƛfnjc6 `ƌLƙ#ޒh7ժ>٭v}߾w}XC_Vx%tZp 3u +opwfeHpkyMzi_|B_ft,W{a ob pEf+qy9g]+]XXs{s~mGN\!5Z?d^V? {C= ';%[7#>*S׺d'^LbiV5|lfaJQ/bx1ߒ ++ntu'VwfR_nSR#ZI|] #:s 2@݊F{|! mL4d ;7/rnC[up"xS3ú:ϜMKb1-;zŐۦe-smԊByob%XG.BOh',QZ56/A #.ƽ8cC]=zɱJXb=)jb [|y}IK|3ݾ8[A-Cph'ĆQ/)m0E?I]zBE:,/!A^%朂!5W]M9OG_ +\RKb"w1(6 /Z4ZztrK`0 ˟R0Ex;H)')/boyp|r2H2>#2nɴ ,F]0gASK%z}o[1UҪin87z|Pe@4 (EqV08rA%6Y

E 4UQmjeEVEENWƗ a"&8wCq$(p0I@u &>T: E._ 6VkA UܽHZM8[[CuߤoD]6Tޟ6bY^ \afTnU֩+3ciX: B>~zAT  {[-r>Z)@VU{ȧ*=~]Sz1PUe|ТWfWDŽ6Z?)h8dDY=PiGQٟҩG`uy Qt#EOЃ*LC}ufUTOgQaJ:#@ҁ$w}R,:-1+E w`M9WMX̧pzaDߎ_Y@=Cǀmlta,PwWX"iuS[`2?v0Oȉ4]"VfW遆q"ٚI|Y75(:qlg橒O`;Lc=lpЋtZO`?r.-\0:Hw3mRrWLѕ:ՐJ KDdv|FzZL \&.K\ O=Fn2=`=0Üw8·Wfe5 }DB d,e5|lJr~gŭQn*u6dӓFKɺHDv8v.z_29{qo 7 z +?s5&X%̶ܞw(.C $#.CDH*5Qqz+qnj `Co7.$ǂL(/xH'jk^ryؼyUS~-?h@5mnGybu_8u lڴ) +zz rn L#HGhXvGܱFenU%<,?uu<+,IXR\iW%VK3qaøq%J[ٲ۹JǮO$sYbm)6⊎wpsvuαRA8fQllSҐ' + }ZT='ڷrPv3$ee6j/3dQfSH( m2x~\(;b6J5Qվl쎖hFI27@RAʑS]Z [*rl $k-]dk?HƔPB\3U="^U<[ܬB7̖Onu|́b7zؖM8.V*eHiՄL #^]5/j&/4xv*2K*0fD`Gw]^SzgC-U;Y [$bk"GA[_:'@w#C =qlxB0z(,~ f*a(idwb*"<|K|HvTO%i vέL60JN0#[A:Hi7c:|9HM;KKi+`1D hc܈7ŰSyz~ab[0Q&G GjjYL!g.GW~DSE'^;*KLR'8_fDrl/sW$̿yz*34€{A~M $ldp|ɢQ6_R',@2Fc̐|L"p,w2bK[A6'ޟ7܀FӐ"M |T[rG+ ) RڃzR1ӄ^v㥂v_r{!y"|\WMjW|PZP~VBEOi1 k 289`:B2j*m ѡzv>Sfpbwʫħ5/>M^#ˀ7}A_ ܦ4Z>R|{,]m 1N'sYRf=Ȑm^2fu +dvR@x"}]MS/بTBk*!PNqǖT㢉gEyC|ǠN78]o?wuxkP$u [暬Aqr8VL9,GƫĿQ+˽T*MАZyN:%y.}9Ouy 0<7wH~ŚZ Z}W=i &*`TR!* 4Hzz~e/dolK9*}Ύ!Pz;4u g6{QAFgl( abB6j;Rv38di6]%Bsg4L2RjJe)D]YdѮֲg>|ޓ;D#xE/$7N䉪&ڋ(Nս4B$OgQnqtD!\zY(HQkF*$aq ê|0[J +3XZ,Fw0.|`8y j=Ȇѿ&IZƇDv#ųfČXaH%|Ho>ё,3Qĕ4PGJJvR&V#xDaO_M>'nZv0;Mc|8M1p"Qa0J+>dPwf0y^Z%|"uE/|#6JJfOh3q(H't=J¥N<5c;~&o^l/ŧ1 iHt)2OS0q8)7Hl.woOp +J>pʗ糴4g.jr>3Vf/Wߴ|x|.^),_pͳ$|UҷJ Li.%UG?xDQ|-ߍ2$Gsi?楱t/  =7}c+ұZSXz ?;7'2Dh28΋q (= #ؐ7*y$JsiH[[2 Gl XsK/rKh|΀j24OhڒZWd҉?81Qdi/q=:Q2 -9uUY'\>U霱JOk/|$[Zl%}uV+:H<ƍQT{wx +o8YMydjLW\$Y4q;;R)jh%1y%[(E%l QtIĭ +*c#yP?|.2[,v֜r9M[ Xn2Wuh`l8DX|Y j=cO +'΋7RWPrGHv-Y)?>CHmd(B__}д-nCTt&K$|<`t M_ ؍/\ټeA_9︫ aB2[h(}}ϘwNAv-WtoPQCO6EWbdA vVL\q.Ej!#؝[s&dkc?ޠ$*W73D._"&@OS}Z/؟yYAbKJ2m3C_ "3G 2=H|Ô!K9f`b9'kGpW".WgH3m8JN Toh2y6]~थl" ^l еD(Pz95%N;Ш@Цi'>7r!!caH 0)^:8 ;>@/R7юD-26\mls\a$z# Yo*x/rJptewrjpX&%TŹZ:]~`d^3@: +ĉ^2o҇q 0$Ў1-*nR&vzHZQBNR%MZi I٣Зn=;yGhwpo31[󕷿=%m$ +:rꚌ8w ;c<$8\!! _^;Ik!*U}md rCnIl7Te'! jP}xUs){Hp> _8N?iEʞ'IΒ(tٓ5 'z@ +֭1t4 +KZcRUWYPEҜS*sp&دvrSd0,?^v܌/,7gxMlVHk(1쎱'rP{>V=&2S!SSHx':U 75+@Ics &Re +_PQ>%>IK07FE^s\gI8 +ew +r|:C owm^Z 7\F~?a5RT.%/a &/ ~up_^{,9JW;'&Z"C~C }S:P h_߶ hBE6kjg;** PA_ +f*Cސ>m+(bT|;: k*^{9z!ok)o}uAyiޣ& 4|5?5\Uc_/qIkeva?1#rYlrMq6 +RnZ^m+f3'7|k.f1!"-c9_tby3@AK#c;]ID؆Ѿ;jL9qɵ;.wSMc78|/Ќ{b>#[03ቘ f @[gi g=L)= +WI2ݒ@jjC Ij>(3$&aL(PxT3Ft8Soq-qc9+.ɥXd:ef}oa +=̑w̟ y~zFNE9 ;iM^Fi5D_qFUӗ7Sw6(8‹] #֫d6j[8s/ZV{GN@zSuZ\B G+(~,r|g>wRlTpZle95,ZvB4%nMÅѠX4|DswOa趃 Zd8a.sjRmj{JJ7<)z2`d%g6oM!aR#j $9Nbh݇YM^|ǁTpv )n+*qDb%Fx$ ^0h&}mS[/M+BS]ѤtKѴ_Ϡodaf}'<]_@oY7аH掮1FJuj1Y?Y tUj׽HliT,4 B7#񬡷,뭋K4VR7V+ǐJ.6"2 ӡk+ #9e +{j?Njgb +\ڥUx:xԠmGF6T`v寱 aiPI^K{4D3u_YG$+g;<ƖoF/mu)qޤgs#G0lY zVF ۅNvX~rMASӉ]Xj1Q{D5Gĉd/p#'7{OUI@&++˜NuA8'HFxt>GYjo .{l7XB<&a'Ms6wͪLo<s28cIY7R/BM|)#TRow$>S7Y4WOnrJRKw3UiX4ݚHOLfg?S LWQxalT1g +İ[qnM+w=狜 +S9_WʔZ*)->$,his>q+ 㗍@% +7& *[|!~L߂E{i//ۛHB@Vr! Gۓb<սZSHaL׆0`$ALWO&ʜjizQz+ +=Z'*u#*DbIT-iF>=7~"^Fz8Fa$t2*hqdℒ}•8l2USJo&䓍ζ'U4P3# +gy pu-/« PA #7KAu6I(G2|) BHawy#R?>~<ÛY,Acf[rP{JDΓWh=Jg>sN>9#/BFEH䤦,R|VQ(d={9e ~x,u f|E(1]6'./s0|SKhi||\^_Iȍy~H| +iKv&IK097&NCE@!wd9$gƭ>9BVҞBVQB*N2JKs!b_XXpd-@@S ?Ӿ")|YGYڥ-b. ;BVi01KwOF5gJ}'.+-?T 󰙬zͧ]S>'N]赦(nS)m 0!{VRw'Ӄq#Įfyؿ?F5?+{5{Xhy”șݨgd&vWQixn( ۏx?`DaDf鎄]熿ifSWVVٺbJ쾎qg `9z)뎿4:hXlf?Nj?zշom쏤5?%y(#o"Eې}IJ7sYO3T]&A2_H>>\(JcNbkt$KMYYM*Wow-ҡyf3W34t)jkI^gn[ϒ#G} +kET)370bN|-ˆˍK1d3чNIՎ3ƒ-=G";):}%/pȶ^e3kkrHΡoBC2.]IɦUio$BZleDV7]5 l;_Dpo3?p"HtSIΫPZHGIٓMN# I:2ɌXC#Xv{$#K.F:=`6އɥ];99 D'd| +0M)?x-\A]z59i෗'e9|a/Ĕ.`7^ԨL }7E&wzƑQ[Ru"c)WTAVPME1q7HD`ذ .0`BLm +FzXڲZ08*㊃EרyȣQ3b=/eh%3txNc usJ8_Bwoe'옐|`VUE},rH5 7+GŅD\bS6F6c,g *JVs rieBΊק&j耢TuaLeqrBkBSB$k9R?U_LTlq\?os⅟ +AOF_G*T oC3-QlvQ%|~+Q7%a[SË́C{?oėiWvu~EAvo騀2X,F$㏌Gmas/f7tQտ̐ +on),M"BJԢHq{Z Yg| +[8;t!؛} kubPaT-8 -v"ˉϘMW4}7[//$/vm% T@*3%iRa (-~YZc6nsљ!4H1 B80vY=Yu)n"4MVI`uйdMQ_&+/ƅلJvorC{:%Xr԰KF_jˠZ{JmNcy6HhDZoj\c?cee_acP/ȯyK >i~2|U{793 4"±pm oS˰5Gw `aURu+_%E$l<$ϲQymtPJI5 Stk}9w0nCY)O榯^cevV`W oV-Cܴ#0ȶlM냾^)_z +ʏJj2T̎R\9F/dɤ $d_XG1͂md4!ݵ8HpjoܭvήSB9?A9|8X 'Jtcb%qt&\-d&dvƗꍹOZzT1ǺH%+,,  %0K@9(w:qDƎ@wR0zLZ/[YLr7^?pٌEpL6H 3*Wr%V+|`(YbN߆PEُ9X{nkcr[!S4@=oIGBd4dW5q|{i іA׀pDՂyYo[aKf{YB +0)EmG˴kB]USQXqM+VgSΖ%b}ȘJ6UEXݸˆ "LT4U^V"MVK>}|\>#rǼBއ|C-V(c:X1\'P' +;,y+ұ R:K=dCltQ(a}031K2hum^{w';ݍ~ +ބVmSoOm\&kARx+G+ёRJ̽I={PX%N-s6Fԟ)mbl WbIސ ryx 5۷o̓LIk}NS/+jzY7r:9Ady'ŒO'١cX({eW*,bwCZ5#hW\p9*_& 3mzG4կɀ*z!n qks6PGwmR$zԼ?. )ؼK׋_͚X.Qhjpl \ߔkT[oOQ-{x. keO,$éMR(+.#&d6Hb|<^x`H"~ +l#tjró\+[4臦DgtvCN< ͮPi`Xɠ4`.?+3VY趧7jO{TKMֿlVU E\NgѕTY^oHSp݋|ſB2 + ܑZJL!XGՈ&g[UQmޢ)[9V7,dYI (ۦ(Cp^<| z{+Ԣ~{|H"h)Y|>91_Akq2b!^PdV+gx) ILTa֮q~FQƍDvqhprK^ @咱ג9N%cSɏJӇxGI[ .hgWI5+\8zX:%=i% n,!Xl{&'DwQaMZɠ$Ru;5e#(;h(NfNff`EU"nAKLG'L')dԘyXn?$k@:6 ͟ ;#Pm`-^ +mC6:<sS'@ɭ SV1ZZƯȏrMyCI0]/]H--ꆿ!#DtX l5_yۚnM7چ)dU%"P6Y.ޔGJE1ݺxRB&c&ġ\qB@, R@RyB@VIHHr\nH# 2EQ}UBUj\5WGSmrT0I=rk<+I2`X]3섈e WPIӞ]1Z1=Shk[6\HHZ9XEYǷ΢]{qx7|t?KxN{hӶzT~&meKy+eSo-ikV?O{ףpg㙢 ?=ǻ4"鰣)'Ql(=ctmZ,k] CtH?i_RMtس.Vz@%f}5Bqe1~|lҀlk{na LKeh= β.ppFsjf6&ccU9 Lы+N tÕJ"q*:{*6/'Zk̉Xet34^.u-^HothEQdNc*/߭U?+qc԰{B齵_cIU#&8| Һ\rL`ݰGlJ2[)'Qx:аTM#($);ozf&mRuSV:˷Wb-?]M7n3M9// P7re t Lav_~[Md}j*OZFGlFQb2[_QWH 5(jlPZ ۍ]bWbu w\9^+P\X(gwܢ[ȅ +{'yEOxBq,hf҇t]{7^nJ_fxgd\%8Y}2+t>0à +'kx05 - xP53]+RE@Klt?(`^Do%ZD_dx+eL p +.}ˌ`k)/70YYrahoO^x!{$jWQ{--خT[>U5,Ve+j eE_ۚ}s}K:Eu(Bz<3ǎDG?xe<PJzSS-S\Tď[`Z+~ *@FHZ|ȃ^H๛xL`mHn ?0*0?& 6zw>2(+uϠNhu jzV,UDМDždg^wG|qV$ۄ';.1(0 +LVIHbq~Jr#')ͼ\lx$↸w*7.i' &3u(i}C[hԭd2@eݤPUI/Ki/eMvY_uRJ)TH5ܺ>K چt /NTdhUPPCKdgr=f@ ֳNUy:0Y6 &?&؟gF9c(|h$&7XYw/@V/u7B1(ل.C2w$kkns)kHSTC0gc4y6(>RUjLjI8#I;ޛtscBx9dlH9N%JUJ5"t\2 w"#2'ɺM^l Efd7^_L%h4ka,k|?I!gXSR5 nmJ lAcEc+w>i d|_&oc5*_Ҡs-cX#h2o*~iېF88k F[e+^_ch2%Y/HǏN&v", \Qr" +XNPyF*G\3R04ȆNFi^4f惴  wƙHIǶC$3ۇtG"3XmMUn]R("AQPP\i)RD @BB=drߓL(Z]h=#]/,/{cYHԏ%"Z0V(b8sİ=IwQh~̵= cVAH$Q`G;#p(5k0PqPXaR{e\Clds8=a gثׅg^W3v0͊{!3 p8_D"%CEWaDMi<]SVɩeXe +8@~2ˍص0?2\\Kݤ3_w+<$JLHΔr00M#.ɞ DIid(<v;s0xN{{dOg:%hНf)P6Ru٪;aՒO!9(NY^FyO tGbvl! nE#i%`2F?a/u@EF+FUoe~fUL9(ibp$$R1%FD#]tƘdB5:%!309lqz^ZYIh֤TJQ.ĈXD;* +ƀ(p~긗Q|Dǝ]GGKk ޤ;Ѫ31Ey+k$sҶ`FUBD94%zLyI]*=O(u,9wfh(Ŀ=jKKSmCt9+MaB$/HVV(o~wy8Q{ۛi-.[it8Tgb*~Gfr'uFgP%z(iH<NRB$<4#"?-s ❼$ Mo}yvoze0]S6?_yO?0wTm2f-B>oon8WWSۆ?.SXII5F}]rܺwdFʈP-n%~aM!GY=N[.NW JˍBAʩi\RJ|ʣ1|%iG.oxyҭ |eJ/C:iP7юt-XYo+>$lɐ1twc#>kB;ٴ.mۢ!vF(;K\)w5g5O:`DU4cc}ILmHo@V+ʲ7(Dr eXdsso,Toz?Kry +i{Xs~,m)1--&5-/m7hyvu n ջmߖ9Ns1g%"[)3TFKt^uMROKU%13BK("s@bbrì{\sm[=o! +pC( Xy2(3@y7tMt{1SUM6J6Y&m"'_#U`ȩD*kŒfyI4BD^'W@qE\9=GKķyAvYf+sڼElj5Hdwl_T +yJo+I`fq>&]yVO#~Wm=H/TdZuA ZPI (ph7`ZM`m 2 N'<Κ`˴Z 4(>&E&3W;COU7anbP\Wu7Poq;ug'8HD^]k*_m;0~n +EuU}sZ%jQ[S"ʹ5W%"R^&s8i^ *ks w[c̳TQM +UX % CR>L5 BI $DY-VDGVpr>ϱ^bw/h\PCGD@^OvU0nY@ ziTUL2M+u!EfN5ݓ[ +N`p 'b=xI!Hpb xR49}6H nNi,h眹ࣚPƪLUͷ̮PUEI2v6T|Uے *%ONar xA _p&#%SIcKC[CסW[5L]_enU]zFTq6%oj3@F7qJHʠћsLEp_K=L [@ g=|2nlRZ+Tu{!;X:r-w;&3>>(}83u)<6k+$< "0Xxʵ?Dlgxnm0Cu}ݖ-Ca'Ɗ+G=w] 򂱀/CљXW>V{m4Yȸ% +xSWT/XZ`WPGՙ.Fns +[XԊ]7~#{+/!Vq2f^U<Ȃ6~bbG.K'ʫ43wEV9Hpxȿ:N5S܃JZ]X3qNxm'8!k$J<bBHaA.Vl#lJRD |{ NxOg:K->~jN BG@+bV~jB ˠU?Q@PrioHSR64 3{ayd,;TXL\GdYܝQv1YhLXjNĠ>itsu+sCReC9*89AYq53kA6z};Zl SrKsI_uĒfy+T7W򍩂g5 z?(hfG/9E)112H4:.|ƍH8ߗEmޗ2uU]#Gr$ j([Ӡ5%Ӻq$hV-4O9,^^»ꗧb8q éedi" +hߊik/X0f [?n(T~}-UJf|4kT2'0y1<%GPY*c7O_8fgg|c4&ZK癎޹3BS/S%gd5⏩DG<ùω mdn5[pQ[lOZiV?船̼P{XaidhmumWiy(UuRY|4(,YOF}X8@͋$&Ây2᭭mAay:Lv);gl+ n ?gNr M[wug *җiR$>7p W`KĚoh7ﯹ Q*[e +mQ9@tp$;֦ɆP.a_U؜Y>ղ+<@a僕G߶@16E{nFDQSc rkviw&ΫDDWz+NH +%;Yݰͮ>Æmfwm1rv:uB'՛QIWq8oϓ}^ +]yWv#&9kRdzG.^qGXfs XxTK1]*0P" *v0r$[ cOҖ-t#: + %ra$ax1W1X,VKZ4xU0vE)-RpW<)8+xY@y*J%cH4Yn.Cm/xĵ颥,JəApQjBoTeM>6Dx(RSx'푈i˝o&MZ>+e +I_r!aq'м CP`cth%/([ uP=\1ꩥ3z1svG\9 ; +9r ͸39f"rTcHy9r T +=Ld޲o z=#|l*~݇ѯ_ +Cy79z΅[)ݚxJb)4J刉 }ЙaI0*WeMTf\lmUj>!r@#"/vh؉dK0Uci֊1l)k*{9V;Ǯ +[}k\gm< s 4}M^ F䞜۝E\ SCe%ba[ёMtrIkRۢ o`D݇ jnൠ +*Q;swq5ɉ꩚ʋ7JJZB%@.&xC%MpIl`X&>)Kȡ^~K.Tn16L42 >٘& u8sԩ)9W?}^n%az)ԺU4}Ә7(!wC)Gi +i;)*.\MGwX*}l7V3wAyѰϪљݤ/ &(UΠ(t$F5L[͘ HMu5BcR19Tā>;-6g9qϬ~_np0!1_6t}fsNbfT&3+Lm# 陘tIltMq@U~\nX]ruw;A`Y pHwa9d 64.|c1p>^vPq=3bmU/p b@LKk&B-?|$b_ʈ\X{Nvq俢ӛz5SLA $tY cLx]Ui6Q^@;iAl{C|3~ѷRuP?1ßU +|"8iLeMuUƀ]%uR.(o5Y:Q X*JIi& +˭K N0zt`ga?o Йױό.,[CU@.Kd'֍ٛ,@vx#L1tLƻN?ǻwNߋ:/ ~m[ +Vy^ܻl%v(RNZPx {%.9sE[gַ䀠u7̱żԸѳM/ZAި 5hS~?XSωΕ,G~+olsu{\ce÷O#OW6& + qBc0B_0N^@lߣ1 +\UmOܪl]]>kau; z%~"|&G* 'r݋/dҊ)#%ɩ#%b4(RYWp-#(LIep >VIҎJn jܘJͿ8!CV#917(kyn{:Q׀Z,Eu%B +WbW*ϋ.^ijq%42Q-/f, B/^j|P礚Y\5uj ORQ_NuTA}0#[2ۣ&} PgʢxgM&ȘseHGZ9h&E$t '*AGаŲhaZ/d:YНW +&?3l@F0b](w H|2(Ϊ1Yý[r fK@HCL0s*D?2u"z H04󴮌Oݩ]M#BU=/J ”qeWNB 6Զy#șO=MasEmj(bxPR4RR"L20~^um%-RAU#9pІfٴꛏ!ce0A6w2ȡDŔ>Z5ڎڸ`5~ FQ+wȡC"Wτ +.wfagM_Z qe[ )i a_ltEi7[ϰ؃} +Z*&tL5y:RZms{ o>3<)o/ +&`1|/Hcf.r^]$ɉ+Lz'1y G=(45vk='[`Ub4 C!A=Ic-$?/{ؽxSqkQZp.g=QB2Kݾ˟BO@ G가]Ar`= bN9.'!*\IlZžrjE3}]x_hپR[kX 5 >n +;9L`4$8pz ?ӉRW%\]noѳ˷0Zl1' .'reN.!I<"ude 'լGT]PQӏST.I(^ҿ2:$zWcD ]NGh/d!`#W <Ҟ0 +ƂHD/K cT\v2z`x Ix %>?0Z :,XK;R/QdTԗ=mէPcӢ;dbf7rQ' IfbX$NJJ<̻fCJrX<ǾNs3yn[C-w!Q&S|WqI]%}dJOy[YRD|Ł&DtHߑ% 7RH=jxm+o.wPVi3֕ުӊHR2J 1ԣX` sdDTx @*G ^UlH?JIAh |0 rZ_v{ &J_kVr\uOlo /k\U$fv@uzF|| +L8?xCKC0SD$"y&u3p}} ףC\VWk7vK(/ͻtߣ3l~&'yD*P1eyrɴz\ j;43kƢb?Ay+]7ͼn)KiG̼lA6[g# 2.T{֣l>$d{ )WL| +/(/"!ET<:[HVԎjNI/}PbV+ZMlZ7TG,? g#P9)k?>}?,aSK O2OQ尟1#΢#iCqUl'ߧ +ɞ5<9Qs6">%JYKH:BoS~[F' +6 y9|CWOA7m0??-~;]D8!w趠t9h` x񅩒6\w%Vϊm9#u^҉&r.ԫof°(7BQZr#7[>zf_e&^Ė\bbauC3xO}TLIRzCgGz㡉J(^7<{"VǵbޠXLhtOhC:lk5EDZ3d5y]6^)RJʠ5U p}Eb^@|0<N,PCGs8.ؙ, 6SIoiȵp.!Ct~{H߀TI}\sK%uE#/Kso!3'kӅMpt.o9e[q/X V^Dzl +2Mlv^t%X*m mx.)+EL8bZm5#+X%8$/622l6_g}:3P|XaEsq[7{-IU3uh.FgWs{rjйV-< 6?5 +u=* bYf->D"`*'n3$t]΅`^ qoZ)(w`a3N` +y4Ю 0sY'lyN ےJ_Ky"jpb,Gm-cX"\9 +n6U; cwx(;e Pȍ 4&> C}Z}lnGo'd~O}6@IdCI yXԴ}dN!|-6Q^gJ-TKuCOBCz`O/tE?lk`70st1v "b@1xp#kK" d&S42^PR?H(oJ"~rF|+E#nŴPԮ~*1A0QJѸ ҂l]Dx +HWSXnM8i.x"dq&o/ds0*T{7._sSf^fG2v. ∏d4fy>IZ8!JKx 2T$(kEy˳Sv7AA +W0y |-qE8;O9JY%%Z 34qDKZD$AL Lb}:{*{Ta~BR *(wJJ.vM"ۦHZV[[QGEw. c03Ɲqwr)'l:Q{jn)Wz>^6m{+>S߄*)#SyfBu!&'@:!k_X/y^x=|hVouv +SQPSWIZ/ +.ה%X寄qq\F!RO%`™&rDʽ +e^UQ#ko)7I)+G~^bM-XQ9UNiF4?KX B~2&=96(f1-d o,z̰] {ܬI5vەocw8^,o i1ŽDQNAD%pl-$Yծ0b߸ac:Gu6Xv&iV=h~rYKo?܆պpyW/~|Cx&Q_QV@?^uv/#Q0$P6=-vc=4XTWd4-9v9;W91v?S"++'l߹ Y )>R'S+0$2 +MZqi0pL20SKXxcͷ8a vR]ZL;TR%yz~oPN3C\>,Jx%H gh-۱drkOPCf6RR}%*A4*>cStzۗ#̫!TGGNͦt W gXhwl:ЈVr~8e +]A\ TA&B(} (Gk( IrH?>Dqf.-eC9Y{S>+'Q[Jm[am+,(쩰W wW]*}e0mQj#m $ao & oN$ކGA=렻p*'/1TX}]QtXF5]KfƏ]&z4<&*?ϙT+'[a&іtU^-uJ GP"پRmvd`lJ8ja+7ovKq|ԉaK>3PSF\n37=}>&RSQjdjkrBx̿`яĨhQG`?Xva& +3W0PAWKmha|M^NJ1[ڇiȩd(Yhϕt7M\{d0H,4+Z 齠q/NR "AgWԿ@LA+o %z!7ȅeD8"%${]#y԰j?SG R" e7!~$go#IID;-$"'V/6ZD+!a3H!74tlkKZYAH7k_{%lɆq'*ZOD3O[5 0cA>e۳P(Fyj8~$dui<\]'Ҫ YSE*:_M,aИ̐0:e,'칊=,DOl6Ys`#Qi2#}sq#[W rg= 0WfFLd(?҄hwZÉ+82$\l ķ" Lj!/kN6?QW@MpFsЋ +gA2;+4`}&'$V?´=P!ouEZv$ e&mܡvjP{(REd--^7f5z4ofbZjи5RUmU}s*ޤ&I:| ͋3`HXs[ +G֯pz @$v/y+ԧA3r&xN^!GW D_™U?' o-+םiif z BUy;'_~x:] +pJ6$/-Ez>iך<2 մ$Ϊos> +k& %et=[~7eV+0!eG.W3՞ۖlO%M:Wsσu`fѣJ@_l'ܤq^7 +TN~xqN+\x^.b...סT^NTͭciDF`M DVqvv\T2nS^i}GH{/2_K 8;P#$6 q䟥g9wdg=E&N1oxZ>~zQ`!pϢXd(A:+?5.M>uGF,RId .5n/qRj~\tx5,㫣o 5킕S"$sqV +'t|Sd7ݲuTx_,T$l!!'ԋ([ 6:H}4Oj3;) Gn'_FV//oJTHj*$Yw%Wj^3^A_GM7`Ŝ7x7Re +"%jvІ)Ri{ι55Rf?YG6Kn٬3<ȇJۨJu5.)k;<B˾(xpIAs*y\G@k&>&a3>6á / H`2GW .L]Pԉ({~ ߢ+^g!B2c +sb6.)YW[<վ\ȴ~&rK4M&B iY^BbQ{bK43Q^psZ1r+&\!Lx=_!%2aL ;P*֙P6* d@06:=n.vf#Ow L:5y3E_#w TH\P< Z i"t YhQ>5\9 <VH?ɹcA0e7čut>%(dx*]##f]* w4 5V砕)E(6 }zr@^ ,j\rE򑺄:k_=UDXڢLbq7lE +t|U"@iG/ (< 6/~ىts'!:RGw1r[c|z^Y+zT])MZ;Lҋ2v}#7y֙ +cu2 a*X[gtG=K Z [2jʌds~柹 +7V"m#'mM֎m?k0&)ukԥי2UWSuu?I5*jf$ӻghULOīAcP=!QS{>Xm吺7z{Z33_F9M ._a4m0(CPVm\HdEbXf+inqֻO]ny{%)y/rܷB/w9:}13Mc 1OyUgV׀pXHlC&6A8P󧸾oi!X WS`QPJYD4P@uSyqDa@n# F#OA-jV}h#T_ X&>%q a̿xvh/H?AW1g?BrM BcGwYnzKg5mHե+XAUqiy꿘L}}[jH-#wѽХ0L+-3zXi6y8E\nx(n$o{}Qmbо)Ou%H  +-d94Ȟ&c'q[t"lLt 5:dol +5:.C?hdW)/*WyNSzK}EQ*S5lo4#;x;cDGbV{o#7`AU,ڴ:ś,Rȟm)dO{pCՂ]гrKU<t=N]SEN7\G3J&n߀o?v3ucsOdChB˕1ddІ84<쇏Ֆ޳e1+3 9~ީ@tm/7U#"/ؖ&1b +zH|tkNv4݁"ڶc^hxJ!Uw=$ +Us07vӽ)F#UeGK2oٚ \&x)J^ee42}rOfXN%ɛU0YآidT/ )LT~AAӛ3 ,ҁWFXȥL`=k|Wcq2hcU~EypH\")\J٭ڐ}fyTqGqt]~Ӂ.JS6L +F,R2:+ކ^t4¯XpVѺfo`F(xW:*P|2V泯Ny9Պ+\x%m[x<l /HL;`MLQܵuuPʹy|>j* +b E;<#߽+qS@nO~!1 y:5%p!`^5/ U&qûw6kf\w7PGsj7Gd"?O"rl.D >gDIdO s8H@X%~Їՙ^Ivl}S8-:Wid%s\NC2i{_"G\"O$sm1/j6(\@y f%$1 #pn7+gu8UkK3b&8*ҩ<2܈#{i`3no{izG,= +z㑖yjkn/neM^$uHgCSLԏߑ1;GJvi$Dr0=V@ltf؊s3E|$uXv=/nLIƧ1gbL*",59ES]UJ䝢Pjts5MS-l[WȺWXG}^|E? `ūE@u@)6Pު;6q0Ո8 +Nz9Aۏ6 +gs׃ʝgq3IumߪW؊?"l޾>KLHƎMÒZ]:R?!+Br s}VcVXX}UTw'ѻ$7P.ҡAbw0,to9}p}E3i&B! 襝zΪکmIJ-OI-i]{ѷjeg:ѾЁYӋN:@4Ҽ;9馝7ݶ~{5ٔI5X|!/xCvVb˛BK~jDrNG6 C]P'2hÛ yq2ρr}<3ݱ$RzrL~ϣVkafi#4/ϝA;҇G`Z{ ?VA@M[w>rn vb%ֽ8"B`:.2(:$DjXA÷p`F#TaAM恠c1;slן)uE3n23ptzGm Ӟd>LI^ Y,|d ( +vApmJ7m46N+WYY5nvˀi*UF?SYTl {4#KNⷼ~!#'xj',E[9 KS$Ln =v'ÅVl@6bY>o:sd`j '8ز ;T߀S5aY +ma8Sm&Srz6K9Z,^ZtF5z- [ ئ7=i @>B`1:͏To-Whٗ oַ>RjO*E(zEN HEN_vHT`3;[o7P:R1 !+FwZ&eDF{ -E)YO9ɒ{i!hϬ4,;ny v60L/1.0Kdw +`/?z^9|u; gCWi5_S&?lR8/MO(񏪙ZzPzQ㋞\0>bD; grP/ٿOx/ص?52g)G+󨇇38y%>qU XLhDV5c»oVO$~/?Jmu3;)*]r;RˁY.-O,Kl捧膒G!dl2?72Os8qOCMIZj0MNa`e\%: -@A50-gA TmJUƥdrd qY5{~KO;GS\cck*4 Uc?Qfk-] td#7t`{el4TB['Q:(#7()BL @A't'N縆iB_v]U`A+DemOi,'>YLsGT)e" Sp V2ϷBY)מ\ix?X;"Ħ$>BZ +sYvvb~ߖ2άϙ(]LzkOi%'Q*<0Di|bGCv&ugeivV5Z\5qMqC:k7OF)=8q'"G&Bnf,hÿ#YGql~ #fĭe"8Z79Goi)oEj17nm!.{I?գ^7B$aQӭ9CO-r[(Ec2k7?/>v`Z̹2M(6eKtTn"ج#q?^hK?̇gbCuN'k+R'7^TjY0ӕ\ڨY7ΞD+- _S&`n'AoBCzo~Zx )na*Kt9GaHY>tZ_tXYĘ=\gT57I g9O/ɺx?cyO`J~jmw3X";¬&Z +pO7rʘ9ٴ6$oIc%HԌ݃'S->n=X>eB[oSL 5+`߳8$ +3G*|뚗|Mwr Sy"ȡ;Iڼ8_?C6uxPPڮ =v%pHqy~In<٢|KHKCz7ZIi KA+Q +.SK!$X#,~ByM `MʺkJdwb6~pfhe|C|;,O`>8?#@iI !McdzD36TOv7؀% u;+fKrҷSm~˞nV~#kT46:朷;܈&Ew>W\iaaC>$.PZFY~Z6XԞ]-VNBx]y'R*yʒ Ge( ")C ,/Q.-ȟ憀Rz][U'4ѹJZwRi3EWlo,.R$e BU2!Yl1ׄV7_8.]Ҁp={}r .)W=۩̔géaxIL$Y|St&xN[/91_7kmMDKGjF/͝&o=WmWT4 e\1FB(X65*T_x -6EZDǮ:П%U^ӵn\MX?Mz*kڴUOrB‡eEnK7C"Ls!xl6+CSeyv*EIdoC7✾\RwVRҰiwK eyS@=R) uTĕ\h;M 0GX9eB\T 2s0IzbuYu /WǙ:(InDùGǰ~q=_9G&E|^G%UݹSf'g($O^.Pe3)a"^̀Nc}A枝}D ˑPb-iv||95k}[[t^A gUTt%Sb$'s-bD<q#M?P[[[Fl[I my5VӚЌ؎ڜw'iǿ4ϻ8U +-E0u0x9|{|h[>zBDtuSMKVs֒*Ľ{_Cܝ .NQ/Pgcݓ3r\MK,NKrśzqRNSPku9!-vWF(ԙ"ݑ?xdii=p*S&+\{Y<`FI_ 美15}A dzd*qVܶ`Hk#zuPVŐ)YG߭N>+OᙢQM1궵)rkB?2Rvcf0o/8|V:ml0 &>zE< /V޸#˴h >`2AˠAG*ֻgp0L=9í X8VNFybxӝO\I*0+M)EAXϚaE N<09ӄFXaƍZ7,sY0#rtɼ1^Wbr;ϔ !ð1pV|,roqg{`OFcXՅ]ZdVOɆ5ͦjXJg2Dž vc܇JtΤeK0Xq_GcG-1߰<*˪YkJHq О-T@k+Y2PnJ2.XBd%lrr8ѷUZz'zZSQ5ͼF +IU, sc;ygq k}dFlse!%Q`➳WoOV khVxD6W8~;)`ZByaUҗIu%կ4CNBU>\ẖKJA ԡ !T%dh& < صcQAwa끎W\+F r 1v87Ju!t> [ SqYDMӘ E#?V/h.< f kQ.;ԓjzDcuXWPfB4ǓO]yOP/04tbACXyvst1!HH.-O~ĩr<(&EBX*$ t +@o w%̺ O`z!x6`/ğ y 𑐗׭{@34b«d*X߯'=$`hd Is^I^ fs=^WgO{9 *y$OϣDC<?)Ǐ\ߧ^H(bJRd)5~;)DA@WY8c& +ݣĀMV4e$&IV,F$iDk[ns-tNuQK orgBУ!#_2b+&3퓧w+r7ko}JQkIaJx6ψIj+9)dgE<>Lm GKȲJ9>` l]휹[n`NXksړ4u]bb󌉕 Si ۷dz.dRh^<(8PIfLsGkq'\o5ï]Njqp95;Oα'F*t#.8.h=*|o\T |@:編eṕBmbWXTvI3 ~Ev=!|O"U}.]!9(+z~wрK:fw{ + +ߚLk$*95?_Kw⇧3"~G}]fQ0/qP9)Ͱ^ιܡ b!+6t#<^5[AƛUcU#BQkZ nO;<.F%m{q%,Ani.7ȹaX8-b*i؟a@^Czksn꒑e .jͪ_.NpSJ&UQۂ3 %,UNb2Hh43Fh"[ )sy'gRj?e!h3RߪPjFBWY(-]<+{/s2լ ?cmK (^Aeq2fwl)7F؎UZ T o+odU!28zq>ՇvǷa[X_0s+sc]wkC*mKN0Tjk<`َ6~E fzJ*t sy_s5+uagt>x§'Wxc*mwS?YZzybU* }q=QVW _|l&o3 54 /"/;]&\yGɼ呄2D +O؀@8@?"֬] V#gNzw7Tqz2z0ædo 0WOMnXX"Eyiq*T[7BVWd + )拏X@w࣫;٥@of2߂:;̄p[FXT&}$ "&,[p TAAEUQ(KAdɒ 3@{!o$d $! +^zmX*\[V[~p-{2m +]824.Ar! h*9Eri@:]OF{nN;xh[{ pJb.!'ztZّCX{Q ΂S׵}PRG}d,TEfj Hus5?{O1TLBSA!=Le¿O-V >)&O ("nSlKp)@$L߰pPY!=|7W\3>liWG+CkID+˃ R[5Tw-?译Ӷ.Pe\P&)Qr Bj/#AkJpi51[2^2}#Y*KO5+&_*JCFБág|TFN$trkyx 2Rb ++㩈Ǖa|tZPP=(AkQxw[HpcIjڴbÂu&]Um$?qyj#(xVѾ'5Rv9Q=U.' #7?64ΐt5/{߶ۄNyY2U5vWY93QTT`mp>>z!9/AfX k%᱖$ V=o:8olu_!z֖f!8`ӳu0CQ{^mI0B+b<2|elPm˗3z֨&u8^)l:\/.h}߮v>_ayG׼{Kil1څ|2\lj\K{"m\ Xd`u}rvp=L @cB%%wf˽G;,;i ]|81?'X12 + g4y900\k0щj{("3Ij;*bvZعWL֦VӴ5;>M"cD_Gl I ,ҡxm+-> U%U!uB\nA$pCAw4 +&g!F'[IuNasTlL7FJk:Iq(]j~|xb=<Hw)NԐvw.ˁywQBoRU\:ێA^˘">dY[;oċ{ӷˮH %& FB4N1@zFJnZE+hS3C7#EbV6A6csF7O~-# X'gAyz'ZRо> woGMx^ߪI]XW^E_p [z34 \8 YwY|pe=?DIb5耈ea=Π$e8V:۷+:-$lT=V91/L;OHʫ^'qsc8!gЛ]֬$[ߖH_tukӜlDǩD 7O$^ɥ9đ&Sxې*uC.%O !1A ' $Dek} 如8kKh&!;@032 t~J>`0pu[ӿEi\L~7RWz ZBw`@@[#r]K(, +A]j)SߙɆFdLC?/ muR%diA2nfsx̒"h' + !6AX32Kqn\c[9h,JBgJ{OpK{"3JPZq*u \d1P^:'xlH~q v¾Mn\f&HZRleX|V0^3Eo)^[2i4MUvt\DvdVt!Ƣ ԁ}aa0?_vyWT`V?JQKC!șE,zfYLCLPhG1&>z_/+.C}-(g`J16x(k]E.M~+ūD%3Z +u3}čqW"W%r*u)][m]F;c {1=*RۦB:vʶ kW8\=AaIK3WaS# !&Gϐ8݌Z,ܑN yiM7)e74rSp$f.n]qܾZwRq~So$sMD)7/>syi[D _f~wM +,r05:&? 8XyA$޲R3N6؀*g1~s)D&L8Cb}}zv.:A闊\Ձ-Qq IYRi&{1%K! +U;$n%čh?DY#);DDupOϾ["N') kxϢPiBjmn]r#J" +?s[NX8(J5Zrh?c "k^#aYzha`Oꚪgrda=K[Qb:I8 I +uX`/|[!Uk^ +lHm+0#V#*['1дBV(1 ;dZ/Vf#W2kS` 눋JI^W Ϳzu<ҩGK. 갂+3D542@+[?f{Yw2ma6q;/k+N0fZ)lR%=AǏ̤E#o, 1<*%m%5N/EKr:1'3T59(;h옎k]5=KK[)ȈE9B?>%R8S ~`ƥqmP}QS"4;H[t!OmaT)#?Let~17ent6D:ewu#-74uL|XNX9Lc?~S7oN(]T3)b3}G ; $dF&lVV7bg=iJxW8*@Oj4GK>^L>L;;SanH"39KjI`1|A[u2D{PE)QXi̅Xo'f%?h/BF$ݝ>PdCV ̹'}+ "q[$|2_cp7Rd;ljRa5tiKA(lŻb+N>IC8ZT|I]);k Q!axMrV[vzz6"Ծ(*v:mJ00܌dhDM]ϛfS}}~Ouwq&lǩP{W/o1 KR `9<nJ F%DD"S9oÎ;ݾENDhҀu(|$;*٫[uU8)2>,J*@;A TÖʔWpd;򃼆>ڥlAGen{9j£6g|p!/+(vhm*'8,M'PҌ' R洞X-qXOBH✟ۺEaJfl 'ՍJza7e֕ٙ]v]908 f;ցz':s3|#L0nI'=j_L1օmMڲ (Y_ +ލ`=l6&[X۫Hk +`7Dg8^3GZVA7G쬸!>Zo*xRXlId?n/N%LzгAqW yt[f)P`?{,%A;x@e=fU؋}?DbD\E B6,!dQx%oW/#N%SzZ05G Xʹ (B|4Am4a +H _ +[aA7SI\Kts1X \ $?͑dNnWOjC|%wkEL*qa +ݕ(8f$4aaL{:0x|GcD0/.h]M#B\j.Z 垀KǗ 6-rS̨BFI]t;jeL _<4ӂ/O$ ןp j~ +M{޻}K]|{]/cfE)謤 iX(zLW|J3CD ]SR9_f‹˃4nԏjRqVf#JC H=G|к0O;˾[))?]]~$Z"']H<߷ͷexáWJ~si4$YMքr'\u7^tD͛!/gi{[:\ݘJ8d$}q@1uVs 3%e}:I%mȩR"CqpkY~SwG[ORYCpW!,af2=C̈́:>Mh3^hFZb>D +[>.kwԮ0?srVg"pa{Xp+ax]ob3GZ\e-(?L/@k.yДWcH" ,o@r62-kC^Ve F+oH;p +aƽ˗s %p}1s `^h-Qr'޶A +`(]: m/QAZײF_v%}esY.8.`\nKX#F۽!Gn0٭q`g*-6,M4h5j4d=I97:<>f})ˊ[_鮸:@VUf4W"*fw6aX_t߆4WykӤMdX I<냣Phܱ >|f;|qS 9lSC{ Qy9B2vNۨTCSp}d"!d8QsPQ6Ilh5~"/  (K΁t9"0D+ y¿ ɫ4$8--ʏ9cE<׭x E"sOvU'B"𦈅neC_nku7׆p k?CM<‡uޤDu\oNT8sg^ocOFcӈW˱;1{vF)Qu^dX5Yn J#L۳eB^ D.Q:>vLlK۶vbX]TW mfU%:iDT( 6HC ~4v*$OrFPZF*etݥ_l@*1OD3+:d ?p<~ͼ-fiUw +̔N#IOBq3wEkR.)H1yY;`v|6 ``^r暋T1@ L[Xw:i Fcְj`Oٚ2ǣ\J"N#P*pJ ﵌x#T>N7A^y"EHP\8=t' +XЬ\ rtNˡʰvB({ʠ_F +Zcf^&\=6S E5\QB#76_]KU~C/njmQt":+m4omoo+$N~nׅC'Q M>4gM'&ۚe$[rU؊l)5Sp T0Njd8`˛[pgq'1G+uHkvEd1͡| qd3׌_s[>ug#y}Y >C" #_w/ ]O/#`-M۹adϑM{`?eưl `c':f4ҖqgBc&tE-Έb!ē7 r?*W ^6FawXÚȏBsY<*ql,YcD,%)c)/>Hp7W&9Dϊ-fIWՕRՓ\J c`FJM?9On='k E9)QCRZzhi<ߙ桙jǙR\ʆh]eZZKpgx.*Ad 1JBhtn1[}wXBnI<"C݈Mex6&OԤJi3PR +됿R~LxT8\bJjyO ("-aOWy{0WB.^HwFs)*j{hO~4[Yrh(3;kzܰYA_Y s\6Bjr^"lS@]ge4*-cVj<( nк#n(C7j͖4x_tISI*fE _nZm + wӐ{A]G/a:CE_CLUJ q@]dkoo{KGFe;`)tcY7Aom _K%<_Lal<0ݐw<5jNfS +Vy\Fy * ĦaX߲ mMnύȮ+E^HP¼6y׷P0՜'Mљ-@P2=ŮUr[+_8c!u0ko*ʓaԭgpfg,8׾4o(h1MOZh l)T{+W &,wW78NKɻ>KAg;WW_e\zJX[XPuͽ;WdxoSbe_`Fl,fNZ#לpP,_P,10=jgv;X 5dY;(ƹ7A%;*wD*&7EEJfcAtv z\Β w"zV<#q'ә}m>YN嗎VsCq6su`RQNH^vG%oفI&-%m*X8DM̠֮$W8#©ؿ[ #i&_d"$G(s/*Ҙ/ًJ낿a`~MhmT/Ef+M$Btn6 .Sn//Z)YUtcE  s3"(5?K(]G?ZNI"3"s0[^c]#&1qK'^L)݊Us֔c,ڌvVq96t.rYDt+pݮesf-HDԒخa+o@ '$[Px`r=v!R[o g)>"qy_B 88!cA^ffcdj9Yq>{wdP"$먠]K/KFxᯈ.WP]Ң_|/1vTW:[ +f܃.e2hrOIZt4KǤ + ӽ7S.8ۋ Ќt [s1jʞ3N>LZvV)/:CUN&KVGĈAcb?ױy>.*ēYKtK@V$q ̤~{uRPȇiOd8կSoȡҲP2A]pPL$a̯եY_=[%T~w4w&m#_>yڽBً?3k:øSKm&NbȭS{x\[?ih\=H RJ<'?o,ΤYEOyϵ"H$}ntdYMv溸x!F`J䂒Зl}Eot7Aĕ\evkjssyk8P0reCu/i"!%aeSbϘ!BRbc3^l]4[*' +w |̫߭Fr]h]W)_Ydv ))Uϲ=J>t[5 E`S|kng"Am-L322n|F ;ʍA29.-N +z>Oq'dK9->ÊH,F.8 5A]]؈~e|і&a._Ts6*Z&gG ",b䀞"3 hJ KUa=}҃2ǑLt~f8P(k֩L5[F@M+b[T^@6~/&,}ԅ8,Z ; %dzB)"0 +eFK+igM4Ñ-?yrk#iz"M3 +ǍH|aŮ] qГca1Àig4A1׀ C Q7ÒHU(-3 j59tZ7{uU.}&|5q8W3CdUFQi. Hb\~{I`עQrȱ hL98 0!El{´>QמFcߡ6 $l-\`tKWJVÛtJʌXE'212eJ@3Y~x _-;~Y @/iQ]WY9?>g\CPNY\G?|B@Βth<|Ww[YkfŐL7ރV@VuQ>8#Oc%d%YVHҥl't8`4SN+ظ7 o]L ]!u lS;(/-Ik6_{gU/{TٗV/kËT[{nf;d;`tI }+uMr15ǭFΚc&ۍh( +cQjJtzAt|寧h2s"m}FnSҶt}3Wv)bp&֖b8#1B '1& +Qɵ=fUZRSJgcCS:ܼadsuuw[LuƷApAjg+B7\GEW^$30JyVbAXZ$Cé/,wllgX<2m:=~> zPӼW0( q +/+mn".K(.p.)'ng>`'7glaNЕ\EyI7f|:74GȀS"tυ>99;`O{0k.ɔa8zQ~(;MM7n'9Qx:8@!Q>2 + rQOX_h:(O?״m4d_*YWw/7?\3l71Rl1/ oΓNk(>vyL]` |\fPCn-%7vNCGGm QK6g>дJjdtE1Hd.<1sQ: cb95|)XUZFZkCܘ~Wz0Gs\ b"@$L07> VEbw!mHNag}#zq)0}MD7X+콭#-IXŇ[tyWIkFU-Irb BdtšLu!v!&<%s8O;y>'{?jMΗH]R.}8Rtq?Ur:BkaH,zoAqEx_Ǹa ͳ bO^Ub%;g~{\:(kz^/ճcFIi^Ck\ o c~5ޡUę+'8cFD:66Ac^խu+Gl:$}o}XT<2YtR2ҘZ+0ٿeҨB #{1=hSO2?( '1rDm}26(VcŭȒʊu\B2rt]N{*V-ъ}V?Df~ =Vg[ayɿ*W)μU SѳGgO!vM%/vI[0]noF}l%mU!_Xiɖ76/T3+tXVvW7 J"շ@jpPK&ukz@{NFVxMurW ^X}#Oԫ7qj*1G}:5S&njԱwYZq6*DFi$|Lv:e#.3@ ڦZ L5)SELAR÷1CR ;'v.Dm 8+ t{;aрNp^)BlPb] P:[~epx kV @A~HxBr'-H'B!A 9]G2~"bLx*p훈 K(Xĺ$l}q$iXS\m䦒iA#(4#5E(-JNSgo;wwv5\.S#5CPCncY}޿{,eDoL< ΏSM@#s($&B5 +؊<;OE"|)q`M&PVхjeo3Jq*pь%F ̐(sL7#σC5 ~f^C\_s)pf\uɘ2o6T@#񬛌eRHbSl2ѠJX||ZCpԂũbz_/Tۤ(`5K e0/f,a9Dh YDwp׋(]ܧKlh9V249Tys~ YߒT 2觼sԈ7Ǹd!dR,5 6'w_E?&k?9blHL3g #d+ּZwd0}CNP59n)?`K%Bn*gߊ_`-噘?6e7Lnģ$n<=M|[WiaE:{XAqPl 0K-:'ߌJq?^[mP~{($ߖjȼF;i=Ȃh1agڰ.  ,?/y>  ۛrW i ]~΂qr[yb_8<'+qn_zj4wFMj`GtoRy{CiTO2)Шm휛~:1ʵ-ٷH6QP. +koU`/^!͐N>*߲EBqU> bƪPT_5d+arUla!Ӿ2/WNfC{٘R|NXm]/EzhR~NՕr|]ep5y(ky9RzTmtR#nղ[SbA<H)o5L+5 +ݲKu]i0o[uq@_ݾ){G$ PT´Wt)Bz3<%<˒Vz> ğUYQ[-5VJ& WD ["sVCwJ6fp{8^[;zWB((W;>(TOVi˲uO +y Q_Oa~JtgK [v3o(:SxyVA.#9/SP`.OU_J xnAxj;7w+;̼`l,?gTQa\O3_viE8셄ĦpcLM4c8FTË)p?_d̊ӺSӸ!}N{VcZz#Ptcwen=c><[TRa٢YVD Y ! +${$yTТ^ZVZ8s?x]<@e7sFs/-xHhi,J՟K Pd +~fSoe/UG75Hf<ѹ嫺MWB +[02 AC!s7[?IT>T}, 9vf?&^h I+DS' +dZi6ɺʍFCh +\6bHB(wOkWTvʊ;D*}lq)hy9m33I]5a+`` ^y剳a'Yl. 9PsG_A(~bNClY˩ʔ[Ќ@)_imDq` w5I,P^/Y $X3Л?Hh}b-#:ں7T0_4vBB~vn죙֬HsJ3wyTC#/J_I<_92'0gH^+ͶYKb5"{W#n)ͺZjPzFE=]%IWrx@oYK#L_:bgܥs,F]T"Vm=K=o|M94ReAIPUjNqݾ{eI!7'BbRw1#o9GDt-NJO׽1_U4$2|wNB(Fi&MKV1'ۙA:fLKf_`fHDQ BG΢V7Fs%L]q}"cۊC9lGϞHPC D QG߱:;/Jru]439 ((DANSo0O6}]x=Q=FjnjE,W^䭈'_ +.@ERϾA*3oQ=b7MEEY6 Z09_EⓔՂsOdy7"Nx%'1 LS䥶9̨֟$ +E" AeE]jǬ|.9ARx"~ +)mވpx@\^aw8 :uEJnk[mH^] +iڲk9%LWҐ^.v>~# L~hA6b==Q{:Zt-3&ٸ@C 7u5Y4&T2"9 J0ɜeQ^67w w%=ro.H64Wh SXm}=TSȬQoV&]D!]dG$JQG\@epI{MRwYEL%^]Q&U>ʣgwKJQc+Zoucv=w Vsx b !Ÿ>[5K86벂ZyufsRX#>nT 2+L<-" LsTw;4HhYp{0C@@CT+1Sp].ʸd9mj_ȯG]VW?vtþ}X{l{>jo u[snjpmTٔwJ2*˿ JPOHDu5ω0ٱ5ků#K,"ˤ!<>zNSĿEdgu!HQ[JZ'`q0g@GJqIϓR%H0%S@RrⓟQ\]}BJx2L!{(K_@)%Nzp(NΏ9QBrc/2ެk;]7*Q%rZtuq;")q[G@N-ݳ;N5ea-.o\[ezFMt#-f4cb +W4ƪ?:*iU^-i䏥,YxoF\@^#<@PY}=h+ĩnVag ܮib;k~' l խsA=y>&`{d^ь&ri< '{uw=r5|+z25g;87^͑Yoe_FP`N>h\_KX׏~)N`nz'_j"14ڋ%v#$B]phwҩr)OVҸ*f)BYRO%SO62#sR\R=5F #"aIk5N oFj[){\h;Ԥhﯦ5 h"ʪʊ*( TB@†  ;f|$!{"^JQ[qz`gF?|{ vjn HG~>FXhPc+K1?P|ӃʤfY֘-C$ax 1`K":yױd kNK&;W֕3qHq^=ɋVR&9ǕҀOĹ@Dt>)ޠ%8'xwI$0ݰ !BȹU5?C-R|¹BS?Ye{Pa$U'e 4:V%jsQݯT7BoH\ voN9)hwuɜe>'j#ێIrGנa#)K۪ۺ{`SYp6+(poﱷuZ7_G=l|pbA[81il77zzvӺ i*yFkFZJ ;%ցsWugR*ZCh7y2%D`ѩnƴVaaSOmQ;mXb6B,[1uW-1`zaItc5N8uU/tJ~5Nt^:mx9{H72^4 chmIʷ腘ꮤ]Aϻ1ߕi7sv;{mfOi!&|e\ -i6b 4fK# Yϵ0i1_5Lj4Dցi b&/=OYq0bTOd`ʑNѷc7lL]2v}v U'S:kɠГ~$7owK҇qpb z_Z&~ (wC+GW.p5֎ +3$lOVﱗ1Q>p{Gx˽ +rȧ}(}qOLfKT`56HMg&h@MB?+Hڝ!u#4.l4Հ7JvY{QUh|9[`1V4C8?4RBaѮd5)%w@{_b>ln&L ;PMX{qF^eB%,8q9iZ1Xĥ)q<3io_66eu9/OIlSO,CF7"|VO[uPc֊Uj9yYqe+.G`L#alcfi=9l_*|Odq|D4 &s4ΌRRĽ7"KD3;س߼-dܑ eH6gK[ +JwQdGhLBaMFu*V7&I-x{^8aD8w-W+@&:7 2 =SኸSTplu/,NU#Rn6\kXӷ$ +Y9ieZiZeYbqr4*2w˝}_^ET\paW5&ignٔ5O32o]~tyZMڕS(۶(IncZ`y~ ߝ"?f/u{ױgiy#g_2W%-9NJg/慻tPڃxs3-4C!eclU/w\;>BdqGԕC=9g/%ZsNzyģD?E ^ a:󆚆+rqop&Rzޔ.bmy_ +c#.4dLitOMNm-.ce^VlHGֆhycmihN"Z93Uvrw<DE9 ꇠz?Aqh[#ctwB50?ė;7TTl_dOsϝZ=ȮhşISR%OKR6jFګCowIFS +ʧ-rs~m>= l3@6ʋ}KсwVd*̝m"j;7Q#CaZJG|uIP^]cu&hF2wكsMjـpګ5EtY\p¾Y J%K~YI[4&7!*QIz-.5nmW&PX=I ulqUL5NWdg(I\*ZrE*rYv/q_ GtƘdYwxNVhvA)UT G6NW 5>jfw+\%[y#W4(_Z-` oMbY`ȕ/q+Z5PN<c(n%nfDIJ#)H߉בo J> {/Q߇(D`*z0* kP#=J\* 6'^aј4DC*9$J +ßAy +d-PUO82)%0j7 Ѽ@3 73SXOu{B)ãſSwQԓj7xQMeXun3-N+Kh pND< 8z9C?3뒟|P>yw*P[7Y曝 ^(݀EJ27`|9P U0@gDH$}b|;󰼀ǣyds5:+l.at-Z՘qRP$+ZB1lwz c xgֱ#wY$,^bO`C(اD^'c{>]x%m:ԮD˜`38fLܭ#!g%ד>*:ZJd]}ol]g%,sttky ;C6<*k"D۟"K~gm- 6Ӥd u5`H*A%/pVR62LiTEڕ_yUy<@kgFLHMQ^ϋ+ovZLcW롆!#d804#  5eI4 :~61"8NΘ!CxɴfIB3 Fݩ-PU5d^Qu-PZOBIW %O'r:uaPA +fD7bԟdV|)o1o{|d&; F(#wA+ ][,λLrzXp +\qv'NٷVXmMlZsNRv^9WZޕHJShS/qoB&3A0exf4ϝI۱Чif6xL~G{^[+z_؃׼ޢEvIpʉo?wOYg@;g(Սn 3hϡ +tco&v{+E W<}3rgV6ouǸ[53S܁\^HӁ8ThT/̫We Yg +{ { $!xakZ-1!L$g..5۬=[e1XژM\{W/brb&Ϸ@yOr'(dG0_}}fS~.d  b47{b\nTޏ>*v˵ +kW '.ۤbwi9P4ol~]c.sA22]2xfœn }9d7rY (F /G>܉QкfC!A~Oh;B`;>n!dn1Pj˿OZXpES1t5rB [RB=tmZ~ CjoCR'bp +_(`чHQW&j1\x:Z+ T?adDn%~~bsB2 =M^4Na2Qf =ݵVRO7V &?2N6+g픑f B6IG:gę>Ĕ6dAU?Қ0 [W1O>wkE"vY;_X\=}_>.8/eoAx>xU>Ž(rLy<)G~ 3-1l$'MI!>?[6-qce͚QZ7rl͠/Pt==Z%ьeT2]$e w )ugAq{g=(m Q&u5I>7GWA:h; v(!WA#Y`0VT"K2~W!‹FP0@D&`P~񾁇%w2h@"jCc!8RPT:o`r ~*~20 +*Lw6sǻm,אSgΞ`¸BAƖF/ϋ^CѪ@hL*')a!1$L<1 +j@3̼O8;u!br0.bUThT܎l?lׁw?G5InC'!G̖par~ߧl:eݕOo=,AoQ )a'lE_Qv6$ү+1N Y⌬NY s({72l3k *HopcxlJÊgv Ua`q{!/^I;:p1yRqI^˨.桪*`Qrco%vK8τr} f-w4vb5ݙ>ĎS&o If%m5te^H俦vL4RevQS+١7WZ1ȆqL2=ȴ(5r aŖ,%+z$.{3&[tR!PO +-nP +R|yX rw{3KM\N-upω5Oίm"=l C+ dG*2ʯԟ.73  %dݝ~3Js\{V~U&k$Zu!h/g H IKXE8CRˌ#BҖcb==Z~t$^iroeC2YoRVy*jm"-9;M!&rQbW, +OW{Q.[%v' +\1s]ej5cV)lPqz~v0b5'eWo=(, jVRľmjʵLIE!f)ʽw8R9;(ol6z +iZ|é6e͈zN_E\agGI(nm%8{ +,$Jv PhsFf~ +A!Q*O65 V +% B@T{v$Ƅ(cs} wCp||*}aя]mr{,gw +OӋCzL[~/ ea%ʵp=) {):Eimm鋁5s; ;s';ROp};p~hWrҕ:9h'ғ@x;aa"&ƼV"wzt#gýbо0Mܷ} :Lŵ+G^hD +z=A:q9oAz]*jE/:ū(ټeСj9ksft+rʛco:SZaDu~*Ѧ̎/6`[K>Œq(/ +`M )lFm-; \v?:{DQv= _ɮ/ s-3%+^74ASVw(J: P[#{z |ӣq.o>Vw32 +Ҙ{#\EPXDbS +aN7顝W=PF_b>A%3-&M[߱:\3YDm…?ߦ!ՁXlmFnIfI8c!LY[!FdNZFW 3\!7Z/m g}S)1ʈ-G)SH>5Eyu*Q+-|5KytQC +yzz>dO5w|Sk^'br!{ڎ1c^>YZXV.08zѻ1DI[>9Q-B(Av%VaKؠ줤?e~L$z/Z@[ax,# 1J!!僽ʎpI!:ćt:`)ٞ<0S:k=Qr>8b(z*Z[F}K--E$d#\G2d 2N39_H. ö9rs ,]G VfIB|<ʼn֓WKKC %ČpBd_1˙гYIw !>f^LuG&#wνCن0h8H6 +HGC$q[^iGW aqb>XA$Δ6णh m }>s\@(a#c-,tr?3mw7?MQO PM"+#  Fq(^@!I|0"N2B9 4Ofpe0,Js.=w4cwo  +}0ZXj(E8n{K[0h]]?*`Yq\(n> +Ȃ7qϹТB;cX03 ~dm xj\ OW;4\& ~^}.S ?|=hlLnlM` 3WІM׺j+Vx~ApC/Nvk:-Ѓ,]\KCr*ƌa~2+3caƾӢM$nnNN=vҹ:~/+r\@n0eH.; F5%R_J<@<㲅6<|Hhnk}uFz6Pgd} Au:^ l+Rփ%#F`ayhn0O;o aA>`e8h2 +ʚJ{m@T6Y)X|:Na18rJ俱ׇ+k;Qak5xFX) @~!RY2p}Km<\t9?1kr9 +KiGmuJB@r_Ǖk ~RF}K<)pp6W;2p,Y}k$ߔY+hhz<KCHgj) A7aֽd2p!-hM:2 "~1Zo'jF=1*kz% !}ݠ<[1G!]R+F]$G)zwX-ݒP )ZgXqjF MR!YGJLw|ؙocUqd^+r MٖD1>c"H﹟b4ʙnP h~W))ҩ!j3BB/t̵%3d5ɒ-=HS"ґTҳ}ňooD,Q!NbWjz*#QOEP"-QQ +n^"_FqYQ4Jo#G c(_dO(\~uo6}P! s}R\Υ.#)W|`H4_}Iw;d(fG1u]o `zKfbH&m7BtZJCԘV鷤}e ;z^>344&ťep8|=Ew +eZB)ĕcS,Ӆ'I ̈́ gnf^MPV98qXCʿ`Α06:CDO}m%vkT+/ŏJϙnDzlBb14\QiBKN~xm70yKd$~PLN[Mٴ3,cj_^`neh*5?l^7PܙЬ;XdH(VH/g'xAfɊ,Ȋi+CW9*,똈QUْՅ*ҦStJMMs>3<3<355J#%anu"_%wΗȵ|]( 23+K~Ґ![%v.6 _~J)VTتTqY>pcsQ/=([u-zDMo[t[.GhS2]uUOm6W ?G"/^V xY.A\C=>TusV(X!jeNC&ntLݩ껔 +٪8ٍ()#Wk:a<P` #R88DuL>F5Ad%-Z{[CJSMUP\e; +~"Y,T2lg~aF591؋YUE*E0i惺8t +aac+*Ȱj.O:t +n,wK.x6?J{yUnxQ[̣c+O;hHSסTK8ZΫ k=K53''ci 'WwLbQ;ZLLքtBerkW`gr&>f:NڹDånn#ԓT)ѽ9B4ZKz;eۡSNm*!JHV9n&[}Dǩo[-Q*SݎM6Ƙ 4$'-Da 1#JI=۫6:<1gz;,A5/N'#W>"K\aT>(8#'X쒄m"epџx[0dWqwM@VS 495xB"Xgh_ lܕvx;QO6XVZ Mܻy 42ł9=9~#T&f@] (Bn_N!)7G~:wE`ֺ+N }3Zilm>Q`i+*erJ2̑!vb*oaaE=mq}55R`H/W3YЎȢS&ck_,'#Ŋ*IZX7n&|v&Yp~cii7']G'H47$lMe¦uj'y>0Әw2 +6jNhtum 簦^!^,Y$@w>L0Yh~S`6[b+!Ch*Rv+5$[_) /H[R\y=쑏L_)Tv%kct͠b۪W"bڷHk uF>$ᲗɐM0aB \7BQ`D1_GQjKީ Fu +?m,h j/F˜-}9J)&W_p}&t>GXLpإv1?Cuep<#*()GE; Ԑ +EB(cxg+"]ϫiP6}_ގxիc>[ +64ɞ3rP3>@=ƫZ25Sq X| J̿_FůưoD;ՁQyiFҏP2;Ihd`I#h2)#>+.1"9|Vwׂӵc\0~'At aBkf6ZFDvfuRm!'mp"DV~XE}%)5 tbs<^1N-L#[di13B=ɗQ/ُ)/vޕd)O\[vz3g!q 5zl1oXUȀNwCM}t8;״xk6# CFz2pb^H!u8_+"j;acЗd<- llm 8~fa}ޣ'5V_P/sH#P7BeWgnUDr񟻆"o1,Vbwu*AJg;m[^¤yP +пOTuчGhyרj]J(WG ZQה솵 }@ϙyVr3@ͲFAHl }MUt\nG[(EEןxK6։SLć]#xRUNPT85<4S_ r *&pkwmcڵSzF*<2W&!5t궆76WmBL$Jo[Ao ABy8ӪPmhrk4y?ӋL>4e!Qہ_9< {S)9Mu*ֽ.΀8Gt۷nmZsXtjEj{r.`RUqhVAq(G+,uJ.пK^ +o̐؇2h]&kTEqo9=Ʉ $u[S5}UYGU{9Êx\Lj%L4xH&" #8hs*kWtѧO^AÊdĜ.;#֥ =e‰ꐜF&2.@ҙjIsre[֧HlչGOƊ-691 +u%˗Nʭ P|OYeE?ô7Ud d]J_@g(=?[|2^?')죢5oC٩%:eW&eQ ^hfRYLݠ%zU}+?'5Kl^4L)iɌҽSJ8;^js.K!1* Z9UbsF1O:O TEA5,MV+4"r{Ueta$%Vl"PÌR'Kw&P +ԘK:X7"5jQI{ˠ* W-@ЧYzu1 ?-s +P{*@ܽ' /RZ(b^u#6&4A6AeG[ќ<&D?D$\5Zza %p$v|}AquAp[(q!*8$*jǰ$5Ei ɿ $'Kם$rv\I$6;cxPX;NɐY^+oʷ ++&LܯgegAfع?uāp| KBcт("x[!!@ II&d23IfrSPQ*.}>^+ea{ߗԟX"E#6QTt.;+Q$F;u\<3`)#NʭEϧNt;$ ixbD>~eLX;G|U6akvvcTfcʶ FۢesZ2kzz mJTQ!vpyX%gQz # 0/&7^ ƹC?דmvW^*Rch?GAF[GS!\LW\C.=xU{80TJUo=p׭SpVl8 0ܩ+[,T43:=g wK[=)-hI1l!#O}~N dqUn.̗)f߅i#hԒsd͐)!* 7̕TfLVıUdP_B_UpڳfM }f>69+}8sW]hңupFnXvٔcDE|-23ǚM#ª +_vLu[ܑKo[X}s<.𡶣eRu&Aqm +gSTTwhmzMS=ܠ)b ;v c'c;EUЯUN @e+WM5FZqzH;[G)[c*v_┚pb}6.% no@ + ,nZ%BHn[ir7sJ)z'ZG=ZjqI>oKk3~D66xSV+sg;yx%G&@gw Kܴd)B6=V5 W# /#?q^C[㍟v@T~-j8 y5+7%b6'V* IIHO(nK.FGf;#e'g*Τ@gtQȣZ +$>BLg +h`yu8Y]-r!ۈ䅂7Ź\[˒:Rbq ҐNrm4ii|{\ f%UhG,G# SW#2@ +* (w[e}'+i"ذU7Vo]V,IևA%=5nKF8N> cA-PHf@90Sq},Qε?$Iɕu:ق$^-(`hIjAx2~K~GgӐ/U.D*TKE)pR&IvV#I ~}QW\Mjy`?hfsN_Sr?~h#&0@ta]tܹ4AgռCwHC !*ҹ<.KWFu1 䶎hb}ւxy:QbMaiUxgRDw(vEKVȴ.ʔp 8u+4ڔ^5s#vwG{h|;ß+"n~ +dtٹI)G)bS&=8X\E (Z'CYW:wQ{3 Nmv,22/$m04VbctO#JjY+α.NzNλ%yշfRŜ8pwDсe;4hE JSRcRj:FLs5LsgܦR$a*<І˗cnx?x5>q`6#n}8\QjI?Οab04,#LLӭlAJ.s)pXbhpv][tL6ѣ8_W^ #^.6g-eMj^/M^GWnqxa|yd?1 ?/h%a&3*@WKEQe)\bEQe4.&oӯ'Z]iZ8,H QS> APgO8|6V-򍥚4N.73BwDiѺڤB3c@fԶUpʧ|\`&@BN0OՠzּŅ=@{qb_l6xCݩq~ _֞]Qvo6qnW!WBu?_H؏wV"MxaGѲ^C.5g9Zp[3լZ JP~=:R Y-+l 'SV;:no9z1|JӨ(]i0 `,,mrGTR)oEHW܆N̑HѐiW@{˱OO嶁/wMVP^w-CEl&#>#@cSdFƨIfsltQ%s:>\R=sl={]#UIXeס*QB^O"LGR@u-ID*KtQ\M@Y2:xP#_P,z +KH]C8e~ Z:cQ, $C=J9KD o_LXw&\Pگ +,K,*!iwcUa)7Fe2GZwЊ<D?,kv_jl1rk}G4)[A?<>4{M` d(DlM1-bj+sh bpڿnGil#B\_ )Ws։JD% m-+ 9!sR* +gMFbw]qO8]3Q3uzqcJ2+h#MrO KU+O|̳~_}۸<ʴsTv,C`5. b ';Df7J?TXT2 "eE&*H&EZhhB &)7w X`XGqWuGe8 +#Xg s}hR/^H"IO}L睽X@] (__H1zCGJ4Z2zJ@![=LlT&ĺeD@ߐ,i$z;'x>V? (^k}g]UNO@TkS9N3f*hdht Z1#S:yN py+3t.&-S'd~?DzS[NF}>ϒ"=U?,yLx|1"Y1lI%"'h"ؖ?rh;^2:uv3dq՝*4I!^?rm2Lȵ$?ٓHcǗXHa R7gdXsЛY6lV:rglL#!h%7 +ˆBu6p@YeI?y ޢ.*rBpt W9kϼ +CsqBRm$c@S>cqr6DB _5<_tC6闆նp%ˣ\VMCpj+z^Y3,! ,jN,=a5mowSz7-0=ʯuCCk a;$в6;_Z=Ȯ->@Xtx¥5z*7h]=6K׭MW/ՄoXb_"q؇.\VDloob=j17yxM@U@3ƻԼڦ=G i5_561*&檠pٮ;^⼶rWmr;XkS>,6Tmħ/]cCー~6Hw%мh>قV[+B@~l'B׹c. %}}2Y}um]8s)o#gږRVg-iR;8! =b'-O3A;.y= ;M?%Qyy 8xθ9NU&vY9ۙqPN-~yKN?rD[<3!$_Hbp@'>'@7 `ң45I0sxXrW#{'%ׁ]%=j>htPƃiS}J|ax"^ݮK3҈ HJDZYV"H3aooĕTM($~pXxpq3XuBk +=hq_?H W;Mq=:?*-eਬ$OD 3qRCbB"3V}YwP;mdžef b>1ҢG\T}UzRtB ^9B-41,ҭgArD~!oTI0"uqůG_( D ucySU 3|+5{_³=Sa Hٌ{{REB"!n)´zIRK|`/%z~7”kAWW /;yC܅h͒AZQ0+s7?$@e3é7Aa*J sy +cx'[[wL"^h5h&j7J;Qp3dh~ΡBs\a:'"OȊisȴ}2Pb?X*-@0˚pPH +R(M+5 t!@@z#$$!]\Wꪧ vtf/W,^$eeSRs~+ZPaٍDžeE|U͜Јj~s mCFA?jLۇkou퉻Uq2NP~7S9bwYTLP?" P2g5807a+pBFW&UY +,FiMmG9yAnێ-!l?kko2O7;Co?>C?)tEn)kw3 zeDHI Ip'}xzr 0NfTk,cIb̍֩#+D Iۏv تDV'0lG{=fGFHcۂ7CشS<Ś:vph5.”| 7 bU\cE,YG'1]w"]v'q3ٮǵNsa캹W3\m/icfrˁ\&_M#ɾFc,HbYh;K8_vP1ot=r^t6xbuo:ЅӴ1}oyv{#%uEJԾpOz#}]d77V )B_5ғԕlIGv"#˫d_ZDGnٝqeiin{q,x܂KY`+9_ bYS=" +{U0eyTEM"ѷ:FMk}1tq%1da b6/%2,[ pއdPٔ4-:Uk:Aѥs>44SMͥ4T4ddml›fI79ʨ3KϬoiX'SfR8N|~rsŮ싏)1C\j,Ի +7ؕ~Co1^f<<4XƥuK-%\xwg1J2V[ŸvÛqyj1z&-s&0"\f%&3)l77b*RǶ\ ǀ#V]&zX}0E rjQ56?ML;uB{R|Cp}]O|x-`m_{`[ afn6} ꮯXhix'<{5(WZ-YLr|}98 )G驔0۰SBGd:lZ"Lta]Ü\k{vi6;>Wl3gzޏ|+3+?iӶ2[B5, qFIWD"4ANu " +a; N?>>c{pONkˑ[c˽3\ Դku]`٥ko$7/<>W)TEA`e9G`vL+Ԫ@z$/VկIsV!Y^(.z+JmkCe{ZosȕeMw]IveSki 5i+:)iu's<..jB]/T cۮrfRv+rUYw MˇDyQ=&K{3d$5yquw ϫbBF^i*0m$ SIV]T$=.?K{n$$jc7.ѰEs/X\>jVj*f\WߺPu^y-N2" E9 akN6!=$>FO?GwVdH0=BJ FBeN!R/I3Jv3.G˱Cx4zu+ASq-7c*a?(]Ot z׉3Y:һxtT>%2H~hhh#/G9AFWըh§rC-0L NW%L|89Ar#QRzIm4=Jڳ ] S_2ւtxBK=4| nVlF!_R3[hf-zhH3 +Gpf4y4ɘ 3 5l&3랐 Ywr +"wG163' ;PUQI fm9ְ"p1Yz,qdiMɆP  c%?Y /6u\K9.d9Уf9>x` +*݀!WB PO,( r"btD,5?#bxRۅd<M0X(N+n% ߈?ͻw Jx}N +BQ3H 6 8sMx(C5yr'˲І-lbedQ` '/&}„{ D8?'AltAGΛf9v+͔Hmd,OXuWʯX,J-_ /7!8I[ +12+}!9Z!`EmH3W< + t5/0gMݩ yu-VCPDꊺU=*EBTv2ʭbq7zif6aRt'Fr.N,*=.M gPј,/9qhd^L[ + _ 't>*BP'N+jl%HD +TZ% }H5߃ɬcn%oꃡXE*,V Z*gŪ*r@^^_&$;!a*2,EjEEV=Q +#>Mz'WY%'|fHSeDeGMiO͠Ѱ'nB|sBClq 鲝hz?YΓkFx]췎h,8R%ySc2gҀt,]K8&c相 +:@Dn7%䤇:BS3wc3.+#Vz_8`d񥅈_h+"o,eN{)UDv3J2ƞ9T]OnX춊Wi5Ko]V`v==gG^JN $h@!j ׳*)2j,po^!LSv|OZ譠# RuAx-tWPۊî4<@T|R6U/H%¤ MB͒i>Ք/Dccl;̐4by(wY6&'l1O&x@t cZdsDns/r:/qM+ +F41єq ~-AxO R+!-Ž1_q-J\ =BHzS%3v*ZP/n.b52AE P1+-pYz6R'e`'Pԕ\ϥbFJ멳qvqibI!*'eyk$;@1S!{ -%гDdg޼Dr~+@1:$AU%8xVW0l'eOI,V&0iv֪\ꯕ3)K U$*>&FDY=+hX"+Ȓgӿ'$h |7< Oo8R|sOӉE 0 HމP)KxVʵtI$KN 2YrCڕ(K`X&[sKf w4Nt3|żt[8Ws/*T]a)5 #)cvg1;I%"8>h.8 e8_8/m,HkK }r"Ȭ/&&*q_X׀C! mkIEw|WGn\&ЀC8%atpK|5_+qK֤:0̢x]t eHje1; !YӖqT'NB^ŮAPvG'BW*7sʫ;>eq?DRrJ$lWFmVc3-Qef@Y}Dx͐w(kZIv"4ESUtfRi~x\"UV3?c4֛fl /M@+Hj xMs6Vioz kie?Kҟ ]c93K,\J>LCИ+TFYCe^͜`b4\/BjVGV>V=%{J۳CŹ;Tf'GKoS NbZĉbFf'ʔϢZ}@9 2O,a'*cFr$ɥU6tZqM8(LHKU_î)Y-# ?Iw[ A&K508yrxM[]$TaFD%*fNA}ĥlEqQx<-f1|C*.|j5< +b}4Z7G੎;g#f| =P1(9_pKURWU,:THʃEjl[L h{E](I_KeیA͑1ciqK&sHr)JBCɍ:n{ĨISa)gr20*2Ognd鎹E/}mFquD<Ҽ*<(dfcPIuCte҂tTP Ƃ:>/Djɻmg6<{"3;=D'wE(#H-S[4_ٖiX?Bc(H*G7յ/} BaD];o5hr?vk._V紇ag~)-g%ۧjDP#$ۻpl,y83lty:`,'+KMIbdyu߄32/FY`djy Ir9Bx1Fe+EI +GЌ_9io 雛DU0޿OIzW2.9}-!mGL $h']F?Xh. 0"Mȭs6?zV"X Ri:b iIŮ#X"]5'?*A: +z-JY`>Prv:쳜elp~*Ȏ: +.a2K LevB72ѓwJI8gu3:.0;d/M{Eq2ϧ2oF6,]d3[R!L`LA· +X es,s[6Q}Y&˂75jYyȷp _6+k;)!qJ9-u|p\qЋ(uԐ"NR}iA2œ}gNLӁWy9RJE}eo;HV9ai{re130Œ{&%c^ORJiӽ'~6x.4bo-1.thF ɛ {,2Na$6 ^_f(@JdHD6nhd4}/MN17=x<@D +^>e.2_O[=dS8Tz߂=2 +xp⾦ YN9//ߠrG +Z%;z8sJաxtĆ=^!|I gSCM94%|vYPL4¹9*>pY(V@`h +WN6i݀%d10r|Tg%{ݦM[DUxy٬m5bГB>k]?Kθ\졺u^,\fhI)-miySܒB4}kNXYsj0JԴ-7dcAwEUU}?_ +Oky$ja쳆?ox"{yލ_ c9Ols{9[(F؊-L?fiX- ˶'Wr7EaiH~Q"F])*f edRڙ#LuWwN0 +1-a ^fzPؾAy-gX~gO:YpTp.Jk\yw:JO{36HD`7`G|HOT8cDaR9 ?&\@2[KZLchz#&uiT2np* +z]O=|HzvV^>DßEܧIݥ>"fya(JE3&fc':~ sJbv6D\ hZK(" JIZN#RO]zǎcv0s3dff ˯ﲍUzd^ϽL(eGD1'XH&sG>=nO(k@ JI/г>Vs.)&;5k~:I +*xd_͡LX/' #qjO4xpVHEE1H_M =-^kV AEQ}o&d!@$(VQīE8*s<1 {bq'6챡 vnX*ȓpf^=sɮ֦Z {)UJ;\[(?{߂>e,. d +}6 +!]&huuÎ+qw Iy&J+ZXqvkNE﫭7+r/G1Yk $7XA-̽rm1]ŵ9+L8(2\'Һty Z¡Akq:{lsW'hP^ʲ /1&@ZJ͕&*S.:*QXѼ^lK' +4Qk^+7xg*5rzupmP47 oz9yS?ox#$u_gx;ץ_> ؈qwT@߶9Jhs<){G\: Pyޢ;Q{VvC8`kf"?5\( 0BK'X +ox4 ׈bi3bp8 G2X 0UO*ɤ,ftLT0*$r>7ՂC[~!tH˼]XCd,DY.cMط/ + |M>} -e.S8!ĶۇB߸C Kt0&0sf=]ضGjӷt/ic~+I95ʝ) K)&pDV?NSMJK S565ݕCۓin# 90HΒS jn䏔 67L'}{&u?"H:Ó"i1F'.ЫLi{ꭁC_%]&~h"iE9" D!rN'̹d,*„Բ?Oy'[+Z,}NL>'lDܮj,k)#|e>"b>4Q(u9O$ID$GȹE}*2h#)y^ruQ),hMH')t,r/+ԉ݃t%"Ot)o'Q +)OځR|=LXʏkd7]rdQtVAوNS.lU6TݬC+gm:FWD[G3(̨Fz[z5| +F)oCd+J9zՙ%]a"~11ipnTkKAv +"IUAyTH*$AG~JQ;+",K9g eq+CȞ Yߓ- kB.|z6.u% !~prڎߡJăTpj*QLF׷DK- v75WPc81Heފwrq!8ʃp6QS'݂ Uja5Vy9n1Ķ^`ρoagM`:/LZ3@"&@g87OeڂqɤIh­uF6o?Rr$ttC0^`,RDzԞkL&A3 Y|ۖ 2cAr2py7l!,l%8*z +0wE]%ArI[ V#|r +5SC'xxW,g$2E+y5RφkV՚:Ue(tzDplqqM A԰WK[gg'No(!6Z[-"J%G)Bی91AD\[t^Tj;^&|l%-m[C`j1wBlOwMR}3-Bۨ5xc̯L7>sijRaٵաLK-!SM lp3琓B +HRp@I kemDt~<ًq󦇸}lC/5J!IHj1<'Or5׵|ղM\jA9b U45ާP~Y% ʹ]KC"Yiő∃!Jv$NK&2-̈́lGL +(&{LI 9Z[?L~E0KCծ k$~NVYfN"Ov/#>ȯFFtu?JVJ<x,n,Bv8KVH9B'i Mw$!# ؽ Aí>}_ok` -[afy!LXik4[~<ڌN+i!^$(# 7x(p_`S mۊ=kKj%0S"bNiWO9dx:}GŴcj76E%nR51;E.PV=Ů&K v:uqw +"KU+sEw;/_d6kijy,8ÛRǪk2THs~fDqJR2$[B*yEY i#_]YS_WiB}m%G&\SlsTAM,i lCIlse^S9duɷĄbnHUV{"'bGbQIѨOrYvN)(IievCɬR7_d \#&ǩl \@($N)ێapӜ +*ފ֢7 (m%JwIRpCeU-}D0e) +ſ~(7uVcpNliPYRL&JJJ{NtNgBiPZ7fn=e0k||*SKg$CԣI94ܪS ~ѺC`dmM+3u-o$=#@3)ͱ-h!A=`'_<_ `eќfnvƄ-&f a&ȭB.m&N6e#6Hg [1WBF9L@?t2<[{La,NbEd!g;q +~n5nrK-DlO}Θ;3ӯAxQ8a$С9V#8({cHORߩ"NH|E5 .ڶ`_#п1kB<M| oCErO3/IaXknyX֒gbSeQ6OVN,,i;d=.oCfc\5Tjӌ֯^-^ x?@"{AN?#t)j־#/ݱ[XX6'$k>dmBޭ]HYՖT&G}v XzJP&^pov%]m.sR*\L4P8nr?v&/F=A9[ȷzwFGC}uUD + 4jzۀq?Kwı^϶;|YkG,xá6j>viXn{y6וe~D܇o-JhL[3Ԏ o8P¼ҏe{ډk.m\NʱWDF*3ߏtʃѶȹabz#3t;0v/z Rk6x/lx1LM߶/bw'$ZWE[*!CZT5o=4 nx~^{Z[~:ˏ.1y̦r'ňvvS(@ힳqWt6z1!;W"eYqJ_s+uY ),&vM59bbh{!x}+Wrb[nrk:ߐP|B]UYSB9og'~GARYI_Y(ܒqVYR4o+z&ĄO\:y'WlpfIeQ~U{ /3 zŮ^(K,zwVX+6dYrX_:).E[hAO,?~P=i/7iVqi 2?ܣ2}pIpZwWGQtX9hddrj[G˄M1#ol)g}+QΛfi,}1!ISGL;+duO)6@j*HGIԾeZ:Vަ Ճ[)'Ap1hÕy\m\s +B̔~wP >#B#m޲ElMokI`Q΍ob@!FL߇=(i,Yڕ$E}Ix&$ *,nP3ze ނò3b~;ǺB.L1$r~42M[hRQc1(v/g6IPy[)4^ʼv +m" +[ZUEMBVj?~o71ѼVA,i_Yˤx^6V`E i~25܎ A.- Nw1tIHEvgnS\0$zMnElVL!VgG+aXd-=eH:ƞGl +#n5Y{Sh=ڷ +ynו/y#Z3*rC7jߔ8޷7U /dpkk+%1 w݊'5bw ވA3&^jN_:3"J26s D=>ܻEaϻ%V~\53n-ooE۶FBZ-M8̭:`膹@Kiݰy[]:K,Z=}{}C8@҇e$ ++y;_%$":ED]y6>:R??Q57 v-;dݬZi/hJ1a|XϘ?ʒSeta(. v]dM3o!~[~va7>O1d۩,of$j$/ ,7:H̽ljTx&g2c1g*+j{3juM٧ '/Eu 1:41c~0 k6m(lAct \΅oU8S5 b +h&õKc_ysfyf'EFecM*w^yVOa5[ZE +ˆ;k',ugWLA}J}fSkUpqF rjBV^.]_BTVU,/괛zoP塘Rz(OV \ _2J4mSsk}ocd~E= a r6^)X((Zr "MAus(ULqG&?uNCft1`*/Pe}f<+Ԝ+JfaLNg 8 ; 0ρn ~_Ƶ< D.ts +:AE)F({n,[ʞ_ac9Kt8hM2@.ƉTHxv3A_R]P%ݦ_냸Ѫg&f|ل(Cu ] Et?1 __Dqx 0dxEE9{pB1 ZUűԟoxgȇ~2;͋ZM\Kėe ?6WNVhlh^v.? TՔqFZ;hȪ'RF=NK8,%V2 stkқ~>9P΢Y,߅z= + 臺*WptaNwGlR؂-29`N+ҳ <̙g(P,y0m#\?p䡕2V *И$ p?1P:zUz£#`j+U-cE֍GmPAy<ڽ P;-sRV[ĩҨ"n1|"ڊ|"Vf Cχ`Qr1S+Ug$~%GC,;JlMu mQFw E(m!^A+"-5r< ;T +{f+N%aU]VGkIf l%\aGĆ~בe#vWxdlcDUsmPaY&XS]Y}^)HAp+H]ݼmݴa @P%*hTMCG7tڎNq| ̀x@-;w;x7N%<[V(+%!tHMe\_Mh+P"V#R,ʮ,j؃`d!dHBܛ/j-TѢZ+ :ȨU +NsxJ͓ + A?-K+U3?\lvl Ju|a"8XLɫ5pЕ X9l(-=)iЭT]FWKW+(&PSd,vlj n'u͙ǢazP.Lx0 +vv9g{LZfC1z%_r +O㣦!5ƓJG{Qdz4z=Qdh#VzAsȈ=Q ku2[ṀV&s N~~M;9efpI + lFqދiF-I,|lgo +ՆQrzvny^ +_#%kg`dQ켢) p6f82.3-! ~gT5orX7%bT&]B3]*d5\x?x:@6T,Gk/gogr]銏?;Wwڨ[|vAl[օΉ_+ +BB(_q]j(V4 +^<G)5[ n(NeDNw%sŽ%a(]֣)2iI?.Kʇ264"&mIk%q-Uѧ )ɨjPV<#䫈Y;/#$:ebOas}iE`s\:p*4.Fy;+SAoڵ +=N`' Rgr*%c?eVMV5q)q8EBYp&PtPXq0 }Fy AFUa +kJgI[qf#ԉivSͷwu+qƦ`Mֽ/U\X`41>è5&T~^zXL{չQ :@\8`uC->+G{AlKZF-? gM13}E`ɽ]ї*iOxX鶔i]T={5WmĮg*p_֝lɵ5+$Nͯ)*6W}Q\hR$6>'b t2Fiz AF ]'V*KfYb.a5/쳍vdݑwJ.Im)+iliҪ<O}6f}IڵB7,vIܟ?60 n@2o U͔gW>zegOhdzJ;`D|= +._>jD;|꼩`Yh2.qoZA֓ݴ^Q!$Y}+t߂\9X-wf]nۤɧk <*4j*W~b$/CS9q1ΣE8K +V΁~LÏ\qzT 4%P $ZI t3כ{r7)5|Ol!_D w CW|0Zyg4?ԉo:Xr[D(!WF0f14 3c>3|g>sT}7JIloQ{گǃ?|x_/Vkh3\ +`ɬ,ÜY贎Z49Z+SDY-TᄇZ k3Vȁ.r(+8ݪOfF}Laj_bż?1ފKj Wn$#ɨ @B~e7wC"5B8 <VՏ=[pt>M;* HhAjg'Kẙ/BS!n2`MrbC\C L.7@}'o [ ^GUV "@x6_|\CCj$WԤޒPW-U'"( +U<<4N:E,C^Uii0rw)/,@ǫdZs}WYk#2Ϋ=0ʯdd'RJ OqwL\.w]x)Una$T>mO^di4 h1 L[OJnA.VY&) fJTgq8Q%*I}|  p!XKBA\*Jj +U{6)T M9Ȱs\"Ű&"Bj["V6#^ oDg'W/-dԷWnwWHNcVθMan̞m uj͏NL{wnS(G+ھhG,#J=rVu:!vt*Y{\T}y"84YSP~?i )4DěVPſ7ދЕKC.bpnw3[bAygErϬϸvWLNRPWf7 X\Ha&{^]hvjg_keSRbiWʂ+YW[V-$(6JB2iiR|JYflvPkc̓t%nV=GR*VWU=.PL* 5>,l +;D8jl{1|OڛߊNT 1:U]ٲ CT {'ϸ"ҷF3qbMȿwnfZEei>c1 e#aiey ]}ռl + +l޼븺ztRԤ5VK$^OuKdлYlb%L$rCNq~ͼt}QMfRv+vCZzpTtYGذP.'`-rc8{rM"u/(S)aWv@RKc3# H}ok=2s|d G4؇2a.2F7.y eQ  g'm`39 'oq'+rlY8ZQv']]_G캡-ѬF 8m%f$l:-1cR50d&< tVECDuxwDͳuv(;>sZvbZ~D47@z>%!W~O< 6paf`$U8@64TIl9$$Y6SNIa13la1Gc8DrݽuoMݴw*7mU]Ҷu`/z?^b0;B>]9}S{s<̀0l7Ӗ;ܶ,P33Mz0Q\s@YX _Q$rPl]UqD֊~I +7MqQSJ`?rf3 {3CzԖZ1_ܯi]-XU-k?!WT +\vYL;"[F}( "+mOL`s:oe$=vQe:5[Ҍ$x'B# {d(Im}YG*zC+/ Uv7%*LVo*q[$s~<6H,r +}V)3D$guWb&̺NB34AjK ۵8)>؎ ZD0*/`/)̇a2trDR4ֽs+JP52R Lw'i̶7Mubi@?|)mJϦvQ˯Y>S5uIqÔpM4[kiT{__T1F=V j_uuS_T%8VUBO7,%KM^"~s./;`lLo`6 92H5%hjxfoc1ʻ M/@CwGo7u-K,VzR T9O73]=L<\ǿ:azG@Ey+Bd-kǖ>n_Z;[9CkdQgD77~j}R3A9<}A'%`3ļW{0&W$>ܭ8Lr>(M1$7LDDp$lɬ RHAWd7%e!Ñ:19V#kȑyU9'N@.97 ̽dk.Ŷ s[$ nNj5hK{ZpG~ӥEet~IQCwUK,hrZS݃1YJ l`brw%PF3tjG0(X~=f_6˞陮l`t'kn1"j/|4YzPC%tpD{!Jp (6:ƽv #Whm߬#uLw@NX˾2A?YȮl0 "k` ,麍myHAv;_]#5([=Q[?ԢcrD[+\/됝9'D-y747 +ǁHcIKsZloOn f4M!!5~BF = _ZhhK.xfS*k3ڢ[*bz_t#wj 5d뒡v_q/shM$02(;Rܯ>_U%k+c,6nMk~!Tmygk_S5r6Qz)!rv4DyK%!"t@!;rܮ,OҿnPS_LS13@(,hN<tn̳ ǎOBA"2{O4ڗeNcFMn_&9G\) +F>mDSC>ԏ Vg`EhޥpXi $8ɇq^VEK/1'r%=z#ey Dr\S$|_T<bCb0ަ&S[7C݌=@7w%E7>6'YİQlzQ)v4_ 6$I343<4546Tt\ /l@\Q}rOB-4)0`*e`Uf9yC_"9&,2G{ԙTB%(Vα%ݻ)_#Ȣ)#%^hug?+%E)u͢:'s4Vjllr 9#'3Imx\hHSqX[9^1$;욪>ѹ>pYҁwh|{%kn7xsѷFln[{Bc#620}ɎA֘H9A]~FgG;Abbu8y?5mbX[3cLn0 h[ź[:Y m#tӔn~%xl^+Yuٵ| vXoG6yG^n? 6g9t!f{CaY0F٩ﯪ<%͎SFIGl;~Iwy-"?M_]DsS6^s'n4oZt>v3-"wR]$bsڭ\H <"Nr1}܂^NGEʖo{loێə#F>g<'fNuܚpc+^mi~uGJ`FbB_RDT +T}F?Ta!jܤ] ܨC cr >fj "F?,P:9ŀ8ٵ/OoEk xmX}QCIb˜]rxeӀx}odi )+/DpФ}#?6|>v0y8UYg'ꁑ[BUpp`—<+?yvmȱ.FIbf׬ClEЕ9_zQBԣI0g=JI!%'/рWAR$ks6Յ}ieր߰.A qy0-‚4^C攰zJ_ݎ>`3m}YNC"DPTGE? )B8YB (h Y/%$` ;d! @ȰDPqSTA?s+ ;U(ZJ6-' ό&NT6576*)P$֬qO8xMZ~rVN61WM(F&$sŢò0A9f] +}PeuwPŚ7Lʂ햛*Π)}'fd[mp׭.̔'4}}µ_fHF|rpzB4B[[R=xI +(V{]X /F(Pkjt +nK_(%AHrߗiȄK74<=w,:|VV{x+_e&7P2tdjF3~t~c +/L +:TaЉoc +RTӅH4 \YD{++3˜u"ՃepKx/xي@&%u7\5I e0}X} 򄹩K,s/vN/YRN,w* g. Y`Xtj*رrT~.-?N.np:Äbn6(kJ8{Xw~,Wo5g4AŹmsHa%X|~EnVP@(NɚwS? I \%)CbO&NQB›~W*\OpGsҖK)> P6}(? 5ʋCD%~Otb{7KmYM]yP._ke#EL +$4UF5nVy^7Rt"$SmGWګK.[-)OS{O+̨H?!ʼaB@%7nzN{*3Q_ڬ6 +<Cm;@gŠ69ky]byJt +h>g@gNNS[EzyJM:&ɧ )CS՘1of~93 &GȈəM Qt泝]]}% :h^^8N 7 |ߤxdnk];+ZU}J2Woi +h\DZjo!j8݂ я+bG($%Z".nP։S_9@M^eW_UcCŹJ #x_j$DXCȍB2IG'cSN5/xeLTfÌP52)]sl_}KG=/>+'ZI)s BGÙhWąi>]ZqIu:(٬WD:݉bms{x3bRb!h4EK]VMcLƕ1&ܢ)B/hR3t`0~[ |T\B8nϦa}2.E~HYFGzL'.H(sf0/o^ !YzSGj4f=?_*'V8 8 ˵-~QyuEP9FHҐ2slI= /N_(A95(ƿDs!q+[ig ox!znGbsKOn dD +ofk*g!M{<)yEޢ#z}qikGѹq O`jeBmsJT[GMJК-gds-KׂGG+;nbq̎ xu.,Htn/, fNڗـ|ˆKvN>JE=H`\f6گr!ۨիs"d /Kq< sV(Xr.%N≐5p +;*9n m%``@=5w8fkG6?>үWF.<W"ᐗAʡc=( ^o6kuH2 B06+V?~zHB5 |@z]~;ʹcC`=*b# > B|n>:%jn" &܊şRгuzzF?yE1YUSHi˨E6W{fӴ߲7,'+ib/S. ,#[<*BւS<]K mFbr+AwIKFMZG[3xm }e\SgqRX`_aي| ֺ z[Xx9cGՔN%q'̍XA&khնϵխ[k+Sʓ3Wl G_-ĺRoeygY^:9}^nd.nF$%P+z6p6\k]wF8 Z2 UOhԒ<*C1qrfoJ6O,'b;LA-"W֐2NԺw[4*&AƐrPas@x]^H/aQ_<1:''pbIt2sl oC-roҾ-o^온cX,^][g~vA`2`q Mu;Q@x͆ @Me^xn٥p7pe^̚A ݺ8>uLyn#iܴ[Z ^o+٘@0ퟂ+s퍢W5I}CsaUn_ D4^qY'yg^ WOo9I'29fظ᩼=^O?Vm摄rO>߅@/tҚ={D(ɏJ5;cE.d|Ϋ7o+:,;:N9DK1=1OGWз%p-Laafol (/ :fÑL0X5E؄ũcK&W ** +!վ..+,ݏM[.١^τng8H><г" /Y@lm<$]!x2_ N8|rc3))!^JidHBgKnF2ttllf#C8, uTafwþԜQYBc8$r5B7\O#ߐInl9C%%qDge{z:a'!kGv7]wd7t%Ӓ4Z(`/(㍿wHjIN{C!f!<+$%2H*z ]UuKK]B;i ߐ6F-M2_E"[ YN>}.]VMdV9/(@ON2r:9{x7Mu7s?ZeV) zЀn ,^' Z52]~piމ-r D9>DFwdR*[Uy1%/;#0O5 sD%O;D\eІ‰ׅ \e _E&!P,Mo%2uL[N|~GmWǶ:W`u@‡ s H)7ˀ\/*(Ƹhoa.1)–:ѵ*/WxkEqW += K'A{(>Wn 6"$$$xrXz +uubW⹰iצWy2 # 5;$Ӫݵ i]^',z[h(^-"oW +YK . +9 /;"ܞ>MS;@-HF4ry:M=lw#uѨԨ +FMԬg4*/s9BAAom0mn$BD.pNbksxt5-Zh;^Ho݃P_/˒8O9, F93nw5W2|>_M7Gܭ"s@ց뮿^ǾmV]f"7䗺Klw^Ĩjc#XpYނ!^:%?93Q}gK D|);ץq厩Rueo$W1g{sΧLž`KRfKoʍYL&x +~EtO }Y% _ GeH:n΄t=y+MmSos0jޣ^2CA !H*Rе702-9a\N( 5x؊g,&r飯 ,HmcŶPrL8Y$(eWR`8vNۅEzv큜I5Jt xA|I%)>'\K;~'5% 1xj yt)CE\^A}̚qCJuf-^z#.1||)vıv'CGJ"XDP@\&x2 h$o璧) e;U@/hwz b`_0Loxxa=5EAl92cz`Ú e/xof+2eD3Z+Κ!fO"⮸T*[B{H +~I .IɎBd{߮@N&#eQd + %0Y'_t~ʲVvkqt-\ŲA~td>"PbiDk<65"aʐSZ1 *k'݄@SX\Zoޥn n}|dئlr#n4r4 :=UgYoWYfڂڟH&ҎTBk?%TI<)bC v5Zuk@=FSZG*p0TBеfQxpk(3 %5؟o|sͽD ה{HRz`oOW{ MѝgpٱYyeh™Yc_nŪ 5xff"[yNR&St6*RU/=`N)VW FQ+0t W_gAZᯛm1!HFӹG5g;N-^D%*{+5yZIGKvVHLKeoQTIpC/BQ#ԩ:-;ЎJZ "y;3 ƌ-ò\ՑdFR'=ڎ-O8?P: +b78}J|6l?{x%f2k3Ss%^mVЧ*3[`FXOAwJ5F'rLgBFHo%,r v'av-%kqO?qqgE3N*&Gq?_-;ux1aO?GyB;!$#W*URxVR6uU03W|rQt +HSZkO)7). ߁raUkLQN VǿnVkLma T'"/4]n׺ߨ=#{\zU7sr +9NaUp+PEN?JsWHRYZ.FtC8$Vg +CmzĘHLE^ڳq(5_^DE@G7KksLjTFV<$p av,(i/̅/uXф<fx7#VwHB } ouPQu_),@;#؀dwyFh E"=YV»taJV[|<֕YJN%_|q(`?A@!Xg'H®[;4ùry0@a^: =A:.? ^Ki TFa[]?$"Jq }ӝc['*jTPQZ*H(֤By?>Y/%.ؾ6^yT[F#Hx€MVЃNnkpa^J&c傲V2oQk 16I(>8uC ?`12֜X%W= FoTj}m4uWG4[̑VJrlA,;1o_TJ[gѓ,d.:t+1o x- 4oN*hF,:.@Q66x< ՜m-鄃_I3\_JVѩmY#ec_QVqG(-ܰg< {|$V`yi*c*"raKJ*QR.OOo˸ &> 7ɘ|^{Ǻ#0vf [?Kjb(R[4<\1l3c> q^7/Tn7T#3_lJ<8JCɺm:0훥t"Zuku72FvKi_551izƲuuV3 4IPWV}Gfa[DT>v`HL9R>4&2t9egkIfWWBܾS ]A1ylhэ]I]J7j@sxQk +V]'5W8Gn/;k !6z`)|j;|=ց (6Zvfo3ДwQTl"_" +,~K1!b+/z9!7!"\ z EqeϤΡܾAYgRzEuX&SUYǘ"n)>&zɅE d^vJ` ʏ/_Wȅ +g6*@x"wF,}*t<#,.x_ +d8T&>J!qoAa^3\p߂ȅ (Tc +3IF(#z7x|h!Ys#'^gCHr +0&\BͲ]RY:aa3)jzfoQ|XUpI͎s%zRdP<62/X$|+wӞuP=Qm12,lƘacn#~d1e`ۖ`F{mO蠈zL $mKfbGdePG%s8i +)HdKƍ +ΚMaRX;vo`f(|iSu#Ln\1qiYxƗ9-}bXsC e;kG Q 1,ۊ9$K72p<&IȈ1Ik'7߷'t_:'⮻!nyt~iɣD\`{-4635SYsڅio5RT3/nכk6j:8/H+.CfacH:QkFb89b@D"V\ 2)0&H/ ~}2JaWQ_˯#_мA>kkBU=(iB\p } ⻙0_Z+w#eY,&(xJdVBEphD@Pd yWBATm:xj-׽\>&ɕؖ4ܻ\q +nm ŁQ쮯.p/|\fO NEBfKV|jڤw_nתbaƨWi%PRou@ T\I[؀50^C\c0x,t7ƖT(IkT .M!. Oe: ߳m3-dxlkwڇ8Ն)p@x 䶄m7oV_–c#53a'Ih{\¾ +CNsQG(Na1৽@jwB:mm +ZSbx0?RnT]?P.eؿj̤=m;'c7W3˔cxY1 7M!x㦜|L]Yo9%~磱W Rcp [_tuZGw]bM)&+-AGSY;e$%ZWLJ2{K9ߛ;:>/um ̯s{EfcҶ%)]@+߯svԋٹ4g$CϼGI 1\|Aj)\ZtZx9kVtq|9Uwy:%_sj4[#a!^]著͏-<5qERYyR6gE斢|5ܴx6+/D'TŰ_-J}'QfIt̞ˊr/UtQ2Τ\+\;3%ӓY6n!cRM]{T5pjEv_RzOE &lNj,`Rn9qi`KHwl9um9L ٖq7(m F & gns>N;Z"pYtRa ҳ(鐗To2Utt:=#"ۑxtc$ +ʧz:/A/Αфl- +o%SGp H$.FMQѩ#hR1 R I7%U'8C[Y(1 +̀j A*͸^ڋ/nRj9ܜhsoCS̉:<<{>D 0juQ0H4zb(ms# ([C² )^ B8EcM珡Vrs% 8a0blCB+({:+;ĉhkʼn#BEXXjZ7= U۩+KQҲ߂'-mAR;ho.U`$ +k +B Ƭh8P_mEk3«\.Tp)a](+OQrz` @/ ,sKthpc,|vP3i[6WԦ 1"C0T%WnꎕNTi`1E~4^ DMЂ?~Ʒ1q[Qz Mo-[g|6i-[ӁPFb6^kr %C*z# gDY;->sYdkRHG0lM:mYGڍ˨-W֜ȏ ȆZ" +O(:/r0 hjӔ7w.luI)8QU,ϼh㺨*@s6Ջ<}K/ݘDXp?˥HDžҶq4UʪX#x1 Ƹn gham>#If<MQ#b+ SHEyIrAZ)3>Xm=+g[{Oi}kPt'y({8Gxc[kAd><^TX98C^ +.Yȟ#X<ꕸEX]%mv-uH~{ɒdaPS\˕K@YJpQޛ:y轶Fn<75㤗"TH2 T N鴭[dlvGҡ +^uPW|V]w|zf׬0Lڪ7wT?j| ,)gӀEub7`g\3o l=*ȷb $h =mpJMk_A]ݔ-` 7B{D䵷 ̙v2ۛv6[ (B\Min{dMa0YaIQ[S/r$'\N&ެ8.O` {pt< T(+FnőH n֗@5P!t޳szּ=R.dND>MXjwWEck ArTK|n<&c?"Axc \ݧ=Bi`<_ -R+Yg rD"4N21G3g؛݅>LwBtIHv"6 ~G\'ѸPbdp. +9iv:,iBC GO}uX(v6̧Jv*lILb#s 2E@ui۠-9&Wz44js:/xvmqYdC8rs9\]0C}D6eTJs}tؘՍK@CCMaWy (Qwjhy*cjUǚl[IXˣܮO3U:ё[v21rV?4/rJM p-NQq4①!`gHOQ47* g~cX Js?;7Oi3lsE׾ 794'"7wd`c}SBz^RvlRmjb dU8 w6[::"/[TS.皛,I/9 ѕņ4qaI%nN&JC(MLUZr,lBrEt@qمQ&'[30"`nԌ0٭CC)ԉ'Ӽ&TbaR82Sf<4%@Ej'1|Iu8V=ysgN87C3Y2eINC!d'ǾY׳k$26R6eF5Sjtx<z?E +Cx:vR4iyHqH9yG3&۶J^w$YQ:!SoDxL|"YdH3G~mvO,tM4Lqє0ŝ #ǡcD0p/ mLnF `nX&3I 9` 5.xŞD.CHy:.F%X:78 qaG?a7M) + +q ;Gd6W mH[Y_/ +Y2;˘wĶdK%q.~ ',6Fo_)mmDNhy:4| c~;V%?fsB~iT3#KMӣ-!kOPT8JaDg Ƙq6E=l"<_UHO-'8q4UOaJ zJ>G:X[w>J89AimsLV[p@ 3>VJ"WU~D?oΤZ>R-IfcTU% 0VChJIA* auQlN˼H` =g̑zGd9y7)}Ka4%9\6NG G1n?զrG{0J!qZ +1lptbgJ;=K:?j降+T7W_l},/+kN:!wXDɟK@B,#yLPKemk|%0L'WJh&Nye%j7])@c^*iAj£2a {*t(SU#oGS]7!,ƺJ7hmBMKςڞʼ;{U#룗+oekРzZm#4'gs/gf//\6|ejX>5|[ԖgkkRwziWŠ$Eo[mu!mlDݍE}4gJs"]J] WDJ¡s~nk32jJR fa"NLb4 >4lѶb_dt-!0><]<* ~h16*y R0-2ŀ['@/G1Dowe;mfo\HgD `cf$Tbj KmMKX p4UicI3yzAǢB~,l' *oBv~Tlғ e?l؎?;`#ks44e2Lz~4WK&YZ*K:x=!DQV96̇9)NdrˋF\]p}!= rCdGM9A X?ƚyz8Q\z\| uu'XFAy"6ӽ:A q:} IX5Ff6`Oy:}5:=ފ\}x-Sc\O &;k5c3y?M^EpCR7@zdќr% ^SA +Pz(^)| +\b np^bvY?*,3*8vھpE?7!sҍJMۚq_A)M Cz+~/^*hL]'B> n]zk~ՅΉaD}k|twgg%cպ[Kp/׃V08;Y; #lH@!@Ɲv邒&i8 5c *vRSZT?WVީ4,¶KF]l. N7\>Y,s[8A-[֭)>+jz}aJؗd, +-'4 5mKZ׻ +k[w"o[KZs]҇\Mwd~ϲS]–h3h_b:=$xPJĵtw/x~…,Lyf!gІ|BD23琢Kی>LQ] 1P #/Qΰ?~,oulv͌s~|o7QrIΗ(ep Z߅ؽYR5nf vڙ=`Ԛap{2&26[zՐ@!#|lB Df廁pco Qbŋ߯ry%~k:k̜1f#MH3oR,Mi1iĊFR +"灱1H> 'vSUFj3ρSh#ߛ/N1OoeZ05?Em +O*Ceג r+z\/wBnNtA -;~9 [ +Y W5?jVu?+ajS,JJn*.7y2K(lD–E*%oD}2q[6;pgiq#g۬]9'TY(]cVSI uAQ/[|vNҨ:xE4)W7I`X[ >q2 @#ˈ3ѹb~2giےх,a7cH{[=yNB:; #\Sw5D*[/ K2tx\.P# ShųCLcq&9 i9=y,?Y8WO:hK4h,'nӣȭxovH[muK"~yoͣ*z =bX>yXG, t> ;Os>Ԅ Uk$+$IYoq}„^Ϣx6|RK$LLE-fJE +4TT=DȟՀ/rcY#ωҾ|J4|vW28,gWhc!J(A{A&=BPz Jz#t M:8 Yu;(*{DUų/Z]DCPFy^))%PiΉ+ -7˦[?쵖hQN74G:l]MKYnƾ7{-uw-|(BCisPw"}IY݆JT(ɓDvN ==ѥCr3Q(=f,jzhNƩC7bu\=tLi,Kݪu>w#oI-RيQfA#B)j;?vc\g9b'ϸAZ5K0%:!&-븻ٿ+mqs} +T%$w-Ï/n;g׽a¯ȺgOܩ xú_Z]&9"5$D:K(D}f:4(w{`7bc,7 +1 a +'4WݟYԌn_rKO 4奔fY7/ U2b8^TA~3yu$#{I +,;==p2Gh5^LG*+<:S2c4m)>|EpR`UIJgS>SҌ_#^  t3{,x) ;Aoz@e2P'hlN)uF֢@9]/YAZsZ(Gr+!9 3nUn0+˛xdQ鯨V qr;:/a)Ł +В|CoS])M(JQc >=Еs-` dü[Xj*cNAFA]͐ޒA~jJqrvnbH:-wZKG%D7rN霫B[뢈Ν~M\_>7[Cɵ28hEyrN&У*}RԠ{LxtKĴKKBLqW+@.'Si O.~eS[Va5ndvе^ZRYCVT~߱֡zM|Nmc'I(dY\O/'KkzT^?_2t~!+qǷ07&iQϵM{ouG*{8/퀃tFMئc,codt0I{ef؜MnKTAo8w͋, ;Tڣ3Xr`x;"u0 l/?^֪u%i1Q#aYJ΂e9+>@-PO=Ci^<`Ak̽س#wjXy{v-dN&^<Q"ԭtI^21t?hvYx [΀9oqkd]^aO J}+Cƌv*Bu Y=)߄w +z&z]nn'yWW,&qWgm7}0m}M 7iXBӇ%,Fmo$2²[S&Ags 4o?GgeĞ.YxaTM:쇺DJaZKCT>lߠxB^ Y${N$Ira٣'[:gA ZQhQj#A#hM >$!Dct;vcZzjnG`<}R}&N}#69F ;pD1:TT$wFC^5}$cJnj~Ʌ;B'a7^13 8"M?6HtN̺7vлz[uYrpБzíy$/YcEΠ9f( +1R~eo) >%ɷp6"ge>Kȹ6T#2C'㽧[rL%z6C33_z_9-NPNwnQae(0I[*ȨGg*\`g3F+]@[c,QcmiM %J Id/ϟm I;܌ +%_%OA7Kމx?r>0={㐎"5+CNVLڜi%%mkc|aW| :!m4!v>;ln6t+Ix: /aomg 9}{%·K̐<·Sokq`^ i6$}||l`_n*idFzޫ*Otu/ M*FϤv}^>1J$>`kKf{/OUv&hrv#jdwQ[,=WEcNϘC;փYMDL]Iɹ3&'`ߔaM"OBgIwEcWl!KQݼ>?(ˣ_x4GJ>(P +u(n߉B]XÁ,5UŗLGi^fo m^0Nlg<4POe',1ѽ}ٞl[tJg5%=P(;w"O,/m[`a! ZstfY2D^v=ʑڮOޓ*lO_گzĶ>EYt7S1g̪~̦G~cgGkTQa]5ajAZ]-7\_QQ$}׃ Ƥ;SZ0o-ӹ3 ڐi4Mkjb$"z|7YoهY U}suxP6l?gD҇7 !DBGD ![>T`ƒy2PL8plVrP?2viT\G:64L+NGG'H{B'<ch2(XC)HG_j%;M?7@P07/+Q6C1'ewlF4Q] EFO pxGޠh<ZIšdǹGZh0b85͉`kdDl7mKq`q~Vz29, \s3mm,E=0BqL?Yv1D, *hhxޅ@l +>ڼ-,K 2@2G;)AU,G(?Uahbv2jaFR1"Fھe7tR1 Xʝ@g'xnGQiχ- +6# sٗL 2vQxf0* e|"PB7Vs~JWT`ަ)^/e p9CbJKK=}si sh@iwE1[X=ؚ3U倕:t{)ћ pϡ|x+~w*"Q +) +kFC=(=@Y|_VSzRT?냡C* P{XAE- +<)/$w]B$2>J#\"ZBERg_|obaX@XT$.;/|0Vdi;OpD a$lnTڪw6dhIp}?dKmЛلe%Rn|4AVO촔NĘ-ᥴl'M#?j`DFtEaUF!E5?^c#beK"yп 2($imHWrg`%S ]P$SU GJY'襊zp5I{Tα PBZM@TF9jTW cIӍI1.k@g+I\ڽК/2¯[zQ:mƉiCLAÝtZI]8Ad*KTbO=ٔcVc8s[o@{VV T~#<1?gldFAi.^Y +Kg;dzk?mtBQkgF;$M~a" )'3}}N3+w0*kaGGB.d=Ab(3P"M7GVFo='`iG6ƚ ֳeأ/nE~j:oG Mn:"|iбD9Fl6 tR}Yz4m y\0\T[>n/-a]*,Hfie/*I9׍O!ELP>b./x/ ];.é9 ]̩Ii=̿( +ksq ar|}hgoR|*?ɣtRR'oI[b; 2W"h1F'nX/H6{0=:u|kdOB]CI@S]7e'.f/ޏsG|WuIt`u`&yPٳ:/rB%xk#2}g؅.'6YP=lk,NnzS40H_D C4d?hk+x[ s,tM Nl8FRztA+hVH³lpV>BwZKmT<Ӂ|`Y[(pz/ʯ*wYSYߑwA>DB?t9,{p6g I56 /L +ee扷DoYargG+In҅G G[n Rk __vK4^5P Cy08#)j˹"=X13b/l q`~^U^䉋y޷dR^&k4(z6mCg>0 +91R)dפߪ1XP# T/Ҽ:MgreeRGݡ\bF_Sx^HzjH2(A:}sK.#pU6_5wﭘ*gNuHU 'd!`',`ؒ$'0r?D( Y`Xh +KUK=x,3\}%h]MTC&]XSeb̰{$9+^ 8nq`fz} cڹ( Q~]finZ9Җa]m͋lBI:<_&f@?҄ ہ0.I_0xў5xUm;sx!O'ISxuC^Tbr(EuDj}?G3xY#l.Kq̟QlvCҚtzb?H(^v3jT9v dRXୢ{XGI3Z& O[Vs^p0sg_'bT_E^""o +Ec_=U({[8/xnAxsȏ0.#Ӽ@̜ܰxl +}όUׅ + pZ׋>xf W/h%Bxa ݎht&熞]"u؟,"?ӄ 8Q!H3bbo QBqu1p5~Wb~Hn9lL#h>+hCsxB$Wؘ K D/p@\)dKm~_,ztH*dX_ˁ41x+@Pl$CN' [*م|ΘD͌EIFyRB&J"#2!~,s'* tY^Ifwp|D91=<3w<ϐs÷)H"$w?Ŀ| 塞KĦ?&Ui u.3ְ1a +*qCQrv+Hton",UJ. +/E*a[|_ =_h -Jw~]dF-֝ Cm- tjg-ᶪ3xToQJ[+ԸQe +4MQ;>ӿuNK!Bc (m7hK8{}Y[DaxH6Oyw,*Ԟ>Upư90.dƖjWŁ@m MTU^q ߋyÒ2t}XkUwS)u.ڌЋ+c ~W]~[ڝ|@.ZRj&X|ds1]_+Mxӯ4!^73G(HӠs9>N;]²th1k̝3TlM +E8 +SA8A@%^@ H!a""۪hU\'Zqh?vh]UL*v$I%ʋcM7kE>as9S- wuǤMhoLn,^ϛܗ7մ c?jF|6{%Ժ&Ma@W΀rcIw(m9i9ѓUڪ?~GWY[8׏l7/>w3-FmL=;y];^L`/f\\T{'T9Se,0Ly ~6q>el|㢔ɩ' (8~@Sŝ9:Z6{iJcM$Sc2*>gKūBS|(?ͯ%v;`}J\~g +A-!GtTZ?Z.Sr~(+.o"g\Q&㥎;CyA}S"7ЋĒi8,߆HjKR&9_kl{5)H ')hfrGv;P!?5sT5x Hl޴#ab##2FnCv-c5zS^Nxc@% žB7ò9@AIvAQ'^ү9$r흐#mz>S!ç@$ .E *5anvp|]" BK>\ʇ&] +S"g-2QYb* ;vWglvb'@5IsmY2,Hލ౔! 'lܫX+}eCZiRQ|Y/UX(ǩs2p ~E_> +q+p7 „Tq1&AaI@I~F2; +U#:aCmvu^1K9uuܧ.NB +2貺#V[3ױvt{)#_[ǯjus[ؠ#$5:KJkxNTT[t\84mP%D 9>8XkT7cRgvLU8g}c~#ՕI~տ71Д3 s4HqcSwvt\54*ae +كfzלtUZ׌r-#I[3 iQnQ@UXk\iIC {F%}YS#7z\l>0djAIDoQ>9usЉ4їe2 +쒷&d9/BRg*K^+`GUg|Nዔf/8Q`LDz}ŏeq!: Fj]x +ֶĊݹۖIseRSPYlI9"{c˻g!w#W^|l8wF2C9hkkۅ;,ԖNDjVU%]p4ݺY[.x'YWH3a>d/FXB6]DlzVD >7w5Mn/CHѝ]qE /I륌ƃZU[H;˖vX8ФuN|OZ_wo*;G[; Ot6ȷEDrJ\k'IOt ܦ}*hY -sg/[4\d߳U?)ᙏ +$ewۻ +=YZZY~^[߾a"Ǭ^aȜ}fP;$sVt s)>'0nIA%<(_:#xRc"o$8ɒSt R|/گiE%*SC=]8X=H؈miN⿴,!5D˳ed8D,lCWCq!SOPl4@#!eH۟ ԍ_ym:TUoQ2Ŷe}R";R$M5{^}zT])oǕ58K,U,{K%\ e`INa┬zx$%[wdҁM U(9 ݠv#S=x2$6ogV69 ;4+2߷^B7N~@j,VNW\'0z#0D[x}j YpՂi?lD Z, +JF 4Sx<^NWJtdHr*93$ .U|"U)K643eK[ sd d$l/PlLKQO-grRiΑh)Ӹ 7U r!BDM96cm $/-w+p"og4&d6X"2>k-3pVZ<Y]nG^hNV3.Lhf8 $`w4gIMcX!oS"M +?+|;@vZܔl/ce=QK.&dUyh⎪hnoߵCf&LaDKt ^K$. 'Ra 4ٶ1? +el'%k!CIwzfz~M$x^J=[g zx݄Gت63)[8W(楊!Ⱦx/t10= +5Dk¾C93+:=EqUW:AU-{7^':f")χV)^(-ӭ_s_ a $rFz!s\Me[z*Mi$<=QJtI'OmiNSǟm"cebρxRأy joX0F[SliC8JTyc52ggIRɇ̴RceMb l2(1@TKvBU %c$Xpo$JɤvBI`-*.eGALXt S>w{'%`Vi3 eZ3#F?gJT_Gb>ycXWrdyO:L5Haмޡt΁ΆݘvI#K%rb4y hBwF1\9I'\0dSVN/{(hya%u(9dW_s[TևѶ.NeӍD.$cހ5䫈+sp3L72S ĬuĬMƅU +t"4$;(3)/9DS)UH3Cпy;+x#b>5L._ dl89;E㩬[Jʦ?&XV'kY\>@[!p\usIg +^cVز(te|MWϛk29apei +mtGZ,5)of~s4tD%Wy,mJ6Yq%WIbhު8H= -je#"Rn,>%h~rF1,|77H1ZLzJeAh xGwBtghMpJ-C[H:*9rG/b>$j%}TbP&U;;S͜xc^n.dx3x`n +5MdG'#FB HAvkDZn]o$>̏Z+C^լuRԓOBA6Pk=nm0\ }c5s^l&%&a񯨻?-l+bNƑ2md;Hc RUVn^VhCӔ:緁lhyCISqG\5\g!HC0z0Ʒ2^-aq +߫6LgTu`>Xd8 ng@B^&Lqðg aZX—Vs?N;ƩŁJMK `_M@kZqF Rݝs TpAPe؛>\gw|Blw;JeRS]?uU!mS%5P'e.$Q}PjЯǡpWeIU[b"tG@02&+*Z(8W1ÑJ#xltUDjq89yS iګ$4R]+<^q_Qģh@}`WzuÍKEy۹9]ܹIi\u^mx3ȯC\R;ӹC!D0mg}&sPr qk5_}"sP}`o~+پT=X +]7evٛd~bqS?W13IȊ!3GP/6dr9R^"hn\ӱ9t>'qyc2Y sb 7uqHADjs4.8Aj4+(ڟRPvX{j1NEF,"lH<Fa8MS.ѯL:Оg?y>h$m{H'U92Nyg~"#i4Z\&Q-d~2OwBYI &>igŹbv@׌Kf_b8*Kk4K}HH!l(E|D]ntz;2+d Ռ72oc'&kI9#GVܦ}v$$ܴ{V{ Q9yPsZ("4ahsb>'qmx ncD'VŊ<0O!<]ZT6l=Aj +2#T@~cV'lY;{e1.pۖb˛*#7PĂ:̿8^}pM"RAWb'+&W멹JhkJi !=|ie3e5pըDJ+Q<0;dS_"oߙ{ԣqr _}0`fSU?D)5wߩL=|IV}T%c޼*NN٧x&f'@z5B2Iϐo7f^YMFsLj6YhMyS/?|{߲E3*aBS"^q 9)1ײ+c$]q=fMl}cX +#_1cXw|p0AQ"3 Ča| }yݜ/ dWv-21&0s=quy*/e$Al݌?˸Q{4.L|bcq]/cVYK%ƖX d̈hR^Fon(6s4x/:#,0oD] +8: %6mț|Hy?כ\VxO Q\Z,㦫j,/9ZK)] !u.FF(^a.:,6-|-O0zD"wГINt42_㐋ޅc(;UMnC.:ngEfeQ;Bq|<񔌗 P|xz?{$P?OOq Q*SZjGN=.sv<\i a>Ě{58- +^إ%oYsN8<94pTc*^' +Ox$e;hen;M%m<N(Xz We~&X,S:g|mO=`((^}@$ *O4{vA\MNsM%#f%,|U>fB=PyX(i+ 8ۅd@SqIy?+r$p@pZ/+MXi.cB- 6< MsgS]9嫩B1.K1u2Ǘv4`^c"G}(UewU&@T9/&b/-r4 /eߠY|?QUjlT";בQ$VP$rȟj;%rHZU/_۫D+}ASEkZ_>\6?pE8%o &%cOF:M3!d֤i$liLީ_%#?֊pQ}N ]i.e_sz^V0՚$gH# T~߾ +Vm!cI֓vroTvм\|iL$냅+p+Pm; +y/ PUZ zJ8ԁ'L{h5ӪҼRTgQr4~%;bxIu$[KSUٺitxG~{^caΟ>s ԙ CT[-Tݙ"+WHsRqOw5M/kHb{j2WŜ"B5f[j Kei7SRuLaY^¿-,#yHstGѺ,?q.i2WBeN!HH%%8~ݿ߳бGNimmfԘL55ZUwܺxx^.ԋV, sy2TD [Dt^-,k:W8- RgDQMdǨK) P"v^93?«͢sĨ$B.G0pBªƞ+:V•o\nu.3d5rP;@GR!-bb^]FT0@Let!^֘`Aj<^ mĮ(5XF[#;ǑS>C\^8$+<A/Ovy%, *=}'a(՞!G1[ ӯ5h=QmҮvD&f}(:-jG ."~Ω40f||ckWϴ#F3hª)䚾p8.F:?@+g}m3vLɯa2Ya--}9x fN(APNR)nNBC.$"[>Cpjp0,p6jU͐R4KFK"PWO!責/PǔH271:{A7A0 + d8gxi8*j[!) ADLrH*霕'SDbL臧xG@,c}hMsukhFhGҬA:ܦl2%EyN5π۟unjf f *O ̼}tи2P}L6A퀚QDė@? -Aq +ҷ0#ALݟ ֆUMY~i-PiЅE1@6s-XE{|[`ߡ+wKѴ ߚ[i`o2f}|3j*1YXEAwɳ"*X' \mv3gߠ?nS])0{r=Gq8W?*LOb)N7~%XԸFLq $"'tl|RŲ&GJ.5!"c.K+5&ٴqXj7Te8!# rBNTnʨfC) +v& UiͿk>8-1ݵY_yl,1\C q*%AR i5;sRJи%!P/bB$~L'n޹ =ŨD] Y_aN(̠;t}lz +D#U JSHs#2 ""Uđ 3 [o)t.V҅[EkvVZ3{lFZգͩ~T4%[w¯~lE6hhs9 B1=bU&P/ tA~cA%0wl4Wj'<]Pvf*_d`VkmBZVua=5Pm@NT$"8yPM(6Xx^sӼ }PڰS}6;C;ؕТ, +٦*C[7Q搈Jnu ۡ!tA)C*1cF(ؠ amlF1ftXHMT::S@A"`b\L5>o4>ֆt)c5 +Lt l@`9?v˵H23^@NQR{%PEE"#jDغ<\|Ͱ.첇 B~q: ՠ!%)Y 9M +c$|fvv{eJp!KMkt mmXI}rP,=Cg ` jv1ovݦ{ui]`F,M 񕤷&l1,k\Mp8>g)PAvECYoG&_)Ӱ^pc+jө3 %ydex$qYWh0HvokYg#2Ƽ7@7@ߜH_jUF{mTIKlN/ًo5xtAD~k8^^BKrYJʨV# B!$B99$9d +R***-bR+ZK}OG- !="7żF/4e1XL~?(?p+p=xm ɲs┓xYau)EgfBjf\֖& T<){`^ɞ+W^/_ji\t +r6mp\#8]wklʩ|'l/3-{DhqLyVn:Z>ѨTq.W*UNZjULA~Q +jM7 s|vݒXs'7U |*:νNY)}j$)[ˌ ^[(ggT/5=_צ:uiS/_|_׹S&6d=_X1%T]ė!'jf+ _[Am#A@?n+ +Y-S]XQ$W1#~馝 ոW =XlQ j!%BV"tC,7xZezIC$2JV_2OȬt,ꢧ@i^*(ER$r I0,{&u9.]("Z B,rj47R: &NbMY dmZ+ v' ˘ZH ܌P)AD@'_'8EYTZ"I:u+qe讨)"7zIB)sFiIE8 + >ªQ9 +F+97!}/J&?#>/u 70"^ Īo.sL2DOM?^MfQ)|fl=Ҫߚw'3樃5MU?_~TE;4oyi54.֊ˇ—~c/PmmϙWZަF- P>OۭQ5izr& Uvl% DC\` +?J,oClhG ͤ Dw>CBm m2#ir 7 +lӓhCxTGI 0~igNSהFai?wJ/qfw. .~j'}ыؿ[P{ +i>a@vDiJxG_v9jmi*,eV 3"J(8TpFQ'PO!-4r,Y]1c"AL O"u"w*tҐ/\ԷvyHʏ0= IoJ^3J]#Lq(ACg=8N|Յ7=T^ H%q]74Te)L}M@O"3ƕh+Y4>ms:aѣ_4*F/*(9}AU6uLErlM}x-YZזm˙3d[eoK!ޕ~k`8U6DeP2 a!=d넓yrO DDe Ϊ[juTkKkuA-X93Vҹ=drAIh݉uUn܊z !SuGkWلze Ur';wXMç'1u`"I><8>$pzWRD+?n( +ϨrgfrwM^)K$H]hbX + 25庍^:-:3@ӠxaK'T +*/ĄzgW-$m.BI8]1_=;koOMp?@U +V#ȯ@RU2p(Eb%QpP4 tNx{I0 를Wb%6l0M2.oΘk5Qaķ˯D4[):^'F}+Ƅ +8[S8 }O[~9{m7',,g M5QBQ. "g#8#N:!ʿq1 ݈~.ʂ/w A{߫WĹ,',U& dtZf2~_uYe$e{VI?I`q(6:DRX^sf`6"|y\\c5þc5d PcW#MlRb7"eʛyLYS|BZu_8#I sDӡg)p~'\AiĻ`rͭ@6 d. >ˣyYd +UQiE2A⮘N +UpWxHp"tQ/ige +9X7 a6$lci+2?2o?7VؘyrDѓ4w%syeظ +$>J|Zh= +nkV7p)64q^C[|UyHCAJI>&e=Ok?\ы rч8DU׾ +G~8uÐcbs[O⌌fb?]2G+X8T6WL977^P5zڅúy~ wNr6ArCF| U`uEUkn^xX )KB.6nNjRWM3yav)iVgi=MPJ5s/E954zҔ: 'wZiQѪTx], _6ă6F" +R ~~wIewK 桞qQjZMw)Fc6]Ji^ u,ySq>fR6v^|pNdF\$IFg)~mE8==8oA~/Vב6wCT1x|o .ǢGΦZ-Ba&Sꀡa=^}OD39Exҧ XIf1 +=I," &IɿS+D[):p@CghWyi-&P_pLJ:o%+SӝDQժRfX.GSAeXBz϶28HN&}Dil}4z8]a1ǝ|n;gtd&h2iF]ʕ!9cLm?0~Z,+PC)i 4 fBgy~<`a5g5>^ØX1EbJ-8J!u"-1YA W,6t= tx.|ki#xc84)8`CayqܑhwWÜ o%rd&rB6J'%6h .f5;vr^8hm>Ʊr7qdE2 @8"g1\(a# 2Scqߑr1}cf̐+Bc.$:ѮW=[ݞ^/?~e@v=/wfUIﰢMʼ%Z` = . zvņ)x:Ra +>|&h* =1H|k!xF#|R +g`G1ڽ!tn@E9GT%2B&}4ʫb!zA"Dȷ qBP)Ib$zçM <>8/喁dExkYL[(Cpvipqr9eǨSr ꉢ@pE*u:n"ċyGEWDaB?a(ؑ $d{_qܹz_b%OE0L?2uZR>ِܷW۲G!k}ǒQa" + b1r +KyMlXmkfaPw߽ g4)UVR`ڦlm4&`Hi$d3p9- S>@z6[^u0ANz{ +ū.JOpW^mA sq6ɷDZ)ZxvSgzqMDNYr($V;zz+(OM/}糠hsːWҤgDuf6m}<һh6[? ė ÜOGإv^ھ?@ +䢊X>[vIʫu™XanS=;g,5M}4}[f\Ĕe试7@*h"j3p]qݞId];=Fcuӭ~r?iGNuT¢>:g5!13iZP|2^k- < +7U e +Vo:d~n.q.+zhFQ!AbHm5INJ?-9[Olr Ymgm57Xt@$iu*|"/sHPjN~zР"TҖǹ Kb.uAlu}iCyoƕx^5k]{ȔKʱ+~Hg-?& +i~/1U-m+3X` vc.ZLY&J7qK]LɒsN_,/l }Wi|#}+^wE7&09MeyKoOk uPؐ83 +XNj('?[l|O|O +RMNrUJ⻧][h--[n# |7Yi,SvۺGM#2[>.{=r:.UKs^DG:y`cB7i?7q6m?pgHjQ+KUu[U~ྖ\?=[]grE.C[l`IIs]g)kva'p{_δ@AAܙSvfvXU;`b@N*ق؄(v r/,~ 뽪' 9HDIr9e!qOiJ*l/&;MUb ^1>Cf\ N_Tá8r{b +:2H):oÔm~ǔeBmXK<,`H4*Ckd̠c݌ǣV'Yj')Ő!uv!k ;ʚ% OTS652GQռO>K\=nUݎYZnQ+m{T96+'ЊA=^UCſv..d('2rO/yh +Dk:+"R}좍i]v,by?&'Mæ gXXӧ)A'+.:|։aɞ@+H RXkk5x"̯+qí}Z'S`}n!B]ަz \v{wo+kӫ *+Q;9;gdd%8S1jP5Ԣ0dx0RdspyOw-_7C{zJC}~͉Pg*iUeI!qdRy 8+25{1ZsFx[)aL+dK2QLbO@3JQFÂnCOskc$7<6_ HlJyz*Khi­\:gZ fYx[1(: +yZHnMcDTNG +/GϓvK%t(T% ԙs%V]#]g+aѠ]F B)ehTXh 6Pa Թ8 +E?\JΓ;t"ZH*fD _u9+8–fdt4Fۏpc kʖ~XVȫg`2f0ҳ^7D,9:='IS[p>%Szr_@sy8O/*sʟdPFOps#罤kYrܮ$ $*+M@%2h+P=#?q$v] +X$C +pO3$ʸ\Y6~v.=9@p */3<G/`Ox!Y Ȅ'Ac1A}Ɍ"-ՆI4 #"tQ3.Nr0#r w+PUySW'@uX~dZt[GjH]8_^=S `ۢC$cl3|e,&AiL:n t>cZP)OOĆPiRտTTXV+pWSv+Yl][=`A]CS_VBb3e/'EiԕnttWm:d^|mgcǤmdpn|eo&fBog~pitwqtjUir=k_smRtnEup96avGr%=wszyKv!|)yjg'lg{lhmIi]njtnko~olxtgpmiqn_rQoRs^q2E%tr5ut=$w +u#ywy|#{+h jְiizksj]l&Pk=l-lEmGmSnn\onuo{pUk"puqT`Vqar[TrsFst7Luv/&2vQw<x~x+||eo0Jg4omhVpK{ipɓ(jqkkrmrunnDsFjoQt`0pPtSquFrv7[t/x&uxwz7u{_|i8cst}e}sި.ft>ht,iujuUkuu/m'vljnBw`oQwSpxjFwqy87Js`z&tzwA{xz|axcWxJdx}ffixshxiryB~jytbkyilz,_KnzS'ok{Ep{7r|8&t|uv|za}^}\#`}Zb}S de}Hf9}Xg}i}Ii}us5j=}hkr}^Cl}R4n~E`o~P6q~'s~w3v%~Jy~j9\]^6`bX#dقf|Dǵr>igjQ]dkzQ[mRDn$6Ipڀ'stuqyk4U\h^vV`}bldCXe톃zg6&q +h}fiDž\Ok1PPlCNn94ps%r[)u*Hy[ ]j_|MakHcD2dLz7f\pgӉfiFK\kjPlACpm݆4Do|%qᄣjt͂xYИm\͕_N^a1THb%do)xe4ogh*f;h#\|j]%QFlD`m뉮5od&q߆tayx0ڳW-ZwJg]_eaE b xdVoe̓fg9]chRj6LE9lGu6n+'p̉%zsӆ wɯBV=Yѥ\ء3_^Vx_axUb[?oRcęfe#\fdQhhCj55l?'nƌ|r + (w.¬1WYZvC[ ꑎ\;x\]Á ^ߤx`({ozafb垵\Wd&P#f $Ah74ji&_m?p1e w$sVqW$XgY˰[!H\ky]p/_ qfg`{'\;aգ _SURP`(NP 8*Vad%yeBI A-DrqVhQjq?~=ǵoܾUǏESsK_{A +ڇvFz'$ PɃɃJC{=|?V?<}U8{汮=1+ش-vSL]zC]0gm.pGaO6r+uH6 u+ D|_&ޚr?%鎛 :M,U@'&Tu2D1/*Nv{tGkyz &,0"M,0ɯ #NJp'0=ۀ?C7hPp"} N_"IP3_%!ۥKu1RxjFDB_ 'Ȋ?B%E,.%xQpx{BT*'ud{(:;lxҕKa_@23!^O#v: .`ry[#;RL!M+\9@eeO5wT0ִa,|Xݳܓ}V)P݆d%X(۟"䎸hm!|8 _uvӪ|d_.Jm5!LyƢoB$M-IE+N8ûb\ȶycUB W=~IiԶ|?&N:祎QY|HkoF;pdL=$O;ˁ7k@4r2QAߙntRIqW2{#YٷZ8͵deN|Y_Bl﬋y)__U NJ;+iTAGsmG+zBk۵.nH,=%TYحԚtnV3&j әRCuĿW vloRG}^ /j}ݜ%SoeA:5Ū0jOua^i2\~R; _cׅnv?xuzƷt6 _Lf4wڇU>$?` +ik־p,^[ڒA+r@nWyJ0`YJ}XoENJ'soE1ӒP Q^PIH (V]as}ZCsluظ1Wb=ۙǡּRWway* W>ciJ+A`tzkxQPdyX9MSijt6.ӯue ó'+G5Fj8>OLC+5(ڿrpNJJa\hqOBx4um5*ͣGRI +,ۑeڪC#lQvE+FXuK +o] 7r&n=\)9}hc]nr}sє:_'&[ S.^O}SķQ5>\/Gz=-ISh4= دŋ`Mb#G9gjI{wu|^AwW^_\0 R>^$ͩ@r)DvP^AHC3R,ĨABA:Ufi|H-YsL>&p]Sڿw[%ilER HFD|c9͌1 ̈4(V$OoǮmQo[IǶjz>~Vwq pªt"WR{r6F`/( y"f)TEݵ+&Tw#34Rt&SeT olȟHl'N#K)s+JF誤!dt!'QD\1|B{ +Q6G037x4tO gd{-L"؀0&2k#7^sKx&)\z m+BQpQHp,>2JkϢiKgfV}WUwtyd-o +7ᇃ\دFI|YgzQZc68u:Y_5~Z1m0\h#}d9_f\g?o(\Fnqk<[4 +NX5žl;љ_YYTDvAeXp34cNYы:<r42m|ݳ-W-be2ӏ.>F]d x+ <;ktv֌h]MS@4V?xp0_rή/C/r '%9wG-yO$>GB ,ډ^-4AOB3H9yM8yu`/8'^C?q)f~# +灭D($WޑˏrmB7" EoA&F'5O[,X}.Ͱ ٔG" 1̹Cl^/"/.qF=ABnˬ"t.ǔnr6Hz-Hj +Ez (-=(B/X'1؃3L/b>2ZNԣޓBwY [vt.AzYzV #f ·?ïR1XQw4&రZ|~g< +Kcˤ)"}ؠ,+~C.E&;DtOvՊ #EeT כ*4kMA}'Ɇ5L[le:3Ñrԛyv{$XCUu'w<(L+U>>y2>@^*qT)Vjqʓ/seV _UL~>4 ID{lNUD]L9e*'OxxJppWf4J4%#״#Х̕je—`s)?@iCme +Աc &, Xּ#uU=tu? 措CQ,Of>9]}Ãk a·nn^+X^7%ͯ-tdfoxC 8؍TI髒Po;9Y鞤r7E _jrڪ<1 +9f7$ K +/gW>`AP#<+~;(u}P\T;70 7f@Oނc]Suʫ9 aix-Jh *Ei-)%ђs +n]FQpmTٿ݅lGzqq/[fؑTQԋ[]G_G۩Uw=]b+]!8V0+Il;1oQƿ}$zKE1I=U8C*7f__W"Dm:{"ɪ.`H4rrFY*iG3Χ͈=i|l9|^>y_~j*ݟG^8`pCzGɰ,sOgv]SJߒ^)f@1ԅyeUHB\\>E̖$ϕo9IrS  (H@QvU<\@d !mJ|Xrc-Po Wlgn_Zy?egEpn _nl#HakuqHd\Wb54EJCP)=ߝuh_8 +Dk*TDNe ^d; +%`_y@$ +"'7D1! -d$97lGQx͎Io.[F~ŒPCngXsLcVAmb+ + $;NLmO}Bf-yN4ɿ,E%OJa}rM2#WX2 cv½1opib>g+9};f"o[3\?IqoLj݊pvU=.!LERQAb&>Y,K~z#5 4(=ݷo=&Qx` +4mnSn &=$S潿P{O(nYVYwIYu+o{xb`]ЭH!SSr#[7 fkwoKF drQ-L#:TayC?@=`r]+4mG}NjS 'vHZUց{ȷ:/@^W=_toNsMժ?f\l![l,]2r8`a_ +wXOs@y;e+ZˊC0T;[ 5aX1KV8|J3oX\e+-lJwdS {BDנ1R!|$]57Q)yk6jxxH V)튅4O}xW{\׎{җ ݲ{&&Ek!ۅq宷0f]=DX~qD$sְQDd~o +u\sNQU=Y)JM=ФV +QD#6<"J N8NvBmM0hߓ|QJnԶޙ:FarLwÛ~1I%H{$ytkI8S@ROH!myGGgbOGo]X>Bu2!A|Մ=D|ʹ:ԓL8U01ᬕ[ +]65@x&/κD”74N@x3ΣJLy'&ۡ "la[f-*Ph}L*h^"4f-L.)> n :XS7bB  w+|B?Cz <ˑ9O}̅;]z9 zn%2+Y/*z2)88X0 u^CTEaQB&3}~Rb[hWGNUN ^:2DB7T4WREyrXp.; ..L%gѬ>bEWxB"\ih Eyvy/6y(.R3;U+={(dfEhe}Ё%*8ԩ?V&h0ͳ &?K@KB[jtynVY܋ګz༪HĞݨ[0W%OTFٿ q`FS7,lDPkخm!˵5FeWvI!`pl $>tpߙDr+x9ǟ\f$+3rpŬm&C@ >'Ҏ鯋>Nż*؅$\2$FX%If(ߣjoz#y1hk?^OF8~@dyjt)R|U̓yFsJϧ yd"oU܉ͯU/V+.pC' Ze_/cqrS%'Z+r".[KS%+'[%\fp$g=ܸ%1Ӿ)V̄l?'ebnKyUT6L](xkNĶ@+>TRpO#eHGl!UۉӾUͥV5 +;5p&P(\8ww=e6i'`u1gb8dvmZ&=V7$i.SjmntwJ6D:Xu8](8kO]6t<?^L*5ԫ;޻ڀ!Ė7@`o֧!W"t{ ~WeY;D՘OwII?qi$!;("2Sbn@ jn ׳>y7:k< +S>U0.S_ys$8U Վu % | E|`B^ +@>{WcM S1*[_oF Jp!ÏobI2>1lr_K\$լO !{xvR_\=:Lǧ7atJRHK?c4n 5/\_F̧[ ?LQOH#1OSx1buTF5%בUi&NSs M$74]4J BqS.?9?d:1, 5Ú[&Ʋ +_a#/.A}raDDh[/zm#f_r۫i_'^QNYfK)} +j.J5VW/(e?,V q}¯ߡpbD7b +C3{/r~)6ᤩ'z9$`ahq*k3[(A¢1q'|'<ۿ@45LeHZU9 Ϳ5_p9/3.-wMiz6wUZ> |"uМ'XSTz<蟴>`#pDל ET=|+a^x+%ާ5;6F=6)hGIa +!oV]kuM:7M1ވOCWr48u=T]j* Xo>Ah->ͽ!|Uz۠T~_ewn5o뺞qLB゛6p{(4qi*i:jV욉T8uZ] o4IuLnx*}kx>Y עt}om^&%huBIZ;# Nlڤ*u'k)>Ke U\?#' Y&Pw.G[Wg%ɿĊMZAm2G Qxˊ՜{iYJm6Bs,rOQJ:yW/If}Fͥ @ML_hlU O87QҽS(}ױ}*eST)$܇S̵H4H" nZ*rL7&+9L|NaӔtM(k*+hgbB_lms+-EKҩf} 0/!4)\j'6~fD(%3-S-—$26Pu FnqE'3*  ?vm~5`oApσdIa0PDz( 8M `6 SVLSԈ!pj^'xNfaS`1A$=VdM\\-o_H,v*6 8®`t[6{V6.V*%n=]DaM~(\n!}2]el$щŽڗAȻZΛ&'&nGg +F4 C1p YA a%@!Q)p:NXѫBZ`'z<x?M؛!$ u%jW̡|_U54$O@e~ H,_Jg,U@Ӈ'tF`FHzayu 1l _ВahH'nQB8[3i"NũBN.񈫼)LY Z9{lP"=2(T|+o %5!XeЕ_z%IuT=郯k9;j x\yء~(qa:W!lz͇E!,n)IW4-t浽z+i3IB-P~35xГGkCO 9aB{e&GµJW LR"!m.SVUg8\8Xй&;X>qg{3vn[(uR8ln*}T{c#gl6S[_ë2xY1V JNF˞nɔ,`e[m߫X)T0uF20g<\wFq 4{£nJ|x _'Dqe7})(۰{MTugnʎsԵX ]Vyc-EuU9oa[D>\tJ^ScfLht]2^kķ̸(-$,oϰ*nlMS6~@Hdy+5GrLB6%ԕ^%mKaE+cyLB|'lٞk~ڣ۟:,Vmi'w#k=Hr]D4O 2=3Z^Zψ+<0;+FRs藕y*2ZL'W[Roo@\ kyɭ[f?JtK?Z+" ЀqC%tS<:RYC[Q7%)yT%'$_Gk|I^]68PzX0mv +F\{[gZ_G%<&;L=/Qb +R&^}7OBHW"f } ;Y&) j Aˉt [$8hs9:>Ӂu +MNǰEحF@c@r"~G$BB|UeVa:ˈAx";*%> +K]'7'lXl<L`~;Kfaf<7y2s=c=~Z;:ze^Nuu{eḼ@?% lMT/sCAUm"v\$9 RjK1&j(:y?c +Xoev/pԃolN0idY Jd 0Tiq1v}De=wծcfl7XP ^y1&/+0Aұd۞`A5G5ilxi\4) 5\sӠ[o\_@X} +Tǫ\q Ig1Y&*2O64nO#@LKr h(C{lj ^x_ES\7*$ڢXc)GqfE޴ +ʆsM,A{q-8@څXwv1C8zó}]w;šRwhRf9˷!ԢL܂8E@m +gN5eֽ4xxhdf4_V=[[XlW̍RVj7]Q+XWWZZ[){׾0x'W5>HՔ/C'qPbDD2],AFdD@a'!!  puVEp.<׹uUSA珯gy/mݮ[X6w-=-͍Z{ka6d0t9Fd׍yq9W&bIRK?ӂ{!_Ja,UQ iwVn'+4&tC_HrXPdzO$ˤx$s˓wM@ΌfʗZyQP㯳[X;VG|jj64[*QPMbC ZgLɭyXL*[-@)Bx3h\;KkY|:MvPoU"!;g<[W.!8TL]/Hz#w.a.(G~c6B*]^Us`EL}]SlQI rXl?Fg_'opWX/t=qA)h>Njijj84p1xS1R*yWzLFG88.Ѝ[_`lŁyhRց|Td# >`}; m3{(L,}J.Q>|bT+?*Uz=&S}Hᢓ uRIuL+4Ҵdp0>3~/>NpZuxzliYStIlK|oGXG{Þͯ&'EPDB$x-b; +o6G%6ͧB m4X_1`_ܠ!! pD@gasyMͯRM 0=TYHLn,уOS# M( dpZnv +";e 0[`c 8a|g. EN_:0x +95+Xx|V5:@7A &(FNz2 .s! ;Vh*M8ۣ ݙb!t~[#Ar06:VRa/p$< ~$'AX=ƁXiZac'͌1#b$ /mˍI6H O',غi$x7@2nbk.q$#-+_Ĵkœ<تfh]Mf 7¬$29b:# 4vN 5[| +~ӶnpGz~L~8۾3pz{]KpO[jq0|b5LF3[Kunݚ>"ZbfegnCdf=?WC] [یEmJ&rV{\Rm*̎n 2\k Mկu.uVzdjm.2(f-Yd雲'qcpӕo;ى%Sm{9C}>[zOUU20]קƽyVwҩh%|QD AvI6,%GOvm6Uy2lC1 !mih dRk +1<#"\SuTbgkTJ<62 BNQϷ qUEv8MI9("Wi /5\6bȫJyrdaG3|NMV9W~pWh |u3#golLP3:(GNEVIЦckK9M('~㞘Ocn1ig߷e5sB_؊F*_hZ5+zV"ȝ2OT]ָnHU@k%;6'H̅s)Cُ7sZ71 |6 =fj_)v&eJݿ+X5s&R. 'j2Ը<]uF/kmNӟ(k);4uL7J$P=y>c2N#KomJt,ѸZ+jW($I@N)8Y= uS +Gb2.BnGl1EbhO 00W')`7=89P \Cik r%u%Yz i_-ٰ7,:DQD"8Q)nˆt!jb#8:;,t̂IP"|h P'UIJ]i"?bmL5*OV%.ŽהEo%ߩVJ7攳G0EBE"[\w/U} [r(rt63MJs]uv?u^̦%k&K7wǙw&/F;+u]I SOUhZ]%<%qR8QU`+G' q{tY0mxk+I Xn5#R Wkdo) dY{JSG>Rpm߿Al½io"64<:_לJҨ&(4|2c+W3õM?˶y-Hvtr&4>@0Hynއ.6-Wr{.9>/cE SU@ '_6ilI-"BˊY?g*[e:K;[~¤2y".\\%[-3j jAo8'|zQ@h39w-r7 Mvlsܦ݇02 v{YUP&!}4۠! iFlJ4tA:oJ"iMjv-mkOb|im[~3,#ZM ̒Sh]]۫S$.g@wmk YqTt6<|N7iòPKNϒ?dSbfecl>i/8:'QDCX{~u)]m\3{!; _3ѝtAP|| o.۳o5Yh8E*BH|a)`9LL $IApewbZ_'~Y5+zsL=C@lgwP>[~\,Bt9 oAz"/2HL% r`_߃tNw8a͠ ~zTE&\i46- ܉#>:Oy98Y:ԞUR};g^ץ(6.P" I.[6xĝO1<ïN4&Í{XaҼLob'WPUo&s|rz) ա!]'0jt6_48r>Y~ף~\[^o=B%{Fyi Q3O˨"Keh]rX}\S3!E ] !3=B{cbq9|iX^airJH#(kÜ7Srⓘ~Y.Hzux<(Cxx/;(+glcU-KY5:fwz'ba`+ %_+ƳRKḽ x콞=ePJ׋Yך銷 +1]WQ,_ +lCe}w5}VP$,{oT {i`AXd +2IH~;'{*ujժx/*jQZXz_9yo&WYɨ ծag5lI #˰0o|3]nsW*lnA4bE%a;YK$n{^A2P|d@GU/ [t! \0?Ŀdx^͠ LS'wm)Y<ˬ +cKCbp$GbQmF{hXq+:)!AWX?ÿښ8kav7|m͟80V2;1B{僞R!aukv㿂ؕ:I$`(8Eu0S -) `|E t9ל ,p(e$ |2^b5Z8wվ웟-=%DUs‡_q"˜7A:\!Pݛ- w9Ok,}3v#@uJ#?ýREl'^LS24~JCL <_lkjM#OyZ^Ů^\DlR6Iz8^JL렆8 /r-~E1e_oD1b"CC -Q5YB]qQaveyĄv4FD]!=+ +`#UBuǐkZ d,Q%[Br<¼JߣSs~bҸ2qA*ў0(k+m6vބ 7<9qrsk]#g>cxͬ?a4Y'ujb0@$zOf47vzT̈́ܣ ._F ʟ}S{n,Ѿ7]sl.G +D2A~E<]#%g 4jr3ԟ{,!S ~LtX|;k!mcxKNxBkKew~hl甗$ضD'̡ vAFA,f?Pǟ9#{j>rv-t .KJ F/j}N)2S'~H2}2~^dlÿ#^]<0E@%Q^X"3tdA:7F:6փsӴ&'G1tE2w݇)"gm `_W]eU뗚hT]~S}z +I[ŌuW^ _vfGwq־U^Y[|tɐz1gjDhhfw12yub띘2pEmCp>*c0Hkw8sE35JbѺ]&xm)fe MC~Zt-T Vǹ*Q1Pj +2Z"9)B#9֗[f&P ~'f3=هFw&'DuՙńRTʙ5ŏzMJC۪tߥ@/[t&F }SVCmc 2&zB+P>Fތ)(Їu_P5(Cgx-PVq-sf5 8]Ykd|k~B*3GʏbCZdT%/[c< ˱w]A@IWmܸ@'6*c8pmIpNT~^gwGi`_Y^P"y}) .A{^^dĵ9,|!y͢C;!Kj]~<Iad]䐠H6Tt($(P +]xIA-cVfbf^'2 }9aB؎y+87?p܁5@E"(L +Bx}@2Ba 2%HxjqZ֫>Q=kyߖe|voIjl76 O<^{Rg Y gV^YCWXAJ5\9+}̥wS%w}/&}b ,5-֔VZb>\1s3 *o+z`c<5J$+a]Fj7Ջ-ʋ򽚚,q]n!1hK,>LY;Y_hR1lvXM ٘,e1 :m˪^.ZR93IFٷ͓ P\ @2KCsݲn7*legq2M|2gg -/@ş]7W*1 'tO6F5}V,c~ +;dU^xȺZCJca+OK? ]{şc/]{.%9=b]T;lb?Ti3zam2 XÖX1A,'.}J0 +C̹‚›l .(IP\R\vy{fAJS@ݡэ1 +O i=C{E=PerM~Kw4a_'}xVus2<ՃCĹ Kv2 m+sxgF`4 9XFY4NI”PKRg9 wjj +':SYjG\@y:9Q$b؃+zTG?0td͘UF%g9 )INH=L I~?fRP4[jAvΊ +?[#OMd+unɜ`@is.u~Mi40ifL&PKoi#1[k}SU3~7u5{nF>LUQuƪ*S3I!bo1ɻ| +QeqԻ4.+~+㦱5L7x'zuːyk47V(7 'mj^u[scaFmzk\TC>~VyMb}Vß~%UR,y[g!7I& ZRa H ^hB͞Yw:HL_\(VS*;6xָӅ­ؤۑYSFK@ xi=P(qe$E( yE9dKګ!?.~$+a1mݹ 2B[KT'~<DUe.O%wQҕTNFV &aMФaS^A_51_bx0D?O φzq} <|@pijbX +&DXn{VL[oӹ. ؏/,!pߌ +A7S.åSW_E4"caAC` L35Ɍ`mQ߁| =x+7w`k$>:s1dEDPN U٢ $/@*" T\ux Z=\x퐇*Bh[킫٤~mD3OqLS./mStP$_dl|>#ʿ&Bv% B6ee +MP+TYv]'Xٹc'QBDX37 .dE(b‚IBN2Hx;uء,-CU]gßt1&5ٿh6VكÚK4v|@K3M Oi=]Hf +$C ݋8Y">TN[70:^fVmSs}װԁ}i<2,Qy=2NʰZXoXMo;v${H cv \BY&-> +-ՑK6M³SU̴h_Xy399U}<#?0/Yp$;[;-ɵEGH's x6@-TLƿ3-;3JN428^ +/5쑢+7x +38wq4B1὘xۀ43?E6(. jJ#']z_eб RCC0VeO +gc~Eb]0(wq$ϭʿZSF[ ةɛ"?j.W ]ɧt)~~b=uZji^5+k釬`,3S]Iń[Y~;`lM<;(aHWsטfGԞƧ=o[ٖG6޶fglkӧ[u +8lCl';z' Ti2y[Z|bvΕ=#yvu@CS`ܣ:{hIY sF,U&[7K˿eWz} Zksy05Dܲk#uhhX"UߠtMU:T?'ddU_wWx!s~aT-meZ, (n[]n0$p>3 ,]>B%t)]M#Ӊ5ړ;y-ُ3j/3%EŠU>!dYzY!˧.tbVCy([݀32OJq1%N +\~U  @ߥ!"p?.Я_(]6?M +(OW*Rch<< >B3:i7' icEB(a 5LH`T2Jevv/'tJɁct!J]1'؊e6\LHFإ*f:"D/`0CJ780d@.aB~.19MpVRt^?p3n^lëj;"I*L#~#`2E? ܊Z$,-Tob +:ܯsǝW*5\z-;]RƓuilnN!IDت\ݐ,oT82U'nU$:B6:⍷RŚt?uf*kIڅ=,z4 ̲H>jebz$FSΆ~8MKCQSn5(rRg¦;UrNA±cH,k#\j턯y BLݼ'D.HIlVV(aEMDo<xN\{ԋK‘?ԁpT0*@z. +Hh lYe̗@  $ zG[E:(Z[Sv.kT8*K76<!uˌ:f;6^>u z^84J/tcL2x}w/{ +oKta$Y1%VW4QXe3feL@R}QICMQ0o8q5&WVſ-7CnaaA1=۫s׻2?gDkiQ_ID3|l-Lmgė5^f7Aa$O]E8F[(I?P(su/v-=Hr_#N;Q +Qu/fƸ.`9򞳣.o/2Y O:}Y($t(ltV%Qi$4#͋^m:ƣi! \?1= ;i)/E]IF?k\F6'/^Udi=Ί`2;6v % e)틴/I9z l#-{ 3xE7P7j+nٻ.5^N6(:]~ݘ500hz՞s"AʺWԱaԀWh.!/0WuDLa"?s`i)mal +ߴqPv[P~ +XqUt!\RaR ׭P.U\x6AfVuq$7 +-=EPPK cᤸȟ^ I'>P-_:^V98Eva47֜!<ě)[D lb ;,%$Ԇ)DeqגOR<$;ܧ|VWx}]|m g0#0 +awtF!DV18X$㰂GN8;IsAL(.R>INW4(FG园^ y'6Q~<u* A B %r?\-`2q|2qT6O!P~A鏏B}AIٶI.:¥,1~(JY29m^nSDR_ьm J|x_)A59B(ڋ@7N%M{ jฝբDX xtA8IO3SID*YvX1TtFsHSkAc{ۭ7Yx Wf7CY@ +rjgjS, 5~FqEzTPY7(zX- Y#e-¦:lz%?r~[p@y?Wt'Y'w@ٰB78ܸax$NJ%HCڮ >Om+F44ӟu/b< ְ\ GSGN)q 1<L9S{>/Mۯokb!(9f 3ĭGb)}d{ +y2S_E%wi$130J;)"TPG y%R $&H"( +:tdA]ufQ u=s?=s+,MM;0Nޜz\yeWϱ)R0Ըa(8deНm}?ao*kJxؾ(9`AӴ7mZ>:t >n-`inGRcYz!쏵Ey˪ή$()ٳx$Av=B0w+%1_L;1f ؛ұM?5xbvZ8DŒy.=6ǫM`#zM2]"zQ1c9;'Lٴ]b +ѧ0 ܞ ]8D Ĭ1}--L[%ە{ nDhbϤy<-.r++\Y1;a[ `p2[D8H(6QнZEK&:8^1藱=A$b;71SarSz_x %%ͲM!CPD&?9K xCQPi-|ab)!R\Hj/;r%|"!)4Ӥ8K[#?Le6" RvN6-Ea| U~ +b] q6jbHK2<Ò@(Q&聴I6%풥 ^`؏#)+g z6 ASb|xGa m_P(fzڧ"423Qp(=@YZ=?JF/E7Ǻz #ʄýXq fm8-!{z9Mѥ_6--_3)2Ǎ 'O3(G_\ $ i52+[Uķ~.3U&>fa awwu|>k,W5}g4bpǎD? " A1[*uPۂ +~L*+17rdcat g).y+bZy/O`B .)rȆޮIFɪNY( =h,` + +( \#EA dmf}efAAEDPAH-.juK͝1rI\̫x|zΗVL|=*лbKLv@3y v8䨈Gu%c55nT; ݵ%髓~-xvu*^ 3@#X\Em8dg(:vEu z]oRrW_6~b#ߟ@d--d\ +W4 /PX CT|8!6!Ǐ,ey*>A/`dnLrV`]O'0ǃd8%ߵ:ON FP@ݔtJNz:51?̃^B$oH97ۻJ^-jod#VBIXmYF}HGɜ;< +yp*5k-͍foGeh_IA"yL8dPvV 1ZM34r1Ohde*g1eGua:7D ŵGN:?ܚ/(1"6T+XQؽ˅oY_r{\8^]]PG=do 3w%H]0OU'3 mEK_Ji0M \^T3 wwٚ쐶!'.r c^?ͫo-v?{ɻScL'5O_CWhFaQYHed2@.E0aJw8;e{J8^2ǒva9NjO-H ZQ@OIۨ0#7ꆹtD伎.܇RRlT5lP7p +1'E <([*:BŜ0g#4fKjWe;DE2kR1MMs{sOMw QVrUl6֕u +ҾX|~0_bX$_?f +,S鬽U)oi/fc@Pz*F{5h[h6;x)ܢĢy1>$/ZԽD:j^e|d)$K8X.?dz"-P&VxDoFP3zցwbg~Otj}ɖCiXMze$K.z^ese_ Chl@bsUK.%vQN8l06xTMΫ ܴ'd69-4e~;do~JߢWKx^vf*Q Z$NȤwvBwDgx?1u {mWp[JEp487+t\s'"z,+F%-s%7yͻ&˚vż[vF +WUY5yM`gg$ ̋YB#;m>4~H+ɜ]ܑ,@~7E7]DB.RԎҶ%yiNevZ +n3z_V7̟e1rby+?maxlb^.,Eu530i +5^^+/"X-6}SJn'*Z0)泥 -((̉yxb&}G̍c%'"ƙdfyH#Qs5)}N]xZpt! 9 #ԓE| ZP=d`ѰKv9H`R.A6дu3W!DBq2pu9ENvT79`&/ kG q2l`s6 I]MDmƈuB<&!b)gOt5mTfs//B:sԠ*L[>$8 ݐ6Wu,I +1;s'b'zKcE;T;Ujꁃ`Cr X^?itpM!z"䑆⢸ +4d"lF'NdҢ]_|RR1X^e** +TG+} +CZ|b6es)  CK}`Y ㋍D-N(PX)Jg{׬Ueduп5kv8R57* IM]òhŤptH0̞aC=мFhS⥢mJq2eG`{8Qqjpz]L^RPsMI.DWZV+tF;ź+B,_ǘRMEJ#$ZH%9:9թ{ngid˵L 1Ar/1{ktvpx|㣦 dKzoIi2ZB\q}_c^w]M=o.k2'jb[twHvZ^;`~#ъK,}ߙo/$3s0 ">\cj xXX+-'.ϊzAICM! +Q|K:ޣk^:邾 +!]"5ES :4XI-S-e]+ Gid/Q ޑTlpwHKg6mȳy LkǾ(x*rS<_>W7Fujј*S?4?2"| :#ѯQkܤJ䢦lD[r [@pF-Vo ]xw1tnᓇτ W/C]hW_/X& w^t?oJpFidTg(JLACW◡/ᴨR, K@ʂ5&0{3_},AsTh4( |-ˊGO" *CUQo%@yݥ( jGOQ>s85S 6vЎg`͂25.)" ka'}ܯ&"~A ڂN)Zt8fS(`2tN-9 dҠvf~ ؗOWxF~B 4+t 9O]B>RM>hځf̉\&4xeHN$X`֠6(r>X拑CH.bd}"cLDS6O?XDֿiM)CL5'g +O3͕IqOaqied7ǣDS(sa SזۉqMu7s + myo0JckSjVq!vhxF卥 +§p3r@LRꚛ0D#U@Ұp}7g 5*2_Jb(c90 |Y{/}Xj8 Bxu:MGmE7gߤ8D繷i=s3^n$2Zwu{zϕ~W8*߃TC~mJG ,(}*m-Щo8^1+9J^+‹5d ce߸!B +kXoTM,1Ҳa=U?F-&r?uԙ\T1R((j"4D,A5@X{{sov@mZ[ъVmQhUue<}柆#'|)*:yS?_okPp=`10vSW噄^?TDHq*Žt$!V!.SNIv6fa7=K| ,'^ ?qˁXB9q.[o,9~0@" OP-."MtH]nD +"$'|mfpBt88|!n/j\Q3ܙNɘ |-$ ?@wc"GP{#TD % >ĤüD4pZF(=~SgS^ 1o3F$.nE-8⋙wb"Lv=3VO0 +QW hmvڕZJa1oLl߇6ncP|53jeytۗ瘏3m<^8>INh&4zK栚q zȾ[Ԍuǎ2Ce\F.٥^*5WOY_%TZLNn'ciݎi40 )>Dϥ鸿JOi@$K|_Ǚ;*.eU幒oN|6^I㽚>cM]`v'[a2]gƪ +; !R#?IOfiE?W䆚V&kӍ kcꊗYe^`أ{ch]0"]+9O ʿs)h4'F^T0Q=][hx6InzHėC_fڮs7PQp5%yQ6˝ u^+pدdɟBɞM\V T i7n6Z$F_렢1b`?5m܁݆!8>ID>!;_v׬5SI3SD}*'Mx(''£mPDQP@&Nu0?S<8 Rw- lK %Epd7\GA?U|= _Jo2vN-y$8EV;ȪA|>rw>Q޶9-;ʟ +EKn"c!9XwDvhR#jDe5 O}?1mVNmn;)sN]BHE7UʤbBax|3kyZ,J% Ve{xPd1ۚQQbmXD@u~Yk*p&}X9V(Y -I`(vg6EޒgWT\ lՒ\O_=HHw:. ufEx}LeEɃ%aꨢF%-[e+EdUC"-R\&J=@ZuDp릗 ~ֻg&Fƨy_ "ϫ`\ +y:9d +S4X]A4?7}=H˓UBE}F&0㚪 ~ݏSݪ'!FJNe ZA rg[Ѣ]UUab*og{=S)uo2&f;'żMڎGDn[;x \`&W+) = /[=b⁗di +]WT $K>d4& G2|܈]Abzo8(Q8 L*z;\6CPJ\b2 A#ǡ0=>uKq`fLLl(֮6 +| itWb҇''fE8 o ĩE-)7p/A'GQn(qk1BPavO P+0*V1B1(lX,~$ +ljYH ;d!Q? E@0L?}eyl؃*5愹8sTI586y(Ii5X4viD5>al +"~˴adi1o%Ć'sZ[".oMQY_M%hI +,A T!4A qD(I7&7Ћ,FP(f Y{E89+Ĺ? W5{ُ '8v)KJ|Růy&ziCL/ po2~_/6`h[ ܀IK^)q{gZ zu-ZhȃU&)T+K(k .+L,I+MkM +cđŲ%Ԡ[C&>he>]MC(8`;j&)F}7Qbhܿm54/EYEP8Ԕfg  m- [ppem'ڂO yRTe)1ȫUQ]ӬAG,l*ћph52 )WQ~9_ h`؟h _U}xE/W1f.t)uY;4Kʅ %2F/CD*!p8Tk@3c1jD=t^V) 鲭TJ=d.⋮Cob'0kߍE"pxFZ +2lG;?Vc`Â;1(zc,kQ[I?b,kqC3mNt{2O*ﺓXMHdfO{RUEo̳S摕'>0(D1Q hPAD+L !BBH I eRQTD)bQ"*u =?9Mѣw<8$ޱcG|$g~A./wN<K4M;;LRGm쮍s7GK*cK+m?}nlB +uNvOy NOwEvӶ9N&gC[@瀯wco_%&X 5Ƚ똕` +9!1s1&Rm ]I~uz)嚯)tZgS={m~CeZƲ9 +-JCaTJ06TxV@UÑg踕a xqR J76e-i1 UXnp!f׼fp1?+NfZ_ac[/c  >_sw{aj; /{֔[E;QUcl(h +ŋ\1G[?eO?4ߌ#t7Gw5mEx4ER w.S?M hND{ĤZȾQ]g*c-$Q' F#F? +=ԸZp6sWBϫΛI&7/8/OqYteZկfy׊~vhʤhDZ ̌>Ve;kΆ]ōuy_k;}U5]o U/DoܣXL(Z 9H=v^˽_ó;ɛ9/'(ΰ'qm꿅|Ǎ_E{{E6G)@% mzN~ɷ~9VaHz;Q'~ ͋/jE^``R]j;U1{-U6вYXʋY+BZp L>xX',(5' +zlU/jZ;VolTˍ6-%IܑrltPpP@9b(col3U伔 D2b!!Y0HzKD4 S_PO+e`[:MP0[hFw:OqͰloH73/>j)E&m@vm4(zƭ.izl0syg#\ \N>팥@!pp19,gHM#I.ک3\_M=&pRb@.pC@F 2&dIYdBHŠ FRց8pPy* Oct˸=o%tz/9J'ŶP>.&Q{7hU߹ͧ 19<2ֵ>l)mL4UmFMh 4Ԋ56"N/$@ Hnx0l K o u`UcHF_+ӧ05bT桤Viym,vd</YqyoIVJ<n of\6B8;h0iQCo2*y G**Wl,檝Z+J>S:v eQiÆHD;c[~r*D~n<(N^'Izܩ|9Dd:slu& _Z?lk+$Jyʻn9wQ^VPv5qI8t+o\/ɞ;Lw5@[2|^M<.2^W|3^;-ʭt1 5a$\ w Nh!WdR{; [c>:4:\ٛ#,#< J6U?vܤ7`qJ[O=cF3頍hV:oe\y\MJ00&so  &8PrV"ϐ.BU +w.RD ҧ].:37qS{@> +dG8@ b\4޼>&Eℐ;ZY|耊"%4&X׬WdsЮpµ͜Eu{ϼxlA +#K | |큰O0Pbe7[2FMŇZ{s"{mo 9E,ǵ{y&IӀ֛Jֆr\%(JPȂp b( +~G!#0eCh٢'8oW=[> x)e9TŹC)F z2 +=SvbNr#` +TȰn.PrF}{֫u[;LyX;|a4(LgS +%|t1LjWGlQ]oSM_EA:V[:V *k} 5yqZ{u\%RsߵcOZkvIm*,Y=T+DM(Q,Z>k65s&`Vl½7^S!rq,1ȸy%ɟRW\Z(ILO00baJtl&D{)ץg+s%ӥ1% *%S+8KB'y*A5oH6%`s3)ȨO (kNyASDXyG(70DG*]Hc?|ď0d)Z_"N6ξ^[,+Age4y2ZN ޹~BEdJvGeWFu-1^8FSrnLţg\ +\IHȩMOb4S<sgm$w<3z, wi;{~9宩@IA%1S2+WԲ_QQ ]ƼXxY0xWӫWE{IqN* mç?rb˓vH%rAbT3hv1X__x@\F*xb9oLv!`! =|c1v.2VE 5 +D-^0;qJ1Xy[}Zs&к:v80.c vD1V1şPDƦbNx*,vK|7\oI2{eljpO-#ZŸ,'MN?40 DQςe#i?! p-7|&Y=\g$ }򟔳MlӚb4j JFMBdYcHs~^,$;2{}<,#X& /6dD҇(2ޒHriUEDYyk5uLBHK 4EDK:G}qCY&Krמ Iq(beo'8['GC׫p7ٜ[tU WsBE/rJH.A=JmS7$QOqYDLEveC##z~ޤ.A?n9S;9tTI͗ffr} [tor(V`Ozn{1sc9֘f;8k=CI}| +Q}n.\Ҫ{ds=5`TP < B|[+CUXXC,\}_W uxsf-h}$s% [Aj~pzsT~mC5@+IQ~+Cu4sV?}Xt[n~k68/Bg>Ǧ"W\㗥'wB/qX/R^$/D`V~;G˖-ްnYLAXӷ&V([*DVDP+EkEYA ! !c23d2&DLPTjE>Z)[VR׶Z\<Ϻy?дE+] ˑd](FTa|5DpC YQ t,b"]MϢV`:(y uӨu1_l|af eyr]TiN|%!CG%`e!=~kp Ek?}Ô -R5/N5jq(Z3 +9g>utFm(@͜,g`CL!ʯ`Tg2@3J|GMys$+z,5ԯFޔӖ/}̈isV{07j~gwb(Glr,ϛm(L7҇-F3vJ`̕tlc$oFx 1Ll~'1\2&R+VLUnu:[k˦vl/.J(.`~x=e9=Z.+nI!%{Z4Xr$dcId ӳ2޷ Þu&TUR4YG*ظձcND}"򨲧pE( {xׁQ˫\{Ȓx9v8`Y=^ +z\-~ud*ةj%}7iʟ%2UՕE)Ϻ/I(:i}]UK_(.tc{NKv[k+tR>0^Pq*UYe8^Pȃxcx/mD`^9p5 + $DҸZ3Ad +A/@xw{ eAp/VA]yJhEG2 lEm8 |'Z%Z}'wIoҶ9P8i\*A4F_zr?VEe/rA1T8~@^"1K#DpgᷥMܔ8BlpT&W8]Gͧ#hT +S`EK^h.!#C'됎'P c)dGQdD~ *o kW,$--ޞZzgt 蚡7@#Lދen0=v?NR .`L*aOz[u%Yl4R<5X&%)X uuh<2NΖ$XI g(_(k>:1gmhkY3z U[Ec*6y]ʌBDCuc6iS $f6j Gk|M{ҦO]n-et󀝮A2=8$Zf9xaenʘkl\ ri Ss/uāq +T*g\P@(XS) +"}\c2$!LC@"^g뱫>>VbŪh=@E}^M}P\bf9:fU9 @Ax篋(<]xAoKnQ:!bS<9$e+B5C^CaI02ϛTlf=2w*:s,azqkLYx?Ve{q`Rሑ᷈KPq^}1eUq/rfuRo°2G՗|vPZ0Wu9>gcJEQ!G? U8Ror4_~4^#o n3u>2'+~#O~Sͤ֏ZYc?KOqkaɚ4[`AOȆxa\գo*Dhaxyb'erp?m0x8Vn![>x[J޵\Z}'--bfHn2mJ%{!cWκ5kެFD7mѡЪ*]2_ %lqLULD֭wk&^( CPZ㒐?J7c[үqc=H"poT "ݎV¼^&}D\!CE׺@~IhZVTy.4sl{InNigRalBhGRPПlpDKƪE +m9\<6On+eKbfenͰJDx5]yCIXPn"JZLO궴uK>$ʰQs-k;qƔޠBbߕ?Eepq|7DR)*B2].o+.xkv昌3 i?-`1|6z]`\l^rp7qO +"Vxq`B*+><^u9Vo,{IyT`\ +Jd& !WEcyQiX J鐿2)xꃿBTW#2% 㒫zJ%B5P5 =ҳ+0"9*<ِTWśP,3!@,=o?[6NJ/Y3[~Czq4A%B `:dɾ௓ 2nH]/2 +dah=.gTLD)/bT?m`3C;P:LEv%MHR @1q\JY(I Eot \ʧ>D UYv$$H=L,;&B +dJ_xPHW,?Ճ;HbY)- ] M%V\qMZ^zVU6D3u ||V:#z,(6yC-wn2S AFy|/G#]n+S|*?Њt)]xJ!D$gɄ4k'CdzJ\H 'j_P&Πߟ'\n2UM4Üc&7dDž1c/Q\|PH1~QSbhbd X*EϿ?UdZ7\vvv"Jf9pj +Gy+w qofSbv[rr,8JkZMC)Ջ%Q/6Iz~$Zwru\Em6x7PS Dۮ 旛(4VgeDj PXDmIT.n9wQk\Yﯦ,X**A]6 +5 HO^^ޒ MqD2X*#;2zY86\EPQױss{u5NPSYV9R\<}yem+BcqU҈f~Lܺ-t0wOT30>ûB]X㳰@ TαAYϩbuVytڡo'so +57 *&GkT@4?…SjUQVVH.e2C9&Qyw*06ף +g<#TD]O<גђiiR'QzzrS깷3Ã9%2h3雋!n%Nb1|tK*e{M4 1ONϐ^ʌ11\4*B ^jr<RNj1!|\{=:FY +JW1Y&ykF26ʱxjY"P͋nԮt>ͥ@!6h Vr N*O$Hs*4πՂbt JLyUjR@mZ\g +ƉQ_DW'RIXOviSjݔU󋺗ThOAk+?t)b9 &@Nn}#kXO>C'FߥS)жHLhth.Fo+FXY.]{%XjO@7 7Q#Gkg,eL?j#5w"P$ƑJ'4[.$ӒgRh*8^ST#ͥ`0Gf'iO7&}=N/`Wn<P +gNk025٨6=:]w}xT՗1s.ަ?!IH?lw4,Yo܋SN3vjwcogߍ2FXMSmwH<`U%DV,pq1ϡ>ݥGDGsF O.ʧfsW='IttkҼ0E-3e&'_7&*a򂃓>uS.* Dk@7]C( L洪r,^Ү^;i-yqQx:ص/8sQ4©N^ݭFzUW͊U^ +mUTȝ>Xj:4)FQ=k[w 9/Ң%V 8xC6n۝|'}P mw):u:NkmHF)8L٪WRwU%Gi\+7Lop p)Fp&j3Bŭ%YO-7iEc"ښjgph9o[tc[ú:A& h@HäKg\H{57'(lfpVaZ:oƶv*u?T؎.AQFlHeyRv!|BǯP|Lpo;/]LwKJ3̐mu0P7Pfym0Ts Ú!~#lڟyHv357 fVLyބh—u,GlNK.e2 +M52?DT{t过z]Z%4z*O/Y0OHA0%@}%}}tv^"9Y& 2&@ +odU}?P{{K{xE دS/'iL͍{DZ0/b}1/ {RPyP%I)7[20Sc)UN|n.xކmjw:^\N űL*6cEv=amk_AޟWȫ~vz10r}x5a+iR(dС# B@z 5De + ۊZ@fFFUw#9R 2b_M,8>{v:w /ȆhNF܏ѝ3wH3u!Sha>.|C(_CIibvȺ1<OE[7@w)%䔙}C^LHսG:>NIzQ(vEfc2/{~p8g)~[}%fE:@,څ"df&Kz>N<)ʌQ[bUA0zԯH`$n/ʼ!v1iOyt hVf3@ [Jkzطы=2$%fR E|pȐ?!~63xM;xF# ]%fJDNKMg΁WLcGL&0x){G族s=NaɖXk>l3N^=W}*T&TޕkoV +stG*>O*tUnՋ̟#_Bs{ ؼf3M_1J[&>6Y}P^zEsYfyF M:5MrY̸8}Мa*^*ިwEg+e\p ?Shv;tf+EMUhdT5Y(Rn5Ok"]ݦ@o}aFp -=kĿ24wǎDxX+muWU+Vҕ[kDl9!_6\ +46&C 6A'oIWe܉^94Y,T/To{PxXf^9)c֫BT} 5i޷LDKh7{,AA6,R}s&?[.#ʥes܀s\ޝhg!ޘ.j +yIru\c7}~U8e'P4NhDquv~2A?Cp@DxЂg$c̾` /c\-d(_׈ʝW2vZB܌rGc=#O͸d7dT'}5 b~7+3%RQ˟`OJ 3;Ŗ+Y`ctL!M1Рv1|A7mb Z;i{Th5"͖ +2%)cYS:hW|_&fT!嫾 ASX-lۋ9<1k'U +$/ڈm'jD0W>NՋu󚅑< 0a1%#Y٭i/ĬzͶm;'}J[e""m&2Թ" \}=K@j| j+xdig?7G z}PͶѬ9{Wtp5_!D>8*H\7ğ#àQQ@-4RM%C|AM`.i12q$.3I_Yz%=h|L9#Ks`Gv ȣ2"ZBG'b-zv7C sXlR[6rI0VPWteDëC 8V2d* 2d "H2Fv!@#;v}_v a+[ehE{Z=u{m[U{y$R|3!ԊԢ?Zݘys ߀9J ?Jgc31{{u O{5ܪ]sI\.^UH)b]$n?ǘk-/47M+M%Lө'mDFkgL쾱?p tĚ%m-X=iTW,5HχZuO/X>/8Ey>nF"qHcQL6˩mg;[|;ʚ}kQ+C7h9s2:oqE=ENq@\YIBW/e3|S h?#_mv=$?F]3 P Xgj-Nsь ^W\r[̞Ҳ*TEjH(=. dl4DIY^7;0Ȼps~U gۻ _lV{WXx+s"g5:|ueMC:&jVzPB5UoY_;wknKVi- Wq6RQ<@"|+9ƗvR< Zaj^5;{Vj-SMm ).ܡ*^'1uDR$F68(ْRe#^IA)qe~Ϲ:|_6Ae)?n`>u +;(OhJQjPE,'^s9(>*_E7xWqvV~/o18KB*<|X rHy+=Rde)qR*=!ifB4دkb#c 3xҡHV tpBdp +P + rt9&% C8. υ  yw0W4эѱ]XE!vqg{8.; Ea4$/F}p-z4 Os6Z,7/BH V8{"E,z];xae@e O x!0W +A&%xL$[oĉeG95%xC=zw1a ~AR}$?@(]:/g LSQIE5A9T G* U~%5O +!Ԟa +5>->g3e; &쪁Jc3 p\MLN% X!.-?d7ygOj>W"Qj֪l䘪)F2P:nȬL;h 3.vmQUx +2NSL{d>a[C^j-jiEW]GTuzw14tsIaL!e/ڿ!yIpck[:e_~2 )_N;RM =tooNjs|B/xw.a;ؗJEɦY[Qxl)~P45;%8W*:{Nbs-˰~8}/ڃO4sŶ6Gc X*^ZdNcX!gHԾ)Z(+NU==+T1֗ ش$Z@:x uj;M5Es/Uq' ey?@?Xřkv)JNq5Q6os +>o \ FL`8ItiUNU午.c.%ͯ IHb_Z0 :Pި.Mk$Q*]]|G Wvg+G;BkY-r #K(cX~jߺOu2MvW*YI$eJN8а;:y6F"]Y1;ąJڸ֊,J$e;!e-D#d_(K+2m 6fg3ۄ+8ǸҳME~ +ţkoRcūB(c9)vq![!M}73FB"/dLsEа KbSoĮ.J"g)XjbI<$|i-n7ge}Zq&6ͷC dt.\uMRf(LR1@6&|:I H+5.de栯޲M), pȂyL*mv"3 iܦ`@t5uqP6T0,**(NHy%{" +U3#.TSvTFZ+(R:^Vq /|w+BAf"I;C؋ ׺_\ax2̔ĭ4%]Kd֘ǰH6 +D&pxYIlg0 yPa1v܈yA+I Ћ.`d\bt 8@o uVɠF@o$̀;r| raz~$3I%B:bS +%9#3,>Kwߊϐ%1Į?4Jpkt|<½`Âx&ǎdQ# \*i;(^,MKsj f<1u|yv0qCB0OgDOTٱV>*({xoFSؠ|)wsDZLmciFwK{}&9`:]hM(m^TV ŶkNsX1_q'0Jy%*;ݧBE-Q^o5H_aLƲ현6 ۋ NCi pG|RmR~k'kڴYmu9ǃrZwj]mj^S;}OP|ZWoNYR Ĕ}dmn9Q/[2s?7kvu6S~4 3E?FK+JY +qb@g?aь6&+.2>\+O|4 +NlS-ٜ˪%pP=Գ䅂9ـP7L){tht^)kDZ&3VstJu\ѝ#1W2 ŧrYMn-ۛmj-U )iM1SV&x%DR}, QLVOQlX%/8J*:X=d`|jXdXi9>\42)1rF,ĭQDmRVGe)*)"*M.ޣNY/c[-1ԙ~MQUΊ.UܲK 3JJEO峈V=o6ܐɢVy)uf:kN8:ЗWQ꣬S MTִY!ř=++nIC!UՍli{M&ak^7:#ͯ?ZKyfK2F{4%a"L#jDWh~Yh͵ȯk B;lɺQLr}o5֠|B7tP"W֥Qx'X!GqoAq#Q鲆M`#+<ݨ 8M'ri Uo?I~kzCf_~r[8=i[:GK6Ap-ҿЋtz Y:)i}BH=H^ż]3@Lzb +l!ŗIx=xʁxFr`'ē8U a{#Cm`yM) ۼ"7,~24

vzzjTbF9+v-Fc%s>2lW!` @^TE3{a&:$+@GҜWzCh+-'iI:pleѐYV~5aǂS$FV#MJ~wÛO ʼ<(B ahͬ Jm8_8' ^ŧfԲ?qLpb{Q-J0" i [d&v'R̷ wBSkcmCeXx7̶.<"Nr,RX~%A\8awGPRybs͵~"%'G+!c=rd C]N |.b$cWk"6 V-T%XWag.P,B͵M弉#gcdʨ!}&uFۛz~܌tb {CH VB.BfU+[ aE͐OvyDXx^\}ue0qchk$,K5QkED#t(v%@wD*6$0lKnx6Z9M)&FOOM3Oޟzыz<{R蠰!?8Hh0d7z }FQݔrGhwP[4-BFXL] @ß_(H/ +C !u}~';2F01^_3ފa}c: )mۙ#o~R(b1@j0F(C( |O@7[nO#pn#^8sFs`G(.`[?Lcife&3c9+[g,9P瘟+xΫ;qp_fOL,{ b- +Xަ8dAь o~'9/^/x `"o` Mu9<םMb6 d9m,,K&d8`2m|H 烠`P +xVB+߷\@9̹%uK +l9g/b-PY@"Gcvd#wFXOqlTnClv.2B}-aM=a4Ϭ3&2xTZO]ms,8ױ/5e/.ߘ&}CX&OLp'N'c=FuVӝPϺg r UYOW6Z'jM[H(?u[*#tc.!cG]P;V!99>K:fnWѶ*4K^!T)G@}Of&ƶg݉M CC +rߢjuYhQ/#0ABNZZդB鸙N6GvWk;s7Ǩu_^`XX| +, ZO} ^3)%XSTZɸ$pY8^ _E${b:0[ )CvH$dxD!*R앝srw{)** +NlU\"u:Jmo}l=_Нm+37}ŸO +;TH5nAkW>f'[:hYXO.Pj ث76n(6)qt$u/B/"XYnHkzM4) u(uP8*h$I~rcF/.ÎI 3,b2֣B'l~aBwNqQgULbx"V \}X]e+l "IwGXiySP-n)ܫϡV~F5(rXɊ'0#E5*[fae'}sx'MkOEf$wVogửcp"馦6kݬؑA3)c(CYf`$ߠ,@%"5(ԽZ4 >qކ-L0ކwڔ.C[ɈWH9&FŲpUG$|o)"@z[1p!%f'TM +Ak PW~O29 {"AQe8,LJ?fJP`wh,p, +#O;?\M;Ռ(O +İOcKoy8NIj'?ꒌ?Ҟj4RPY^ﲦ^]iLZmɜjUz/G$ &j ׏'o$- [tءB=o,;!}vPց_6ϖfYJW~rOThgʥÓ¿844\9;t,Cnqwtg~WRNJ'>ZE^2l֞@(jn\y(pZ:c<4A 1hH 6&+[gA[pD/}^G eD|`RY7{kqN}5R >|a8J5[NiG42fs2߫*8jeŧT)8wiTų7v#_Z, Lakޟ+h]OSjbx/CIW5YN,1~#~F1oɹ2<#M2 E$06&ە~d t$ikIGտ}jQ>g`W"$aeOAK4st/lChpBP`7VVr_hDz+P]z*/ +1(NB9D׻,Ia_G>F p3o u~&_OV֚Vqy u%1^}G@ ^+Ή|^o,7+ls3u2{6+lvCg6ALg[S`E/ JD[Zpq![02OIr! H(Q" +jj[\W*UU(84 Ll)j (mec.O2'Ϙ>^j0 cyl6)$)n/҅"N*_g BM%\f-}u:=bpN3:C~(9:S +kC)(>h(W-F{K'&WK.8¥ŰiFZ>}# &H>U pI! pxٰ\?'ș嵤/s"NYB +&^4R9뼕=!*N=#Ѩ?7kSfΜA[>#5њeFB&`0+J2l Mh +T Q47SkW+NrjbH`nQH_#E#.[#Rnb +=*ʰ%95Y㊟4x6d o r*O?_&7,R ~^za nadC,}s'F--/#3?]eTcJ[Qv3/#?p>u컝bD>V;.kϜiѥ2J/1zhAE&,:}) p6 7wa˸9>!fbThE_Ompk*Zļ>wBڼg` +(7Q,n,2*xPOyy +lKsn.ʟcvQ_׼ñp_1ƼrdNcb)!\ωdÂӒeA Mj>ˆq Ϟ띔FC|s?/`WEv< p. +D^7H#lsf/gyZ޲*ng@Rd7N؇/2;x]1I|CCx+U"H ƊJaɛf! lR)Wu\q#u^iϏ<39TOu8{)kzF)ڲRPא!-D谁!*M$zEEh+Wh;Kϴu깬FINJ>/ Y~}[^ː5^4_NVl-R?ax pf?ySm;SF۔_GȄ/c&QưSn='pjet?wnZǛw=֩;,8Fy 0n1Q` Lg tF, {syXNiJas"My>~AɆW *BxS<|'T?L. "tF#[w d^C& z|k#$[E% ikZ%wd%E["sV3Tev*q=޵ z=Sۀw#0{n+u3ũuDJDTg V%r8*;0,8XVUuWqz|A6\ ( ꢊT~ )E2ߕ13ANڸ% O7DK( +tS +EQrkji h>N2wvf_cGT-߼Z,!%2Pk1?憵GWo]YY?z_Hk)`v'pogC L`D8tQD԰ze9@mf!JU^.QrEoؗ cD\w;*s2> lǤ&zܽ9m=D}GZx0 Nkв+{ufY('Px7(F>䝜sa9QےgxX >β˯)xaO5 Vf_-. Jg_e%uKY%|/<)-}&;˗ Oh.Ί +>^"9fdUz(qxqD5k'cd = v(rv{"YKlhNb~%wX)G8/|9b&#(ݬ݆1: + +BkJ!=Qsxz-ԫNK?~bXMP)(iM|.Huƅ7GZ$[a,d:AQbkaڈJZa &Ы%1y\3OS[-.8f}t`Se@o[OͲF[6.X4k2,Sk7e-)ୃEy2pq) +x  +#YOpWS0~㫚M^oL|g͜Fͷhnln1Iv2^b +/qs361E%'QWJϠ +AJ>ۖY]Oi/"=2y(ֺe5;$?c)]؂m/[@v8& JI]]zu'1.Yﯦ! BBjA--AACϲ +!{ϛ$d!{2XsOŶjAU:*uUylQ.v6"]ɰsh\M:Վ5]AV +֞lƑd_VuZ}_"Ngu$WPKm {H+J#{ 1ӛtr1^aJ(Rġdc&YJӥI.9Az +FYU!e^nR8?'' F*z'+*¤E*6PoMѴ|FE_>ux KF8./.F RedQӆ3617ɡB1R Z4vF4~ͶDA?*x»^ 0paa OÐ[RQh1,;R1 Yo[[[ + !_ hDq)x.eW2%_HRn7geBd\1O H V?GXQ:g0ז=Ajx7| RI-,"<8pܤ[ dō/s%N?ح>8\`>^Ar&!6 =Y|-`<2Aqqb:C*\%cFeUSs嚬QUvBϗ+jA^sErbvǨ sJHGU1H+Td U=;M>LkcBg!'rX7=Qc>\V xӊ!VݮUkV ͮ|)LiZ=<֟p?<2O:m:ݛX4xM 7*VJftK 4" +bUJ e 74;I*mýrr!"GMja2B@##8b]bR5!J{FJJ&6af)ƫVc|o +$-*J;gaIFh7,Q ͊4(O' Wqѐ *Ԑ#Pх\Qx_..8V5yK?\rSr<ߧFFM17Գk[m2'OkQXm&+hXc`7dnIMuYuMc)z'c lnqd>1rFiM:(@o2ni<-l6z鄇DosbnJyٴbZVԁ|ϻ>8&Ĺrǀ.ve+Bs nlIN+1Ҏ?ՁuxXBK7sx7C%%TC:R:ox#՜VκhX(qOIJSPPC܊m;WYl -B\ӯ(&*sI=At< Piү2 l]3w~_pҭD!()-ՑS\hAl'?1@jaJČlJir/7VQmS *Q%O!+pO}̵۫c'jOe c? s1jR%h-Q͟J| +VvcM- Xng%XPW˭Vk)<(^ɺy`ilux6X@On9Z~/mRЖ2MjixRdTkȍJ5USvYGef3虾 uX71S-Z+B6wG)a=:ּHgymտЈ^S3;y$.+nHM#Dd^AtI)VYL PJ0#3/4gvsn +{YR߉sܟDWq<ᗪ"pᥚˆja^$)@<3©Aݰ[Y81"9.kFxئ` rBUGYTbv8^#-Qd0AA^^Xfax8 =t4EeLgM?/j.</!n>2@aL GӷFئ.[;D#ڗUr*4f=SCL?׽0=m''KɝэF*:oNxY4NZ5jzC4Ƽ9]2`+^/w'toc(T:ϸst2O~܁VJc<6HY 5W cN:0[<:El"P +" @BB$シ-/IB ގmuDuDcG\@tpAꌂuDkk{{TG5Q@.e')IbkocPXi~DVQK0D8NE^t'{tM,jRt懂࿴AYP֘%վ[<ˎBg iUm z7fJG'} + okR`H+W2nI3 3;`峣ϡk#qᚧ;52kMRuT+3/aqEs+s\k2WEIeMxZeuit0d ol,$qߤ_sVVF*sP ~VEmOKtI-%&Xm aƩ.(T%'A+0,,"M)]I?*S{-U,p +uN7ʴv9A}eg\ij?H ?Wb- _U f8[ F}gE#74n +Qŵ"7Bf~ /I'/@ gMT`WAjX:<>r,f7L,P3ʻU-^]O JjqgX56% +ϪST5z͂ \sI0ǡ$^(^Aa.cub@xF&~ycL铜=ltzN~kfҨ<qj:==ז'}Z#yU>.*]` sBP@~UPa[JyZV۟?xc֧dn又TBNVS?,"R8k(P}ۊrB*;sH!<>:OlܭzdpGq<2b DIv4:Bw qS csszŻΨba}䞈  +HΧﺍk)R+'W4> ɕ q|A:y6Qʦ6*HYNE^@NRKb Th߈>]د)R)tny(.0p^UU uZI^: y;(&+ \M"9ڌ[{*kǂNOt}{)OݠԗL)pEעTnC _U >G\MKWwlS =&qVB5[*:2?M*rtT%_+g߱1۔lp*_Ŷ'fVωs\wM[|ئxk[y5c̟%7k +ZswfÍ`;"b0)9#HD\oMx&8 +0#UdJo;S!(!)G"R>B"ZWV?z≯O|ɢ9D7~o-2ĿF}P0rQ, +mӛ@ /8X?7 rCFωAuCk&[tJEנ>tžk2K2eGxZ{yܯKd3D`jզh-Ѳf5œ&Z [S6}_}dzh^E? 2+*0va +Te8dER|'C XMD!q1m0S_6woTKXhϷgb@{y7M~1Q z7[-Z/o#')M DSfy|K­:c.2)7_"톯 +|L$VFZEos8i?C<3 Wq/|2&.TZ6M=i>lA݁%ņ c7R2՜z}ܔI.ΨNu@6?ƁqP{qLGKs% fh=x7d$nFvH,u6ɒXĠց) dz /Oþ Th{<{51L9}˘ILe3`Gqv60 ֤ړ ΃ W/iȃNEp/]{tbXR!i^UpV#2f+ ]q ݗ(5wA+X7a1̒H3ЯxSd: + +M|}f;imqJbꙒID&?FFB\h ź\sSo37'N{w-I*hPO#*^Vެ;*;h_  ITroJKwfȆ[Ja +w 4⦓K!sGAW.*Jovc #qO/XJqzliҭ`YdWu拍VLq`9-|\25 +{GK$m7K2>- Vlo#~SFĘ3:eFs>e'HmD$qW_įeðPB!IIr3m/t>bR"A Ԣ:!^aw#ve~?!^% ;wnl *=2Jסt}5ɩXL k Ꝫ1ˁ,f@b^Ȝ.xEi ӥ0g̙;`53waGel|a)SY;V&m-S^6Ҕ9j4 7ftA/>֦0j,~VCz_Jx +ߛ>{LR/u@5-RxMY{48E /=뺭]eo;ԥfdF j>kہkm)ZJ_AE}k/Tݭ[3.\NwZpmHsD|X-h2pFy` t!&|%ekuSXO ϖ%m+o#G#?aAAWj,+T0^L)1{.}b=_Lgʴ+\$gqGmL&솷(u +4lO;A~T;DmrfaNyaX,^Z0Ә+='((SbR1cF-F٪jƪ9 +Š׈:'4zjW.fB*⾒lԺ}ʓtP*Eۊ gջnFPz(sXwUn4; p)c5B&W[ c[5d\šuյKmUQ;dRQϫ*EnQNe$f%Gx)FN.x/ŻspwсrIggًzR+ ==*>N0"xpPeCNC_J݊^EƓr11w{Eϝ`],C 0r61rE)?_z<+e9nzǯF: /M%:㏢CO '&ۨ? %u!lst*f&|c=𰾆.{ +rh,I2@t#Υyz,̋vEmxc6-FIb-5-avR6j4ܥ>:j@\d &"HP j@0Aa7[{soV"*􌊥rUZ# +zDdŵC}p~QL +'0^bKPM\Hs0ÁYY ^ik!O G7o#j8k&!i,R3]wDy0qzeTď|1 PjYRV:M~%=1X:TF6s6a'Jp\?vzVҠhA^+fOk̐HNy93 _gh3yf L7ΥN YIbbcG]C"QoC1xpXr[? <ԻJ/,n[nC^e#Mz]εzu냌x^RkhN}R*AfIٕhOgx'dҸП67]՞tk\SH><*_-pӥfr*9;TZ^.ks;4c1Ѝ=ŋ3ꑲ+KԁR۟~ubBxʹO5f~M}޼UΓ .A=P`|:F~*q Qϐʫ%U+ɀ..8 8q/J=WBzqrדVW2^/z]$%qu¨WܚHš+\巪{TMu\R;gUi*Zbʷ +MEgUpqz*DrX^z?Y[V^@WVFxta.%+sTُzYY؏UA1puѦ2^ll.0 P?  T`'ŧXPlvIc(߲{+U^Ъe|#YYXuU֭R՗S+yw[rD-]|ܰ+ +,E45索'35Fq#Srcɗω](7)+7W9k7*xs)0$*S2LS~WŸ" v:2MD +h0l=n{~?iwmO^{ uRp41XmUi2g^Mn'+щEI[<1#mN di " +ǽO&Ty6 8VȇL`3|:(Lqr3A8ZH"߅ބ !!l8!H ]ch]y&\@6;d}Ⱦ.+b[$0^49vrB[ +HޥYCw^x8Z.w[E[>:G9&Wa>&T#4'` KØ̷l,0l]743p2 f.FC +vd&tĊlmlE| fk,bw?R2*=HZV^U=ĵЁDKpE)w.|@ud*) *BA'pgj〇 ums)eХү9Z iSQu_0<~A_bD]<:j2KngwK =LjHMH-zta%Пjk ~~b\XvY yn +1OHoċZP qN(+C<<$jmI? 6q,Izmr! dB}0n#:=|j+/M8b/"6Wޒ55/hLgJWNRƤ\ 3o6$1 +w =ˊx:n-n߼lӌvts#fˉl`|aL_3ap,H)XSoSR2)[?]PFOGcmo&㸒^ ʖ!C@a7@2d& BI~3Lxq{VOCעEQ8-gOQ}]Z6?Gu+6d꾬,@t +r6[7hmJжWnۢG]HJVk٣^ s9A H(v{.2m(T3X%KV&ek*RP//'TwӗbׁBʋC%ȗh@y;";9GDՄDg#45< OW}΂|R:,7s), ܄r)Pl1Q(q!#ć x=~lj4AJIS?o-SĿ?KX^Ԭ_0kϿOf'93iK |;6'0u ¦Dtq |d|s[|VWs\En'a_f IUX/l),V(a*'K}FR qxj.UQ*iTc̬7.Nm"lHg4%U=l\[Ӊqw7K{ /^fw1!_c i}@);U UUf +4eL8&e%4z[N:vɮE6-v*$.f~e #:4Ihb 24ԇ7& rR$_Kb"`ҥㅜܿGN{ GVXA=K T%a \Rڡ/@W"P'z9 |o >vS pN$>g@DE҉4#!䌉JCgG$%t'FB6m &0⢖5&4>:3o8=v?QW3 v[z?>51 $::2y O`!Q ^ F8)!h&A2L +c)t +svש=K:ϔM ~N_(^`-ʇE-6FیrО|,&=Y@9mnvp(i ,-;X2e>0 )2thOFGcEc@6h9c 5)֑̃KM]!Up8^ ;1[Ɠ+~l`Q|2N2{Ɠ JіQyԀ3B3ѕzhI$FlFXf-7翳gg,VUR];XFj- osC-jxFv~f /1) "O!)2fƷC%ϷTPfS󬵪b,It|?/KoY[uZwza])}Kg˙ozĜצ5Ѽ!4r]ijZ嵛5^u i갗!|rDn|?VVߒՆsGS:5?6LLy4!QRc(|4I|=M+bI WO]YKXnY]mLB|?sK#Ô_ eT.v<&j #9Mearqު ⤤7H{ dx|#' ֣ j3 5 uMG0bx*f1ACKCRG2l._!_^]T:i12N KShKߪ[(VBN<8 +Q D J"`TlQv";!$yyJ +#0:VQT@ (RDP;Ztr?.%$44/_%T+f:`@ny '׌ks$01b Ih$\ J8`n_ap&,J(|ˉL*;TW-xI$qr +Ѽ?-.u e5  DM?D {`@7Ih'iZnr0:S@RHǑ>c@]|"+oSHWt=K6)zefp% z) `-*Fp} M,}Dam3,KpʫP %/?4kW볟h{'8Ө(a@lV%K$2 "~ %YMrqbXڠ]YPp`I)j>(C6Wj9#Ua,E"Ge.dF:AEʷǑnr'cnƇ O#xr9ҋsi42?ߟA+rN~$F9E6*;9ce2DeW2%/)\H`d6-YIdU " R"~E?Z\vZmiRF%|Xlq%a V~+y.O)Cu{lL2Q՚,tm1rq `T >$ ٹxb 53ZkShkOxVafUmJj/s[Óۙ Fq7#, %< U'jy fZ{zGkS$T[%3 cUYbtI5MQw-wԽK箪;2bdf~mN[;:QCkNܾzRs'rMd:;@)s?Jud󜥞|T|{G6#ق;r",../y؏QS3g¿Rdo^^9#R/ecj.kgoTRrԑxˤgH/RoJB)@w}exuyql?/Nyϴ2|WF*w&~r8%9 oɩ}5"< ZF5bSmp ]f:s/Vw=銖qY$ъX` V- 73-":aZv*_J'ЮCs@K%XOns?ح06:#o6}`h;3x `m1ezXEQ;.\ߚ> 6읰"{BBe"Ȟ$$!a䗽'$%H][Qr9VKX[|^sǣ72H:GtAloeY;B=lI'uyPUBQ0CȊ+6 E)u!;܂FOe-& e܌6JR-TA݌PSH-}h* S+V\4.>h+rU2lR%z[2Q*.B8 +2q^&Y|-/ +F']UKWb%;=6_ YhenOҺ*~``9x +9 l=jWIpK@Q~ˍ* +eUQҨfԲ԰&6$;*f֊E7&elA+nErPp?+r4|7a/Q:FF?I5e3Im{$[)Ew2`O0[?ė 2$$FAXٖ)¦~3˥ϛbs,:%D +ȭ |R\#Jy+ IG$ ,ؘﬓ֖pW-@1^zmc\ A:*A+In8c;y5ׯ"TA6]rF7;Y@6Ijm7_gU(nFG5 "n6>Ey&Fh.wY/E6_}͡y^f_kf}n2mk2'q]wzvF#xVX.g9ΣAa5ɻKiF%Oړ0}ڏb4t8Ymciw: 3>,|SݑñuHDюG>*E3mf<0ΐw>>v?lMûvi:]} g@m +6gclw%,MzA3q]bЬ1.,N4sKfl>MWQWL]i!Fjǰ2r`N,G@lH;Ȍ@ O3 ~}L{C0Ж RI4(jHs޳CVX)Aט1*ic#9a{@}q7cE  ~zth:MǗ>/>ZCy, iJ__ @N _8D^nzY1Hzg(A7 Wp1G.&pza:HM >8QeF09gy+k_ +U. 6YRxa#`O 5O|ʡs0`ϣ2>Ʋ~|x$͐vK؂F}EIwFUPlm18(H4o=qk&(l~8=4۠h?+qZ`nد]\YcU(aARW4QV Q ޤAkgv*~üG(/`!'y} zMt[̔gػ(/U>ɍۨ/EEFzVgy:S=X}ֻP +S_+]FyU~܃ͨ _:ɵjl%sz;|!Mvh_"#96TW[aݯoߪ /5*rlm/2'$l[. +! RNRFF{U;=ÕhG2=ܠHO׭z\qP?  +; +U2^qG"q7襽V}cKg> }R&$Ĭr:?XŨ'Ms˒.J[cۣP/Opo`zt=uYwZ2hN*2V˸l^ ~BSܘ +=Ն4`=SOk78) MS~f)wҷX+YD +(xafRPB-|\-WkvQ[9V+Gk+aUU3-t)w5vE0UCgSjb##]hP#<3uWHb]52,5 zqk5 +u~o`pNOs{cc2Pelu; ~z&ֽ 76_&" g3 k6Ґ'~YsTڠa6kmpBi=:Ygp^co w?vrKmu~mX9jry-'}{nIцgFsE32(܈|=4LfTTȉL%5}ʵsU=2xճ¶tsuMmhs)NO(+6jL +$ c:XWY㉡U#Dj%x-rܣi 64t'P+!)1"t:#xS#"i̛)'3r:QsG\:8 Yd 򆞎2[24z3 3J3[z"#D @L;ɛ9~Hv#3)hu#TKfmދUb ;ŚV`mtԹƜlfOWhVhgmE=R,t%$V9AdLu,fҰA҈g_fqV#)yBqLǎⰦiK1^#NryiĞ)dDK:T}i*-g >B˦S1y2|;:y +ъ5=V 3'j* dN3XeEE/ZxehP 1-a xŎx$"%;Cc9*.YDr&J]ߖl}^>ܧfT-r.PݣKy˸KS3EƼTd~W'VjePmQpvPiaK_vRr]u-|W]QU-4Q yanj>lҊ2փGAkS ?STNh}:<׊K|^E0rURִ^|y(,7v8Px7egiXKuo1X Nhbp 7p%sBKK6,oriئOI(Hgoa5rxRV +Ud6 ?5 UƾT¼ G'gݨzW-=lW甏#Ab6r,6Rg4acP[ liX;󘫄*s|{cG=n~8*Dvۚ҇zT_m6=*^Cui]z/σ5|hN{>S񟝏~{[ +[}WI-m>mHp(n6r-;7$z?ka f\P;:'K'#jV3O/eX;Wh_jI<{NAddMYڵ%So#؃eYk^FUh5E3! +Z0^HmA L&G1,)}Zy[Δy(77S~ xO~ +r4+S4fY΁kVϢxU졬C␌Nq0J#y[FSi cկ> 'HDTPHMs~-*|'bP/ƧkM']gR ^T`9m`]W5ʒZܜy5$q5t<P@b#1 oyJ<%`Y3+K+~/ZaeΤOD2^%mN(sʻ]*4Fʹ{Vʰm)_aOɲ\nX\,V5ya.ȘD9HNAr򫩛-.+e-~sq'"HY#d2mx;ݐr5 ;׫ʴU[UQ+u9mLkpKG]a[/A(.I=fVjfgLo|S90 +oX\|?zG8Xש?75wvѾ1tE+n%2OxDmdic Kyo)x^d5,L‡8twSi&tsSRpR'mmݙi;T޼&? KڢcHHඓD7=V{]݃pR͆`<#YZ}_ȣӏ]@gp؆kw% ENy~[y^dO>'?J"J3t0Q뵺ꨩ?OAG`Y9mB.^^$%hTtjс$TJAo'x-R*\ PR7jQ5uo<ϽW}G~s`J06j) !x=LxTp -FRˆOvKB^pdPy)[5/4)~sfg*o 7g0VE{ENh_Qh3#YdILGeHL䞼'"HvN$X/\3CٿWAE"ȁ|q'0o\ǣu*`8GlF0DH.QlwA@=9/0K%M[T[9;*$>(`?uԁˀh JPW2E7eJ la2:*jiu)X8.Z9==2!:AqSɗp''[ ݑ_׹ӪRÃC5z6EPz'33+Z8OLssJ7l+ L59U0Q7YݒJå2,u[tjeUDoQk֞|T#QAUF{ [o\Ux["g0+EL6I&Mkɾ2^l+ XF-G^O'o>³$Q.tWYm'V|b欰.m+mvjޘ4>#3 c,ߣ{M54zu pgMg65a=Ɔ]+%wNpxH\^sf^9?O*Ls3^3}sNn^Z<;S(vVԒC}TK5Rޟdn3kǰx hsD Rx.I%GRQƯR/p]>S:7\/- 84Z{ +yX P8\ހߝkV%|O|$Ug zv? 6QHFIlOYzrdG)pb Fm-dRYrz3HaG%ʾw~7U_<ntxSRMHI|·JSc=6S +9봴-!FhcSsEu06|FIFmvl\*Ϳ-=4'ƹmkk yoRۚn7A)wZ>ͯ0W6]s/Fe ߮~%  DXX1yl=EՉH \^ akôWEw0WiK;*(J-`5dlj&^7H%hTG΄aA aj:_uqPkR^Pt~ABqRHf_sn D%sKkXe4F{jX +_o)TAZ0;'MY]U$A@c ob3iVYU'o2 J^+L)̑۸TU0H Q+VNWI&O,?faQSI_c׸t$<$)QΔenqrP>9XQyP]J S>׼QEЭsFm҈馠{> +lb9Fo%P,Eiҹ1͐|#w|‡G;V:btu5 097~g1[ :) +jpf2Z#tAVm!#s~ҥk}b* Qk4 )yhkݐiQbw;KXo9u!l]4WoŃ) 馵~6HIjlL&VLᄗP737BβvN䳓hH Y>=7tZP E'3 j|I+9f2ՙ#rah>G(a˥֝Av{hy_uSnIca9m swXnK IM[ovKl9wٶ +I +pӵ +*bySQ1}*O-(Cxe;*wnc;3eQ\pL +d +(XPU&^1ÄLzNM2o f3LMfYt}#`'KqYVUuDwU#v®ZaC}T +EE&X9U&1q#?Y4 +nU86)AܐME!}__佼ĄD*"ZkW-jhJ#03ssfMˉa9i.hE>m;֢˖~9|:.o{{1-ƿir8AėɡTv2}tޚhsja}19{L5vTy([iϚ7j0ts*Q9aZRľK7+qʱ~r5}C1ޘfCJpX Vvltpyp|qMIS[ _0(MAb>3L\UN*k}dRqh7x6Q|= g8td>PtשƑ-u7o $„vACbGOվQ6.cR^c. BGBI  ­J\I7%Grga$xJ[eZzG3s!cT?*;6(k_eUj~!gK۟:rm4Dolf3Q\Vh䄰2̕+ EV$bMۑUSA'x& +E}[>arPjdzDvJL%x8JI1DL!-SL,orbk>yikōtL`G,xJ\NXɞ&Q 4  1vRYV\>Oi/ĞC%<8A}R]糿2-dm懈KDi^%&Y:v8S'OH`/MzT6g,H+-H4V2jWMwc=_´sj sL H| eoHKO^ +:Fj;S'e$*n"[-T yMEf}T+n[ +˭QK=gJWxIj dQN"|::VK6NDhe40f n +@UϾ}(4ZH,|fROo ^%j|gʜRآPVC^y|(tݮ H ׅ˺ay{IB(\.qF4##.|n\&cXO`j^˯kugvbCxꙣUPFhݥ]0w~޵tBv+λsƪ@tYQ)brJekB)_{n%\OpR]E$yo%wf^|a%3s:處Fc)e%I@'6dF+_S~k4Ӻ ź̈́MJ,`M)@7PTN04_FʗZiڛ9i|uG0qŧ"edE;ا*D/MWg:%_&*SO:f#ě~u:#pN/C(n!n_q:y/?h?Оߑ^V B?+`Jo]Fc95O:W}OGP-f==6oMw! +}lMK9X+F+2pM%~ f,J}s<ӴwBgDI~Խ :@?h upG5nFbȉ2*L'WE7ĚSk,Rm TEl +Eng(N' +bAsּZ]>+k2( h'4yOS[ hM}KvuB&~ƐR>!E% AoN;v1DCEFm<0.3j؃GSw {|!Cd6FPyHˮ '{*F9:j҄,0I W]3EJ &{`7]c·'[%mr<4r`M2MׄI~e,*2Q S|kГJ3RKߪ&iNZy覗,g {RA=宄yH`EZe,BG*\gw?1J[Ը씭٢/+7BT.ی-$_'{lmL w`_XZQ55J|Zu!WT9|pU ,ھS7R.{|T6V{SHa-|UUTpmE7s <ɔݦ2%CǜNz-^eNn=|x8f fl@ޟX['|Wbڌ +ݺݪ'D">S +ϐ{EY[(2?7`>#[A1b8yejeZYeŸ>w0Đb6;G}${@Jw} #ROPXZb݁+ckgF/ЏJ,#&}1QNhfi2EZs%D̳h=:MW]$3N_b?c\[@Xhoj~`R@+`HǂF~T .#h?RB1h>&ed,NEc1#Yx2B( (y [_| -8`\IW/@_33G"|D\GBL -{(2Ucp)0\ʸa|:%R&B;ρ? ?*5 $EQ$,W`Zd"Ȟ>L&3L6!Dj"U[EEҺQK[`<=nӻ%V5:tRO'HHH;ю,RwY#D8W I:l51 `j:ҞjI\}[yN\=]E6?#_D*:P? ?K4 +99}Qn?E4ޯ 9S 7R?I/Ť2),<,Tq{e]T_nzf_''gx<ִy }Shv)_f8Φ\1|+6㖈oDlg\C.SK:`}(;lH>\un(h}Kd*_)v.e*Yr"eyڥ0s)Q r$}lg̮{x[^Yeqv}j$@qDjU}aHRu DnB5.aZ?ژ H"K&t w= KB0klt2^}MR +ot'55f9bpx*z¿BV`"Cl)WނҢJQo./2fnK,1]scρ}Bi-,vgCŮ uyQXZ +脞-wc$]J;G1>Yݪ`N\3U3w<:8&C="x,8&vh a7v\1ϹM_3\SPKaō;IODXSh+ロ^Hyɉ.ߌoW-r"Tm!6k9D{e//Y`pŹF%&7?JY Lfv(oB7RE#=`Mx/V߃Mr]8CyO `Ev UQ$d*wb %]Ұ-I:3@(&@O­1{чe:tԏf|)(](*N1=bIB/,MəSQU؅o0IEa5c >JkJG*$9($?Kd)A)fCM t0a*W+1EP*˻Qj c-X] ^]ic~kS,ϐTld>VXi'HD\ֆ _QZ}C1D/Cax|$PRǵBu&4_3s7p JV쎅0%1vEӁqjz,>W}jDbQ$X<@š4ߪH\3 0J\]'*&|DQɢ)q:{C9z]@׼ +=Ԗ*´]#Hno<Cz}i}ͼIo|(FsEHC7TgJ߻# OG KT?P3F= v<0D$B d?V qLwh.8?mD{FNA7f$Q$FJI1&1,l ݃$ +J+!%Rq +9R-'RʹdZ8ʓ%CׁmY1,Ί>qe8tŶ/Y(Sz`92f`l\g2ZocVH|&m&Ze|WnH)Bج5S~.al +3 "N4;fD$$9Z-=sلˑ^<l"WnSz|Z.ԔE = wK$|\:a٤1/ԀD*VD/Ehe5(L]{^\ym +{IsFfu2OmAQS\) ,-20P.+/t"jGL#,Ak.eexLrҩ{ļ&,9j(xzߕwsFt?*G3!T7q\Vxó5wN>wjt_{a]J4*LDNռ_Ѭв,KN@!D-4R? +Jcvh`i)> ZdB9M7#+q?T EV-TCߦkQCR옮2 j@-hc+ BlKr ?j?=V&j> bm%6/_Af9Xd[?ҥP 1OWg.#]KdC$Jq$m; +IY&$/+ʫ;/t>_r*QL(E  h3+Lz/k]Skˈ61M3bcRv7_~ݙ 4~ȸR.i6ETV<zֺvv:/3X5169֊#!&}JJ8UHp`MMNbme^z/Q_Z_1 +>R*6&j=>/ r/4eM(*8_k-(5- UW<ML>0] Tѵn>E]NU~~e.xbԬ|ǔMY;)3*r.;y?禱ܶd֑aNIE7X-pU᳚E$Xl3qfq,K[vm_y=$q㙤l),ܜ@ AeT6sI_ckck0ɜ{GFd Ǵc, _^Adp'I#B0vP5uNXEG4Ўá'hHz/=,3[]ѱLxrRsSgk!6cc!|V䌻-Y<ὌwbyĐ2vt mLIjHBv3 R+vzt^6S!v4cI9gh _| E{4%w?LD(go$)2.`o  OrK{E*ws f" x$ӰSY$$K-GM h?[SZ;FBU7u n\<8K)AA`aPz8 Cs0יo"u]D$l,"'W{D1kݜsY&{`4+g' ٟl OAix薼5.Vȣ+ieq8Vei/4߹waY~& 6 =3~~:t] ||]Zni.'Ս1 (R BB‡>zk :;8]ƐMv8*xR)~A˼M20SЊ;mSV- BQT?j@Ԁϰ~iX⎺νX$v>!8**}/U>m֩Zu4b.qG8IӚ)W?Q2p5%#7T_d2̟젦f\D< LT >4$~P@"q7%_Bpnߎ/-2 Wf- n 3}wz$}%i[z/U?cx7fuP6.˙2h3S?c/tFÙ洙 5ZYsЙu]VgPD6QYǞS}ͶUf@٩~6ŃpKofݘD;Wo! + di_Lh_٥\*V}:=q-q.ݍYCG F!`0+7ſӷSiknbMk5_55.O +{ʿoUٸ,(BR8_z Х.jk^_nCK =gvl *Z۫r[a-2|bLV6NETD6-X马d Tm|"KE# @4paм!˶)[1ohi[g=m$VǙP379ZyҬdY[f >PޖXZ(Ŭ$TUEO3$A`)7H)rf*SIF,`UM0E_t}z'܀X}/9ˬY;(VREx>%bU{%'5+%E;ȓ …[q =Ng |X.Bi|DtK#wmT7p ՄbGD߽vi \:HA(1X'^aN4I٩Pp4S`=~|4 U#Hv*s =~FGWs ]븀0m'$?-s4ʞ` vC_~ s$'Cq C{'m%[! 96cD :/l$rZhƺSDB&MČ7($aS,>Jh|7 )Ŀ< ͕a"ܒZ3?G{ 9CgRS0M2=tN#G+FEOsCk}5NLj>ǽӯ*) "$t>9ln]=ɯԔb|&@yy"{ zՓAJTWT E言t€0H:iL}uޛ7o: DDv]c #jTbY4cEw7{={}AI=.vx7Dp{\mou ֨}=4.*nlJgs=7M7V+/9)RGm?Qh(%BqDdJ^3z Uki4]sVq_ül`A$TXumnt+ $[0 '<V{L࢟v L]MfD@'x.> ·D7Ť,")v>)pHC69bmMHrDA,bN!W\>lz+py`6h +kAk2 b[ms@l"*F[q;ĵm퐤LjFzJDo, ~K'@Qp+6נYˋmIW,?)M35f*TS@) _+WG +|\F#<-ו목 gh$lP(/.%y^?d-k$zhVo9#l/蒂}$ziG9:.{ ȕ?Pg9>vn> +ي _//weG[YA׼ tTykRjzPvڪǬT[q@B=$l! Kd(d~ʄkTD+RZ)<Qǡ>VpTy^''󔻄 t 3'93k4Bm[& +x +)=W*+B(GdMϬ2.w2WN9Tp¦ +i|LD>leoTer4ky%Խʮihu.߅Zʣd}O|w-)!fүC}/PVGJ?OdOIZeiV%YRG` 1TM =6bԋ>Q`)Ln|,x]+8bP!OidipW64ƞC\IcY[t6`)Z̬XфyD6L/=#K"+Uese'#:'`._Y1c - H(w-7Hi5"Z8d$$7\xܕ %^q® [Af,j2a0}vacg d!pk)<|WV t]@$ ۶A?"'ʹ<qc,Иc|bWFr7of"!8Id+"&nIP!Ʃ+KoE x 0EGNUZ^S)i&e%~7@25z + TWK3,n?镖N> I<y87GW#4$+ gQadBn ܢR[D.zgUT娳xEm)rlI[6/o{R7d٥Nd O#9v] +Vuut[ſ +KT=WZjq>L2{6K}}3"){yi.vw{g{!gVDɎo>׍zfyդjEeKL-M7]3nuEW: +m:nlŭ.%n߼=d vYK?s:OZkOkC9򼥰*nSmy0 d7$=^l_ؾIx[X}\$/I+Z~+ pnT;VKl-ۡH3fw0tr8nۗ//;^60\-Gd){֩;^Yλ4i<;AC-qԕ:(9o)[:ū)5[+^ +]+Ty[}-H.=FzJѐpT9*X)L(d~nؚtYkW9NE~Xղ 2W iScBGr1R堡,R6ݦy[I?O\DM3GUhJ&0U<雔m!ݍVYM"&װ$CawďY#.E߭Dtypqw)>SѸGۍ| lh ėp6PK|\V435+@&a2a{eI3,x]6% +(BZ@,ZDv9P%Ay_ ݍ"Q'Fr*FR @;BѳE @xS9)<- JBKB$ߕ/HBbaxpT( +/ׯ. DƦ\#F_I:}NﱽiǮ+FC/,~ݏ#u}nE1:rJɊ 9GT?[,7f7f[a$= B심4S腍uCr;D<4Ƶ04V;=!єj>ǎ7W7kӊj܇*51rsǛخ`rͳ٬0<1d֥ȃ-ijR@YF-.(y9L+_1hjqNx{*!+ tDL +2m۝:ܽ6ے6Iin#5cʻYwms>/˿^1_iYI +mOr|ڠ_osiޅM2 G v;'BcyN eyv^t#ZtB 4t"},&RfN@žܐ5ؘ#,ʌ9PQ@%^٤_'ɔlsN2{э_4y.[+xp]N3SW')ybazmٍ/<CiԒO0wkm`o ȖOm +1rL]ƹzvV5I[ฯ(/R)ɚ//;,)(ߴJ|bp^UN]}A:E +O*DU k궗\JH! e%z +UعyQYKVj I; +=\_6S}/JFOI,$KϖIRO$iNZxG|~] PZK:Rcg::"'kiZ@ϵPr+r$AQj,&ULj[{gQJ2Ch޺uW&Hɂ/u1FVqqzu0#X9h&uQTP] ;m`tKm?]ot ~2B8c.,~08 +훰)мjf\>uD/ r(4G0"A8m䉐goHl(H`K:ٟpH@obP#8>=P&hIEldt +@4qq?H#ǡ8<, 82B&YCڧ_Drg % %qC əGd'8Os6A BRh MCSۂER(PB:@븃~ zig{NyX%vyG>8`="MC<0D( + C$\@U؛a u=HF. o=q}̃V;AO@}iZMMD랾h{b[Z{X'v%(M7lZ^8Z@o'vfb£wWFܠ닶p{cIĐct%EvgRuުF2crk}SԨ^}K3Y~c}Q!F3}Wc=㍜[YXs;)L˺QѶY#O|)Ew~} =?Ī^3,]ٕjәP)$JG\͙v &{jB 557-䌒};ֵw%Pg%{ŪsC:*RGu?5uh@AT5F1ea 1=$d&77YH; +.kU֧O|KOբWԺ<9S3g|_~8,œjdύ㴑Ĩ-/]>)H<!쯄N%=%-|hҾusѽ34lwLǽk8c|LљLf '.>x?}oYȬ}W3[֦ZGy!-jXb3SpsɷVt:߄LxHE6In$Wp_a_gѺ#NnfXJpUXD '}^;j- P>#c޻'ȹ=V k^ D'g|_xi&+MnI%Q)ca絬m"1^Is/W \ ܈xG60u~v[d?s^S}7N8i=^{QRW9tȺs\Ny!ǀxoQ<zMӶ +],XZn#nuժ$UMN׌՘ߜ%Ztѫʅ_F-۳{홆68L(Ie)a.q>^]<_׽N990"fø+nZ?}Ѱw**<@1OIs0N,r4 4yIS$"jXϏ(l窪yL]]r8К`#3_lU沧Å85-vl*~@\]zp$U#PwXsos*sK wR9Jզ}.=We:_PbV3w$wYaO +fou8ؠA =DTO|ɂ](Xn^V>&Lr+ j+nTG VBIǁuEe@U@Y q +8᥈~3غzzeg.ШmVlB^Auo/%4 4UMl94Jaj7x:: pwYFDasuד5֤܍'])kag$su*f:hD|tf:j@.Z5D Tx,h9

x 6-Px4*lVA=W8+K# bS>N/eoOv(b TLJaCh;:{6RuPQ$+(pʦٓ<# /NI9Yڟ?Ox@nJE)C^]T#(iQ00K Ybuw/oN!ҏ3AmɏRZnb ++Xܦ]R+|i6ޣ֯?mk6KLz;rxJc&ߓ}V#e?ҳ<ٝ_y̐r#`3U l."MCNF[˩Cc lw6i[A֊5ҕh*Dz?'>1#@n4E4W}'+ɲLki `Eue-FN7V,վ('klmz=ngrjNĞ򆽕7 + H \gYdzF8fH13"9y#=MOS,^-x!Z*YuӐR]w4`o?8H/HAwcs%{3HAZL\A}q=ѱЎ[hΨ,3V(oڋ[C> - ]Ƿc8|G\67F. Ѯj9~݂C?/'=7ydc5 ϲ# SyHp>2p+ l,L{9Rc7d`AdYgygS|Ap \m1WC,쵠=㬨T%[pο88'P@"mU.jQ(H G8Ñd&d&drH@@WQ\QjQꢋ<[QJUZ +*vw?}/" ^)Ls h^)`ί% ;]km%TV`[FrW ,x,V5@>y&ohevFQjT +1 BGĔib9"ѺcJQQ((*(0lL/Oe`DA|9"N8VGMbx _NmA&31>!d& 7)< +UVc%K"(Hz mdAތ!o 0liwī}tma{QV}:Ӹta j& +"T[³axx[<j.R ; +ҞqWޥRC1^SދaKTj }1fތ1 +-X+ aghTK:.wA۴VÐxdIݭ!Cͺӻ.gc{ϭP^e`9 iGxð7y"#6ǿ!u_^<~4SˤIEϳ: + %;1ꈼnrm'@(|#'qi;חT+_.w52nZ|Yi,Nǵ)K^}d}!aEl?bk-9r'!Y?FӚ8dG_Y}Jwp_u'yhOQ^H,v|.b:Aza 坳x1 qN4Ӿ%T~ߊ矰!~AeFVzlMRB8YYΓRg6)-mq.clϒ)܎"͒`L6X@&82NW& V¶T;OK/wQ<抐<_ƍjdY?~T6L0U<-Z'/C=tKVfjE= +{Qe_bxmUڵ6n +FfVKO^?JF(ߕÙ,aO8gM Jm,,hZvj7֢^;ļ=#I{|fH1kITfn-<^#pW3͉ Tz +}cswQno/rO-yU"J:'utFO6>#[{_{, qzϘrVWxHOurgU %qÚȳb'OvF\CR|Ze# iy܊f8WJL!X+%SUǷjr^ͨ)[W?o9+\MR%l(wz-cPxtz a7dR + ( )nC< +<._YK@TF4Qi'1 a^(]׊k/pwoJftiEi~Fz[N[,~70 YP2:&#=/a ;}+ŗCs]wZfW)k +/|Px"ElB|u(=@R<{uOlE=85`D7( +oRy¶W)'EUbP/qS2Mjj²Kl-kFx#JCE{Ĥd|9~eљ/4;A/GzDՠPܠgKs6ItDEOϊ)0-$x#څJ1;z,;{+at$űo}ߠ뿗ZކL.mnjU)ILq1]%fb40eߛMz +OsmX4)$,7QD@A$d_Ȟ$d_MBBXXVZA-VAbG\ƺԥNqiZ(s?y{;} Tfb$nzGc hVHX4%ZMՕYfLOμ-&JX_hӬ'&}Wd~l,;nYd-"Yt_, +-Œ/Nr,F)<>Zoyv3:04[/ +$HUѯ4&j!&^z%l=_C~#wJAF:\ ! +&d G Vg#%]#4dݬ7zt߲|>kǞt4˸V >vS\(4L[x +:GVƜ:pckLTsf&j|p ;wJ{k#]uꦼ>)ϟY vOR6Y0StUOsC[}zqSC=f}i}zYGt@p +13k+ȳ +?biY]Mm7o Wt4A׫g9O[V WJƚoRMI_H/k!_tZCX}4"38' H5qr:JInc#YUԺuؾxpki +j` >ʨ-@bgo~Jj9lx#?q/.OrE5Q]݇P}:r-|ET͑S[ Zb$,G8|}6&/ۮJ!Zש]HDJ M^Oz݌NAcFJ,&tSz}OxN Ae c‚Yp"{򩄰+{AKiԯS:x(lbϱ,Y{'z(y4%~wMR̕e KP&8Y 6ײP*<'7eJdnz/ +k<rx핽GA vh[7cl,$BZ~iOf8e(ecqUW+ND6k4)F!ϮNJk{ʏ?4.H/L z ,~oݜ%"].{?wg݅s*zՂ(@c^F[5QLd !i!!UI@e 8Q쐟ъFhrNBҩV[H:2M >0G" (:@4R~#TyU_xӬBqT2.138=lt~E/2qEkP{Xyn7jp7Tm4}S"pXt2J4ŲQ3/g*M14Kcp_&Hkq!IеA|P g K܀a9_mLȋne ԕҝ+0˼>˒>[%e!OYnW^J^̹Q/f{y?n#a߸&`+S ZJM@VWԠr9jnAI>X6n{hYC!aۨbܶOMg;k]`Yb(3`Zr=f_ dFjv>]vv?h]GyGq͍e.<͔# +^ܛTbU}}VUaI +/YmONB,g23?T͓ۻQIƊ|_p?'R?</_ګqs)W<<!̓39ք +IK_+Meu^ Mh P(/AR~mC@+33j܅ +&wg7cu([=q{"ɮ(&i &IS4dQ-v?qi:yjFZໂ kTUfN88[F@E"}3;s̞,²ȍrh*kQl&6/GGzM|}SEZj7.jAKUv_~SꭅeۋKDjIkEeZ^j\B䮍:̝RIJ Q({Ҽ!)DxjB/4nz|E+kOp?Ay'(1$e}|Y$K9~ 1Ϳ*1`b}m ߰IBnؾ]kaaD&4ALBJ]9*7h{[QC֚}Due WMa;zh&x`/*NXɧE: IQVj| =~'ǜZ>"x:~g/kd#;nF3ϼxl;jMROjqԈv6QҋH%Nm`Y>\ߟ + ^}IjT2:oX=t9"|>GE9!,P:;gpv1Tq'OA)Ѝ`Ɉd!멺?c٘jL2M_Zn 9x>pZ(?Enp]r Pb,㨢K›ڋd ݘc< F[B -/Xǩ6(`^IqM\5A4F'bO"qc,iK0KUF+κ.\?hC`,6t>quw_3;r{J !ζNG%wKeKmd +y?lPK5Q_aLp63d9[aJ'(0?E$ѲmRW^ޙjMNНУᎈyr= cŮ/@Wn`-dʷvnyf6\NjyA5KfJ4VK[ܲjoN2zzc}SU*@U~N0+iJ^7tS v~\_K%EjYtmTv;*Rբ)( ~x^0# =2cʷLZJnvK V]^~pm%O0{";JqIp YTCa[EG)%AWYE#R3pÌ%RgUE 9ymg cOa^j hqlKkq4|Θ\kU^V/F6Gԍ.";>̣ޯSL%\߾D-5հx [6a8mT4alΣ@N=5(,8hҪok%`aL[KeŶ, u) 0(MedHmKw!JVԨS䝥iNf^i|݁׌Smsm1uˑF_/E:%ed y6*exqH_ǰY%Y9Ǡ(=eڤD|XZCp:<˔oگWNDZ _EYD(k8V@yA|6>'~=κ`xoO5F!+Z,%.b-ag=N?e?o.F[x P`zbHh?|96)]&lG%Gn03/-6m$`R#s[6#vggT`P/r*]@)t $,׉SSp-K@"qd(*لOֳ,99INrXD\TV^7R ^`QuDEQ1oygy_uxGtdn꿑v#A'vbA0Y4O|IRm5+7/nFUٹT~KlF50GJvS̪(jؒ&Y"' cm1*kd^ֿ3>ȭ9_Z{_Z*1e3cٵ78]W ֆH$dѬ게Sվi ]\PT=]ؤ^%+*ې +o,ZL,CKC@=J/pdb̽[fPFl]޲bڶD\奄k&1Aܵ!> +K9GlwC|yf6 *6F,@gϮY8yk*WVp9?s 6,[37_I1Y#OT'4W_-HK:tY{vS7Rb~2WIl$s¨o;~? +>L, X_)zF|30$"Y).5ɩzu >":?k[Y+qJrӠ_\4EF,DcoaB_4,L-E.\A)SV)@:"ثmଦl2#y&z6c1|:TF'FN.2hl_~߹F +H4+>LzHtiVG?1\νBAA{YO䨆-`h1;O(U,W_ ~@*7gw2f0FVɜ[1cڴׄB%^gP-+=bKt=A]+aꕿbx/c9gOx'6hHmT|druvN{ lZBrOKmO?}e|MϤTHܤ9*?ꟜpT[7]*!5F/XL I~֭.cM^l!P,תKHCy@ZtohQZbWW>ڄ+X :sw7%9L;=Ox!8GI8)m9AޞVJkk/wrdɞn'&6rb3҈~1!+wL +w6$EMeNVG=;jXp Å8pԓ5'Si sEfq (6ADi'pγVUHm>5HU@iSivܻNBfbusݳ 1"8]a Ch>f l5jyV˹Ne;c4qXj9IU) k2%j̩Կ`lsH>xpd'VS, 3(moͣ?4\~Mᛂ~T^Opʷv1G!wqXa'(?A_H/p\i̬_wR.NhT5+k`|u7rʡ 2hpi:o8ynTèGkҪYiI(LC͛+5f=9G/uP1He6Zoj[Y$3d]`d%k湵* \ .} x#_1oC@}c9B20ĈpN3Tac53Q P:ΡDGQH3{SX6ԯ8k+#|7BkAA mosiwtzqݝP*7Ï;N^Sxy4/m'1 +o_b:afEKӿz_k.yܧ]Ӊ-uGG cCTQ1~8'C|)8k]C2[&gez#X"}xXXyn?fYk$lCeׁ2Sj8M[0j f wQ\f#DKNBwQq_k»!o(4/:,{cgF4goѾY2ڽV" rI%Ú:8 C@ [,@POINAZVZ,y(gGGQ\qO+e !aP.Rf/oќ.o%B+~. #*fȔʁaD'9*epcݒaI6{*`:L *Y||&ϻDPhhi z(E$%CwgfLpĽU/^\ ,iUȰ!*vjIJp*.H;58YW"T ++GmnF]fEnHS\":1o쮙+AN cEP-w:Ky4m%|W=j퀺 +xe+Bnh;bwFn% xGr>:m/)MyJU0"ւ 鉹 PSĠFCEo \\Ĭgal\f8nMƐ%4C#d6b.,3*[SrHX r1v)ZNF0kp 䂻{@:˹]D۝nh- bt)\8anHp} ߗZ(nV"`Y'L}ra,LGd >C:|S]X%_SDõIoŋkƿ#3",{j2Ci5qkc@*>1a4/8h/CֆY62HM+Պ_ֿ +Fׇˮ/,U4םSq眯W= ZqS&,5R2)Ӆ敼] +_rn[i#ŊC +zvv]v>Ckݤ_NqoJ½$9K({i#܃ZyYm/&kOV.Y }HeSgwyҳĬ%wQ]՘Mc_<8\֛Շ)ZE, c NY!֔"A޹+RR#MQ~)jV۲\&7/DUݏ.LtG >/-Jwb I՛_ +Ado|dıL[lAt*k?Q-iIGIƱP'y9岀F|{~S : 7@bQF 0j)q?Ӥ e+ EzR5tSq0~?L)G#{!2TӉskS~,pM3F~X j.Q>@L ApdnW^zH/iq  k:wC=uF 6X*r)87Y?% ~Բl?jfeKh;I}`<<3K3nI YPh 2>\6">)t 6[Ex;3IWm,ȰR"}@@Rd:AާW7o޼i4 FW @cb4fwɪ%V&9GsϽ <4 MA`O), %#U;Sٰ3!4!U<('h@dS/(Y>LMŚ7i+B/Eא{()Ao`_Q;SZN*D hM̳^R@{}F{}櫴œ5 +8'YkoeKRpZB4gEe2"K> +#pvLu MdsQ*>3IA/ ݳSь^+o`,K³ezz/-PE!nz" [`p#KFmQB_*idWvN_dڟl +b^0=o}\k#?2FRn .}iB>h((۞1zRIkЏ +u33ߟmNh{`g>7Yǃ%|9ubyFhlS+p3'c\S?WfHmctv K +0rx;?&Sؚ)KhPmdI\a*3v;Η&k\L̊zFq7lR=ZWE14˩zC$hI:)?7[]\v#biᳲ5-kZ0T{1 Yux'QXb2Ӗ\ܺJ[Hu?ȷR"umGzģʠVt*qj 1VR7q(cbQzch,`11s+aiB&n^:(lT5*|V&N_5bW'Eg!t:?~i]PnPA|0jQ1bdӱI 5TcO?OR^Dk[@zVָy{I +;~*4"dCL9r)!s$>r ]wFtg{g8 DAQXg4-҆&Iqe(ز/Bck9_M}vᶕI;~!89y'݇j+S3(ݢkz`# OTXը?m}}M_nLNbmztQFzdP"9\L2j/xQJ$r2(LreNxğc"L8p5xp+0,1l\! zY&r쑁6%^ԓwfI{ C܏NT=fNS_LǨĢZVe[-n* 5EIo.2AN~ˤ +qPr/mV2_Y]`K} +]'2m =]Pqwt.gm. '=v/O *Eul^mb q‰k {񔄲pVuqz w.97Z˛JtzODp\EZ"CwP7i$2L& E."|Ϸo' +XtysU?eVWfiYk|M^ݻSB7ۣҒmV.ZgWM bnG&k}ݮmsLnb\Ny#2ZG^h_zjg>Z +E?* 㛊l<5ˍb-}C=Z gdu'lMl N̙8Sp&@1en^$= +1UY%*Õ3}GtQ1r^@:t!MDbb "W8ZHєfh0 >Ιy}jYDi)u~!'# I H h%pQQ i.7 %OZ<R9CjZ(Fq-+跊G1=< 5%'B{ѯ,u8f = ^A$ީUepY1a˗$A50OTֲzo*opVѕ'Km̕J۔e,dUkHUZC*HtqU.X:l>Xg ~|1SAP1r^1m\Z-Shak27g_KDUIXuPCaC.X'-iq`֐4mޘ/Y}Q>,H.yN +Uv׺Ne^!Zߌ ~\='#3_%4L$9Q/1>7` ʨy+HXV$o+GTʇ Ǥz霬=xa3CWw,EΔ}w%:R\pZaZx*#W*!;d +ESL䜒$y}NJUT|Kol}gfU +E7gGM gAmTؑp_1 pKb")bT<ߣIHDK8"݌DzH0Y!{v-Ug6~LD.[d1Ϣز @Ll9 %IFKC1Ws&V*y Ac-&I?>_TقODGd,bQ|G}%K<%sWRse +*esw{XU a?c~zuO$ߟs+hq|ij k]\N&UQx~_hn_oP>'ZhAϼ螢-) ӵVl[Ǖt=j~L"N,yuZ-?s->^p6-q/D55Y k8ɉjA6ckv'w$otJbۈC؉Ga0){p Drrjkex c\/ 6j.n6nS .NX4{<ꈺt͠xi_ZW0]ZExymjjGjBQ + MXdL'#Sҧ˧hq,ވ'r/'?|?Kp ǝ +cU7<(ZJb4<*u>OO#!ZE}#dͯ )28aoZIxmY@LvC'΢8+`([( D*"D &$ Y +Vk VScB:3/>~w,A]5 5nȡ&xrr =Ak!Tp; +\nʪl<#B |F|s f3-h$Q{6zOfH~C ^lsEF +-{H#uCZ_D,Fc lñʅ~Yy"1p$X E^{cȰQ J2]y-:00E9EYt7ؗ( Չ(1pj:mk^1](V<>ށp1e$_ǟŢiiԔ2 G*$ @r\HI zR聾ɽ']8{Xq2 {I|؈|GYdf ! ; |+@*`3d +@R'hލfT9/_TpGv)UXFS&Œ9gП}ۣD]qGg\F7nNx]¿5A~0#,m%j?A?ξoQ o)Q-F.ޣ}9=.as{07)HN?IvJ_K$yߚǶ, +kJ50x?ެфe]NI!fۚ7N탩-[>អyLrA ^/kfQyIVomIHx6GaRo=DT~>R3=Nfq޵ɬh]QjeAS&W&F;A߾w}IL]_(u 2Ud5j[}rvNTmk 0Y͓E#%;,dU?˯ĭíQYPm2-PےSюڕ /y+@ qn=U(Y5͑_TWljԊ~G ͛l4ӽ1lЕRUl`U_U~bwTU?KԭQy*[@68y{ d *Ro*E@U_?5T5=AUט{D<MK9Q/q&dC!?xJ!o+z3q>`8Abro!26HBZձΤK>/@LjQ]бhjE+!W-+$XH)rt`>7g)٤`kR|DA憣rN3 MjEC"lx/h%a@[jgǴHtH+06 !>X";W\Yv X.I?c Vf.#;nLFO".0ĭ𼅾z@.kCY"I.-o,Ա FmKc+fY>8KE07"߰]DBߏhu0_ N@G`!ʹ 'n89{)!of* ]z #0fLL\J=A Ey)RCGdcV;n`}RgQ4ڷ5JPmf(F6A( oQQVF믊^€E;UuJzPwOƗ7kRXL{6Ȓզ]Oc^e;u%01%k&x&MەOK25't +gw[ҙጾubC2ny}5.q$BWA(U|%HHSQ!btbQnQ]D#{*+z;Ƌ5ce9c6n-*8 +Tb6<%鎚{Ygș'ʅr /KαdfEbηzXo`1]ޘbZfD+OZ_Ir>i^T9|@\A)] +"ea\21wo7!?Sʼ$NMI;M sLG잴Z!aO_kKS?OQ*pg!Oq N/JK RðOl*,@R*F̀m%63n^Å8"]$4moʪk^( YSLC*T3$X& +%Ӡ+-] Ј +߀ -BtJn(dIj< ޤ.9У\D3&: %АW@ Z. >"@'U=YCic V,J Ъ. Aj1 @-،9C Ma?RAح+ +̃!. UgGY@w@r~%#O+J$b0N4g-'\I{ kN`w#xLJ@l/ (DPBBh#**&&..!!))%%--##++''/*))+khhjjiikpx!`ddllbbjjffnnaaiieemmcckkggoy-nn[{xxzn}~~AA;wJ$HdrffVVvvNNnn^^~~AAaaQQq1BhOt:dXl6SVV^^QxUU55uu MMͻwٳw}--mmwttvvuuw8pC==9?00884tcǏ8qSO936vs_pK/ON^25ukׯ߸_7o޺u;w޻33?xG?y27gϟxW _yw߯|O?ϗ/ڷo߿'%\|?Go?GF) $(ĠĄ$R2"rQ NV_PHD kdlb椾YUM]SKGo;dp!(8$4,<"ŒhnaimkPXDum]`W{k{ϳj[WwO{wtv y$o@Pر"Fbc]HLJ|#fmtڽ҃Y̹g/r^._*X.|_x+!`~ DDJE2r +y"ORJZFVN`Hh2n6mr>V6.[:vztm>{p!GBzC#c&K>z"$tpHh1ْq?gTSiQwquFQTAA]P\abtEA HSi"H1BEC.Jw+d3wrNsovO_靲ʐ_DFE45>~.ؔDJR[2Z3^tu +ȅ"j A 62ۇ;GȣԱ kpx|#3cJ'{%H2IJg͸=$VEf沙3f-u~V\2)%X%9? n} #Fv+K?9g\ +5Pr_7bhzfkoٻr;Xژ;Y뺧W辂Id},CoQSfb睹;hk +|A`F6~-WmEѭ>[rwg}4.=X0>D)~}:QK}cN?|0DZy)kRIAܑ"\\iF|avSqg~85Z owO:(Kwvu)/i?wӫ<=j0We1{ap] ~=>L57B(A,.I^E=A gX(z@GF"D揰4Eq{Dzer#sG3g\|SCdO@[К9BJnFɟj6(T})ɽ%{Bh4"1-rR|tCOvYѹEEF=U hHOlȇ56ù/Ytp^C|Ox6(J`}o>acCUфLu X*y7-`HIAsC +N\ܠNym6޺C`>"_TN.[GJb]5XE霳*O9o-4ړ8˷%`}C9ٔ\?HTCR:x(jNJe:ű|j'y镡+d^~@CP\& bbG>."[&0JҨP6{d˶}K,6J>JbPkJ=eEQ8^b02i8,$MDk1\ʤ!t!3ҷ?RI$u ̿ҿO汛㐘l_fYx/hEdrO앩w&w|uX;/KRblUF k@> 3jMM[4&wn޸oqsJ}^VJ 4a1 'ԛᳩc9%)gq1Rl|2|N2_k߈h0ޣ^~y8T'ċͪ6Vhjo{ޖYުNkJrā6:ϛ>%]k*f뎼Uܼ,W5;,G/CeI~ItgHf;(̫D {:c5ޒ$OUn_mmyWͿ<ǥm_pj1q+W9Qb2坁ZyXCb_*tUo u{zi3MX6VQN^:7Y1?V eb}>L:K-BVDP0ĵK*Թ4@>~,ի=1dB#5]xHuLy50f.Uoª95FQZr`r{8@આ7)m᭯v7,㓙kZm݁Ch ՅQ~)t$R(wmT|ۡ#F\n + K( &<\1/# +raC$Iī¯Um~=*O{@@%f(aA59-~U06OӡR[ضV)$9Qc pЅ%NwA"</vM@cZtƣP{åNp.UL rL+~`~snc9ڜl.1QLDcEc>]EƒTWEV3NrÌB)E%M9 0wÂ?a8{o=Zc +~ l}7~8$$_.O?aY>4 $v}80/Ij? VH!sPbZqxp) |sBa֋oh18XH(*L9Džp(D\8,6 + 1#t6+1'ы7qsa /ϻ%A*Ic/dgLYy9F0%5p>7't.?2堿/zH'9A:4DhkYGr熍V_[7$s}:f(?-|b`:Mߦt3.pҲkUЄj h쥳BzA̓ZgT^ǔZǧzt8GAca~x);[zeXfp/\ꟉӸpȁҎ`)w7SB|rj9xMy/."e+7A}/> \7KזQp~z\ҩzYp0-4G7Hn1 {xQ!3-5XKf\欧0_-h[Q +u'Rc {ydz)Q'P푈)o"E%T.þ..Nf:Q,p~cy0K&o˽ %QH `kE)bܞ+Ȓ}b;4):A\BBV[ǎlE]?"wSY2@_o!ƿR6ӿrS~.\MuKq^itkq^3%g;8ؽ].y%yr.Hf hIZ(>d +~ыG7S!Eb }(9xU&nS#[qmf?Se11F|_|wW;̃a}98b6d9ݷODlrAjTu{|Woމw]“GA);ߌy4ϭSl٢kd9-RǾ\ ]UOg(Wo״BIF! ܙ&~/Go.P7xG̚rۮp߃^iZ[*8o>\Gw?lAՈvc. +IBx{ȧCt1#txHöw(ʯނt(<6*BT/*4P*O7.4|-vUmSzig] }F2d )g&tfG䢢M3-}< .̋n*)p'a=mc~眔 +z/SYK/k!$Ba=1JDU:rΆI +GgChS~A$ˮRyRH: h(lĔf ygs=g?҄+\M,>W/rxd:j8"`] N_7`}&W| aO_X׽C>e RONC_PRAs׷7x0bo58v>7=Hs$n Ko +z)cY ħ) +=pg>+qͩf.J.7Q]2B!m4H ]$_%TήN8 )=Ο+g]r?6ZX[]LN:L6zClX 9b%1gA&i [RwU~5]Kaͮ_Ŕϊ`p"NcX@ughBYRȗ$Gނۢ}s ;5\6*B97[ Of1S8VBO' =LH}1 ,7h?Mwg Nq9-lr#DSfb1ss)גgeޣ3Ӡ ry^j)̿ɇ +߈HD~0J*$GJ)$#w!lnXښ wVW)%yE{9T!V%S@|->+9ZIDR ++o\X]|$z'_=|uguuSB131dJEXFRlEV)!J&̘;C:n6Q)Jݨ{ު3y=3{syjZ ~å貆D>8&dq$_$EC S 9U,P/!DbQzVmbJ+sp!ME|5ϥ7>:>6|f@ 3-#n~X:~|gˢE&AyJ*;4r8N9Բ>,\̗bpȒۈ -I#9L/&$hy1!xVxb$whz`+Li $5r76~i<9ۯ +FZ/\3nmd.i냯2Vx|>!fFkG GU ү;iQ}Nb'E DBX}t< 4ptjOPoJd- [_JCu޸<ܠu@shxMb?i%.M}+B uzИpsk:?& +Ӟ4 '=|r#P{"a:҉eb5i踍b0P~6Ų/I˻y +~5|IA.B+ͣ;70#k?lŨ+bi74޽>UuIZT(ǍH6 uZfǀC6*p..l!2z8(5N`JqWHȪzhG<6)Fҭ84:?9fe1L\__ bNƥvå+0mfPDUi|"^}@z\ClBV dkH)D渉x!+z>Ok.Ԝd"l8ʬ|ImCb#gؗ/I˥NaU={|JA,>xpͼ!!vᾒ,.!=8!od_' 3p"RHSu'Pe?]r(Uj!i.ϙJ73C$GV  kKpS6>_T5iOg9=l i'.NIm1v86'($~EE FXbV6gc@Mb[31?rmwp2P血Vp +)װHp6f(P%[΄8 aȐ6|dHUHK2ݯ nxz2ⲟKISȾ@达_gs_6*QHV6>eqs:̳'JTCx)!/zu!Ќif*chI[1h^&TLyAӺM~QYxN V#okeSSsBkľ~~nI.@+BY<:82=5 I f%Y|JhW QuH/-skf8ama/9%Ab;Hw$X?w? xFx?R4[ig5"uY+R}<^)P*.Rd%##}}: +H|<\v}jAz߻84%3o 8Qt֫K#yԮ] |;{vo_?; Qu)ף^)o|9D3HSazb}ﺽտ\Ϩ?qOmD*;ٴKM{LW=9d02vc~6Y8`e&v B|-eBPE= ]j-]xaXۤ!dmZ b_=.?MQ'j6湎;Yns2"Dp)!ސ 6srYO3v­Y%?3CDRkNganHA4~sV]kߏU5.ԤdeZU=kȞYU^gVTX^>[a2E4wVݚG]4w ]'"R*a|U+0j*XDȲ]L>dOy5yKH?񞷴ؿsTIoƫ= +|WfM)=Dy%U,(+TWRBlQDByDX)ʦ!c1ƌ2YZ<~:̺{91g}+s(]6Itۋ?38UVNgrA:};:h&:WhKC <,mxe"at|!Mςb\=ԋVNnC9sM맼vv]F৺I`Y[(k qU=!o-`}mj`C2On,g&Hw.1Nl^kx%lED9É|mK_6}2|jr +yN:L~]5Q=s6*(rvE7l"?O,f7A7=3\?B̕;eIۘc: Q7"Yl3C#y##TΥra}6:ɹh<| e{۷b9Ď?jr5s+g ts[_覺B a/U!'.<)͘+o:ҹS ,:fXk{U,?x] 8ÛML,'PK!$J</Rd:>5lKdZvJ A+WiU@'<\SA\ 24#Z=ʖR5wv%/hjI-俭)Dm_ҳّmI[oT%}`Zh[8/MH_Z3լ,pQt~pz9(.njN +stV{o%J,1spf`~֚|W7&MOJy_5EdB{5mw1KrBںmѝZ1Mi/oE%Xj/rnʛ-&iX_f`SnU˓WS { IS|O4Sސ ͯ)+?NE^'!:6d3qGWGS +7Ae"6W`bץ><@H8!BN 0m|\|ιEȕ(vpwK xDӮ>!]SMF{0OČ27 B:Ґ +=6Zxpy-BRqm7ol\ +̩Iވ[b_(8#2\Gr_%}QJ#;s#l,+E~:\Y¨$ 8֬?VQ_- <؂;=eI%䨢h 23T;z<ώ2ߙ^PkGQBvνyoѣw-I03v p{>RJQ'Dzr6hlT裼AcpZ<Eʩ#QSM1nL)ݤ#cҮtq] ū*nf4`/ ٢aZ5:q]?^BHjFQD5½h :7۟z}G 2/03Bm"s{)znQ᭰o"zg爝hp& ;Nr0wpOA7n2\#xdOҵg]ĿB.*T/3a-L%s9u]{SJbxR랮ߚ)֭uT8UsZ5=£kv Ԗw<>Pw$'/Gx{܅Bnׯ{^{ 1k(bN +=kۭ9'^u54}Vf`iO#AƋO1/Idm{~Z؋@==r\(; +E_}G]#+'8ܼDwݬK'pfs 7#yg=L9q})zi^bJwo4Qq9>Z- 3zcIXr/}xI6p(Unװh|E +'z(TFDw&Po~̣=)CE +wUvנT-aj1ڏxCq>vDd c-!ͱ\d6[<$#u"ʑ8vac3EB:f ޿y? M<5*{.ٸ3}I.G}0_͇=1`3*eX L7Jg~O m2s$~Rnj6<^$e|fuN~t)8)^N\rHڞS/*V\R].pٵEfE]+,(iF/?hy̿Y{+9pkw@)zO`5ž}0!wYϝmŰ?83`/tq|MxlwW +[䌘D/gcyxđ}<~@Uga\'DI6ܸ5YY23ho% cs)$:콪7&mzCYa5|,m#Z];rDᇛ-JHQӎTJрD_i3n=i}{ L'يMq5Aդ]G +6ެ@D蓅^Qffhk7E+ضreHfGu䛁jrt"Y5zBu?_$̀aXye3O-;y?Hd؊/OpJgz=/ 2R^C{?+^ǽL`JUz u^6P%R?n&\RܖpYIa :ʎNS9LEBN39-M&P͘=j Ĉ4B$jr7 +l??䀶oנZǺS̟ GU|"Tulhi?JD95'Ow= +B8 6eHHC@* j44He_F62fZ؂So,Bڢ%Z!)W"Tzk\KzфjWiMdUehQR\m25"&橤lVb0HU>X'j?7j׊/!"vŁg->a6;уH[Ag>Bl %vTÕ/EpaR! )w!Q鿆v;ܸ䣏ENkuÜ bnFR/oV6UoӇP' A1@}4`:un!4'K]|CS̀E6Bԇ*5 PM}$~>M誦J3 qęsԏnφ#,;\-/mGyD H-S Uxw 0 =Ox0 .9w!2;Bl&BU\ՠТ6OSSURL }{[Ŕx a~%ُQXwMZMw)<)wfB>`@׵0?A(Nd{ߙ yH)+WSjRLVY !9C@O4"Qo yIFSvI@+"TDQ?J eԽjQ7Wb +(D*KteU}:p/b~g;]$*N.2 WX/DnfSRC/̥Lu\{h7^(a~)Fg@}xvᄋËr_Wv(YWU{ !;Lт9EA!tG x5O +kB|yo_ST` EQxxa+K10|N  \"K +%- |D:|E6fmÐ_:vj8BroBMe"G ЙbhJ}cP^A0P1X7+nՊq,j(#D{yCKӀ>F{xYYK~J$gi~W\W,wHõ>/W |/Q, $& MrӞfkAӯhEN#S̏X<ģxWW +5vV0OĘJz4BvK4eB5B_T!S#2^QMitL=u`{U*"o*.( + +"@B!@)ZTPAeQY^od8^ށwwrP$l0?!%R' +x?i$)QcR>3uU77 Ltț7CG89=܉>Xs6V[^>8J4#>> S?sߟSuLL@*g/|iLU*_($Kw$.iFVo3J:>m21}a˟Sme3_`]JI/}ʹ sVh>LSΙ, d{9jNkTe6vp y*$p-@$)HzfȍŒ ty]{ O 5€TgpIkgijWD!gSgg)Hϻ(0=:#nOO'VM7܋L"-l&'Ѵkv#"Y80, .fr8j ,ލ:W2VI-#hRjlTR{]nNW#a#"{OGmZM\E! m2ފMa +pPClhJW["" ,KP]>S +`6߆u{ೖ0LAw.l'wd"չ<^n+k#9cf2]lB1.o;brIesҁLfJ=Hg*% jI*Fǚ[^&m=$Wi}HaŒxp3GtVw}a[x%bĭL5:zN"G_E(~i/{r]kei8})dܓ[zIXR׸ G'˯Nw*|.RkMU`;0*2+ըUyᰛ R-2ɞ{6iZ0C?ۆc> Ͷp 5ľ$6KB(>1^Ka^߳ݟ2]bWU+.SHuJJc}U1znSN|gxrJ̹śG<.H1j/szt 2PgzF9+(NS8qÃ#Q[m:[ޔo]gc|@"= Q@Meyykhzvs-u*Qܙp )ؖx?媡7VCfY5036XW￟6]Ur.-B[4)n(pЏZ c*Xr.]r{>b06$6,Gq w0k/p֤K1b^B)QR1߄cY_;תqVsj勵<8xw*w|}};>n ߮QQ\?Wڶxgt,{EeHp+̟:pr={GHE AN + -ۓG}4sIFbU{jMt tӽǴ%¦OM[yp:`ݏ1=?% w^GK6_Ԫ6xnoH~/B-Ȇ >U?Ƹw.#ܹHתHadp}Z4 m}[^)xW !Jz;a"U~#R\2Sv M{ɕkяctpf_d]s:\ |[gCzf[+}a'TC4UMC5ͧR&˕ܭlJ>eֹl+"k<߷RWQ" ߠ"EYq#yOdCQDm:sݺ+6la)NYd$OK㝞U2ul2PMڷ+Vcgd+@#|_d +|&9gh[AAXhˁK,曷:1 wihьx-he0th0UņX] 2`ui :X\Wu=)7-׎ʝ}iz];!WZ*p&6&F}(7J!)Vs{:Q9 +p}*/;a>Ki%}2ܚ ^)v@'INuXL^l`3uk0oۣ=*w3K54?6< 5+2R÷覅teIp޹Q,CEpVbgª:¦Jr}L)ͭa%z9Q6RWL3pLxYd-v 6w4g A Y&g}hO4lQW"udƘB*Y{ J,Ŧk#3K4ԗh$?v=$ٸPOey y벩;#"ֲoWĝfJSuG>z1b.oOğܞs-f<J6(p̪ oM&qßSApt!aWcUV}}{Čv' ,w$dw<ψS/vy$y_C6u7zV.Z%r@<[jNiQgM"W2Ϭ}ނcKvZtx;obs`ɶ"]fo^d0a|19Nٱd)&I}սNd^>pƿiuţh:+U'f]cWΧybhtd,|E͆ lMnגq_(2^G d=g;{BONd#A> +|E$`m?eqR *Ka6H%RJҮS9RYi%uKRd͔-f4IJEb:y3ϼ{c|fƜ͘LSX (nC +t相x t5ӻsuLnco,aI&;H 5\vwEޛ}׋{ +u笞5>:4-pOt_HQin-y#t͍bQkJnZ=#zXs9ܴV:40s(' ~g/2+<&,aU9k/KZUq5:΋ks`֚Wb O.X"ag!\E~lgc| ?'s8?޴W2֟% oy3+=Os ~Z[D.?Ys"wH l|-{g96+[k|ɨ~hl,+c1uS/ʆfy,zY!{[j>F{_&7.՚̅{j{"^f:s۽΋6Gors;jpR͹dpRN'_~}tR[9^"z 2ҎNznNG emΏ{'Vl:&ɝގ ˵=mZnڽ[m[ #7Ԃ\)%ꛕzD|*9dࢊf۸aP +w_: 7sh,{`'ձ [b۝؃M˳пG͒R2] |O멅/Y߃\G +f(AP=$oLʗ ¬=G"o[%T l/ʏMA3ڼa٘4}Btpɯd+8aA1*z-SsfjAŷY *4[f~l/ mnc*RQ*!(}@oȱꆣY{CګxOy&4֣(A2=UH9n2wԔ Ԥ=WJQrYIr=mMUn=Oސ[їQ5$$θks:ȌRA?ڍ;Q.cZBB/яKy3r.9Tb;kK7YUc{xxcu20y'x<8! H !7(6Pz(ʻNl헲ՖM](f6o5??DL̰?ӳvy!.WSiu$f&z]t!#: K9d]ÒbHUeLa6%%V'q`385 UrGG7ki6c)!_rh=B[,"ӒiblxJӸ!4ռ3(<#8$c.Ή{Ug꺊sdDM]+IVUBt6ׂNn ֩U;@sSD~".60c ?Yއ:BX_C8&0g~T\}ZA炀P;FvÝ]T=ƻ0N*&RsÛ+nEߜ1WED K3n]?`$Qǩ/ӘpBWx"u*VA+Px/zHBkSvr0`txt7st"ەX WXs1%\^dEHK H4/+_jkgE)m7Gt Ciܴ$-HaM; +[yJؚ2>hЃL O4p)%΍/K'iwκ iH%FSFퟏy#w֤}ATգ'dgQ೫-i^ܔ5j&o3 ;) &͞~ۖh3_|Ly#7.|.+Bi)[HKwF5unQEZǧ"pޛ DFEY j#x.:b0%LA"$! apBD""BvڦeWArs{}|]2~>"t9}5mƩy᰺Z^42LXVȐzn xhIWyAi+],Ps4e4tgE6I2vLSz.! ?H-khH֝*EVYGް^J`j`GTo#Buǔ/yab4YLKߗCjQO)c=kW c*н%Gؾ~_Q=XnY灖X¡. +sL,CM>OsJ'VH[cC?GDx%_|ciR_n?U[lv!𛔵 3[x xx %7~<1<'tx saDaK'vX7%D7] |Wt&d 2RIG6&4NhLK %28?=)l&0!&\RBC!N@J  SZxjNs܌r5'[r3~[2tnE9!3TG6ԋWD1m삇i9c yWyO^"A2n>eC(&]܃Ӷ)SJy޹I" "3Λ*GvtI#q#fEm)Ud|p~LٍbBt=;hk\RfSök|` ۨ5T{^' + Ş# r6qD.۳ V!reRn:Q7P|Hn3^{_L#Txgb|nczyV5G*eX/6Vj>kA>Q5r8ÁDlkR-ŖÝNT G6T}8Ʉk=Fߑ on!pvՀ?f }`M0sgw|4`ALf{/05ҵ]iJ3L;r4q=H"Eka6rܫmb&vQeSS N(L/3ϧx^B(phwƤH3&o@Wӣ2 {i:dVY6 ҧڹ :s8޽8܀8@T)m}Ώ^٣Ԟqjk6i_h?q!$GՄXz6Փv"dU +uM!U^>#XK"M,e?W̾U0KY4إz2;8z`2KK\`ߥF,)9\ؠwk~`xQxn+5ޤ55";x~q |\!Oߗ>a~xvQv;Y!|4 9ٚAR"dY +oj[AP,:WlhKD֫sz_d_,\0Mx,3!ioBL3/+UF\.N:x{*JYQmCZcӳR-˱Cg B <4dWy4ԋziAI:FW*ȤFdɖBR-HMkJ:Dv13cfdDNNr}Μ{~Ypx&pJǡumُ?{#h }=1߇p5g\nxɢЕ׹@zTg>?'G:E)'㛙xosei^l{^wY`TFB0,\+x5$x:qzWy"SJ7x>66wRz57#m^c3tŘ "0ui`cq8J4e/G3nx6]2.rFu(=sm%>>-blÛ&9›Xn A܏)w0%4\2m`ދYThKZ '2&x!+n 2[S~&yɛ+,d܂Uc9˕\ et|CaR:tѾ-:P&KLQ+J^)Jܩ5\ +_KV³jֶDk㇆3١ܘ1^xGet2Uyʘ7pR<y7X|@l*7_>"r[ z:=%:˫֟LLN"KΩd҂,\mGRWҏ&FJQϫʎa"]ͪ&6kZH˟D2^+}C+; N 3xfWz'AH|ì7;Oj ~X*4L0 w7іE#D"k_?H|_/QH>u^|5+Lxls;WVگ^sj݌G/J#A3[ZL'nkJNn֩RfX\ |/[`5=m+(5B |0w +/+CmD5rrc#_OLW8ͪ 1Sڵ2mD'u%)rROiǬVvi^~zp*S[UF.UmleޞXT]͵:G qWiA~mշJ tgN0G"񪢗,ɒC*n۝QO#+؏ۂH}WE%h$V'},(]pEdMUxf=;OfSw̔uY)ry;N}+uX2ܗ /jo^zOJ>tQW-x9O<]jژφU4_ $hL]%1~ v0tv͏UZxS +.ɲ-i)8FQy:X]#f.]}FbsJ3^g(WZ㵞=oե40sn zδ/zZuږ'K>AKP';h+k;V ..3A]9x[{m?_T95o;wWرNlTNℹ]Vj삋T[Ӛ6gj:6qmDϽ<E݋_Ӽ2&jۭr6`?b,|$}Q5o~&2 C {;jp:镓.FRYwqtP#ua/roaăl֪FHxmfha=~0\]s_䤝x7k:sWѨo!dSEK-Px:يɯ +]iV^('[ }gb +Aa1[W }=:u/TWЧ8 9TTۗPwI/fS!T- tpxyyHL4'1^2zW^FtfZG!&TQRw|trX>#nG̵]Y3,rvuW,$MN䡫?rgn!$@K6b)Mf"Ӫ&MKHj̀V8UwFSʞ!HQz2Zd'd47a3TV*ԫAk`B!>afo4IMldVwУ:TqҖkZ#%2jE)-9)A_O3;(>up,ɨj' 5\< I&Ly3EyB԰"S@21l3%V[:6׶Jҝ[Ť1ȹr ELiaL,M GS4Hc,c]?*:mxb +K}jW4ŴٳrO}|GR +Y !mѥ+s6`:a +c2QEQ<|owYeS7ӨM#F׵zm慍$I1ЉL#Y> f[PI%ޖgR^F7:p?BTjҧjd.r[%" +)PEߺObrX//QjYq<_8AV{+1TO5VNB 0SR^`G0Ac-fLX4XA*kvr͊ [Yvy lt.o\S˸t Ǐރ#2N]z:ɜ(qyph% [ .e-l" +ko]P@I?K,(SԘnNy0Z: r4i2HG5\ `Hry'):%+2. 3&ImVDB4S"tOg8wl2$߁ZrN0P`$ݪwrfm1˪Yb/^k/J(D6#q: lkz,LH;:Jc'Q#KW4萐8Kվ'A:4v-X Ŝ=9}KC(/<${+'|HdfIDuPj1RWr"!D-B3P=B ؓ%:<)'J-&a;7D x=ֈ1FN?KI-yưV4 7)F49@jQ7=. ; J0xctXVGZΠ8F-dOvŜd+`juaK:Hqlκ>l'䶆RtuL%3" ՊX6M(|;lO3}ϮLNpP5=S fv +!#SjP5k RDФ1IK#%Uwa:\(|>~$㢖Ƞm 4&3~!$"ޫ DEfye[LRT#b/ʴ}O77׽jȢDQ9Y'ipAW#HEDdM-s xK};;giX7BOOѰф٤lOdϕI3 u ߛ^}åiCGڊTOHSն$*`P+#%ͼ(o1w( MTj]qAQ/s^nYzuZ6HDŽ\1S5Rk +3m~g!>ÚAʙ+KO{R_OHAAtBVP]= ?Ԍrgot Y=j^U7tcfh QSHYCl y%|lsy˽+*j-|fQTשKKuc,qH&l#=w? =]V>[&#(Zp|QrPiɴQy_\KAǽNHN/U aFKQɄ_B'd߃ȥL$[4Dأ}D*$БζA&G1tqtQ ~kzG4AQ5D-|rϵ].!B#K=O/zwc,nMdQ+n8Tc[: >+U@>> g/=nw aJ!A:\P]R~hS.ְA}޶vǃ, k  ^2G1'y`xR*F\*l%cBzq_eC_}CwÝr>k:}7]luinco +7g*'; <)IKջS8W#1R>WbJ r1ScN+oK uV˞dW".d#%ub{zsiN?e 6crt\6rL|L`uL.h+w'dR85(k՘QulQdҌCund.ɟ o0)NT8q=Yx6Wz7]{-%¶BrcJ3=܂pIQVcmVOvt Kl31~ d.{EpiƱ1QKogMignaȒXX~@.xp-c's'|ƺ|O<>S?_?ߺ(3(С>5~K.NB54mz-Ԏ_~E^iˆnwpuyP85MׅI&{]'Z9${8$Z-*1HIC?a#yh ~343Va a6&@Sy-̤P qۮ{(ջkN~{|ss>'lm>i]A]T?[Cu= s΂*;mh 5/Wq|V³PIRk|ǣnmT ~*+8(L_/P!W/]<,)Ygr/0SxfukC6? [?;vՠ20q)Q~F66qW +6Vg(Izb'i.΄D}qk9ܻ0y^QYD.IxkA!D7M+O^zUwi9WQgnN +imd_)`G>a$`;R͢ a.l NT] 5~&.k+\j'>8Nй* L@ҡ}V3d`, # aKHv+;v'Ja|ǃA{$\#m1>19+ƬPic1(ƮCoe=̔V*D-M:g5!K8溸t:ZJw ̠9}=IP SNҦ5 ɵ( )#sr B7[\>e pno> wщ?pk2v9}T*lC݌b5kd R禍`kfV+\[Z/o[u uaYRBϊCoY} y_%]aϋ6ip4hqi$5}wTȠY|!V'vV4"09~!lqu T!r{b.u)2۠?4dhom)0T}#zLzǘ/Eo38R<`o~z` g.׾ެI@mMOLPpDxl\ `J+CQVއߨ0s~ZNOf窝2f6M8XY ,H†N>d0BZ"~38]&x_f0 B Qp s"(;&5!Xks.a^rպke@^)%:8+Y35H ffB΃?#H1 0)C^5/o5[GUlsԖA2hM^fmkC+)qY;b + $ceZZugAk -X` XKIWz)~T :(Zq1w e>MEmO!T{PSq::q ({L:dlyo ba[f4Xo 76˥VWiEbf|slFk_Orž=|w} a Wo[ ~ R+V9.#s{fɒђ{ς_GE<ظϭ~\M5?Ի(#96zIcxEߒI[MG&ghӎMMK7_Nb虇3/;ial%Ǥk^? +xkiqE*sQS~C S@Qk{_O޶ LOoөlrAuvI/Xb62{pb$e<+ˉGfbZg^R6YjO^+q%GȦ*!?{`=CbB9N(6^mXp gv~yvPwsx2^iLCeiQ2Q>C5ڴrZѨ9[|wqI|Csx=%ѥquKd*ƺ>(̘.|ץ &T;;F~r mXWbc[hkYxO{,g)ct0Twޯ~kL)0~CfVuN&y' +8CkqX4ټ P|~HC') .0]{Miv\rT჏U9s~< /|;ig=33'9ێNUFIإgtuxkୁޞe' KrvPWF*jڏy\fDtuMBP5"CHη32K3SpѓYWxM9pd͎MxC575] (kR6<*1&F2$?z:D9+Vl!}ˬPjW(< _dk髹g祫yՆJ:VnŌlMzJ^ݎ<g^_$%oenDagv_QqK,\`JsL(Lϵ[=w5S}r vg߯móHf_Neqcfʒe2,8*'[prHT(r*QmCc 5Rdm#ayp]=W߿-JД0v^>F⦦9k 5EK@+,r p6{ '($T}??U1DC-.ݑW'!;,p` ;N-nJݢ<7}k9@tY o­^aq ʯ{K-׋sx)RN.O=[iٞߙ79 7f1VBR. Q>ӎbvh2N?)uZ7\׸35c:hgk'lƨ3Zƥu<~˂ޖ( ص5ނk7u!Jckwa%+l*Un +I&5FSr$9gk`mn.Mv9*. +_7I$Yی6~dBLeȟt\dTpD?g=G،jۨ62%7Wk3gsٽR Sh~ȼ9BB/w VlKYuNmfWQzS yr)ϓmMgnݫ_f!s#uKj~.v&`Uڄ, +Άg,GJr&< <ݦuEEl٬ ī/:`bV؋pF\R*gj+IB'A6MK$'0wpBen} uvӋZٜbzJxw&oMvni3[l[8y&xZiGȴfUKTE{\\׵e+D3{a`U|Ц5u>}L-lP9N=S!H+]ZB. Y t@+3$ +E0\$.fQ<"J\7Jɵ]xpXI͜a2- )qjĢ~JgHwq Xk5Ů x$oQ)K%z?A!b<Ei2fPo|U)MOx+_V|f<6Y. wgVj BlGd%PWS!_"+ȋ)M!s-#_zWZ`^rMH46hCm_uw4ka̿}p,(^RlQ)NW&O^26Կ͒S4F]4,- =TWI5&~"(;RPPp( @CTF{zڙvjAU*leKZd^&[J%|J0lE:S" +Q*l{Kӌ]9{@!gDiwA3ݵt׻Q4ըKR_,ZpC0)Wlǎ[0x >NHgl,_/-izO<{Eu-KDT +/楀 TZڮK3K==RfKM5q*t*SxL)(^H. $FYa˹d ܎< aොP?NPE8 !$#)@DM T>5Mcxc}/QUk>TM5]&[*K +]*msUi0st! y|rމ C:B=dp'g+r0(I9p,#6nMn L?(Ϊs3Kчj_&؇]QGB>MkA_З=wx<#\+<2EDH傰p!ăzW|گ +pcz?+$;?RaRVJNQ]Mt8䙤DQ!SRyj=uy1p>: t/8='8M/UI/dS:1օ^M +Cc><#p]L/#$ QaH_e6j.Gi⦃F?u$ <yx& >R'ۮ1p%᷹=K YE_myNU56Wx+}K\~8Y#xA5hrbϑ&G /RefY6z?0qBVSa@z +X(KȚm}$(i >x{*Ϗ:bGJZn 򄎷cy3Sm6k̀YCЧ;֥[6 +~I]5OֹB`LP^VaRML J'/ؠGq]6'pxTê$df1;x{˄g}ZxV:qq|liT9qVPb]U +o(&J|%c_2SB<]Q`'j@}m]Sci]6 XTb BXHNͯ(lTM}:~7a/tS UvyGlS՝T}9Pq'>l7T n9/pwOyZ “PA<{U&\@*?Q+5ҊUpCiSKԅ_0^2LlGa=sfn"^kdqA: HlH.ޗ%«DuR6XYOɂrggxI.ܑ3q Y ܒ$keh+vΐ-W9oo[8UJ-j^7M[8(Xf^*}UWVVZ7~ɂ{ *͢bUT&t{h #8""0[RHH-HnRH#KJA1RqTU35N{s=SmWZ8HIH8b񪱙J.q=H'c 8u݃,ᦘЇ>$Mc0/b˴a,)Њ%Dq7h +o("LR`bӜwBe3ó̿b ;^M@=(E: &斠V +^\f?i +^S4ķ+C..`*(y _:ah:+E[Cح k,N@߳S-E mH7(=rάSw'k E+l궩m +\-8Ǜ~ň,cQ +Ӎ쓌 񿤷\Z-T3K&MQOBQ\eyZ4(&"g>R4&2ޑLKMG>C̥s~@^Z5SOMm׸N}2\X˔`nn&YMo{b!Nj9oT~ש7(x9 FʦS/ŸK)7)V)Sŗ95HW (kLnh$#ylA&Z[_іdž'F)ub#E8-q=6g||vsCuf&Hg>^3[e\.F ԧ-֒n໽*"6Bɔ`Rl:B=U|<ϪqÜ3SH*N)vvD'2oN[Jl]J`3($3Jv5faNc"%.CC<[S9Tɂerw[Yo.#>ddb%|SOP*e62zL҅g ų4]V /l rͪB 57˹X^ +3I-咤,?6|o߿ޱܜYָ^Yw +}x̦D-,OaJ̎?[DA K(B]Gڍ읲.BKsvQYbYis#Gj+u$E09beu}Y<y9dIƘф׸7yX>vV.C_6Tе"rgQyy}d#yj/Q0[4}uE)|!nмAYMJL~ou׃ǔEDq* <ԛһ4' Nn~~/[,? d0 v#1X3mY2[J)r0gI + +E6F hC$9ߩcXT^1I]}Ѝv .aOIn +NElwdá-cWJf t#Vg9Vv, n x;flSykԎ#`R}K'Kҳ9*(]4Cl7_4<|]^ٍKEGPH"+ xF]\>M0 zUE'wcwcDP(6靼(dAV/>HC9Kc6a՛yR}8‘B)}3}cb&2N'{?^%p>] Nf (4鸼I$o~<{{YԨIU1~\aϧOjgj}]P{ MADms@-'ݔݱEK7|lE͐Eް0_P)w+\ؒy/6&$͛!)F|DCĎwQ5C~L_3Saڴ=u,>c+?w kL%Bk־ &cP#H]"2.e+QK/+Aw(gvTZlT\2^ba5l3pM.%O$/) YsX~QT&ƔW~W^??AfIހaXWᎊ>cLv^c KBV?w4T2ΝHa)kSΙ: +,ōҙk+ +Xu.y~>뼘@YAvBTH4 /A q[b]e4ժ%bCt +M%?W +"RYBSw%^H(}n F,SGCR'AF^,pb'gy]p| V7hntb[C?'4& uh{%JEjQMhST YiVm3"Wa*gok=aHܷ".u* +0peT`7.,իsrEcS&kPB>e& c(<|1xoe}R #rz{]xz+a!/K褐Mځí"μ5YYK)]\J7&;|F0LRI4#ͩxeU6ޣp{.R˼}2vу޼/tCz/#\]JGsR!{o +|\R3b?ޟ|?8^R@3kI*Ԑ+1jfmY3M~qѭ^Z .uǘpwA¡ҌMf^1N:ʇ8l)CP9D A'ey|Mp(|݈#EX̠szzǤ݈y yI}|T'V +^9d{H#!}uRFHWp f7JdjU3\ +Ma&@Tqx# j3*R8B ,^Ґ(q{WX[Η#aNJmxj(O.x컿 ]*6ˆZ=9zh7gEl+~S)ֽSѫ65xlkvpXPK<ȘC%f-ftJ^:x.Diu<1I8qX'@c,wFQzL ^-tvZ\ 5h:6Q9ytֆeI=tyWzb-fmv+fs;Th,{%fC2?{=4 S6d!r0l{][2ʊdt%Erվ@pE܂/,Jˠ‚ImnU\.'G>.|KG7UԝFՎ[=-I[;iqAAQX,hz T  !h +"  :oӓC_7yKww XXB8TtOPoZ݉ SjDw|(Dc\K$hTRcHNT %Q<,= +L iZ+f9<6@ +yfm$8|g#K:s-&g1ZS\p!!Ǣ΀v3CT5H,>P ՟nTmx6aY ?H-^=W; 0Y4@]YFQ {HKTSl:@ ^di4_j;M`^hc)P`(JQb Kn˿SC׬b\?sZngw!sFNMh +\)d/NBo!q|QC(|HC`F&Yfe0;ґH5#9ΣZ|N{ +9K:TjeTt}7~>gu/*tO?7F2-1-ԝ +whI_>Ӊ%*4uT }*Mv 5tx&͸'gihޫ~!{͗5uP̅xE mKD=䈃HE~x4 +ik!>U0\6iEOyNDw %$z۝z+.j\r/|ݛ[ZJ&:\k=NsgV)&yoh̤@k.)cƦp\%uCH`\[[,`0< +xє|h}1Je&4ǩJW!0q/.綁|~AafYvj i'<皰cwt*x +4U&l Lq(pGAsÌ_ ~rA2Ǚql\;~'0ccg{83Yc>RUe˔(?{'Cvq܆/_klEBGWIAG։Sv@OcəfW( +2cיt3)s4ۉ<ڌݽu6nĮ͎&SS,)ZkX=r O7n[X`ىEǮ\2N兕d bX,V,o:zJ]4=~€D61֞_&LF{!vAO4r̻]Z7a~g6sEji#C6'?̌`ϕ?讜1H| EUׯ@ce +WV9:cYa@/S 6IV,K4zŊxT@Kb :9ΰ y&!Dy/7t$qܪw4? K76f_J|00SLq1/6zrk$<9:֑j:W8@+Jb+Hʱa}[U,] 6B,2@DZS,zX 4 =͗[A3?';zPO9Eb:Ѕ(H0}w5nںIs\oG^ >''#~K!!Og8=Hߛ͘/O,hEs-6lX@XĽNvFyƬ[}kr=v׫o +,ӈ/:ғMJ; +M%yW [#51'v&UR!7IpiR tl ]4R6Y b.GtCciH(k%[Q +I$Z,Y}Y&:d_;ĈC r$={??{~uWx["`({Xwх, y_F;#'ΆD V,@߉lc/n/}=É6BhӛW7 T2_[q{sb,Lƴ͜X0;u6Yh5Į%$w\ka>}"lʺ6<Jyfu_xU ACKyg.G,>!MEv#OztoZhoۺW +AX$&!>r^2gf#yl-M'iֈDړ92AU}aŊ9o旫߅k޸-*]o}%K[eҫ` ܃QiAnz^65k?rq:)OEvuCҰ_RxbtVsrw8ӤM" +2ƊYFnt]-Bc4r-7b[8l}zY˝7x%/|i6G(gSsz +JNvہqg*Щ MK^gdG'u BHNM.K3+eHPKVu3>|rՋ^m +p3p0M&e){]IrJcd5w{:*\B̅nnNEIxYW +/5^:普-nGLNlǷmb* bg7刼]噎=>zA_Rt[lӴG_8rRLTzra2QК>G%2 ;VφS5NP:?X |R@Zd]}N}qcRP7`Z 8NܛH$% >|GKC k,`Yp!lC̍,1g'v> 2DeV~~{s9e=ڼx5ڤ|ާ3wq_ϰUI㮯vmņ'5%<ԫ͊h +;fcUUwm&w'j<JtT3`7qg\B?MlW t oJnOLCڶh;Rg%CK:é0W(+t!bOǢ9Ř',;|R)R +|mH5BNlbg#e*aHA) tD"3d$*Q{(m$ цrg]5qz'm:+&vMu;Q\vvx.x5~#" f1:ΕQj{dI2ؓ -l6QQNٲ1cf|yYޟ}S& ?M=dNa;Aju`]r!δe/\40n뙡W{~WO~;9t'^KV&=n>4l2H`&%55z;SlhQ sPzҐq u#OyLtȍgōLt}cMe  ,66b勱90ѝkvki#|xP|SưqҼ} + :+M6EM6uGZ_mfuuoGD]p!zNJ;#WjRvBy%l⍂K?" +m +^<մs%o Bf BZٚszְLGb&g ;@:nbbHlh_Hj|,= j0lj4a*$au,7oCHsi ԻX=EHq^,K < FˈyA|'m|58S`9ЏafB 8UyJLxeR[Ȟ ]f0\xk;z]S̪9=x-_a_ǒὛF{F±9>낌㽾GZVe2y7Z`>`ĕNa`+Q3jnխGU@jVM yeA~SQw r`ƼkP>yc>l1&/#Y<ЭsP&ƈvf,,IͥZ&`_w@A]8Wű La.ZWpŸ^#s:(xt ۣ'wF{wCp6VN]Ŝ0lhJq{N:P{NTYAB?t)J~I.9Z@Ґ8ګXЭtd5M,2ol K_;!g Qika>n/Wh/\b0Pc /z?RQ_o uDh(d3'i*I$xOJˆ:ĭ䷃Wu?CfG j`vN +<{fN5<~Gd@H-t9Zi@3zk=޵Yjk@ș_`~[=+ԃ,aQO\}A(Ƕ!OƙLI#:Fz0ΚsEe.cE-|W'܈{<YnGi lj5r>\[[\ =X5OkbW^cPz +q+qWzte &)t[TS\p(@a*XBb`e]V%~  z 6h6bC_JgXe*KAGQ?FJ +PકXν{FCpMCwGCqB3.v٪E$tC=t[Ql2vq]+]J(v袛*PN:7lGkuz֌}{fB{9K0:r7vOàz-[gy/g'dJTW;JU>0u 5C,jj-Nw'O׀U:Ρk=g1/LPg@`+diŠ!8泔 q?ȸR +*e r{]G>!"(!0󆐸p;"CkQiYѾzd^S} ]zuA:xN !OM|Xll`aXY0u=3Ì'"c;u;ܛj~P9^੺Ǥ]gQ5tc5}r#qfa悽gݒ*F:p0GMGtq1]}t{n5!~nV69+ b ή\TyFp_z,!6@:E5HQ79h]n< :bn3賽;MBȓEw}Z 0]Uz׃&(Z5Dt7ZK ioC yW4 Spz^K͔s4PY%l]Y(.&e+?QO{#' wQSk+ZUTs]kk8sqg>rw9@m(87EFfX16]ɀA@AaS]=?R+BR`J$ \v'v2[ j?6Z۱&ϟv y +v)p~2crt +" +YzmJfćӥVgqT'|uߍ<|/oGaB"rv6͡ZG⟩hfaA;o3/&Kơ\p-7 Ò|'*;<K ;2fV*A +sHU}[8&Y֖pZ{Az9H5ܱf썽-5Se?c+ ?d%8Ҕ0{)8x0mpcÜ,ӣ4Ⴖ\߃aaWs +t߼|=+RrԂƅxP3n j1AG.HU8JUZ DWCOW:r64ӢөFKoqIAз WFK O$P]ӛIA1h{i?TGbt AnyxVwk<8Ρp_9% aaT`g~d[bKp3lU\+K*OTPH当Ee'炮8eZ/_̻9mxc.(s͂A*~2H2CB8x~Y!3.PS0KCwʒlZGwi8v^Ek FrG[bt"-BZVwtYtq `8Ʌ,i7Ԋ+Zw4'81MHO/HL<vU_flFvrSPpwZW/ںUט…oW|$ٕ\ܛv`;c:p/ _`f)UNO3( bv6 ћ"w OwjpB8:Iha>Ƴ~77`uqNOZB[PҨÄp[2k>ɴQtKHLݜ +a{MWn4o~P(I4δ%)0o7ːeJ]0hVZ&G}\?N}C#u1\.ό'|%=ptߋg Tj(&Y z)gb,gmr;É +ϫ;`yk3niC:n!h.ZH~e`Ik@g0DP.Ub;yo(Ug̔σ݊JU_y\XVTOeǁ xP ;zUXKJwEuy"7|aS~W\$D1v+ \phRb+:ʿ9i;8FЪ߾'Ls{LJsH4@K|.1*ɏa^iTSGUGz54d{hxvA*ެѼ+$]1|yz'7>.2]]|VXwZ'dI 'BW/jn\U)_ ^\wCIOZ?yߕuU)-l2]qx.'KtMrWijAeйGxcM߳M˔G8֟Wt89 aӻA"f_,iQ"aLsXe5I+t9:zSػtCpd -uϭِM?ȒZ("`KRL[i|7čR.كi/!QqfjuknZe )j {6i'dK_ K3I;`[dPfۉaBn_ȍ\fHD7C*no[&+EF÷,3Q9{ xqݠ ٸ&1Қ\ lwt=1>Kbnl,PB յR⟅Ny6Ů*R#Bisb's`:١6%[6 o9baB3pj_W@퇭2U< 3xV%1R,Ic_ʵ+zt?P(ckhۇs -oy؋~?Ϣl~8C]پ9 +)T YYDdɌ\؞uj}ϨD4zDB(Cz}%HHZ)fZ߽o?j{Aa_w iXfvQUA'ڔv,}]zµ 'E%ǣ k/eAN0bM$,i{Usڐ$,RvJv +H eȖp"6>55[*w {Ɲڗ[UvV3u[lч wZ-"".=/x։ `'sĪY Is;ླX5NpM`aiKp.s,anN/.9Tjqd'W%I"{'yJT]B\ɴg>ɻ8AH3%+ }p]_e/GrLާ.[qGD5;&YWߴYg/@QCC8-Όxp+kn/i Z5쑼2`fZ49;/gVƲ@ BSl 䊤?Zɝlz zfġCٸwcIBSx9N="*j!&D~n!S @IXl"'"ͫ3['vŃ5ӭflK>okv +9饹|@?zv[tF1̑ǡZ&}oXo_.SXeaI~8wt` d}? >ѿi9X2':7"+wFSg/63b IQ^t)_f~`u +ߦ؟";T᫕B݆ +ff\ Hʎƞvb3hvlu -9B?}ϗ6ƞԖOn_"(ð0WcբkYY뀏FH2S~Wm'5 8~pܳo&kK9;xɓj6!m7sĝ)&3}!Ȁ&?F&cȑRyi\nNjk;: +w ^dtHwx{r>ʀaA `̯lTi >Du4 ط5k5qkʹ_-#n[]vV1"?ꤠp+IJmu=0*k89^XQ*~}4 r:]1d+)Ӫ|XIK<5mDE:#30j QB}&)=wTLHv.A>qf%B]$ғSļJe=*aF+l\SA4h4<ٍ1ևaʨ R6tR1)ՈuJ&c[LHzn6'&Ԁ<nQM@9!0naI 9,> .&OA +ޓp.|Ko'Kw*n<9!øuo,2 ъa" zo %( &^ ,,(oTC7?c%=>ܚTpܜVv`,ƪ=zBc+bLVaoX#=js &aHHRM$4ϘT*~Nf@9,Rĸ-{* : ]Ő7=I75*o2^><5{:oZ>㏉bo(]U*{ MfeZ~âL؃{a,_4Ɗ@?trh UY13O>au3v7/ ƀ$3*jN/B"YHK#T T} IYȌ:(UFhW" P7\PQDAϜ3}'{w$5~i1ܠx_ He1Ji5( {1)=!hǰ=J-.~vT{lOYH%!<Ǟ,4%,j[piZx sMWI#'9w&&6mird7tX͍)j&6(H$$[3a8@KFWza3[{L8C5zcpKogz & L8P >u:P2ŬOxǽ [/i;fuB̼#<7f7-iU ϵQ4?KOk!y6Ƕ-$izݵcKQ=Tch2g+g){఑+8sVn_>*/%8 |yW֬YmN|7] Y#2(LTEJe?e\B"lQ{y"o^T~X(RmT)h|[,j +|.iLjG?*tKB;;9p tn]Fq>mLJF%G8R(R IӸ >G@불6ia˷m-ʁGS1WY{>ԧJ?m CG|j=8 ௾|MٻqbK=: ~0?qp!?:B* 0~UN6[&kKfO/V_mesb ] yu܎%_`Zpע%_-u +lOн21_,LJs%m;kp=b\;6_gV1eLȴKs_JK 8=#/{֋`x,*Buo U1x1nJC05Zn W 8s䆵Z@law$ v/BWNhHCD^jBoc!|}XC:f,Υl⯲PO: ^tɅjmBbg0S:Eu5Tw..<>#'~*1 @}lZ̨&]o-iomԀ8B~B|W`U~ *HW B<|/9%Si$D",S$C_Q&iK\颓ݟpq1s!z< w_nSczPbNViߙ }8}#i LFbU.1J,\o.ڤx~FΊ,:Jl4Ti!rB'BVT?:_voA9tj:-c+d<뢀0^6 j O;u% EҏqP@6l6; dv]:۾ktF0,cBIHCWo=h?o8CDh$v{8H0{ 4A +$Yb\қ!'cB3>?Rx^\@\*Y p})XBGQ)3ߓi_IWY8A/UAÅyObM0o#N J,tXT\uDZ`wju Xwf7p\N`*3应NZV8d+C|ptȠB!XlwlKd@ۏ}gNn3=-:ֳ=*3>m{gRt +Z].4ovgGA7ʌARxГ<ӛd ^)4}mlyMϲdװr^4\1fz7uANu 'eڇ=cT'flCiEZN$}_&aCY,c:eY!c`8 Ww],FwOԤԣOJf6_?ͅ-<rA/(E*I.&Z_&ʡa w]L^u|k`m)s V js$'IeH0^lI~Dp5D8e{["Y%2l}0R$fh%pp.*Q;Wsbp/٘S`N"@/Fa9$yz ;Or20qda"Zo>(jsWeSs!+/^OCOSd=?}#]nw-:Kū<[l-4jJ<: Yb].n@WaGr U7`wZT&5c#_xU DU¢ {VXŚ1+ ǨVSWugd9M6m[\Q7‡Ք~<>9c9MfHrP`Nx+FINÆ"YNTr_DSU}I~̉Ǜ*o[Am?U.J݁5KLvYt |ľbp]P4H(}.,t3P1 X[%TW[;hSVc\YR.hTS׆٧tU;>uFѣRK_):M+/➹\`m7!ޭGsDT߭Ow"Ӱ0>96Er7JE=pSFX <_:d5,7!eF)d&W wāwQ`f94s=}J_oj 1 :\Է=,iÒ]ۯu۸fV!+MZ- +>0׊uqpyz.D(Q~FœMY}*l#O٫?2 Л튀 M'=< J ˧B?HN!eҚ6Uf f s! ]HGӼҶap TL2 =NuґHpA_{aHJFk{~boUI=T]MIݷSGzv^9r"Ǹl˘5?MvWG_VLZUcz'*b$UT;`o)Ҙ?r_e!NoXK$i-#DH1p 4J__GY÷?WP2kZ]%*gQ`A?4C!#ǀb7/22ɝ)qr .UtoWZyg=Ra(v?ͨ95qșTby;z砬ftgzwAD@QP ̽=WgjyƱ]s*6K|H^JTB.DɃDu^pvRvY0 I ]r_&p+6 bz +с2ې8GL`fLa8ƳY AsZ1mro]B Kifi[Ju6+G8YNc )닼|]݈y\>Ƨ_(<&?D`%XR[xR;.ű +W>gLZnH.5!|J75SPwIa^HtlSa. L'nP{Xx( + ߌ@s., n2J5LA|3C*T}y7ysFt(xn?w2 A~+|P>4g}8μv?ʢdP8v^۽;Z懬!Y$YQ]\@,k A}5ZA-bZʣ{HBB Q@ŕ)*HQw0SD6d\P93j:jqԺlRPj" +|sacNNy +MkWh7{=w]&1Jb-U $; Wly-~m}*{Qw]VdAOߧǶη1Dޗ9VrYo/=_}|ȭfRY56`^vkniD.xA]9scZP>\ F*;Q) ;oڗ Ȉr21884Y_}2̫wuL4Mb-ѵ?osϼcɇ~5X,_O~>mVIFquګ+\D<\|2cL]uejB^eYK Sׯ,hHl.;ޞ#$IjWx}7=jQslX׬"Jy'IyU\Qi]y,Dw˿cKY{`ۙfy=*{XO +K"kw(B}nPmlz~HE+pC$OO^J_1$:/n5[y; +3&Uu t,ߒ)ZEmʏn Wt4iIxNŊCѿ^;\oJ<I6.&ZJg68(a27;ڏ2@o30usX~UT 0< b/:=w!]f"aJNK!h5*1#eEFqRKax>v*u]AVkc1%))& Dq=\'{ڥJjaWŧH'ȱM^%Cq -xYġO4繊\[9>Dh9Wdim?,^4!.6 )7e{% ukĖ3tx |K$nYeWJ+#ċqܯ }u7p_M+J@ߋk+BxN$SG|Kr!RQQEx ^ȠvZ.!jj +රKGhɡ<$c;ٿbp>hPhkK{7ׄ^WQ\iV Suw<ܕqO flȬax"I\d,wǽ29Fq(/šjc?(1q:9?5~/j۹Dk[F*0?E'2#R;v!%Ak,QmDol`osit[3#8_9;t6(g=d` kSλ$4ډtfh] 6Y 4#\PEN,V# +)s2=JTZݠupVYYüž}L 'Vv<33%]yLxa`q?N˙9<o^\1tp|bsh$½, '| B +yTBji9 |LmrK3%l!x細C5Rcخ\0/3O}s\9ѥ&8 6M"^:Duw@_˚1Nwh:}P. /pJv˜ԺV/.SaM:~[?IG71 +AB(} k{ P;tPy{]]I r.sqP nzōʍq`S"kx N1 Z7c#nr^]C/fR++j2ovUTJ:9~\޹f{~~|j^@i|$2uwPURy6ueHGkRSp +ۈڇtLM%u*D/yZj!@Z,F7 BL*iB3 +„."p=L]U㶞><՚E("m\ۡ^M̞Yxӎ2rޮO+qP4سwu3wrc܇Q/ڭH@qOQژ5˔@zŶ~ڹG>n67;ԍv'x:aYT(1*ڃW4֢^j)_Gx4 +\? <%|'{esʚ%>t81BI+qLw&gTD%H,z2 l7^4@_#p'2Hl̍.{JBIbl_)jtHT$J\dEv káL@2\[O} \^,}e vS˓;0D%o GpdSjaN\3iMv]j"x7=u xN ¦KV(HRjpYtCIo#]Q)>&FHN&KjyiR嵥([هQ3򖊂b~Fa<|f(): +LB~8Hqb4e`{JsbsnѲwߝiނ. /ܩ~<ً6aFv'bg)QA=m"]_a Β.ܴJrzlclCd'Su=Ẇ\k;ҍ +ov8>sn?tq&G-dHd4}dC'!rîSits&}+G~`br 4Pei!_ `>iHuЩO{g_/7eSC1?esÜgş Vx<nc:F;\f~_._J#dPAG6 +E -gk >-C Uu~{ mڅ贓s.DM n҉خxs (A9xO*E +Pť32]<ԓZEI +A*?)L[ k6y}W<+ܜ |FΛ>!gv4)sq<*eGIwNF8ipt**\m~2cL۴p9 [ȎZ*pYc T7/yX~[pg|)e]6Q]6o >ClvyU=p8TbM348+uDvdM/QIr҇&kdcU֞'}ey +#,F, u ene߆"ױdYDN$#JG0:׼_yy~}ϝNk<-ZsUpNExBiQQ7OƉO68&:% 0"G㪰O@4I6ߵ#5b )*0B>~VԄy XqGS6OD8E"5ix\,5ޫ΋7RɄlrƖܓw ^#]\QY%TcCcGN^\9f菩%3WO錞) 6T>1f/ON! m8~7GC8`zn &bwBƐi@ڪ`F ^)X_0c1B PSa:>B}^1.iA-k\)n놬 dA"5QߍZD=ObRl-A}$fx9s^Lķ ]#щN=4)M?m}'l &tM +Q=NaHQEϳ%/8ׁ_qg +>@Ixp ꇀC%__@T: - 󒶼=N/2 qrBK{g1B.Άۼ>wYKQP(im;HC٬BЍȫQ-] 6QLUI"~̝[O.&70/ێa3'JU[h]EݰӓgsVfWtpT:y`z3\:[C ^&C[<0cbxr @?d?dNz%!D:{ӫXuQюI[)2#['mo޺0NX:`봗yoɣӭbW2RϬeBV9ɑZ&aohW; 4 GâEpw2Q2QajG#eƸzM`|I0/XMŏG n3.۔Cyf J8[_0黆AdIzb|e~i)3p9,yi#Ng˚zդۑח\YG=4BS(1WgJ;TYϨ#&sК_J ԀHģgu% `)yR]X!찅N8%v=:ВQ{F1lK)`2G|5yqGq\ p*`W(62kv dZB=j-^.ۏ (dܩi0 =@ǿZ)8ކ&}49rٌ>Vn6閿i +5L$NW֯v;6R |F |]C} L&gG7P뒫~PmULj%Q.,eIMljUÿ,ū{y 9ܤp"n'G0 3%݁^mJs@H( +o!8$"~hէ=l6\B9-!H`Z _m;uoݣrqNPE/`2Nik oYդnM&jOaCcՎy+{WeHV%7/L&hs'REԓX +S@ƹr;ո1>#;d/zoȆU,I59zQG~U,#=+22rgŰ=b:qu2BM>)AoQN~3,lZ곣bd-TZ J|6[+1fMHA7}k;Oʽzk&٫̌yoo(|Ш%Q_v!\WnƗxC*]mfy3^awk\Pmmv3c NˇT8ٲ4ED ;TVT*թN\8-T'Jei![Rd;5aKyg\}9GO~xa0Yj#auNmd+&pG- K;4@!jfbb?BmE$Bu2ީv_ZrT@`Ջ^|fET^9V)/7D˚K .||.yy~*3]JI?xTk,iߊ@?ľw [3I2*G,AdSxv.%RoϾ`f(DIPm_L_jjmԣ¹'_w12nzp-zjݹ &ea!+5͎O9i2$޻ʹCOɅΞyQt]J#.}hΊЕ)ݘ* >deB=]\kjL9dݤs\T +4)3rhNnLPRRؕW2)s'] }>>|pvG 9(V`Z֏z&j*~#SF1) ˕kϧ*m[uw1-ZdL6= +#*S<5s<(;TT׫'(g%31ިt aIi YĀ?Yc=c[m'+C"|ϥ}¸zjY>|#B9ďG&ۜv?p9X  +]cB\wCf3aPu.PEW4B>$NͫĤ(fYWE>:X>s|xP]wcZQ3ARc6c_bĀx pw|HcK5ftxoLJ>4G/i7 +(78RA-%))?:$ne_X$+KO;+NJك[%}~,Xsu"0,C5ĥ;鑂8 xP|xX*Ɣ 3Wawl):@]<>lB߇o!A& kAWVb}+&4"*$}2eߩNwڮ`dRqR|إ+Y̢MbΏQ(?UsGK<ƠRMORM!_Jz(u:uNstTBd fRǹP5,*L%[$݁Rf~/5)LϲzV&lA͒2NYU.C,:A,ːSYw/W^&ۉ+nC*d}#K?ERrNFK\<}/<8tf")މy|R}͸ZH\h8|fgd<7]u_SOb8V\{ao -H̾.[//ٹ.e`٪3.FRLCJ,:$A3 p0K0 **3k +41^ZT# +܃pNҥjhT[lh~t# Uڒ2v4|Ct=kg0Ux[=. ruw/-{"O#!yM,Y_x8+vA[շq>ڮrA G˵/KBzOf@ W薩T(8'ST>˞ FMNvPa*̒q=\eƺ-Bt*\N-ycHE jv!оӆ_=Y8:} LZwҸkޙ6wIS;Gc8!˦;LY7 އz|/<:[nЅmCZhKps6Į[U?Wi*`7`/5ku}R}>K +pW}2TnR,3ڳh5 4}p8lQ"\\A3ɿxw+涟;9$ӦyO ;&<*,;$K!;ږDj|gdř2G=u6-s,"8ZTA+g7Qiu5nq-b7;OYx{OՖVao F]:ܩD,זt7ofԻ,aeۭ|j 3aC6ukS6߼#0nHu;JQD,^Q߉kGgI<LO1<;;{],ٸPȒk,r]E2o}FiwiK:fִkoj-^/lV+Fn2gWYAZK\W{4yɌI.cE36) +"۸ŝ!QJ+ ڐnGQ(!˳=gs\} q_ZAk)r)|^$+ݓ$H~]%D8[lZ`۝ QOAC DVQ^Jd o}tOY(?d Z\E~4Uܰ]C ='kw`os >a?t_!CB3d8wJji[Muu`6=&1w"j.z^p!@k{5P4]q[[(8i"3Z([c;kSd` +G΀yI$~%c.m ^[ktrFу WG oO|5hC03muj'@ "6<%͓y+-1)S M[\*S@ȝA)fY-O6todjv)!Ϧ~M U')|ޝ߼ +Yxm+|3/j +wFLfpwۅB z>:LJ ;?qKǬ6 w_0zlĄtUXV $Pn%\} +8Q=4 MX7(  $iWRcqap 1qMl^I-͎~lva>R{|ooP_Uƅ2my_~cIqTSՏ\^VӠx(Z-K \ SG; 7YRdPAs3 eYܜC29k= +b>yC9BLYNTnQ8CvU5R|[bٺMNZ씘坉4ϑD0y$>6d"T +ex7~&>59w``V:qDA^=}l0F^Z-k&ho)%ф TJrͣh@vpUTCf(j'ƜˆvAVImn~b@%FG/s:>|͖˿4^ҾT1k=&W+ɿL*|==;z{#:C W܆eVUchQ̀R-cπ \lȈ@*?&R-kU +2 +1%jEDX+=_$[H\#Y9 .+F{1DonP+mkWntڽ>U[f=ugC'V҃,/> +I9tڕ0qvх>сPQ fV3 ++}L] "!5jEkOkC%iiAV۸o3dJ]zjhEʊCVӲ|$B@W.!Gdʖ>S6vJB}3"@h >PH yP/_jR6PA|S3[ӳ3,c0,pmkՑb^5Ih|@eCoE>?gwfW7; sl` ~ƅT]["1o ^3L1'hE5KlaH{s4xݧ O w.Y+n#V-D4 $$B%Q$|[B^ EXƛHv;j@*pf[$]ff! 7esFR1fFrMd_ Y/)d7q%2})F!dwovBw}~~K-5#)9ѢvU3䉇՗Sը:?v>8wf.$`"i{?nB %6Oz+,_ݠ0>z>7Jmn7B Y ~=0i{!+É4$e;-ztOw픜CLpWiDw6LByq_>L`u<:@J }fC>輑:afWM6$`W^BEf0 pro.g>ʫܘ/or}%rs7Nb TRg7cQn;j iON:~YK]9{hyr(@؇ȜjqS#}p7q#%^LNɮ+n)IqKNl'+`e4hU 5ؚI(Ns/CIP]6`^TnA';4\G{9DL;ת^@B\]q1:M^NEZ5A]c|vR^ްE-B, s]Wlv_ -Ҙs WB. scKƆrFuNMV_&{Wn!%5;U21xjm;I  A7S0e`0rѪ8xaV5:/k׊f'\]ޤ + kX_Q N)'Y5YKRoUY_05h 'ݯ[AfUɞ4RـSCҔ@KW?&K*=]0nzj#z|!70]eƴԒd͎vݍ8vG֡vy1Q4.g9.$a+_KT^k#PDk +AMhm0Z1| b@wW!'nAn}>;:۟NkZ̃J O=j0|k\ٜwvheK=c۠8UՁx<%ԳEn cѕ^+2_^a!Drvq4蟵|AВ y%2Pi<5b])+e?F"If _+F XYZzFFW"0\hd1yݯ]RſR:;*q٩,M$~;1Hv_ų8oLČÜzԮ_3^β>n0r2[jӧ9nNDt~4w%tb5B#*s2y>w'K \O-Ab) +Sl1Js;.m(;p3T>,{%?'yew o$4_aP_K00 r̬?ݕu9 % bEUލrO|#0*ȡT=7C×Us.yJ=IF<,7uQU@W9qVnDUudMާ Þ~&nx:W7(mD}^d:V"ts,Di#V%H|/r9X\c~!&~j0;uН;.s.kF~ޗʮ*]1!\}2=nr$ +s=>-6;F4y~A!qXB< @d$c.aG7wK]F,hjE.ӡuyվ:d-Tw}}>ߕkp߻\Tܒ:;ScB?ϤdyDm3yQѢ3cҴ8aTWq.Kt5|>n٘ҞxLh9W/6b')|7\dvD 'NP];(b`.ti'i}0ZN")жPR/iYFԃW + =u,_3Gb"qY"^)2͊BĝKwJ$T؎ǭSO󧉢u Z|IƦ8~Nn2^`ʄ7#`rm+g\1{!N`f[7ʗO VF0ef}7?SIDrVDR:JȲwd=!2(\"r7c }$ģPPg1ߕx*[Smy#qDMb8lڒqޘ<jn(I%ԬS~l.)RSb*׸2ADoMrddD"Ӕӻڨ aQݕNs(h7)~\'V|uŔk-g%w;ꤑbgvvnn<̚zP;L..{T'/2>g>  l.g\5,6(ҦN9D3⼙p'0p_E=dPOE +PNtpQئU<$zu}^qcp` }k.&Tho.ϻĽ_(~C!/뮃6fy쪜z&um~׶&.׌Z)zY`G  gAB#1S5GiD~{&OL%/D+gX ohYۣ.Uu<5,ҪF+σ>^cG`%mx>ptm2pևު Fϗc/e}2K{ώV/Sǝc-UP!]r#WCm/=BJN5׽p~9Y$G,42h1mMt }Tgo[=Bʾu8% $:PhJcp75jmU{`2i1S[/1 S[u2IsnӶoWjتKkޕh0uX[x&nDf>ծ*nr ߎXG;N0'>gc?c`ӻULB3 fQ_iuE5P=ѭMIpC(nkoa݂w6CB fb_Xo*>} ĄF+]셱܄벍]Ӑ-1n*#[|2 Nȯ4V\E;fb7u3] HZ4W;MLc#)uŠӻ ,~8L:ϼIE$NG.[5"jnB[W1B*b2/>!B^D VCS<:<em8T "j3-܀pfevPYYw9_B-,e+[.q2cGd)Q.Saahҍl*N:~ʒPHqZJt-)E-g_>.N'|)U  +q$3qfSr5l8Wr-/< 1qޝF}p9|?{ #̒$9k<J29<Fb^WK"P+=ljL΃o8\̍myoDɃ:\ٚ5a/VfMChgNM$dvi1H m:CPc98P!SeHʬB;(G.,T-;$Cj 'JvKpކ HEц@/xx0o$YD 8Y #kyu| _N̓:H$8v5| 9ayhgwlLq%%ʦeBVBwy,K܆hR2!ԇh5Ԙ~O[H۰~`Ür!fy</,>!4M>!-52r@._&}'^j`v"Qyws"dQkEQo0aT''( $lyEAsWoK($8e ?~8͇܏3CJMb S[u'{p)SQpդ.8 +5- 4/.|pUJ<;Ji\6srj%;UX7ݮ@PRD |y +d~>)R19S +#$;83nd-WU?Hɬj}󨉆.@"n1Mt0;䘵, ɪx=#ie'a +/'A!.`, ^mO'Ч=MS2Ի3GPzu'qB2Y& -f՗mߐpWCX.#cY78sX*;|B2SB3&ղ)DYfJY +=\Ͷ|O)ƃ&ǂqMj1I}IIVq{tT|3w} /w'#t4vۑƏ.|gU%*mI/77eFC+Osl|"72oƯPf0=u c +Tng 9g$6;;ؿi~vZ6)ܸD&o- bc||qGnl3>47衜0n2˧T PiZ@z2wt1,Y\ش'z4tH㍺6)R)ʕa;ue,>i2JIw~=Mwyf?oIfwĹ+QyaY"mMQW/_r + ʴKNe/WN870wm[ +OWYDŖ]tKC8Z xآ ;vIggڐ6`ǺcèΈ)m|xlV5=G>](X=anȣFroMheW_YEHaUZ&{QȌ'=KE^~|9#}rwT`b}̪/'ԧZuf`7dohsdg/,NC21#WB2|΢qpd8Miχ?qҬ)-?a+b +_ؼJy8wٔ ~Eє:?ZUBݴ'ynqcvYy+n[W7>]pO@eAtX2l0C}ɖe3ƾ2%DUr#YR>k~?# J@%1L ߭m#t3m-y +NzPIĖ>juJ&^SPfǗ0 ]BdtDmÃ>&# AyQ'o7'6O˥[am.o ߓa'mПR9k^,IyovSt=5@}*"ߧ3 %5XZM£WmJ&'$r8X$N)yyu9E I: ( ePf䮾Hoxn([h9'C +S.|% +aΓz=%!v`~;ĩ&."nhϳCgNm76x[fU|z|s|o࢜sk=M;C#$[7WHkNCIߟ.tjIK +8*SZδ"N(8)JWF]T1-Lvt gu\t*3a\e1 0ju Ry:U=yWonkakj NgԾ?{&uRUj}Rt}YLley"#'JJ0z0$J +b{F~+=>d|7Dm yTQ⩱1:9h6 O S#S(/i\ C&ADut/k2&Q5|2]Y/ ^' ic>G:LA-LVIt~\ 2xW5UvUPwdAn&Ӆ0x@y:_7,TLe(i¼Tivk!bpP@ßQ]WuM -^ۈިynG'_ ZI4 vPgȳ ٦q8)r֨+p)KC~qK[Kn]G.)o8++S!+1c0 +hjՄařq |sawvX2إgR{ SSu0,^+QvW\3tNP@~:lizHq({@xOBnk9YJϓ@-y o3S>/ϯ~:LrY+Qve&+IA)?L.)x)Gnr)r5xUڣϵCėPA}$( `5ՇEP't[vDf w̳[7NܛV)VFe\JD4#=okh~h jO+n!&]g0ULu@j'򸹭WK[&"vSִOa٪ˊnm,IfD"CiMCF}u"ɏ~%;Tz֩lU- G%F!2!:R4֛Ɵ'{ДdjA9e/6#%c ?>\{x8*9Sj  Ko:>X:];]':̲ع&4d)H$HIJEcb(İŀ躢 0`B%ClB*שWus{2ɪԬNTfaXAFj+G?2qv{ gQN} }amGvJXٔs?/\9@"!C{妮Ξs!o_,r"'vK~^On +GDS8XY k֐׺^)aS=xiI$j"#4b@>8y s %TP6mRB/Z%jSj+%{wn9ʿrIU?۝/7li_9yBأiJ36ltWss}hq@VvS6k^~2Ll۸e`{崦1ߐjp+;U*|5/}Mo3dJ^̔):xB֣<,1>DOV0;AHлBX>$Hh$#TT;瘴!-7,-h.s*!j4!EAӦ7XuJِ7c?mG}oH!>oX|Wϧ^@oEJ,?j"!PYvKZtS +>"xOVNexz8UK9ae_݆L9_]uU*) rƞy< vG*} +q_\; +S^:{-1[eOsoߣ}@f zRC# [ȶmjsm m6Pهú9zpFhPEhcBȂ $"T;M`ID B%,1^ldڒ-V8zJ4K1M MP-= d9ck4yvTfD/i(+PxᏰ˞dLD?׸-%\/sgf_M ;1!Hb b% Y77݆E{jƢor5`I^tbjx mc(Ak<8Lvp3WߍZO^Mz-HFV?81H %ҕ JФڤEW|1)8Vqf+tk']B{]am!+]OTVx.*_0W^2sqp$ +a )+!1]wl.,B+SXd0[H8C5x+-UhI}~#r6 _2K`4Sc=DJhW$@=?\O2R5]yŃ8aZ[GJ>sqYcNm2'Z ]ºSxcwn8< 6ū}vQGx_| &m +ܲu<[Ekm͠U7Ѡ/yU?1o>Bm9B; t#ЧVЛ$,A%z%ڃ\^)(BCV(C7wg?]t*JIi3!a)p^x}%\zn3O4zxJڍseO%rXpoq9TTđbnNp"^7@{?:Wc}5ɏ|cwK48n$*Dupgу5S\Q|O7_923rq*,SU$MeD~PPa 04`J/gvpnOPWe ?/ӻH!46 +֋g(c]F!4]n/1BSol?sqxRG8'NLn ,to!g.U^2#SQ?2+""Q'kHtp=[ܟ {/c#<"xX.i/ G}DMptHG:T~ ȁm)6ষSI7#l؛X ~vB#V(|/"^?KskqPt\ )e-7T4R*#eF@ +/^= ^=Lpij +转\)9*d}*<{j/y";Lf"C取5ABO!7~{f \nK$4y9BURp&E^{&R'Pp/0Jj2mhAG9˚^O9{p1 + +uq\;%pPJWjVc7SϪa,F8}nGlUA|w +W +wDkRT:'͑\`~tO\j}._$6" +GIifK3 +=LnC6:B~RN0Q՟: &.՝9qX +w/8k6$.%%?Y/TǓQH t{C <nTiK5 1!xJ +֠7T;j89Z^W#P6UF~ndZi(ZԦ^!~HWUL,gp2Hq)K<"Z5 ^&й6,;@=N%íM@)ץc'D&M?tSXeB3A?ŀOFnAI<΍Y9Ͼ1:⡡'5n7/%ܫ|8k%4]fP]^>tI$mPMn&$Ww3J\DPr,px8h>_| >zal|>G>28Zz;n HELLw2J3|H!EIkt-xJ+]qAADJj0'Fˣy^柹8; ]55 /3H$-] +6,aH̜_㱗;c_s1)xxi3wq\ xT)ЖIGH2pAM v3\AR(i_w$ѢI ƢY4n}R:{*"%"'3E./mzX?r ‹;֣oqN (HƼI=%#]KNI,KNgOd <$'H#J'fH:ʾ%O=vHD8ae7FߗW˞%242_ʐ20cQe22U]C +SU 7akV"[\Fنwٳ5-HIiS$$U*.WY9g=| xRoC?ӿ "yV.vn}rEOLA2%Tt<+nq /#D (C>}a̼1A\X\VA)Kn.g5?Il%v=:*#No\ć}e}JzV{k rvy 0$#,BDP<<ߤ}kcwB\\XZ{ʏ|[Sڄ or7A[mFI{υL$+~ygDgo0ό2vǜOYї~hsPL=?3Lj/mü% 辑W׽[u&ԦiyAFT~w3^ bfǰ$x|O[d3X[% 0ee fHږ V1$ ~ \/ o|-7/ YAmBp~ɼU=Y|0CrTp8f&ey }$wqwԗq -c[.Y6}p:}N~/fL=GI9V=FTCtTWX[YΘ̭ģsG驮ݼ]LM)/4>P,~yx#qg9EqiS!-뤚ڄ]nZԚX -h6=wAKG㳉$GyVQ*mzZ$s&ds3[>xY.Ͼ2<.BsKuL^lƝ#~iGzx[>=.fAr9"Ǧ(hu׺Jv,U=i倏i&#hy=-ĸN#J +'z\ qoͱ0+e_WɔĂ4{fL{ ۗ1ݱj^eҫ{W.4Us$f~sx-5M! ,6u%,哆Dt~8f)ʉlE98ֲ/\ +hMMF!շuuq;2]$#5<3Km߼9 +ˤO$.>ԍN"S_ogt^7jNr [Tro#JYs2/]5+n'jV +f=F_ +[ww˼k"jCGkSIoG^c{IQ^ͮSVU. P!& "P/%R}Ղ8S B%OPKQ +iiJcyD% M"ІXM$ P% _.>zb B`){S@4SJr #IVuAH :+!*QWazj4hcѿ?B$QK=Š0UNsY0ͻr}'Z" +R=1}7_P0q5Ch{Pu h\x"T /Qoi0W:mx*jD7Snz^#pmLt$M-hOJ[u0Z7EzM=X%D#>t55VmWڥpm!nh={FA'Y}2bJ{q^A}˙.H/l߄kl +6z`W>DS9sYrc7fZ_$w/kɄ:ȣ=l$LsC[HgAߜ45eotrͫқ+ &N6<N/d?:)H vbܑ&Y^KT WT]J 4_'ԙqQs ku.Ydy1}=5GKV ) =IbH S;L͵0{|S3K3ahƔNE,pe]zr6#lpz'.N}d `-H̿ndMb)5Ji>ک2 `8 )<7D;胢'E#H4jnHXL ᔂf1H +޶SeŸ+`tS50|$}NKgrlhb].Qk^|>uֳ3$ ƅ= }ovI;u|!~%)+&Qf\D1eDgoB v4b@Q O hb)//S\">`лsِ5Z{)rb 2ōo)f&8a[1[,jD؞!YY/z/zp]Ypȡz&̣:0˅ponM ITP G:8bպV)Z` Z8cRֺ1b,j<fхdo^m s[E~!niPKM1"gk0O#'n¦+CImU~M~`/uL >`Oϙg2YA@y,}bS,5qb&3鞝p0n͐SVR+j;X7Ns.wW/EvK{s|os{rLDXҞ=1,A[:7Rqu?-(Dȥa'skU ~ +ܪKԂkg z*Ж@4pu1pzLp0\更xí D27>gPle#ُ1g~ɕYx1k?" 9?7m5qF"vz tgcu,cW kL)깾Zʉ!f"aB|hxRpЄntXS,|Y!]+0C;nD?U$z'mJ&gn/7om]>XxzWȏ?LRѪ[Ť4]e62+dBdArc3?CWa?U|d85gf?4G>M01k<]&5M>e#tA5 +G.p>]C=D>;g)0ņڄxTjy%NJD+}bn 6t*9_Kt!K'=<30L>)y܅[֕h}b[;+UZ| +l*,>!J(c-Or2tUÝg;բյP+ݜ}Q#{BGE0*`22{lt ]nQ{C{0BoP^|%NVi;;0/30@r¬@G8#!L?7P&XheT&@' |QM:dNvy(}#cC5σ_SA-}|F}ASL1T)|@Eg$Sը~\'&S1[E/-cWC4\$6yF]RA@T():J%q7ct}q 3YLo55RL@}V_#LqX +t2z.E6F/>;8Έ+#UBz1AA@bU!B:߬/KS+Ay 5͖ kDL7FgD<~!d5<+q^aȟx!/ +>v'`Wc<8$f7b*tP5?nU(*PmZG}C)* +~0uS~Hg()1U!qGZ=$40qG#t*>EgosP /5lFl$5H؟F(jݥ:"ӿnK[ےt(NmQ%v 7|w%xS@\Ġ Ku[cwUHOG%@x.j<2/WZݪYjݗbg՚ؒwt(=.7~o * F=JVbBsXDPwbCsB5<3G4r(6՚`wMX!VjW!zkηtjuбƦH +~_}]9){~ݠiw/NKiyp^-Z"IL^jg#>ufpdZ%M<6 )3 ǝ k8nCx//^s7_IqFQp1@ƽE`ՏNдv +w0^adpy[!gf43hw^vn w'R 7I#Z?~sLI$9+eH$wR)B"wUVxx*h|n+ @ ?&x盛T:ا;)|Y,?E5H`_:ܔP9M:%ᬡ Ub ʄ^fL6I1޽eҌV{ ~)4m}bo?( {HQx>i|"f: _N~R#AJ)T '7SbOʙ~G*.$ehqpqwĻx +>t`n ftCW>]w'+Et:|ՑtK|Vgynm硎)L]>zQi#ZI-4 D~dڻ_5p:jzwZo@z^!Hu]Bv8P5>~xY|LF\7WUھFؿ߿mrMxE}O B{>["/V {EuKj?\+"1ͯB"%|WQ/4zg+^:{j,ûیȘo6XT3%!ВݜN&ݮ"g=WYUjC4U!IǵnZlu D0+}n[&1 ]ҭ/"oujG]jɽ⡾Q`[pf΂5Mn&vj-Ņ=6'\3Gυ̋Cug"4逾J9IJ8ŏqdD˂,`cY4dƄ #xUFD=u.+K'd8yNiŔG3euDnr_i):" zwF$N]Wld}XOZ6lͅGwnwz+ヒOaqwƴEjtpLPWw%-WhTY7 +K,i?O.amͲL 0|/+ÅydnfA7k +8!kz%,˨"89 ˊ| fӼi} env[S[!O_tlOq5Gqoȥië;| +U뽏l+'yK9dIꦊMuᑚS$Dhu^WGsh>/\y +>YAg r{+x*eV*j˕44T<ߥ)13,-c SvB8ط <fpC98"dռ&v݄gßbOFKb{F}8)%^8oǕlw2",wscg# 2:Ⱦ42l%Bl-T"}CyxMNiw彄a:U|mk'HWTw:' I{8smcÜu xwv?P+L \$Χ K:v+࠯ Seq,dѭ+˫FsCi_bA1u2}^M#H4or}MBqi[xA w=CoOSU >tb2clUMe5ނ!yyX^90g]PTLݰ_{H. <`8L#$#>šB[Od KEP,簲Pk` wPQ]s%Έ)o! NN[ljFyy "~/AүUrI6~cWHMs=D ]auriyLɤZl>8+o;6ENVkҋZ ̐[%B˵; h$.Jv6u]&Į1%@KIhֽ{j/^DEQ+e ܯ/?ۭX!c CPU\KBC٥'ҍM&īg3fa‘glgZ>©e~H hps~sVwQTH녨arHήÔ-'epw?2-#Kt`(p#ve4..(qn׫ ^E0¬K0t_T +!6+g,Q>Uܷ$xN)59Gtrb&3{ L<ӟ/I"ϳ!&lz.Z*_/)gӝČ Fqb~_Z` mObxA %*{nE&[ئ/pEa֋dKNmrRߡ~]kFoVաL$/xvV!lqˉUc%[QEt +epԏziBp 53%O$MX,?,IS3gjwK:R.Q5LwY>tLF ZwK>:DA$61aKzS\ɅPy +|S=f3%6i L86 pKл7/) +mC_hmho }4" 0И)OUDc_긍zyYBphE%.6#{bPު|.AT,Qa٠:fu}J*1ePށם\w?m)l-ɹ$3B 2f P%cQG%$a-~l'V]Z+тC=E[ч=>mk wP:քmuwie[wHaU*;w;)D=hUr'zh~ge>X'bwSl%Xi'M\4Ģbyp<-ɁMB;gtT b_)X?HjЏ` @Vl&A޼ΧlsuGEq;30a ²K H/."V%b![l1%v[tHMRA)"\9?͜3;wnYwD/$SX^VQ|[π5e^i䷐K˴>"rږSQp5/wݕ4{NJ~a<"26]&4K*vW>l/˟O|a1"frݼǏ6ޏE#Z!ϻ:P 2jNn$M꽑.;9 xU+{/$P]9PFP +}${FD!ܹgK=;_* Nusޡ#.?.ʖrZV6anA.+ 6As^Rryڂ&#}g6ǾV\m,/v_кB#0}\iʼnU?q<ɩL,Axco8ess(EF;!TiD7B(9(ۅٵ47^\ >JH/J˄F SBHJ/'SQugF 3&aNcY~OV֟֔p"[ ,]0NEeոwk94_osMoiDR)q,y^H*w5zW8~_gvєSq=Ȗ[K}S ~7~PȜPY'e%6ŨS&L$d*/k̻-UUi&է8Uwj^l3qޖ=\ ! H!਴I2k&qWЫ,Uy][~yMK"W{XԪeBSVrKJ+BslbS*uv@ΠI[ _K0FNh=0NTϠ5ѫw t +`W"tucC'/4 '5 Yx(eIR珟9D{Uz ђNUxusUKnO~/[Do #N_Gnh|WYiK)خ{{%\]_uP h\YJ{da)` d7gZ~Ո=ejh 0{x1țlH MyN[Ѵ|qYT&%DשcZ_Bڮ-&o\ {i˧PGo>R̤@I)y!cTu.O&Mu(EvI'<R8#P3'!GkRcI~ON6Qo@L$>LO9-G|+:F + ĵh2?:e0,GTd/3C"AEpRSG)?@8TBnh=ySΑtS 'QXWtDl唬Bp[G 5ss 䊕s&dPEA + !L[ſR?@ZS +p0BpD/UԝE}!-yaU@.@ $@EE:JUQ\бBhV`FQkUuEAQE XQT7'>%/s=thc +RT61&=@' g'vU{nDɨQCӈp}?=1c']p&~tnǫ!yq4WObnSB.(Sۻq&J݊mDp+t yz(zz!bJEnHA뭾5.p\4k1kAY2#ŸbSF<_3->_rC̗brQ\o.F5&F-] ~f|kdca^Aܔl"fS)duF/xddikW3rWX[~H/1 FtKD;S:D6>'oi;5HHG'?ٗbV<%"bGg҉БUD?"P,BecK+A%?q.MsIc1iS=cz +?Ā<q߾mnO;nFgO[a *ܰۥy+6UIi T"i*Pxy Ό:'1wW;"S[6Sح&;ڥ;4vqLgI0IRR L/A-%U :޸"qG%wŞy +ƍŔt7xSn\x>T>*dHlNRUD]R[Ԝ#pD%M-ZY\2]9*fg +pqa/?tdi9~ex>8+/ IMGG#P9`q }:BxwFq틨Q@]G OBb +)nPp e;FUDщl[H^{{[(5(kHP`JgxxR36+paM_@M%jlnGz Kl5<}jSN,P E/x)j<䇳*?d$kpćl&`&WRЦ|8)1[+hk@B~:w7vop4xSo'gۃADZ-F氶䌁r\1T|\j{Je/8AĔGY ̻.]b JS lz=5wxW8F֥%uj臦.i~@Q.-3֤*sլ7P#}PSW*6EV^aУм Α<i#eXv KpOaDZPëjXZ # +|B:u_"J}ܗl,j,}~LumiG<gfuV8)K|YWà7=ccz|yeލG n>4tMhꙥ^bM!E>RHXMp2lI9>GzPGp8OƸm?<8 z;D(h&NxH;ZŇU)y›@=T +ۙi +dzsuPĞO +G3o6cVY 3\w** sfvu51 zk Rп.pm5}Yun=a"n'?#om9;YW/Fᝣs*лӟУ};gDG$9 #Lb|khg4x,\YT.Nڋwq?M4$.I얈wh)[iwd͘{E^ʁ4n2rm83N"h̠$$ e'014YkߪQYMɖc;RTǛ)YϹx羞W5gK>a&VE@:[G&&J,mn}^9OlܷZFL~gZo/|kmL~e^"K\s.ߤ8sx+n&x} s7i{slsKo4A7֖ Fnl_sq=$y6@P)5#oqM${ qЋԡA/j\*I*V2%a[Y`@dqFLaٍ #&pfUfҊ\wdCYErǻy*j3Wζ]|Ӧ)nURyϡ#4K7kegIu]CD~TzC&k݈'OU?$@UA&@QJ\+jlZ5zX>g߼K9P<.3apwI Tmô +f-|"22Uf, +Od>Ǯ'F4|*T9vPOTGiTf v}jk|P/RWdvwhc6|tqm8pcfkf/cE\IKHDKڥ +R<=hNE2 3-a#,&, Aʗ-lq}q𔣰Hz݇ +p $ePk=htMlt O-/)\oS]Xg;67f jjecH>ػYz^x/C6&Mw[Nl%9 ykщE/K +ȰMYԁ-=ˢZ~i| +llNOǀ<9J,ފGC\"('E4]؇ĉKÎ!;{W?$~ rd\15JP"/~&|x{Px)y{ٝHON_H:>LbI&1 +g;!VUP&s_v_Fqg \_Wdf&Q<SXN|䋥|7ICl50'd8Qy>\:<;;.qZ KM}+zYW9[:QmL +[buծ.ۃYUI+r9g_ WV)#:+!:b^[uR\{01T c|RlwMOPK6jCRm)9d>vܩdZLL/y84ot/>{)%*+R CqJ᏾O@T_Po$5Ӕ#io? lԚ>_`b}t욍 +<sê(3@s!Igf9K JmW>t9Gt ϻ=헴_[Ȓ+l줟uŎs"/v*'ZXU.>SȻ ~~L)L) 2* j&/ʻS4 +sxP/>ߌ\7A*EDdTDDe1RDLi +r̻Vkc4nm)m?n35]޸Gw2NLus܂%zNƌ{N(螒 =nry|xؿWA"+d"iYKZ]f3DaSӤHSXFn]P{Nfa 55XDv.r,dHY&d${T%DC9[ z^ +03ۉyaFjΩW08vWBCa[|g|!TFkʵcnQK4Kؽ2eRfX57MsƸ&e Tk4鲞EB䀯1:X.so!:f.[#Tst9!~nOdz&+ۺl~;wA^sXAޤlOcEfhb.t;juڊhv f870wO Xu 4 h^-/G/0X0TĨb@;x̥y;H[@'QYx@%1Taz͕ .y<[c6kҾInx=')A>Ih8F+4[iiF+4KB~͊ʦ,gEq5#| +ZцuwN^0 yB >|z|{4C U`Uz*FH݂D vT,߭coBxK.YN< ,g$qm?bM 4ԍ"w`IC2˚h_0WWYHd_k',Vd~8tT*bb%EɡDaJV8~%wqyL[3a1-G(fy$+Q C*bR*+?Qsɐ萫w<Q|{l 䮃r쓨opG6+/!Rۮ+n]lU͏`%3`+/0\eylgK̟itP w&}RtOH %qӬ 9JQ3Jp<[#jq{T`fӧU+5+ _K]g̋EIF |=+\%ɿ YM/lN;PӇ9{)ŨQ5O @z2r[!$XFYuaJ0jw<7YI +ٗLN}YE¢LƘ6X7T˻I=T{Eñ(<~9$UB*S(6olz,;(D#_=>e`*wKk,Vu8asTd0di ԓ| WHK"0w^rN{: +JG2z c=EtU#S_;i*M8?. +81O3-:[xM{qد~@;ֿBuIw$ߛ|ZJ'y3 ś]͆^ +nŜW+jzəwG%kɊPX:Mz.W +xBvq^ +6ٯxd^ZSς"[#(tǮC7_Tmnmi>C>|Gx~ۗ;=0]AǺV<Y=\i-{,;t$M},"X8>&#I="D7Iaƪp>-zD5M]cQ侬1k{UĽջ$8oK[XiurU[[uk\@ؗuj֠wGXխ-}ێ;P)7aP0{t0G@&1|G2b'.; g'\r= GZM!2H!UF_)H8X<}63nW{dd) >gi&FT vKR<&)%ML_C$9GaNNYTQ#/(+.ϴ +(#L8~ϹCn0 S0),B<>ZԂu@**R O@A-, + J CEAQ{ަ}:YY瞽5lJ{run ~u~w6K>fO;ߍڗG~gIBS Re>w$, Iح6rvWq3@AɖA}6wLZ :W<˒~tO!5)"EL~R@t[ ׹6Jq;! ^a쌣Ѭ>V0 3Mr `䃠>y+'Rԥ"\LQgfp E5^d#S84f4zMQma7=ī(X} _v5RTPP ч~~=jem~> +uSZҘ~l'rh@au|DR ,f":V*̗}22E~k-A;cL&R8uƆDlE6k&gjB2=y!u ZIH^6%KCknoB!/d``"!I;u@zҷzI _8P{xp:07$Hsp-(jȕB}RJ6oh)n +)+5V2ιxˤ_UEJ(3Pms7t!cdt !7c:p{gӠ-M+LohGBt'!i5{4{Wi!Ei8GTk]_FP= +Ba\{5h^9zx>;yᄠ>zVl÷Ft۵\C~7B=L\12h*.r $W+`bM*q!oLbpüLdB^1قN1Y aY)V`o{FB -E +.Q-!!URG7P6$/z +H^45QԡR͎MF(辌2+^Q!q A1[.ֈhwKM(ěpÑ5kF I5 -hAcϙ~-dP3]h LFH*xu Ff0`˿2-h}c+F}36 +3!ƗP̋BG`ôqJɘ/p{F&M![6~o=ayH.ɫ칡^6Q pןzؼ@XyqUzbUò9svE,ej`Hh}fE!2L+!V: leA3@)3}' ZBl +C<$;HF sD2G^i{9B2\~^uI ݩ#i5`H^;Ɠb`RZ8'7 OWdLJl6լm4񢡷7:5X@窣mo^ȅCqpV]QM[T2ߛBB)@ Aye҇ *XԹ*ZZW+*UG(-L"( m~kd%~g}.qH8(Ik8{i*y[5F015y4m񸔍wP3~e#cH-z[8b#dQI]oS{Ե¶b Dx_vSV$%r;-rd"nTz9hsڳ e {^)7~x*dIjq\ON*&tZ&ب^،6E Ms-oT[ri _ ں3͌k8ucg4ݟcEez pL(+qţ$p2(e񼟞N/TMf4$#ڄ0lۯ{SJBsdj ҴC}sS%K?PAiyT$*&6`pdr ,mӳޠ?]tr:~xEI; ٝxf W&s9aK_f*k4a( +rABDx)w",K>5_[.ӶGyVMrh:g`vlcfvXޘ*Mٔ@AZ}]<Pʧ*Dg8rHcoВXOƴ[$3)#YD&[NE~Wvk%"vu8,)}BCqϣhE:)tHx5.F&z%d` !旡Wce^xWRș*ҝ$jV.5\œ;js[bËXuQ0*$Ų]  ~?*'􌟼|Mpwq&475WY|x2;Ԫ\8wi'jv7+ʗ]2ښ_e7iuGfG|G`83}A}t33OM^Ü p=`菃 S>g$A"3^|\+lw9{~cW{ bx=WG绩(IZ* h(*TNjKy*!*Un{*GO.CњzEn{4Fb4k?1sIK!f08JC 5LV1( eBW`讀5)M-N"(BÁ $o}-rtQA6H!:a\~uL)fOOhXMJum7 +=Qy@Ϩ QLUyO譿0(e$zZs`Mw(5VwH=uJ4^WՑ̞(_ECm%!WGB.uG/,+BO|ιxzPCng촠pvI<8mxvVYѩ 'dcT =eE$-&fT|ijNlt\QOfO#bgGOdi'y=!]}Bg>-2r48\23$F٘\u; ֵ\{ি5/$ɶ޽v%QҢ91yr~4Go~IJg}1cEYQGSNV}Ŭġ7[2.`q'3"hrsl ^V1SYt,rЏvK{KN .X>5Tb9f`lYg5Mu>uGL +ʭe:O[G,Lz<1[+-wQkύZZ܃W_:v}T1̅ǏJ\`W'O!fI0Y3݉E 2Vqy3>%1̅2%ctDr`؃!+T9ʞuCw%NzUW}~␙Mt8>8|xVZ%[E)LP04 QL1":gBL6c%%L^*r8/RvJ5郾|=}ԌڭՒp_[:-6:2jU3Y 8V9oc h6b7R& .R;Da)*~D@y7 , j>?BuM}к7&|-ɛ~үV+9q3򻈙ԀLd 12[ŠUwAc=e]'_ӵ*W@S*WqEM)ޅJ)>f+s+lًui6=k l}nZ%ig).H^\=1p~OB!ZTT'7%d\"ʍ#-1!ʡNFDLzˡh|~*+Ný^? 3SG։ 8E;9O$nC>d|Kh/ 1r8nL5{OdZζOܔ}rfܤ!J^}_kŋXd'v[`yƇ7>TәQRGI91n~2sBO;\. m +6ʣ=@bXAf.qvG4 {9bB,`P^ Lyvm'[2.7%;Gٿ}΀\4fO,[1iI\A_$w&Zzmhی0}+^hpveW mfs;/)zi^aGGn9Z黈Sz+!bl Gstc _C4Ϸb3 ^5am(#Bi)%7E6P8% Ն1$у iRTCN>uYCJ +ލINpw)7Ud{G,G ,j2bT>އƔ",C?mrds1AEEMD{J"q6l}!OqC=*Wo)HjbxxcKݚhL=w_c0Au!`TU%wCﵔ$Zʴ Eg7ىrq}eHu$)9yMyyOxj>mdk|H"reEaga8ĊJNlJ9\HndQ̡tw_5`u 2SAtqÑӄؠ6v?~<] V&-1Cr+-1;̯0~v3澝7M_qA/ +)?{ +M+5PsUVk<;}czR ^>[XDsL7VdXR*WlKҾ_8_ڳHϳ(w4iv+ͳO18 ,4ۺ HYֿRK 7zq~݃T`t>mВ)dqskra2)ѳ'v]M([UzVȊD Bn0Q]y))L~$wC>u[Pk\Pm1f50ud߽,ulIoCNQX* Ee9dnSXB^D8M /wys{rih"(iJt?q%HsKW}S}s3\]}[F`3ځ9Ʌmb$Mӭ{ɅnZfwW;8Vﷺl:3_8+$Cu3 t 8G1 +ǝL/l0a}2 HVO>x6S-$/&7"(@v(3^UgNt9k*빷dSu68|$ojcOM/3|C$-S .)mzx!ڸ)51?tI9U&_U^%궅X2.&bwpj$3(qem&b2g G9uE]rzN-\ nC>a8j "^1 +rQ < B=)W@47KC CV'XLe)>{]ѣI”RqJjza}xYC|COqC]C?Q)^qZy\}5|J^\V!٬-f\#?bO.M3Qnڧsp|[?J?6? J[O0WNMrW24A`/?42c%lW~Zx>48yUDBV']qrTi)e%}w`غrV.+WtKMuJ- L43Jٻ~bA_u%2otTȕiM);Ui[$E`j|'+N 7Ѣ.YӆG6v@RIږ5780.Ka,uNCW*ʊ.B{n(@ΒC1Ͼ ^ t~.uQ2ł='ejIk5zSTQ3Fŭm4Qj((ꦽji?D-هE2j[^oX*?e5&p}G+}2J8#2/#A+q?Tl"B>D7bk?b\|.U,|'UbPwEdV UWmU1Xh2G_{ n&)̺U@f)ςDYT{5MvFZvn6RsY3lNZZzDFyn1ӿAtR`5*E_tW #E7f&)OUIHIĦ+О@㣹R>g E%0xrz]@dEǹ/mHˈ&;O {k4^}w~+*8!A poANHX3.aa=Pif5l"]+#R^H+q7r*FGI֒Vۙ+2䨱)M2}s:ORlNKĎ} bEWKJθ2sE~%೭iCw3K7I%sb͏R R,Y7R Bw'؟ \!E"M>8.gkAtk L$񛝠>aC爡.Ċ8e+`6,[O`DFX~JKJlJ jH؊=P`2p_pI#-m@TE=fQl)X"T!z$XvXD$VM'\&j8kwommJ[{kwE%Tu3N:PA4FFIr1PPJE7%H"ۮu~<9>zX}wY ۻ$$$TΉˌ ،JjT\x)џD=).!(HzTB88.^e7p$ǭ4{qխE߷FcY|3eNkAqqm7b<i4?bK<_9"7p^$1eZ#{\>=le񘞞U7uo ?@ M_`~? YJFG4[*ΙABpI)*g!PLCPѡf PЧ %Qģud*;*ˌq7ǝw+]9.7Bt +q;1ːwP#KQ lbn4BW^pi\ ;R/X,O,@N>e,46h>W!uȃQ:2r]4CJ#qAӥd!c.gIZͮDUUh +cG|I+b,X**17p=h1:R'|z/L> ʯ>ǁ8 5$ŝNfo3.rw}ַwV +߽hr/Ez{d_<*1Ucq]`R{ ?3 {Cbs^V]aOmI8cxP#t3RLyxo[ǼOCJT/d+a{b aedhw&%Gk"G]4rr + d9;Y, ^I ֙wLACC :ۡn4萒c"u 䎭 +׫ z{?}j +_zl +g7]_+Ls)FsŘ7tx <_Da^v-o, CC;ǯO҄ +eZ'T0 Ì"M\14*5!^qK-`Vܻ-MKܪ3*h`IXl>_3>Yӈ8;K:َsեNJGYZȭGZk¿X.2etpr.ޘ,Kfι.Wv1۾f^tс9092g +|s86k5A(䁢|Q5oL&4f/<tD -/f hl *u/pwE6 znMtsjb}3M.kB`F~:]ɘY:Ľ1HN32.R)* +K^sj*]"2pI+߀e̓7:f{}]%R`,`7pQZP{?}bf0nq cE!TI"D%*nTH]lܪ)#=_X{Y5}G <`|@aT!pѤD柈tQ}URMU[AαwafҾ-h&IO/YH`n욾靐= {slc-vN&;[_~%Vͯpo˹ + 37z? h`0J]NLjpr6^ 'Ǹ{T r ̄ħQj^S*>;7jLp$lE}ߛtrwx.] 2xʘ{C,b%cBbqсZHX[ ϒɪ/d;'2!"\j72jrlJRlRZ; v](p4)Im/׭Ss9ҙF6t|R~rE#'82s -&xɾ)JStҒr3gX5Ke(ʛl&|[tP+m6ѿvooOSa&j>ٿ}R@9D1lwr0P*x cW(;>蒆Qf&pΏ??\])P􀞠z ÞWa-)DKj +ep~8Vr1gׄs}&XlhͰfg1-_S^xGONDӣ^(Sbxo붧; _~Ϡ3wG?ٟעgFV5<~ùBa(;47[ 塱=w c3.(ꎘ y!]61ϛ;N_,})SK;z.j(JhΒ+ EpV{Y:Nbm 7tںonMM 2ݻKY4:Jbq+^Z +an!՗ϙojRnɱn2G>ڤ0$uILuYSDf[G\CW_}N.^N/T$CY/S"t e$O}9+rKފ8;ޭ_!w݇ &-\]uIfh&UQ*0|1L.xANRYT>f5-ԁϓ3|<ķ'UH}p-ᅟv`f2`KNv>jIgHlɩ[:jjpg5m-+괞yeIK@:qWntb"Da~W/:+@{~t7?nn +_'c@]]ca*j}r AƑ/~H8j29 ;+'f%Rf/egbie%MrH!iwjUd!-wCϋjݱX;I? =c'lEdcţ6 jrFJ-qKnK +N7"ZJ1n]#nB]!r+ͅmNdfKkףL"zsɌj`‘ @&蘠Ä:7I!ASZp$2\Cncz 5}F +/W y&߮@v|Q2mk/EuOJkWZ6Z+vsWP]x67_R͑sn@Scéq6S35xnq̃o!TR.st ,.Eg(AFsS\ 3I |!p[?$n`,ZrEIT|8 #D"Hp,:}G> c$o^gWWkvXM-+ys6E !eᎤwTiB*qWbsQ6L&. U:,mr̨2R5 J +NiW2>=\e]I;ANзc{(́Z2#1lo#q=0_ǚ98CQT&hDUSŎ^y:]XQ)TkކY.p(>?3t˜0A caXnȜ Rl鵝d0FD/58m6NTvKEZSd}9/+&ڣ=MkX;$ m]^ٸZx Wg9x00{弙MVc9\lz>5fI}+AQG[* ,AfIVtmUtOTPJs,V*ɬ=XL[L?KuadVHZ*12,C +eOib8*[ޅ5w.&&;-F[?ʡsli[3=~3 8_iϡsGdrAl&ƎS~ů2Ug|Rv J$9kiIB~+/; eL +K +e n矖cLH)0^o02 f `%gwdV˩HL&fllҨ{UtyrBP9AOFXg}dv9[=lv,}̉gflTY?HZpMa8Rü\#- WǚSq $o#FBtBSdf]t0 qqq*b]aF _=~{1({ga|̖&3}_HHU|֚m#`׉jV7@^CM>tD^]PVX~K WFAԊ͘?J@S>'`ōܲDoK4|Qw)9ݴx'!x{N/] @ >-wv˞2+%e!ĝ FVbE謸1'?l #O kW^924=TmhTrWecvʛlߵ:<(iܝgCgnMoun`A20xv8V :t͜x5ޟ^;Aȥ*֜LQzaPJ]5L=W'+.)t>gXVHe^[#-|e 0?x̒ìʽߔmh{'[Ph|A֑m2iL=HA>cEb|6R I|<Fxf'yo[}1Lv6hM>}Jh^טZS*Vu~NLďm͒ưu^)ll!/mZQ_V&4{I1ᎍjԽZ[>z.eaU\i8nUir1c>y6B˦*(b >2JŋL{q.BeXZ +Os{WQ +9$ լtt/-7 +3d{⟦ߔH|CӐ'8 ~veH:]Ơn>_P 3'V +T#ysGDOP#"wc:JdxeGlHUȐa )Dk~v=ݞb{!jpAhٽ#ҘbSZֶ\ʫ3ɖŃgLqosU78qlx^۰,C-WUU ޮE]?z/xȯ/EE(m+%x f:L!Q?~莅Th! Wi?Z?@vd)ng/P8).HU{׫q>||_Z?K|0(c3uOfXQLee<$Yn>]@S8ya,X'(:&Q6wZUu0WkPm)X4gʬF7I7#fw-zt/z~wnQʵe٥(HGyjkrQK~̭N4<ڔΥ('l㉕l*BY++&2{!dVg#u{=5 IHa#r.e/bw)wzkV3Z_:#s#.UecM?&= +.2}#ٱg~Qkp\_kxkV#Fi~-OFx1wƅb޽6Zpj'J#m$v)-z̏Q-{m鮒Rj\iaH:KjA7|]Wzqk9dЏdEFEy!#%:m V cSK)dMҋf|܃s/(fz5^|H +{i T^ +(*~> +p&>ϰ:F|.6ʙuL1ɘRXY⸽TYTy"!ʠMuY޴֌ପiFz**Q+dlϰW2C!ֶO.q-Ǧk6XK8Su @e%Y +N"!D- $G,aP@u~x[xڢ{RtX"LbcܪSQJp4}Ά3|+i;NHg3zގtKvJ<)DVTZEd.o875=/#g0}B֏ߔvy">34=0`Ϗ&RwȡcXZXYaF^M~ȳ_ȳ[lx,xe{gS_a>WXx+T_5|[Fږx/P}e;+=Zo+^`v}/}ʧԓM TpgL> ٭̔R,v-s()K;9#KG6vͱ:+{̘"HxO\NVLv92<`eԀ lvD?u8}n_ŭ;UUboΖqeS GT_xy]~ +*_}kFo,*٢GD}:R9scJ_'6`M/ZQ*!t"[m(Vv ߁gONMD:"}]D=g7;[wls"h +MJ$Vp̄J 71`l跓 +OvffrLJʋ{_D8D'c׳%p;HCY.IC-He%`u:c%ܷ#u(DrJ&+?F]Z 5%!dOm$fQbc%ɧkɲ_lwp ?n'~gi\M@t|6& ՗`>oEtX5xf86&dntzɹsހղ9񐜻\k,S\^muDeQp=$ =,H4Gqvt/[N\b[QY5~:ʼa(=Չz}줡4t/7:>a v?cZkJ{spzC(:}o.~z1W-F=C(rt["8ό|† R=CGmG$sYG ytWr\ :ui" lنZ\p7Ŧ{ZrV h97RxWӎ7%v +toIiO:_iU弗Ļ񄠰;^6EbKles &Bx4! ʺ-hzi8 =k0;XGsw~I3J;yg+9:&q@u\pt9'+7 +UKs/y8x) 3С&o6WٺKwp f3m(+ e*Mˊij"H7h5Z:6? #GTv +QclcpRqY]G9^.y.ΎKT m9`p5G"H~N}#\<\'eLH '%/x7O^:Xyq108 y&6L÷&jz2B?Vypϖ%'aVAgA谏g*Q3zʇzѝb_d ?8AVNtwFm.q|H;}Uq' _7WP{П)`PBP/TJrCOLO2R(6GHG/vW.LÚ2SX`e31@u3 bcJXwGJYܗ +^,4||LEgv^ze_ 2Mx%wRLH3wj? ?BcS ɳJ2XM;Ke}ˎÉHWvNE[&7ܦ QF2*.Zޯ^Bm{(E2xO8NfV;8=J caM9*X[d{;@ ,xCq<ϐm̌ƚ3f[c_RcIsٲT';/${ J,PoIЂzS纎8u~}էbc<7x jdjՀa}&ŒSCx.Of@Kň +z5Vv a%= )ZdZsHC$Jfӧ$ma Ѐ5WJ}B}Qz앫w<qC_(1oJnV!~ì ϛf_v +^=%l5# 9s/B]a ?6ٱ*ߞV" .H.MK{n,YUaBRz{bb˧D~ s^eHq\(/DHDHcפxMaOvNAb}Qv{Z;`%=nEH>Ҹp.U.mљSֹsW%->NWlh_\l, a'c0y$`PN2',6>'f/?i0t/_}ψx/V]X5v&SuBb7&7eܡ6?"`M Vj1vvDhMqh-74~Ϸҹ}Zi}1H;~Hn^uo*!lf /D'RqNOg:e8{M@twjPi]q`sEq9aVQP>;s޹"ݣ:y^Z/VO2UO|U){RVKW>m;B/zh#12M6D/$[8t"CM;ox*r"Em%7aXiNr`e6Y"Xd"F@ wB,8tnFH䡱 ` +EXy7.57 Xt*.# ;><A;Dpuc{GIR^[*do y4cWuGj +\]hdh_Fm7'e6y㵰uk,ݶ5޶w^d׸/>,{]]OurV &e nʟdA$0eeJd?$Q0,BMʏr^.'ˠ$3t\Evg>KLƅB#dotM<|/BЭĻH 5[!  3 _IE(gh!JiNeXkT8qoZQٻ=s07aqc)RF {Y*W%!!6\oN%?ܶ3C +G<|6iҍRy,$юbX +6a0,L5=#ql6|Me_/:k,-}te!Y@b  Ac\8~6, H*$kpj*ɚ=Me يNIuR:*ӑOG_|~wX9W%,~I0AT'HKA>N%Q︨AI\ɠ?=5N<|QpKk:si=_aT`cr<vdb.n䲯e߆/ջ-:hkh7m&ٍ5Mbew,{PZs3|'>Z]+6)+ϑp*(ytw2y~f yd6Hf@L  u +gP_NմM)gJ-]IoO8{R +\UbsKu'=#4xiehwXIO3^ߙo˺hM_'ҍ[mgٝ_>tZ2;AvƷ}il_>^@~5~*:g +Mß*-};zW;_Пt^ǒ +Yc?%  ;MQعs\〛z."0xR\7#²ie*{fUOWdmughwڏ$F,۪&֥X$X]5p2 +4*aizFvQY%O^k:Q +W-n'yB!;Xwa0?İ0S'Ɯ\t( * @/%C@Le?5}/sC{i {o Lʼ!~r8JA|RбP1-&n>{*<䖡yַg(?VrD0Ժ&l/Vo?[&30GgIod$($b>.7֘h,g +"1'Qq jki_7`BHu%^t@!PaFGR}1J0^ +Y"͇ QM~tWI,&)]# eIIhk_ "KM]]E F4Ee eION|uݓS +VrY(`Aq|Rf. O=yCO<= Y["ꣿ)t~3?oh-0|mG S5<<3s~޽k=y~ϳΉi1PT«q2od%3'i ^fOU<˱ʑGZNtJl>|W|]l @H\\^ֽNS=Z7N{2v/_og|s(#`f)ZDQFjZ^^ed,.X&ro_`|FT[8|D +EIBIbAE4g˒+ 0ao^4^eW ++fE`TJ7N)B1SigԈl>>!I lSV4~|woI#BSV&e2(g<#TsӘf3t?um;X2GO-HARbB\FCP5$[.c*v + o] W&I5;rH|;N(yBM%;)_ ƱQ~IV̕t,g(5E? +>ƢTDg&緈t pRbmi&2T޷3 ݿW %K 7-8C1ݸp:t\#yeXwUڴ_ȣs03k?lS{{u?mֿrsI(eZrUrM{rIJ[\z2jMϨz(Lk}(fadJb>]7t>+ˏ˄;d'|? N#ÐX<&z;~/,LT!eemCi8`eWKL *L q_|ܵn ~R3mPN;R4oGzu. i]'m3s"7큍(XTm\NڋI)˛[k3)R +0y߻fWzZd!B6z,jq{?:UuJeY]MZMtj<+hmK~ְ[)ڮnӺ@w=n]DqGMV(B[g5T__[OI;J.)ɯ~' ໿̚/7\Uuym?,=V<"0}dSN6]H~Es5.^PP4GΙ Quj8WZP lV| w"y}7pTx(q' 8#{PدYߏS<4nr>4?ar5VwZ5ÇCj~6iesH!0Pga3>ԥN% B?5( @ZIF%F4םFI4Z9 rd&4JMNX-cD +JKTAi 3Po~E'_1Fb4uDቲ Ū:/6*50+- g<~4&fT?vs~+X/xwD > 곏eAyO<ǛXssltYۧD*[^wx\x)c7H&=J%^?C+IPJV' s䪲sI䦲zIPg"K$FQM*5oy}?m?|4ı8K675m4B$P<(\fqynICZ6;G .wrP'q'& .*Y8YowxΩo2sѠ@o'ԵwP :#.^ՉjBb9(響UG8JoOa=U/P_YԉݨڇSϪԎ W9l1RZدPb?s7eȘmg(6tYmՏ;N^<(cxṵ ,rFĀ"(PŊѠCx yCDy(H$})("QD9DQnvuʪקj~g{~06aNֵ89?<1f=y= +Ay,s tJe.>J[ž~c?H{C4qq$]LApӢѢ)~AAT:"-UŃ{U>H7g"T %brכ-*2N@nn03g:(,YɸMAPz><C#`\&?N:Mn[!MNP1WPAx;D'u")O) s}Ɏ=¬ I$F{Qީ!ƀY7G-3\˖u#M(Z mP8K畡x(uVGlaq?v%b$W)Գ$fT 0 +U/}4bkRt2w&LAR^d혉ޫPJruw{(&Ĕ`]!ߖu7ZRISp;;~;.8=%LЅz83:9B+?T;]KA›-hYz'2H8fL5n鿞DX2ߡSԎ6ȼ[^(A9xH.(F9"oA "X?sIO`& CmXu҆Xϧ̓ - SJnӉydܡX7ZjO'oLk9Rf47XdS٣3`"àfw cˆDz6_dey@4.V?;╠/&HiK}u:Z!Lԡ|t9tBW/k+Z<"Nl }[+RXLxjP&-a,rM0Dny[Hv9̜#']b,mZH;>&mZTxu¸:Bmk tFJJ6 $EH>m33uA!::F ?p/^5zA(tCձSuỴvn TdqǺ#/WK{ySŻ=zۣ~â GgB&fyw%cˬ,yVyYpbTlqSOl )f{dRn>-#$w Dw)̡( MF4ʈ,@:r=*wcfe0]u\;;m)fS% WEvXYV}(-lg(æ?7' +Wlkm\lKa42X?۽I0QrY-fqcMӻƹm{'ijj8r~خ9oz%(xMT=.(g a]j*w;>1SaŪ0 _"m?Ȕ+wvU"ƙ}yTv)Ah˜MdɗU- M01(cbR ne\NHËVeenfسA;X5p*-t1D\  <NxNs.jln/0طƇ^ C?dB5PsFM_Aox+4sCob[AACRacqGT3xmӼj/IǖfGs{ͽhCeg.E.MlpfJ|ffoF4d"ጎvUYMc-e1Pj)S{iG={/TEr I`!BHP# ]zbI" +uh:R1GtP)b˝#ꌞ{p_}kw O/Uߴp'])g,%s k_y8Gy۳ fZ@mrJ̓GgFi6ld|3-[~ӄv81՞+Jc t1ηW늚:-:giM^֡t0Tzt̑eY]e|ݮCZGIyH0x>_H OVy +\]z^)(F*Z'30>W|Thش|=r]*RoxH54~Q1k%lqM"[ߤ2'FV`* .0 +[1LKvF0/f;fWō|dUL]|N"\d|qc܀aϒO@y>&,,0u1)!Nf~BRE hdL .`͈4`= 0#poעP^o( +0zB}F슣HD 1usR?]/-80gդ!U*sdiuNfwl!Mg\)uO,6tjsV}'5]~¦̥&/yG©!Y n`Y3}gQ3cdZ.×B+FP)mk4 o>=po*D<6\sg%kJUG+ Klx7j:*[~ VG31 .?.[7q3ɏ&Z<9ED,0,)z2DYdcXT܈$DFaӆ,kcT2@>xbav֖u|.ݬG G/ũ4!Ck[c6eo]S59ɨR+_gN$VTq$BZ!ŸQHwc{ >CB O;P.L+z#=ߺ(݅>&jxvDQ^(E͟gOƚ e'ʷ{۸J1-TU3YZa&FlCū<ի1ʓq%e)7.:ʬɻԍWvp\]~Kv뵶 =]p}12AF!|E;MŞ֔oxJ0a~r HmΗDp&)&P>?%) yf4Iu q-> 2@r4@ECR#Q.=&PW~KaiwDNnn=>&a}mMcJIH41&/ϣfX??X^DxLg'^`|L-l)-ۆZwЇ6"wq|,CSPׁJTXa(, "z\!w3=5ǎ_mEh1ێ0N˦N=Ȋ'<8)#=ie-(cUsC+GӂtRԪBw^Qu;$X3`:bc%~Slh|:w{x5ϔd>vu&"Va9f4w\K~0aپop%&}21lK(. Áf32ӘntG&p{I3M$$4dYk|Bq=.\eB}: +s%]QMf[~顄QEAA8XRDMĀ$")R"(Dmx:ʘykyko{>ЎOjkQ]F&.3 +9*Yx35c<"MYKkLݣ_\eiX`vʩD|]EHLasM^eIly$rbsZ[ ;5#@0D&Il!-/r3м^6i ܴ8LApMRQ`w[KW\<[?ay:1WXP*Tyو`luY'-ڣ-Sl2YOڲSkriHqc)1mIXY$-1~khYetpcYΗxAovR)yeJ^bE4a5o@ }Ɇ)zn}$_Gg%B?[i@mvpiCfH7U"2~/d@Aa,Ueya 첋}ۙeB}] l5XY'gD%X2F8d|u3:܆EɚbHO72e)U.3_SQrv TtH GykM]db'^߄1?/o >`dG˥ +Ο6VN2`!/8C_'\@7[h/"U#NyӯѐL 0gTk-<[ 5kL. *̺-뚙HA+7StcWǴ9:̕BEj ZJ}uJX,0K%~dBfj'tp!P4O[opuf_5hYTD `}\1]9+u .$5 LL/d0u25 JVD3R}oXQinr+ HcO2ĒZJQI}3ZXɀ1RxGbxfvGT+CEOyrD"A9Raeg.c,_U9a +$7D1 +_Q4!#grH1s"y`"f({qB?ݲm0uM{ ܾW̒pzLĠJKqA3VYY(Qe'ܠFvz͚mS공Ԛ/5+ԬoUHڄϩ#Jҍ}TżZ(*$ZV_vQx΍-Jx\YB}o_4].Ѱk)^VжBhTU 0,r^\8YpT!5WQ·)trlgjr5>vK^u^ :LB#;4V$ͨ6RЉnJV{J)m+Mg<,/h!bcK[[%Bi QO1| V_5sܪt'yMɪn -[^ q>8*)9`'y t3D:/#?J0sT).=SWu Չz)[qzESi )n# +W] dW.m@J,uS׮M'Ȇܮ!b9E 0!L&cN{Ip=[k`6w_܋s .*mA C'nmZl +Ǘu-G9د(  +o\+ ch?LVNA9AJe 7UM`.D oEwyFUu-q|}5BA% +P ƅbA4T FK-(`EQ ~n+}?Y2g?l|6N2b|t~ ?%RsYթcϏ1Wvsԧ;4Bt1^Z9}X3d'|^gН֒3~޼g_n~˚ +K"54-Trz$/.=*ZE%3'q+geY Ljj_S˸*bǡS}Ob52^3OYGCM%fݤˌYˈ _6k3/- .uegV~<~|ùlT{";9 {!Md{3STv1-*qYrwRғHE; ̩gPIX?qr?p<p2??ߏ!'5)SQ ,s=X%z +Ŭ5g;d yВ79O,F=SR!mlx?\ct+rn*bҲM9}9וWrWz_X_I_I'rv\1NVIU^e`wUA>ſft/2^/4sc@+|;B6gfKe& #g M/t#|q(Ҡ*nqN[\&U'{{)w5tUsWjn~͈*ץZןs4|uٴA$EC=?`ZI6?<϶ub!>师"YQ,Z(?'% Sm`Eh=0d;i;K@UtЗP(huV5tr4RAg)]z\i39Q3U=5:Mr]_J h10 m(3"c#鄞uﰛtjϱ/X-yQ&ퟞB(6-A?њG6R-fg+VW#b>{66oWeQN&%`n}m9?0fMCplo6GЬSaHS#@dIWqI$x3%I!&|ɟG_YZ--p5f赬 0x-W'<)]QFMl 2C:spGj~!C$@{& +9q3|M:4rkKc~Ao ֑S_$+_{n6PR+;U+X6spE* +1mnL"6AL Zp}[*B=x ͤ^R8IeKC16}n^ș`Xu]q~#AG+x(n[އiZW-5`y +@I2/ZՌ˔'X92 vz +Ps4x= H *G.tn:Du7L43~n>m!ԛ9؎;T^H&G &4 |` {(k2 x:Q$֍b&y\\ö!?$]Ⱦ-IN9 OZ(Z_8/b +PlDJxb!d2%Go+{"ez!*S9n;]1ӝ'A_^^etظ0 KRA`av@u/˨U𧻼3S?1ϙ; ž,0[mRwnRU;jc0 Fo2,Rs\hP$|m!I#{l$ᇞX?IF`)9OVʻ)rSj#1H2(Q'"R|.Bsd 6,7H .(ia#GccGM>stlٜnS>qI'CEaƆ +EFsUS!zwS˽:J6I>ƒأՊpbTJxQa0'\$-xIp~I &( Dګ찢J߃4^J4"[#y|x̰!%ϿCMíb8{&to|Ɏ$+nU ޯ*@0<STgɎxqxZx(Tu*UYX.VPl_Eό]U@4 _-_O2uN-:rHr@]ZeUb,ʤ[Xʐ2m$i07␍SSg`uKPE!#HZC&!8xoCDȉ^5- +6e:cۆW +-pO~y,8{`QƽSn'In= ;6)]ak`F +dל,ܸ1tƼ!Yю,jJX8Uo1,(6cT2k6:%;c-PLsпkoOzhh1C 䟼2m$_[rC4⼑c,?+ ۓ@$B w*B "]#D"EpRE, ʯ3((#"~ b8sw:{RA-bYo}jywFj1S3p,ߦHtw&%|ly)f<]}v`f1)/$ .]̏?0ZыQGx|l&#p7FS E=bZp@SB5nD|%pȥ^_^;ɶZz00d!(ePdV`MAwbM ˲52Ah܂TjV]9b­>ڛuǨK]intt6uؿP;jMܷ8O\6Kr`e]?xzeJ ْGmI/VZb-dV#ӊ2LŰ 4_WLx'>rDt^iEی-=.RЬh>А/"(*Je#sIE@iG'm])}I<᰸/F?݇)M6'&'肖kb4Ө> SO{]1s6eeB]tnދJg6@OEtAq?=N+#NŰH {V yd/U%g S 7 1 y=CwJ4H &C ٮ$ \ Zp$`~]?y4.ę Ym̑.mQyMe҂TT?j^:OrO4ۇ+(=3E׾kR۫w%Ne؇zlqչ fC.G5Fv+ =Gkʬׅ4G5HF'j A?u0`]>fƮ<61BF ?i=JJ{I~\)@nvkre!L Hw*!?q7&<{mWaCICfl\MBx 33=ʇzυ1RݗBu 4/:Sߴh#_zNS _ 2U;+se]6cN1tZr[r[(Q.{WE?K\K`TGƶkWFy{>r9_qDz)9dđI0~=i˦Hu{!T-dUDxF!KzpC89n%#Q%iHrٔ4Jv~#_ty,1Ҡ%Fq1˭DzP7ԛ b[Ңņ<?lđ;~g<Jy`@УM}b8i /g +: b!>ab/ 8s| f~@R~)2{S 8 ϛKIlvT܁b>!UOG+q7d*KTAܮh,f{>i@|U +f{K-=$i\W8x2^Jf0A܁TxVWMę+nz3?=Iټn(g,>#d?a;Z1\zgˡuB>v˰xshV#[ImÛRr EᐐRrv2$愇H8]vT򇵖/J +&yqʓsEҼM3`XNKיfSQY=kr=16a45 (8s-ʈZaoڤz$<ۙU^ ˑ_ߑΌYۛu;erwto ;sU/8[N_=]+c)F962rk# $*2@I2CXT $v ֎87 # 'NP:*YZtS=2]dW[-ZMԼTb,C*JyI j!Dbl?#BY&`#Y]sgK˧V:e9 +3:DYb)i/1!7!?f=7Gz Jߜsf(JPĬ$a5Y !l0 P҆ҋTA)ubX&}9_y|QdNpȭ93BOq?Ta[7 +I$8Mvbj̢\DoVz;˥nk[=b}OoiH1&5`gi4{۰HVpHȔ2 +ɃIcR4tKˋ45bh(ڸwdPp[CGplٳY+N)GC)!|S#]Jxf!ϛ"? A҉7EiBH&׌Kґ"R郯ED[Dd8& ,MV}`(FY7g,7z?Ju7̚#|gsJ|Ĵ^ -Gce8.Kߔ<[ZLNYe ̔{E|o,acwDen}bG0X2KR£1^J>[x|,!2S疽 b"v:>}SKrNDH4D9&ʽ6<r:i +Wsu]-l#X +4IfZ\}Hg`$cYQtgͼv{ז+-1e~ҡn.Nŗs}UEBǍspR5.\ψK%eMEN?HΌ}`u~f5{jZ`Y#8w䭧F< 9W _q@=<^p\uE˲w_\UF]x#VfW@AR=% T=U4a sLSI9`˕l^EdI~]88 +1o4y{n|yҚsyi~ɔjXL^&OKR(7?$!Xݨ9ِC1nibZ,.MQogCl3}I%ڔ_y6u\V8KT\ N*p_~ٕUκ p1Ԓ.B܇Bt^c]*p;R1hӓ}%?0?ؖ8g*Hřڤ"Yai["qLL@6[Dgn> +1ԎaZQf=w%`sig̪nP ||o4*Gs~Gj?‰@{`!n G[%S35 9v ]uKtjz+VP)W@b]DĐ7 7`GKڽ~GW3WwX#.u_@,/BG-+pџ_7 zLt!q^Ý?#-y<6#5ؽTT,WiM ŸU83[Ù|*I*kV50N^bhZX,z*Wco ב 1.ԸSDNDN>⁧~]#A:\׏%#>q(}pc>ns}&XH0[C^v wvAA}cjwtΏb?֙ù̀a}m2E0ݵ#yZLP;ϫo b<ohL?$mhy2+r}ϐ3sP^AQ_k?}@cCTЋ(`l W#!F` Ln,bAHQ:.vH 3N~zfv翻y{ /*ˎy }v{=Wg|_ur'^s=~ԡn ́&|`Y3x8̒+*l&tx۝8Iz>LUᎁFU-pul9մsDRKYWoZI+_ƶ$a}mIr?^~ ˞֎u;Yy =mVӠd:P_3\N6 3Q#[EGF=NjXR?N2;pQ8?xs-dS\xO$ͮwxIgq/< d}b4OJ'm^4ɖF@+'dMëUgIh(9W9Bcf0I]#/j15/B'#U +§^RW} bl9-&[L.kg {p~Khᅦ5r=h?͗ǁ&tPr!UDAN@QOnz$b={j ^jJaM!B$>W9sn> r:nZu0:b[JZ;2SV 1|GC0f?8F3sQ);K拏0;IlL˒.}8DŽx;yx8\Ο:p*K8W|~nx|!:MU[!!S=෿L=kLYTWs5 ZjLv_'SîHXNtpuy_/r퉶ۄ|NGv%-)nDi*Vs춁4İlC]$cA&c7r0 iچfcLt(vP#cG5!O3kCtQ\R_2B\~2 h.FН@ dwpDA i *yƃL\L_6^RUzj.Igt\$鼞|,u!^!:>YH0L37U9SϾ: YA mLͰZ<yNNb 315e)22+cVfd{Uɓ֨`N6s<IC=X<h{w?!,F tCZsZ% $},|{nJ/bW[c錬JГʪ2~Sj]h[ޗ + <>e(7d)uteQ1Ӟy:ޫCqZ`b.b7{=q8Ea$hü_˗&DU +{ $0NlRKtG,cyJglOM.6m N-ۆy&[Ck߯^ :qoÆ76a%וWњn8PNmѠ!0Hԡkd6[g[*|h+{$[N3t\&&;e1f3ƚ1ٷoQZ,%:!)erRJX#tBN%uR'J{޿>~~>0A31SH1(KT`Qv~=hDi%%ܦd~{UǢlqWloP?`Ln6$f G2'*ȼؽ٫d?~JL W%V}p[jr# g*0igO={94h6՟OTݠ~B;ώ5ǘ94W /I0H RRS.b$o9)vv1q =鎙AH\\>]pEx[v`KݤdQ/zhDr?3oދXSK}& W'U~ EIW)xf$paZӏ6doNaB.Ǫ{Aw>-df|{f {{1 Qۤ'ƃ]#VD$@  f4"^3u +tnie+0|X";O}RUr|wPοz^~A:uTA!SԆ$/cik9 e>/h q}Üb +"3 F#piqZ%qg,M|,r07hn  1O8 +3A򱵁X ϑb :S"_]GhVȖ}>I.j[enmd5{` O+rnǴV%λޝ-_R=GcFr^d`1?-aFɹ}t8 pO]g_# TەM{;7cdgИ&)$/MI?="9!C2GчqyQ!F=;r*ڈ1˛b1Gz-=mG-:1p'Y?SBu> y\i2 ! +W4)F_._"8QTY[hԪtV-乯^>Uʋb N%3YW92Wh]]I/e;c77w^hĻP&:7F\Nu`DQG ⸍67"-])28n93`3'U`ȷz]b(%@; G[3R0mY(&Cou\5^Tũɲ:+ި&TbHʍe)ْz:{}[,"syk!+hwq[T/a|_Tc_r~Ԣb|/en|`Rf"2f$DvbD0h3OFwAn9*84w?W$.t]v!k>s~4Qn7L+7||'jd}j9*۽p<`\kHhr ks:D}V +z;Q,{ܟ,}! x:ut`鹓f|L\J)s7 yzَQL[;tusÇ{ Ab{;#,L#O/>ާn:q+rp\x`3LڿyҠ4zs_BBBaIY$ )*M@ }C  *...#*`X8h v 2jש*z;=oȶGeԻRq܅,ѕ")% +61g|E -'4!xPBz ֚%\>[NC3%1qGiotEHzS &W{&*fGrh+<>5hi^c|G<8lE5dt⩛886̲rrA{ +{M)C]VGhNf)~k>&oֹ}w.#,;I$::͜Xḓ˃.Q{DbWE:C9ޜ6?=7NHT/@D 'j*.KB`1)=PK-gAR݈=JK тv-izgLLuoQc cj3%rYIkꚨe'l}wś,{wmbY~glDǺWQ=~׮׳-YZ0bs1Hw\\nP ҟhܺM>cy"?,! + ğ9 }ҽ)<ftsPf^[v @^qD~gJ::v:^p!;u8x,k^-w@FʊyT[~KDsGh8u1@l;N*5&YUUmoqK^~Mx1بǽ}L{3X>]ɇ6"q!u2 +rؔy[ *x ϕ}y<@\2^;h;<, NJ`'E AQxzʢ7ůq=ŏt9xEȁ_/.A+F.;(sPIsyY!Fwlng-<ἉA^@nΚք>߈*K]cH;a[֩Yja?ǭPR)_QYi@)ڋLU~_Dd GҠ1+F$ 4~ϲ$ "98)rwQŢ(1#giO;~*~I~e;YV? +Js.L<}*+В&8F +%$}53}8})k|ӰɺJb{lWKU"EsNx 23a +E1J)= 脨W/ eBԯ}u/j"1uh0j9vM'l$.{7/Wh)yoQO0tZG8mk*͵ֺ[-]/fOȦ4n>s>H&7N|Gv w>%[j4H}*s7RdaΪN8O؋f)JUP5hר`>bʑ؛#KW`aMX)X9f047'5^@˹Kº}z jƇbTV{Iֻ~QCN-Szɩ tR+Lυ4ˇwQuG8<8:C& >=pS?j,:I-ۖ̆/w@PkW9$E21L/DvE5<"͛wt6qڂ0;=0ks7*qzXNW&que_J^ߝp2q(Q:/N yZD1qۤs8 cSm"c'"S-tɺl#/hq Ίg\ڼƺSMz/hk7aVmF'v+)o -etNEF>EL|hUq̽Ы8&yWeoXG?Jһꁉ0HGlju!-K֥?Anme=6*8;"o3 +?pE{YkGgu) "RyREnq^u{ǯ#vE^sKp1`)"gy(Z:xX(+1 9k[_~s~7=mrmk[]Av9G޷bq{+.7rcCoU0*ND:+zhvoU"Α_Yk*gqv I-0'-p#C<a!06T=o#|wƹbcXKx{r0_ +_U1!*k&mF7[i#)謶4ӭѿ|#E}|NZ +Qm89kgm ^ kh z$ Oyw7t~XV?Pfо[sar40CV n*Z٠H#)Z{7hnu+/lyUǵ<$<-ڬ5#֙.|hWS(6M|yyKvG=d=<>AgQw >UgXI5m2ŒͪI2W\]}~K36 +QkЏeyW-|dԤG~eHۜҢЯX|ZLg4t:-cxOExncTΪWzX>jj+5w֫1f)}XZօ¶jxh: 6udxdz1yخ~To(I_pTR??y?K_ɡ#;͘e#ObY/z4l*TШ\'-QjSÃ՛EeM*^{EkOJ]}ۑǑPg([ TѠިךFΥ.K5a$,|6ƈaњRO5rЙ0V.q) rk171.A$Wh.øΟ<:KNz/:ԫڊa*kZ_)/󠦲,}YHHH"EjmmQ{T 4 *FJ eQVETQ7ǩʪ)kr{~'Z<O>M(lZr +˕TdkfԗGms;/mx%ZߖG'@7a?}$C/u +?嶺BvCzC!KѲ">r툦Gc; s=m#ECVma?o?Hp='`'<ђxϿdtnSx?pժWo5Pϵ8%g(Gdkgle ){,GWjCtD%pd4U )F^@gQZ3#OOTyZ? ݭA~=JC/+@~=EC~-s|AA/]2Wgc Y/"XU{Xx  { q4  YXX=}"Wü-9eC={xWE"x\KM[ݰo9&/ ,ZIJEh!Dxy,t5:[Ð~48, .ad3gSuj:n#iY0[FWQ{kdg3)صJ7p]Wz&gĘ#vj#&?w =!Qߞ~d{1z]QTeyhr@Ɖ-nn-xziTΙ=%hO(Mc`b += #IEILs:,Y*L|iPl`x_xBX^&̍r549ϠE{\1g68%M>]92h'8,;R}8Ȳc}<-ZbOΠJc6X)-5y}Z8ȡBU0eb}wNkU 䮦*PT&_9W>\-0Ag, ҦYOߩ,1)^Œ;pIEJϫMmmEKg;4/>5(MI5R)7]:MN% 7g;:mEA-xa.,N% tla}.́9<{rZp{ I fsU&1!:(ԓ6 {jC,Er6M S'KċEI٨=+ˮkrLqU 2N.0Z^ly^ ?2w Z:tderˁ +ُ9 +[,:Pnju1`L[Tc7L/}NϷnF3lЍ^Х FzѼ-$I#_`c;XfE%[+ewܟ[&:̪pm\P}xg33hO4r,c aǴZ!rHR֛TUҫ]JVWIu5s]sXP2Tt eQ:WsXTs]#26)p\wƬU-D油mG%֦^.2iqJh0>e2%0(30 Xt4Rhfz }nٰ}Hu$TV0f+gW"megO@xҷ&zl'O]9`B`߾t9 N ['S ~kPFntK@hP |xiJJis-:L b bX:eSfv~t"]lkCqvu'Ck7?_d|dzq7S]oԩ9]W5Vnu;pNNtykzp.&;s3#0/.A|wV%@;/+j}+ yKv$@!]] ב`w`$OYi| fY4>/9Eq>];#bH*k,p0EAèρ ln>`k/ +-ۆ9FVtwlBi4cVMWJtu3l+,r\Yb)J\]I0؞*mLLC-iz.n]U3+1H]CO ?$unU`mE!h~ٞlTk4TGCVp vF@ {|̳d&e**f g>dd!udGF b(ofYˇyc>"wRQ;{f6e_U=}hpEJ +FC{/F-C_m5ϙGD׫[Io E3g]Z>mᤚ&D:tbr#+huYH\T4IP]7S4f Ux׀& ~7i_$%by\)ޘ?!ޭdCZIID%Hߙ܁ۥ+p~_#Af#uB% ~T  \Ik WS䧰[)'viXJ[WE:3z aVa*;]F[R+℃ƪJg\"5)Eu;WLzN%% =?* q"1/o_(5G}[.u^XN4%?  ?$ kd CSAg08_x.Hs|,f+תIX*}rO3BB;$|SP*~&G딢4*l{tuUul93Q=PTDXX#Dl +*\WKWt('41 ز}}ywΝ;g^_Nġ}jhvC_w{w'^Ma}K>:b_] f_3={@kPkwP&j{C}~I<~(+st9bIdvRdejYFh$D78sx֦$PxvdQx>Q@^[}Șh=T$I}tOK5$A6Iq%Ҳp?Ϋ bŞ* w\}&jޡ? +ATy 'NPʁ.\G8Ocu9E+$P7Ŀ1`UL=p~L| `vtBhډPɣoaMkwr +?daYP +nFc:Ix:)ƚDZ39żlKD: ?-IWR$dl+!1+B;7a]ڤz:e<y,{{.r;}^~u"`8#YJ +_<U~,yx,dWN8S3}ªWƄh+Z Iv>K%O.z=Hf=##x^̏P{_(g(YR9@ e)?5OG5cRD'KQCYyZRdh ޱE+woޱ^):eE%NW\ʟ bn8v}sJzK'p\/~qimJ3J4ak~~- qFd2 qfoe0e_N=;\.}_ iuyJʁN%s<^ +=a =i]L/0C1EuO)nQ՛+-=6tZ4}L8~:%oz7f}=M#dbi6ۭ.u+%2pkQIfC]6c f+SX!&Le" +sTHIu +ǑWZqak{` ;wG}O!Ke\?-r jO +ͻyeWǞ2YLC# + +t%NW3`)j:KTl4˳2::n6_z]}Hd[6TBEa>'Dm=}_(bHMނJ{ ȟ_=)ʵ御+ r(ժ6!+\ν(К5b3/oZ4?ԆԶԃ}"dmY,[Ǫ +T/6HvO}p?cTƏV3qD…Kx)ɍ??9ŋў]\/ss˕iv^Gjs*j΢BQPRU+ b;Zъ:*up\ꂈZ( "(la$! .uC1;̙Ηu2^9wVυ!l&@haK. +.X@33d;m{ +{Cnq)uĒ,6E=Jw >%^\deԊ{K'3ڠB=zn@+6׽'o'$wpo$V>l>e!G,2/]u6 +wEM[r +VvѸ[0b 'O?p&6I &$[UwӃdTC!{=gNmd+8 ~d'Dv?Q6/#f?z8p u9u 733:,YHb oiБ5y.֘:rDԂv$*;kj!5}N}e+H̓Lh=6ؒ~Яr ^a.*IńM~^ڴР}U 6R3iشi lF>PN!OIaK~EN{_Fz~ǭ+UpBB٪ƭYض{<(^ot'x`;]CK-uvq0 hllȓ˔ Rr3ASK$-䘢RS~e++x-|;s9{y.TT+=,{!_he9TK#@'Jo ~|JCU~4: ߊږM3j=Qi4U k\Sڄ5{Ư|Ђ3G>~G>Ӆ܀sPz1uPʋm}DBe~d/PѤBi~̹F,LD&ҩov,BSc͇t|9(@⫡?J|ȲzEXb 8k݌[ލf4oሇ1A(著UCڥ]v.4S5kX+fsLj̬b!/HO3및\yِOʋhVyr$$rT{Y-[&c+Fj56~c\O@(R߿̓MŸa4'툣X[&jy@_KٱTg{v@>d_> \W u3sS!GKLȇ$)D[:9)6VCJ}7xA3m(ݱɓ%EO\=~y +Z:en%Oem2:.97-}x3nsSV%vkr_Atc k!?EWe[~誘PvN$َxs04Iʀc, tAn#t5 @@"gmH/^kAq;Q㙀;ł?aӗ7zRz#걹}2T*#-W +Ck&[mܷl7GZOD$6+O#jr:g$r?j ~Z[aQ>72r93W[y+ 2]D`*9^WF(oLWS!oeIpA|y2Eb`ru\ &tk']Xݨ·J3|tG_E|B.'xưNǽlDك^K[ew[|`X*> %Āg_8%r|085H|Y5R2`*(p&MyeW k`)EN`Q1\UgqQ Sw8zE=:E6t˨f! +S)PWvƙrѧvڸPgޱ:j=bBC-ڔ>)6e{i̵'w=h`Oɱ4aeC>9qù C?>k9|M qײ3RQ(Ԫ qe֛ +}f cZMG:IL-Ð`\xCI^qjAܐF_691;1pAA65ۅnǾښϏGȡlcRl k,_9.x(633fƬf ƾ ӌulcBvieod/h#)*PT|E(G9ޤxU:)uh:ey{޿~w_Ԭz԰qb?QwZŠa`syO.bpap. L0O=/Tc½ד"c~-SSSK~s8E;t }:㔎MC_Ij2M)Ky^ܕܩV2`J~C6'JEw~vj|;n +-c5w]j뒧}opl=H1UhF|KꟑJ U?G:゙'gyt zcM+Lh`5'{>]M8$TǵQ&b.ϕ:{OmcYPFJ|.V9U@/:Z{/Ö(+h;Y@t%ܸڹbb*XfX|}l$O,̙$N+t6e ` ]@:,2ņt Ǘ7Cpw]9=y ǭIC\/$wb||Uے%53}<'8TKh;Q;M :BA2x${+ m轻Wtfl-5י6Iڌ-T#"ϒ^θީ*?&9.3VV'lcWԛe"fP_˧O֛R0Տ<廵UfhTX;,r6b;Kk076Z'sԬ'>}VAV^>] Pu-R@͠(zlBѝ3^gT s=Yj¼/W 啦#n-s,5"8MƜNk쏏4޳"v)vx[2Jl"7wӯ_Ó5(]SoXE8~gxǥljٔ(vۙ \<9CPmi(VnXgcr8|2H|e>^'{E^A(̑2Ww_LIrZyNWZvOP5lKY1F_b.!l1"{Oh͡Vi=%xzOP<$ʶjIBO9p44dޖ F d1Mt !3x EZBKJ*0? ArQoS?ލ)Pț'S(䓆#L +レn䰪h*ȿ  |@* +!~T*L^9OfmG^{RL('6K vhyu~럳G E [^;6sʜ`艰֐,fYDdl6Cu6fNI98yĩMV&a#h?_M l'=<i`wH 3QbH%y%lu"dHux笯A5W"Ap,0W^oy:܅]@cIWGprrnݰԖֺC 3ˎ1U\h@3Rxܸ|ҨYw+MB-k$Tm+#}w:e9fn0g0:N8.rp\/ʅzh'?P>=V)WƭF2؁6!y^CP  [cTscȵ1$B f\'N 9%q s$>HS nui"BaIux^想q$bXDOng}| ͋׸/bgχi kv[SvTP[i9H^,Kn<`⴪88 = hqJ5Y$ %w ktKFSCM{x KGjؖE`-OCLd#s !\8R?KD]cy @M +Sy\'+b]ūHE 6JPdDWgTT=s eMlX4F4 +bF, 0'20AzA`A)+"Jhy>#Ƃuk{̽ge[1l=ϰcj}`m|%C+ Jm'w Z>>xb۵3[LƛX\2mpjߙy MG]6i-NhMUH$pYitx謵 +~Pf\]AܵiB O)t2&lZDHa/ s] +G1W}C zB< + pg9:9bj;X:U`bs?BրoꟶqL%@*;J+rNX`,Q9]}dVYF'".Խx9EX81Hx^1f`CzYl(ևmm,{~7:GGu"Ooj Zz.ף(qnڈ4/|H5] V7cKkMژNbcgd;WjgEMMݮ54SHx8Oco i6_EY\|_h<3N$}8^@v?!Z9J&줃?a%~K %%rN9M5uM $ϐQKiOJ/5P9Q(_TE1oE},??T_.x|uH1íPZvB 0SZAt+?z|&d T.FI-!+<}cᤔ5Ŝ){BufP1ӳ'𙓹:iF?CwĞ'xW\YnGEG^ٺ`)欚&EYW(dlоQQ8=P]iCݲ{hpAC5/$wHʻN֧+/4E4?pwa7^\L$!Ļ1?i_-<Ű8ag %3zhTg +C؋+vh J;aUޕ?X՜8׃=]* )khDmy+ Vy^G}r>k;oyLبWT8‹؋g5✼A#J7"]S4 om=[[ç?xL8BOOȒТX5`2oX>%qrb74#hqupo&AJˍ] ++0o_se];^QQW}~ zպ/D,jdwq D+.jQ(' +hT\ 8"#8062 Ph%1nsxu|7}\oEOWʘr~[1%bEv +oԧL XԹݕPo:7\^Qs_rzg>to)^K冷Z8|y nὊ?|Τర\?e_Ҟ}鹓FwD\SM]O''%żFYƍ'9RVX)_Q3@3iw2 CjO_Jz'tngC>;z:|&;~BL=ހMq{ÚI 54+5wFP"C}(>j]3ï%s)kztb0xqta9[ h+o~=?|:[J=0BSIu#oWtCgeJ-rVp(~.x-V]Gś[ђ%kRf? )RɷWf*%yՎ֡M@R53DfbWeQ V󺍲X;#eI;-r0idG47,:0L{swtrLX{q34Aō(?uhD_? AC%5PE*: kr)6plΧPj^ܙwGUiJ-wf~rgF2]oZ-<$-N1w'sm\"zĖׯ;пFU@ 8 ]{#C_F? t%sUwiPO:@)?WEK;j3ɥz\zFn3;[؉ï7Mf08إ̡[ā +{*y,eÅAhj1k҇bv< k$ /[r"l;d|%mq2cҲw0OF1vwܭmg1ֆ;"k 7o^ayTi^}y**RWUE 9{?/Y>E~+^"2.uQ"rJlKD=s5x#jD57䜑yL"Pue0cIwgBb~=Z΃o-lDá#!6淲)9Uyɷ6H_~16-*;Ne ngK7ȋ +M_@~TxN8r쟈wĩ%8_FIMM(^y|)6 >*? (5M ?jpUcɏJ䙴oXhߌ͇ǽ.6nGKX#N:.M)0zjFȗ,7K#+{R[ɳtY7A1d}BWxl͸X]fS+ 6+X"_'nWoDܺn/L8—j![@<N#7gҌ* )ױ&f81ve#?I9ZI<؈<>2Ye$qU "h=Fozrl4^#Ȱ\an4~vQK&`7$rXϪ#|"V@lx2 *< x?Qw0kZt;Շ/'1F@OZ/2rȭ mj!h3rfI.`u+MU'NW;1^gS'>|I)'ךp̎C}$9c3G䐁\0J(~*uJgM&S?rT1GxeÁ5I%Pm  _<t+OBmC|׳.m0,kx]P#oSoh.gueW.-F-yϽ[N.=YrgaE'COs;h7`ݞ"Kµh$u$)B|MK'JÚ:ﻄU@YܥDK"I%!@$AJطPF\@pARGZ7}A<̯ܛ{4ߵS~0Y##{( Cq BqBYC_ȥ!^8paI+!-~ B_`C;M.]zOn/5\2xAK[6< [a2>oaۙݦ=;Y9׾mph8K߶y 8`ei9*L<Vf^?;8\;(׫Zy;ɥ-Fz-m~1r pDC|;ס*mKpB9|ވH~F\ }I؀w!)JOl Z +1!/r#6CRZ?uou0[p9'p]H蜘90qOL yXgUSf_cO iTGIG`ÙjF#|Á("s+O,1=oNOc"m0ga:)!61 + > .L#/Jv~^fz)L۔\fS~Yh;-YVV( %&dywFdvjCH|Sb.T'"T0Me*\d4& ~x=d]a1 S{:\KKlu)^ho*GDŌȌBozCKcT)ɯy3@YW2:05f?qNj-^38敖xm易h R퐂P%Xvң|)eۯxOАE~9=#Aswu +Y3`DԬ_Ҫnk?E2'A\>>0/?qGtMvj5O@a? UUbI?DXPH{U0?6 fMie 7a K?B{EIKZYi ƌ/_85۾瑴/IWy' }pzRxdMOp-`뚱6Ťu {k¾um ܀1NF^c&! +J^eNhHs+齟@徥=o|!lo=Eqߧ$VI\d^|@]\BJ142B|Wk\;ENр4Z<#|О +$0)~黁$WYLFސ^-e-ՙ >v3~pq͘nQYm;pAfA1?qW8SN@)e|\ByXJ +"䶹 y0TwT9ers`Ypn|% +j1ǥMiP.$R!cN.A21PPtJveM{J;%͈fp51}ZャHυ/"~s&3S YsXqVg J!ϓ_Ŀ6If>YHmCx%\U<|QT`KYK响O}rǟ}kv_ Xo.fY`3FDO ܀d< 4!8E B*~HTBUDT1Ӱϥ1'h˪V2~E; k"~7?f>)M̘^ȵ-L?{3+P_r{ -pk~ +8n`?e'-?`mb>cP2d'_5gaIH9(tS' L,NQgzhv +HC#4Vݘ{C/mlY9͊#nPߏh>ouH*{<`"[ g%Z)J>Iy]'QKiga<r#Gb)̷t fc[(|h`:(]GkR_LQ]o窶y5k)Irra_껙gw\v<ˏ^.{HrPoZ;9 $ہ ȧİK~z סӈx`[a|D8'-|E}gQ̥EvzyKn~ûwq\񟸊tC=$m@1=km t1 Eٞ8u ^2/-%ZY67r+%C܏} ]M#+O+:B+.p\u!t}!>[=s8ߋ{JE +wnǩ);sOOO{.uР۶:qAg.{A>Nfojv6 J wnq׏jDiEؿʈ6cRm7[i=~o&7!5RźJ>֩[ʿ~j̾+.*<';_ճP䈟m(kSR[F),Eig2MދNgq{/Z!֯%_} +SW,k$w iJ1xXոZ*#!~P>(|ׂWUx7w{:Rx_<݊E~x NAj?ZƆ={޼OjmVDZK/6Lj6bБٴe|u}#Vw? Oo= G}sM|ZAr~U-@}ӉV)$Vx[R, +jzPmk>Kq] ݣEV*2MO<,Ķ舙Z1˜ySXXg_mmCl1uikT|WXܼ /opYn-<;L +BiPZvic=" Qs "gj)][[ninJ iq<3i f$qD"jNMхB' Ci0yy=v{.JFlOiz'}/yuzW+';[ɶ/!dqļzhGAq/H/,c&^Re|iw5[lMF})x%egq:&2]f|YKGyhX]k3j*/ws]]ozLaj6SXy5HA~hN4b9+ab<Rӟ[^]bZIw*IBGk6!Ai57}b+pJŁ9F1w0ݿ?i.5·ҜMܸچiBvc2X+5 sn(Ӓ_±l:&U>EkRB2X+HqA8un _|ݧb؏NaǍ7brZ."X&"tZwm g:ـ1NR4U4 *[jxK|8>q6gNq"J:ȵTϫvwlZBg5{VR29[ž) y~^>|`7i(Aˍ$O= $"KI;qLd!ң KkR@_;r){,%vn^k7k‡0GMp梽ubJ=;oh<`|TvP^4~H/-}~n*ʅ.O̽pK ++ZcF'hO>3F۫PҞ<1o-ـfj''WsЇRR{ O";3)]dc2z^??7p+o鼧xF"|WU)g뿑%2%sc_Idpym*Dmܣr7s2@?3j#2&>'LRgQ0>xZæKcHBH /_U8 i4. s^Q@s+ x$8/vM]xjg28{z]6zrnC"p]*B_sK(tMu̪b?V?Rᖁ+_VvSB1<?KgU,QRG&i俌 +2rEj*X\gųT'Σ;k]m;:}׎GDkگ 1MߙZu{%3K㶕=Z{g_l/56jsґKe7tU%oWamCnc:[9j "Ğ7Ctmweta/Иiǩ߫M~㸠1G:<DiTw0$ QAB0D0@00$T*U-e9.V8֩uY)R[ZQTxQ/R6w?W#9{zgþUr9/̅,{tO3gg'42܋:~Q{XSFr=5di{) +ݚƹDcΫOM5b^.Ŗ}(:[v)ɲ4j0xZ)sÜqQnUNGf2w4&/z=+{2$jXò$܃%nr|,|MS%ɮr!Mj),ɗ\)bǔqxTsY)7Uވ$;͛ jy#f64zoglǬYWr?̡^i:p3hyB@ZD;QO`JFhJ6Ȝ|(-3NQ~EëCd$7kBH# +9!F.>m 1'QN&p7ģګ9GO:Fv@2oYuf ^dZ{f[Y[U;=BCw9sv|gv笣WYl[>}wD2ܩʵ;am!zx"Ġ _G>))3&A76$!?Kʊ0蠮+[\[ +cm0pJng"]%!eE20NI]\PEQ'G#ۡ=FMK$?wK#q1`kS@pF]:hv ͛9]”ljzvK,>azG(~^s#^wN,,hN+INF.T.IpѮTƑ:q;%h%3+4s>`nа3tz_n;#XF ғ"` J3#쫎K;. ޜ4g’aݡS|S;Oqox$ 0_οW s!L1%?Ka؟F &ߘNOJCt$Kl +/}9m|ӘޤdݱO+J"-W˛% ,,jTd765f;NV{ZWg+9hHڛLL+Iɹ+ICdȁ1Z~C+&&PaD&p`*v1')cKbC~W:bɰu"+e+:חUd跒@߫TfH"$ K#Kә$BAC+W5d|!gmV$ !rz>!r&|o[sg餝:ML'HƢa(rUmmlZާ:uP=P|A'xRğ?aLǜPڲ/EHѳ>O`BҐ@5Bm+75PoT.Cz4_f3EB*@owٳposeF{3I0_y:~kN{^;WߓKNC(%:`Hڡ +5mU; =+ +}' QQTD1܆| eGp= U_a\oϛlн#yY?GHBBb2_H7V&!82+ Oݬ|H֏ u0)ӆw3nM*{<>Upg7C?HI[AxiZ#h[[:mt kjR UiU.AD(fzfɠR= uʒj` `9=YcIw~=n`s ՋsX*גgjL>{dQRNJiEh{7ЈN{tӪRq BI>n,~ߧ94Ĺh{T +Lq+@:&>Jl|G!$g@?h+{TW?5 Q2bb9ƏeiCߺ#ݕ`Gsw˳sܖ=_m[ /k K]局q|o`I6sx?|ட>~6{:Ni> +Erw!Ѐj<\qв[|T,O]LjWLc꫘Ag`" $gT/Gsa|F*Ey\0Mm;P?GMj %2}>+=Fۗi&A4V d/{qa6wK#%kؼ$CnrM#&8neGr|^ezLބWI~d$O}*ⷋO*7[2=:ht )$ځ{}AEM~8Tx; >Nnd^L,,.ѫj7-JQoޟ4۔s_^s5[Fп5ْ8`-\h&' bs2Q-"ɬP#rzpAZE09:a餍&kHRסgvxyL6[|7:J +>JzRz6)ܐA{ߌr0 +$1΁) :O[ed9`dW}uwGA_A5c?s$Q1U#y@R iE|TnN:ڈ:%AGQZs)~Cc|F$+$Jdzȯ7} yKj5|V@ΧNC] BdY-G\hc:2Κkw'eܜȱKrҲe4Gq}w{>{z>a^w[dIjkjǘ7h WR^̖G:S苲 +&R0?YQs.Q3H]V Mc̉lfiůxj峖?{WK䈿_rW% y':9<$LTzaw)*La-^tQ!,W{ +n9mEoJ=U#QkOṴFe%Gb +ƻ9{st?Á} )\4KG +#Y6stܸfi W7=:%?c{I%{@Ev%f]-EӺ8sN+Է^}O!+F㑏)48կ >2}nt\PBM/C41sU:ՙn^ ݺ,_<-A] ˝uX7DzoܾuGTICp=c9$Y'/!WLx7&t􉆛 "5(0世.^|u|#mRq]Qoya[3?Iw6gs~8pvz!t@XC 9tS +CW-NAzHKKh (Brume]x?~7ѹ=[owq074#GNtjgk'{#)e(y, f ߶5XS>id˱4!{J'7_/Z1OMNIWb^D<4%619 #uwSPχ-_><س_n3XAUҫ>fA2|&胶he9wX΍w [Vꆾmb^8VџLaIj./t%te࿦LKocCrv 3@qrb<')wq_CKREbԡwn0=ݣϕ\ϗ3nCӕC!fΎ&s;F vC1"H2i]*[[ܵ@adд]˵YJjL[| U2Sʞz:3E^5elI xJ|&7¨i>|Vŗrf1iiQ{Ktd>I*qׁ/96tZAyHȔI=n7wFF%g|qh=jWV"JfqamT`\FK_Bj?ܵZqTˇYlC2 +>)祻3638zY3lk< +xQiA}0Gmk .HTW,/,T5*#Hw=zQOɱM6!ލaɒusVuutÆ2k3F?-M%-;)@zimbϟ[s莊\t:^k_(gO6eg;􂺑i8a‡4KuVcիiu0|F1Q' 2$]> oГY.*tIB0IqxZ1ۡ:$GTs6(N3uví"[OLo|(7HCj_78WNܟ=/ '@/Dυ4 sP}]+Z>㹩p$SO|m|T^1_I# >>+#7ϒUT'Y/'Sii?#U=J$ޥij$<Jy(ױ iGzCo1GYT퀼3uĕOüᴤygYz01# ?&$O,I$" sWB~V='a%x/֐Ed-pAi aph9Za>4>C;:В}UyГyN~l ; Q,w<ǯ@(z,91%YB+x܄O)ПU3z~撚>Q6rsN^xGg7O#]腫dY25ْQ$T +-"OW#u;KCd=iDo{UJz oX6#cZ eHTf 莬M]+ +Y Mz8 ci~bZ'5q$%mdf^I 0l +mE܉tϷg -t>wjv ?q~ƾr 7to_ R B]dd r!xzу*>BMHnO0lBwt4Vjza/~,!c1I}c "7q/ @ĸyX?6Wƿ҅NMd85|sY.Fb8kQ=)Z;ྈ>߆|Na +sɳW5^"]M$C1 ar|Wӕ%7yQt3'T( {)z:Eu9"eDNd)E' +һBu">+w]a1m}gՌU{&RZ$MT.%E,OpQȒO(9sN|d?4置Z)'j0ud\?h.n!0zY@>ԽcV]rɀ;b3D.F#t`[^_ ʢuU=^6 #Tp U:,pwwje<Z}"x]Vʳ\'uQHz_qinƤtMBN8xLt Z;@^)&b6Q*Щn~% !aC \# x-"=RH*%:1^ _,BK}9̖ ;Ol^i0%,s-cz -Zw2.siJ 1yH*ƃ誄&ƋU*j\U$m&]p],HOm(_Af@/+a4L.ِOG&RpKѿ%(YQ6ה{Į/V\Wܽwg5j c Z1QpJ:"Lk$EkH  +J(~H$+k +<:lS05*{έz.nx6- m.&*\vlH%S6&0Aw{>ܲj9,?BBVaFNRKPQp(_)_KElWF0[/8d;H~{SC+_"+lЮ?Ia{I`k#-:!{,#>4{7J g ^koQ"vSꯜnG|%ITG]G@ |1"Xto~"}7:)v/ˤe}PVM u ZI e)ЗʩTBͬͶh2%R'wdg۾L?3i|[Zpس0.g '{nI[6حҀyV5G|9ZG}ǧ:׊?ɆDe/:A;:OӸj7b4LU[ܥRIMU*v{k4ϗ1&z[ +|0lb]wSْ{o +\ y$,xrƠ;N`g+4uO%pv;[eWzfO{88on癙4f,Z!4 [7&|?b|KTwQRӸz$TvMqF/lP{nV"ޤ5CUN[Jkk:ta5agRLrU$ +waѩ=~1EjA Ͽ=["W=ΈeA7#z>!N{URۘ7ʶ8韚ވ!eAxiDMڂ1V Q,'92|OX7!_DƯgF;B!t,!|Uond0!mr$;z8ޥOE,3 !q$oLё{2fF :NqL&Kj|s:]m}G@.ɑ?"v?w1#_o1$!ov@@W[v %k +#Ox݂!? D?\?<| !<AJ +DDh;;G۩TiC)N*`Ft`B(2NZ'->}ܿ>9|GV#)> moW<;ϮbOV2PǙi]lx3SO{?#?uzo157W޼$ έFE(7Tt,|xTGRڙMaYy ~P?.y~2M 4\? +U +_+恇xQwܟt2 >Bos)J"om¯UhU#p+pChNmo^  #-pb,%iE؋o"_ב,($E_;FJEP䥍+ՃP`w?: w oL~yW%ٌ OW:#+Êwk>$جBZ;KݷXjYiďu`ibZL`n1_aW78=BKE{UxQRz.l1wǻq߱8Oo̪Qz܀̲ cnO!5Oс/#'T>zb5 Wfyg|z% V.?{g$O +y^ڽ8Yf ++{O=[hy(N>JԎs=MT4.a=؇ն1[h(x>ƀ J sÓ3c;3y z >-Hp)+o2^%0<Ʉ0!^I9t~IY;1%CϩAf"VoEԻGsc>Aa:9#_lyU3ydV?d/^:^8,=2A)t݃>xlW\Z{JBJ:gGdcmUR6i/S=)?a.|4T'2O/ԥ'=pin\7UϚf (q 4 ol\+3.T1z%`r8Mt [wLEl*/pYs &R}xΖ:uOЇJ[?HfJkwZ{3I/>ӑW.d ^屁Ȳ'˔g&Q$Y!Tdйoںs[d x8w ,wmZ6ueJg@g[eY[3{2<޺V Y ڢG_Л.57 +Ib rо&ݔBGrL TO&ձl#OY9e>v X +<:Wsˀgn1~ + /yk]eM'mLg9KxeB?ny^mBWV{mtWf.&Q'ڹ 6g'Uu֢/5{Gm%uW?A/kZ3A WJ϶ȳrćz/>0O# N~_>\xŖicljm}K ;>Pq|.*9g#Bd5 + +)<ٽ' +ߩȼv&nQjA ?{N^v:Qo{wN`%cnaU ~Ȑ=9ŮWD;mv4ԁh7ZRh18ZWKAq#^Rem=%|^ٹ?]7SDjЏ^)#U +Niuaw's:&?ѱ;煊6]7ljN~֑YP?Q̬ՙNCne)IMpZ5t^2tpz!ld簫ǧusʳ*oΊj1kxKł +scZg.d\$]=_7-$N m]ǹ8~}nƍ14m$VҞBmCVXve8 q~?S>- ij..ːn_#J̍Lƿ^{<AxNu{e#hwfY_t–Y9Z6% |W2PU.Py*ibQ1B.=/@]ѹܥ)Z]r V  # ĪOԏ+FIZ7֑kH>.o +luJDUmzQ?=ڟ9&#? + a< Z=K:h ܫED1M͒h6{I;4*{E3yJh폈~5wt+R\ T".z&4ѿ wb8*&K&5aZpyBçѠqңSuRſ$,E|THm1ʭy=̂Q ?ذ;E_70.Unt?&~s4&d;l?-Ǿ>N[`}QdI |k%ʼt$r*M$O|d'mDgHq44\r|D&u? $f]kǤ]|qh'H3di ?ӥ@+՟ O7y:3d628Y͎mSو\}:~΁֯cݽ{F킾ѣaGi4Ҟ +M;Ivf#_kۂp9 AR{ę+u{:D6B?%Z1ߐٝG]w zseIr0UIg+ju#L=T)$Qܧ}~#j{L3(,W.ak]Yhbz2yz+82Á +e41{,#=yr;;YI+M#L_A8ux*S& M$#&wf2C +z^:A Gj67!o"$~^/g& ]׍Ϥa/qŘ}P4:L0%3t& +)ĔTJR* +V"M9%ZطN9'XOvkzf;+vYV5xLzwS8Ir"R\c G}2kY7۲z6T{}VϝOn +[\u.rϖ@`!({FN-`"۫ǩbG W'EMl95x\8(:GygWK};(PoȍG_w.} 12;y;c<UN&.0A..w/2 G= +UL.#WW}$! MD͝HNUg&(`wm@ syܳ\[^8f[+^c&; mNT k7z[><ޔi|9$lr!= <ʝ(K;?EΫ 0LW{@yq-J)7QEn4BkcV.<B.a.ߑxO쩛}d\`9 Y ұQ:ق"BрyȦw J[ lj g2g;iL=cy҃,bZ^Lo?lURvke/aQz_^f^Otᄞ^b=\~7ޕ=".R9żϢ{<~G;Iu8cɖGAs3z,a0>==3Lod+n $Gхi#Dsˢ_'d N#w;ϗG2bC[l/ m̆?WѶL _25p`@2eE*rlb)rM] +]P_'[S) +yT.ciJǮ%wZNpK~g;E0{~Ҕ>$\e꘸')ѸwZx57<$3֑E!|CkrzfiMnPra.F髗`?@}l r袸_٧aw)rcb]+x5ܗ|<QB1'/w гy !k-tfI|)^K_p9Ie,&&l΋I=a7YQ#OEFN* Ǫ`a6on$⾢YJ_ݘbS\ D\8u[ qd1"{T^>rhVg4?_58'xHC:_ACmvb’5mye[(#C}Ï6ȏLu;U#nyQg!.^x$ڨӪq4?jY &7,5ढ़3~>${<N%˯aÁc&i9Gx2̬8̣^X2q)B&ȹB<:ȟ?zdl5=O^M6?vȔqz͞K +gqMRHΙ{j6'Rmq; Yi3M:mA}_(eKg:â:;CQqU(4 u`C2:{@łmM԰FwA `P,1& +gw_y9Ӻץ}=zSW6LyQj:陵DC9x.>q߄+j[BM|cI3qe z/Io +qN y;ᅲ̞[*O__Y [{l_VGcdnN4O߼#" T! +]66?-@> X3-[)Aܽy HjoeO#HF{7\sx*ÇHϡA8$s(Av$yjwʂ<ЎVrgl mdy_P[ƻ!X77/1K?a'#M],L=hlJ~Gp=E]X%CS(BRs%.$CD3GPL GnbwbD;??[1vql ؇^`mEG1K|XD/W}o\ ^IMs7ě`hkh7- HC_I~#2e2]eu!MLm[ʊӵc1POً2k}uDEð(GBLl'PM!|C ;M1C?|f^Js|1-!7؅l L{3WƎfۄBL(0'<Pmc|Kj.UoSmL>uuAy%i ̋F8'{]l9i6 Kܧ}*/DG×Mx&MT +z0?6-|+s;6v;t.Skq^Egd[<r ;4b n$y%L!rd- + +HrT3/þPu˵!LV5Zg Y>3%A7!8חMYA@tNE19e&;ģbNI\Kx?!wzQv$MJj~O:ku1" {Dv~=?_F$לy yҩ` in'G;iە6S˳bM"G̾uF?-swpTFb(D.YIzŴw\ᡤ@"tzW}ez-*X)kΪm:R,-imzԾtwW6pwn'茢 ۔Gni$O`c^/~]Z yZn!Cl2.zk@=y:; Aj.@\:cHZ5: ʙLxrȝf/1UmQ ;D u|jTYcvY>lngW_W= fu^bEt:$#Oאּ v@ࣣPw/sӏ/J@UI}0)% dה]3~_Ybȟwψ,~yzIH2y(dÊ€CKV~_tk6CGҚ;b5uV|G,^=gI+8/Bu%{SMkU4|xVSYBq|[svO],G7-%_dWwTTWw}"X0 A - +((HS:҄&CDfA,W1h0z֖sxܙ_V^|wrar + !]CO{A>iV}裰/fx=x`_fvAe?C|\ݢmQlhF\~i bzbi=H+$535:veeBs4w8O:lGt{E\O~Yx13N :Mؚcu?B-o1ޜN( <= KQl+\1Fň,Vq|3z#l\>LjZ{,#?|  +݁璒~N˃LVW;Jk˿aC` V 'M*7" +Ee>0cZ1~4d:|? )üA_t sӁ~-<:qIS>y"6n1qoh}@Wԇ$nw^{l8$fL<: >Ԗ?R|d8|Ty%;ZhO C#:.m*؉9>d9(1CzBr&%.|\oqOG;l[ݼz[FbM+s_`^'FU캅 D8 D- =+~I %ĉ]jV_ ?Fe{cIscqL?ݻF8?L1,rzZeBMD-abA>Gm|֡^oC^og'"yk[-Z^G෮er9_l" mnԯx$g4f[\ԩs89Uwtb#KdWC4' 91A_'Q;+/ϗ +纇-6)qvm8}b #Oӡח"N1zoQР.Eݕd] fZ]6g&[૪thrM(O˨1&}4NR0~H4>aKco Ud is! +UqQϚwAzhZİYR(@U^6,cG]i^.9x壔2mVK>&;{%IЯ/f-ųj]EY kS5h;ꚽ"[ +Va߲֠s[2wLeO_T;B}e}4?(JN'ztG3v&J3ڟ9D+{忐EQaPJ+±OW+4c*].lwK*T9w$W +"k /JnFZ[њ _͏bF.ZG}_̀_b7۾_A0_vQE8HO);K +ΑK&×9\_IYU2YN5gUƒV"4ÿdt +0O}) x>Z:;&W\VI_a>SŽŘ,qxrAhbJKa8am:)sȇr ӱ9K5ﲟQը] +~gnw3/S=g\~ɧ '>5T/mAb3ɐWF&yT  +C:xLvVwfHµ&i:3gsJACjgy$[j%m@]It1HÚ! bqApCRAAEPQe5 8i+bked-质J:VghVGzMޗso;'Z͡?~DOc/h&tq>/V%#Wk\)K[_W"1E(N6.`&&#dcBCWA(FߪE QjQlMӌ\}CCNm#Җ涃U4|$΃4 +TM#;+Ѐ[;ӿ%;%2-E\ FK܍-kƨE + J1t2`ϬϾC~(rbjg]+㎾=K ;@nI=H(䷸vx9yvZHը@5._g5tS(c2_%g75L}z ڏ/f I DtG%;O )ѿ)xv:O ,@WQu1r'|-o{` +YZ->1 +w2ήD.6 +ׁG1BB8|?׉A2]irIdT5rBL%dtqܼDْ."U!18tLVws9Ĺ pWpwAyC_S6e{/LgF,Wy}f M2bJ䪤] +qUf=CuDw^אB} @yg+o"b$I[}rF|?1< |x/@^Hܭ +GKǤx/^x} +:GҬ>Mf $6|b9{Y?We 07k&/q=?>5R0Aգ7<C*4QˠKq[ 71}t.!_Ϡ\va,dsLTQ_IvlLԼ[PEqAʴ) ys7|.bRC~grﺃL1Qop#ބ6)eX4W3X* SK_ߢ?2<=y{f|e<~5B%ύTr|ԻOo_uSN m2@ wZg7jd@2 t1wi,3١ + =D/Kz-WrGzy)C78n'gW| se?62e[U3r~c>" G4+ύ 8C q4VtdƼ/%)Ӡ|R=矕˨Kb ~bB ,N~f)eŖsg4lnХb2!F:Kn41R\Wڮ4/pC+26XWsϤҙ_jabiwA&U3'|?+Wj\y/ ).A ! A&@H"a Z^- ur[[(UXңhk zޞ_ ޼[ϰ޺*I '$0+v1BވHaIϹtP$ +3 uv>\ C2W란+ܨsT-)\]+sA]?3NJ-#\>!5 n^*N;y8KȮ^mݚNmṵSw[Rxb:d N_g Yp])'v +;N.`tOđrgǽ>MrrP+!_Dwx,12w:& }'{~)=6Bl:ON>NepIDQD2yY Gc}du묳_4em=~ȅk';stZ z+Yڀba(>0I,J_1z%C~>QI;#4u|\@A~#}N)9rEз?SH~?4:6޲FgDtp1E/|B +Z*6c+^(Ւ%nE[xԑWĬBaOK^yb'>G-8;##џ +Ty#QofyA#WBC^Lfȑd1 ,uE+f=뢚DW.x~Ў1Gykb9s}2~|a-'=.D$lu7f^`wy/B ! GyRA3CW:^d?ڮJY}lDmQ&)7"[ʟ +>wwʍY0*~+@*gCЇk 'Cq {|DR ?Cj AOq1Q !M"S{qv'!W<#9&>IIؠGg8MI +gJ%eQT>[4xi~܆% 9"EI3uM^Y2rzxmSՑ0謔t~><ْ'ʏjtsZ:z[wʌo֦݌|*m7فM{㻠WO4ά'x4=dY ݀oh~0ZH{GNk'\n6G|9S8L7F%'h-N}qiVx/倽ϐ{)׳ƌr+T]LHjrev?0rky! +ÖFwv6'ߟ7v?}0-J{NİiV1\#J64!O ~O}:3['5c^&# e |ws֥:)A. >d{m3zihqN͜fO3~ p<Qq>Tg9o2Uz^f2gll`\-p^{O{'C/c (<}=1 >EJjTp%]5 M +4l3AG{>Ԣ +{ w7p] **7cCk'@}겚:+xnc9n}CLqzނo+^\Fy?H E)޲٨7Y~i\qT\VST=yMTaX=Gl܎}]ue#؝iL4 +L@M&c}a YQ{4|-ue9 a ÞNΟC?>kR\)*s[d,AdvQC Rf}d0i$x&|cB_ jA1^[H j$_R%ri-U~-⤃.80꿣ǃ`ϗYx/!6|/x.^Õ{Eq{} t^Z+I{s?/#ysmp3۞b7HݏwHl3= 2U –ڼrBVy@ȗ} 6p,w~Ls揺TEܞ{Ju+.v#tsDg;S-]Kv]?uLb5aj@7<U,c Qvpnwt`ȵ-0W[^g>K+@9en>R϶#> +Σ&B'D8$ib'.)kMCwu~{{,APoCEɭp#n }4L"}\2ZP*?{#\CtyR1A;hJ85r ۑg/hRٹo1 ^܋0|eYx.6޶l^u7'KKswF\\g >s>Ƀrܗ#}$׵2O͙wpfՀ} >NE7p<7['IP/׌bz m{.Ѻ&;̟%~|*t59:bDϑ7Nш]4c0:ЃU*+-ć C-%A?'pdSmux=O_v@4CWSY%gڟR=7Pnor{obݞXm(s<M| &;/yˇ.EJL# dzRJ'\iLNnMlԘcp8ks&BkNw% bXl;1 fu(C߯ۡ/dˠȌGWx԰~uTз@ ?*߽{u +BǏ<YSR.7EgGГ ,^o͖F TБ ؛bLBDc1mخ:ؗ;+mrְ_X!A^,GO2c'҉sui_B9(͠zۀeӨ7FeAKe1͈nI40{tZ.\Ut +4MQ~C؟/gqQoBJc.ԵhXoy7ѯ]=Zաk6KkAI31RlQiϺ0+7Δcז(%pD`&{¯h#995[;Fs&_n-u[DF/"' +.PBڏy,ѣqЉk2~So8o=4_H(bVQFTbz ")M讛t9NGSMId>ea4aZU4 >i;<T_s5|z0@8ҹoP +6=(+ƲP']<[+X=P(ԂJgU(۩_4$blѧa񾺅\Jib/|ĞK婣Q#A6鱙>'k*LK+$1+~4RO߲ +/P,~{6꣝˛]P )̗-n_q^}wt)::;ӲBp{fdBn-9uu=TWR -Tߡ*74= @PE'pRAb*{qOdrzF?$أN +:WHfsu1_DĭۭWb'kbxx;ql*'OA'* z0y'xcA$V`$/+cc4#>N<`&ོ3tU|xnGQ˓|HSStEܥ4} Fz؇*wBC !L#>b>K%b +Tj35;( +$K>̫ЁA~6o˭w"'ci7_ղDW~JMم4̇2<L~bjQ +(&oFju _^Tq}s}{[\KHo)!KQ#xs9Nx˯#o # +:lħSMrf ~QVSj28β3;p[Ҝ]Q6YX`,t oga!=hNēDbKMTIyH ᓒoN'P^Bet'e+d,#7á/n- +<cE үyM +GWg Q/9Ln@>!d7uT\\DYCJ R~֠c2ʆx%W"`M2z5IxA^'|>/F/Κ4Uwvk2x%za,}b15v;DwEv0ȅ^ұ >,w&Yt!4i\HjTx! _Ս9#Г<OnM$!9;IɫRY@}zosܟmtCwr 5{O >Zx"d8m"*s# deEn~Fİ~cg3c d/Y >8ЧX<2ںO{}J߅?~g+~P,fOPWO?"v{TrogYN~mżx7 [xWỽrHb/t+4?}2q~Zx iz7 &sbL4Qoĺfn" ѣfsJBg!.[|_|ټ-sWo66ox?ȋ;}$3:)d)N%WVmqZ*A?YU_ZpoW8࿗ҡf빊|AE dSr}] sy ډM6/7fK8@ ә8t6T1/Ms̡3VF܌[ ^t=PcE2Gz+ֳ~g ju +pBr&Fc|d]8 {ogZ:;c9Ɉ1qל'w@;5eWt̮Wĥy֯5vk#Wܽ*7 ou ԉx8tw?9|Ub\f׀uX -9\yLD/t{UmzHDLüU(ES=aW2貹)0/f21)DE+ЧCT^^A8]eL ՐD ɋ}x!VZS^(.iM03' ߐ(@g}%)>sD-3Swkbü;?qgg~v_S/s\7n ynꆈkUDA%b.QgM Igo(AI{otR +BLx- +1ybkU㔨Kshrj3CmkBjm׊V,<0: atTTY1|X>W$q~/ιNm제j~YQ.UFХIFx7SuHon%8]Y rqǬ%&aϝ\Q%q׬Q(HS?QZQhlǬ#&b1DiL&h{gyO+cx..~90Y1#;EO`޳(S|g EK&LKtYg$|O㧽@U).y9w!kKzԗP@>!'zRaPn +Tk[tV&G})_KҩD$_6!/\Q?8YHb|ԟo,5m#Ni]?~XO=OpK; I>wzO#)Q;᳴ڙ `Bm6~8!ĭk~;a/mҷY_]Cqaj Hϔ_f1#EO +O ]7a?;Vfr}2>LxM>q?cS?Ϙ6:""kq~5֛narJ|<][zlu'\k|' U3`ܿ`/q/7r^&vy1| =M \h"S$əI칄gLW8Ȳl#xe|S/Kge~rjd'dsK87j8.s{!OѯiqFΛ J>Bث+y |\eg8n]DG+S&xM:&R:>_v\%OT@gBMM#p AO# +8DqiŏOG(g=D]{F.8tz3hPaS!_)q~;P'>yeX`~6nyVZẄ́=K9j7O&9tWjRn`Oρɧ(TnbMJ67U]8v~7e3k2\Y]kz|L^{&K1Eq[b^+Ey/[*N4x֖֔ѡ֘Vd\>VPgCMzXv`3fi:G/>?7#$κgZP2Mz<\NgJ~PCKCu3! z\0yJh4)*m'SiSZW6WP<\JMw%<~A [TޥeOxGEu JA&AD6e bQ!F`EAV0 싃DE͢mZO4klIu;o{w_[ d}˱,k_zkcO& 岻͎X~7i"Q^sIzz4f<,zBbeHK,Cj(͵M>J4j*eTy@׭#|tR)H7_]>bm0؁A>"3}UP&[t^쩄gQߧA7!3Zi^fEy +'C(Xz3aS dԁi4eEUI;!ͷ 192G96x +^zǥMkw|6H#u6QgxXF糎U"3oj:Y~NpNC`8@CG)6l\S GvxqͰJ%T)zDGg-sM7ψNK%w"7"pQ4tRmHsfz6hSc>YpYn߉9z֬5cy*,vs\}Į;.^_y1AE(U<􃖪P_U~Gl:چ)<&g9Ů#y*-{+^{,(EO qdx]8 䨴9Cu}?ՂsUyW +:{38yR\ϋ;IZV'p߰?nv?xwe~MWS։ |ޘH=t!@|xf4&V|/< }e3G>\R% l cχaJor>{G +=ez j<^Ya&U/乽pTW‡NYF} 8O@_튓a>W+PKx}?K{ݙT)Е)pJk30s6ތ(;>kK_yIoeC}o]~)ςkXTI7!ﰯnhlGUtu <&ZULwNR8R;&|h_3?/3 +wE7XX:){i{'d:N %lٜY +7,:GoFܑ+?3ysMx=+~+|s R_8˘Yb<_4Hg +r>u,xL+\SZ_scyeĒBC +?1vyy,Zoj]ڽ5JZwDd g/%Z3$+-͋ vwnI20K)0v`5(Xq`P\Ӕ@(/v~_EJw.J+hpzuAOrd]f~[CLrPϞ2?> G~Tk5V :ضxԡ3%;M3ˀ^wux?*DzGٝnV-6p` TM֌ 3/HtޡvX]=:>b"J-Dd8|i?L+߭3b ϱcP7I"u7BMo@L }ieڵLT3~_#U09wf5](N!??bߊD}4h1\U^UK-YF]GSjG>UfYr 󡓓=Ǡ'mId7U Ck ЏMѤ?{ l1/FϜ-_ I/Kw}lA?qn^bި~?Z`^$XPr6a(we!:SuEcD$ujĜ̣:VoG +ȓV|7<*C +h5x+$'6&[FK&;q }r<Y!hœ-N[qm`!),<&!_U* X2Xb^8gI*_p} ?Fz=^ C_EY={+KAkd m{Tn!;!-bUW z_H?Ul M59Nd3Ҷ2U>ӓˠ!AYc-E+4/B?[OvЃܣ"u<c9baU}_9~fύ|,ܷ*'㾳P/WVwQwY7@]qj>5ĂA*sTU1 ~Ow{:ToRؘ})̦ ~H!&<gmfާ#RVQPX*MߏsfЏ_X/HC躪I2D) GQ1 |Hp) ~uL%92)B%Qr~go %%y|=!D"d ԗ݌'zrjE犠Wq9t :C.=K/⚘E3B~9 \So5*zʬ'=FotK?Bj3$Oo+M}$9Б ~Oad=KT { Գ^x~--#ֿGa\'ڱc9-#WE_4ǘ +=3̹+Ocy毕׎Oz\ +}b]*.AJ"'aRio&rrUlB0*OA 1u~ ~Â?M{Qփ\ASS vPgH4T׊!:nVm=ȇL_8!]>FL >rI^4}Ѓoxp y喘Bp3kK g5Aͬjdq7?XXD&԰>%N)@ޡ +ߗT=T,P7>#ȴh&A^(yߣn Zw[*tx1FK2*@{ʦ@.Ⱦ92]+%ԭ8ʓUnk-⃍_GsNf^/*lolxoobpgI_)wKx*?|J yS~{$)܃ܜ(F(OOS uڌw|t? -Pݎ:f(PGďC]0n^L½2>4Ò#cQ<4Wkǐ+\ߎOݻ8g$sz.ϹOAÂ}okK9&vcf\8weL_-DL}߆)eJDhQhfihvA-Zq D2BQ\F#˘( 1f3chu1EU?=s{3R^[FncgWl'CFvS٬ѓ bϯLe,`k߱-k&) zY ~`M%f ~[G#8p4pMzۇ ?ǡyqS~M=r #2oQ{m;#TدVb_ +8cnFa֊줊xd~1鳫'" +pX+GTy,eAOj|$twEw!~B WMi;[S~z61kox]?e2moA<c?i7쩪1*C9_x[UT] 7RG}++)rLR+nw"oz=QެVm|Ix H8# U2ѯABI?AofwL.:5!Z7|+P3/#^? "S>5StL&ao=p2CW3aC~ <ǐhhXr^B$ /B4!)A1x-ޑVP +U kp&-{4'[Ҟ Mx(m/uvYA;?fUeƌsiM|Gbf,.rVa&x`Gk~# XCpA״EuRʠ52Av.PuUf#ȈzZY*p,".dW遮l:r2_sɿھ9GF'*B-2 @Wܢy;wQf!o b}7ah[vacQ|HgHp\S +EzREm3G1vxN<-8#n4kB$fw.i:%O9-pMzep +}ѨBBT&'|'mfK )ᅲr^ :>ޘ\I?n_,H2yP:Y?pH_0Ϯ :t +B^8&58b6e 'j6>a= Q>?*RCZa {JQm%\'=Z΄Z\$CNi9u5^?pSF^t5R)/nSn<2OO0/||~ID=Q<UG>~K>85IL}؝5Ϣd{w!p uGo}L>MEOFa?r,!t&gN+K5ixd;a![Uݼ²/г n@.Lȵt|9W{Vedd:h0JIʾԶ +=w*Ӆ|>tfy/+_e`o$w& ~+GK3^*8 +wW_QMy!1"6|/7|xFmF Q50p*6h\@I='yÄGGiMy{sPZu M#^ }a&r_ȾLO˲E^,-0#ڣ>hf"*UQh@*Z|"HA%DH[LAhCP+vbQXmbսiN8==̝~ < ?D[f r̶0[ |Dp&9?O$C6Xbh{MWf +q}N\?^ KЄUg97Xs0pof/xK6˔OIMyM=ЋGcԥ>K~a($ rrAZnTi n"?/E9Qm}yudɀ.J,I)VEh uG> *Fy$Mv۹q)״7R~}>bПMT/͉hi4 u$i@DsT`z˲ %wO=) ga_DؓQyg #^NO^LJ8#|;yI k'>Cq8]7$MlwaYlv@5Q.ȁt(R/h_[@?i޻'薘P--R uT8lUfFI#baYr=-Iyt)VSg5w(юMR>!=bGaWYB0$~Ce,u +)֘c*Yz^[m;s~RLE=2:'!W>[ğTMtp Ac'v,-`t 2]jJ׋SZ rMZry gUi\4!IJ#kSU~ YKGGE(Κ}9׃"+(ly')0kK˸'D.V|?@eiJ /)Wy>\D RoSyӎ}֟1ޅ1 3vpyddE.2,AAMo#b@N=i +IZ>6;q +~NZyzLv'\8~ɇ]ЗInHZ禤LMS?º&i(_ sdT0?#(J_'k4Y57?> cc4k%W4⒗1kI5?Nr޿O5<Z<tA50m#|ÜipoM7=9d r ϹuNl, +" +Msk6S/|er!{u"2`5t͊6p4/GX/7g4K<78s_)zeEǝQw\QüEC# ;6T"~ROEٶKKq¶Q/wޘM&= N}y%QMȩ_RJƠfjB/u&B!e-zyk9-a6Y|ǟ6X$tztSKbz丯 8+l +v-NFnާf&n- +]lZ6c_]L^Xt!r7IJː:ZJ]:UMI=hyр}5a=h<)%Vۅou'yxt _$yGKjmLg&NFf:?mn,63:i|hs;~L nF^-bA1z1uxI_ji[+ `;[2b̧Pj]dGKN0_cέ# m𽖓du;~.Y{pס*fQ>vff9k_ˢ|1ԝb#_Mr8y[8sb]t = +bA?~#YO-{gm Yk$ʑdkj# &d{#O-ec]B<;A iQBWy"=ëu u^q=p=a=NV>-f>[[fCh"s֔FazQf:vڦt*>7?"ъXyA[Iz1Uu +qF!o7 nΑ8p~">Hoכ8XÀ>'Av[Uz WX[I .U1Ul/>XsT׃mNz! y9=QCOGGho S8-Z}ڒ~8A|U>4mB| /A}WoT]"vz‹* ʢ kXT"  "DE6ͦ (fQC(g51cmIĸZKL2qSec~t޽{ιM{o"pr?"֧ ? iv?xzlS~uh(U.Yc->~cYj\?[~3P*C9ɹgg7ޅ;|џUx< y]07gFrexKb8/ sjNJüUܪrDe WD*GURbέ +mF̣U~۟n਼W퟇kc*R{+Z:E]]}$|\eOK|,QYL?H_[m19s<"?;052_ģ̋8-}g9!g;>1o8w=mjv 'Řx+<ĹD@'5R ;>Mʊ#CNJ{[/;U! f-,] dGa#օ|>П;  |rj +5w, ee4c%>k~εCn+<< 9bGyeFM=ⱷ=3?-[&P A^H9/I.ޥ Gnu>Amk3}t?+n!xE3ݯ-y&PP$O^L7 1Bs6J=%YvR,*:#ON>L㓖m!X?IψR?{^Mf3PtqŒhI|ŗ^[Kg/JG&?#q)t|)ӑt.ɗBN)ՙ#TIףKԻ8MLvn JE> t$>B:{X#m*_sd>iCYkIZȉƈs)>b ǛMw G\1Qk_1g\tVA)#8> ڈm31G5*7E"st#1IAGD}t`iQ Wq9TMGz/ڟ?CTuε{HMMҵ#pZ؃#suD:Z8o0,%j]y:R=>zJk:CFkM[Q<zm"y 3 [bm  kf=|CX(sBhH"ѣhC~_E PRQHm]z6ͯ6?]OAkuK/"m ,ɻ}C.Э0* +-$2d{ݠAvR}A +O?yIܔ1 +g쳐c^1D|q\e9|I`z+,0̽)6A_q@po xO9O.Eߋ x 5QCDR~?Qv o:'>ǁ}?drhc}z*t潱'9bN@b<;薄.FN3+B9Aw!Ş|LnDUI]41Fq|V>J胺#ǨSS"NfU.#^̘V5*&L1*0 zn.@ný}Pmbv}z6Akej =|=2(IVR #nG]\:">9Ƶf|?RWǥ~qDڶsN; 2tɭUz|y ufKUC_|cž j{ y$VGc./&v\L }T0HѤ'~?d_)2? `x۠Pߔkg@̟BE +f S\\~0ܽ{[$.|vR}}Jި5Ij;`J?^[%z~&xP5ΑCR.k>cSEn: N7;,cQ  J` +}Ơ^ ~ѩϰHyMOv!4R~Q>SJ &(\ȃQ B +yxz }޽~'[>EEI"H~r kҤLWE0gG +l'!?p?ɮT dK|}#A 99 + }>Ƽ]aW̝=b)JsMAsOn(x&i"B'(5`$IQ!uKS[u<|ǔ/^xPW#G߉\!5rUi~y%=6L_B.s'/!~jw2#Ia &JT >|Ak1TGJ~ I51E!xJ~3b0cbpGx3 Gr/9܀k*/D^^D#*nDxN59ǡӯ.En?|d<9r6}bs22OP'mS/7ah%kuS*a,RWs8e \i!~V AF[=Hrk-+yJ]j1ü|(>Aՙ +<0Oa{F22KC;D rB/ DE-MXm.ii]:'i]QNJk +|T44VISv?)pM|^YEc6wLUٗXcs3vc5G;*r.!ou ^L^A"KSR 9Kb.%W$IL{:_r^|%רC${yXI柭;b=g1/۹飃їx875|$t rIcv%s{q~W_Mz쟃Bf>-.mk:4FNWwdOC?|U,-R\ 7!o C) +-v~co]L_s~0-ˍ_[Gf{a1C?|Nn[x;K|ʀLO?NxWr&{ \y~2́a"@ }Ǖ68ڕ܈z%3/SQNnn+F H(<7}Eg > шW|:ͭߒi|%5o,TTƌ2J®vsxx! ,'܃H?yE? % +W5Z{sأ>W"}/:CsZ#!t&g{yiFW0@/VuE! ]^qip$ 1b#fMy ;Lyq,AOJ&0~!E?ҫ4(+w[w1"" Rn +4@t4 (ʾqܓNi D ѲMdaD,רt':}wrasPld}>w^FJ ZOߠ\Oy٠L}D]X!)5 +yH{/-Dv:vQS~ծ'E]y|:#Iy*dD qg8:.Es<=|Ç br_'s~vqO<__ޙ7i +i6EolԪ +~.j5 +Qb1b:9D{43g% ~",b' +\Q?40"cp1/!yyÃVNh:>_8gr|@oIB7qSɖ};T"qgOym-0~?N^o/|O#&§Q{nGےf:2\@k=u?ZEoxO/ͪ+ +>9ÿfKҥcjB-s0UݢR꛴7 SP/kOuXgK"7뤴) + +ljP=6 + nqCݨjolOEtJ^9KuXC ^79^zCjQ=.yxqd#ua~#uZꝟw;}iZЪXԇ!^(3-g_ŧe[س/u[A t&._>zH{kiCBh|*X৻678)K/p^3qa0ߘ'Н?!t(h[t ʒb%xzHK>u ֱL`?[Qb~G^G.mDw{züu2IovKZ썏$l8oT/*+ԿFJ R^h6[HX?K ?ƠVf~DpˮYEY5t^3~mh1{ k>&>XŻQ=qj|N]^8b,0"w +|ixh2 )!F}ZyT|䱘Jd%<( `Q2̵E?oOأJԓF}8 _kN&rM9=yBGw^|DS%|@L:;`g٬NsA_[tc>˼Mnit,RVI|gag2? ?3G}3xXli&en5M@'Yg5X֠ogo +Gί1{a t)Ŭ;O\ 7ߤS𚶒Y}] +>bAۡRC-wܙJ:Vcz7{{wFbto wuJ97b}9؝<{Z0Ê]œ ;kd3GK;Ӵ0ƒY1t}~ثsSeo|uN颻>RH̍E<cjOGɦ[)"6&n`n:gkvMZ~AD{w+y,w?I6|=Gq%Y <ɎPy](<DΕk\^o*<{ήGZw30 kAE~$: Gf:;ChS#HNj8jF*ߣg.ȋ-;b]C^hc%+Y${vM*q TMN7dxf +{E8'{ᔆq +MzW ԥ>.t!xΝNDRK3{+ +ﱰLIe W{kPu=O´m) ^e|by;@ۀOqȰ:TK&yiIsM~ۭh_]40;-iuNH#kQD41UY*[pLmP+<|#c0E}UHIQM?t=wJfzy:zq|)A#墦mbɤ"q9N7jl'Cd~RCӆ i̕Adv)wmvq<:SBў-5e0O`1ݓ@ۺ.<]+0u* +8`}65 )Wԋv(ۊy)kUui_Rl͢0upW*߿i~/wޒRIF\)Lb8Ե"g$~т8*'+ɸμ{[V%ܥcnp^09]ӰfP {W8o|ȸ=u,^UݴgbzK~#/d[|U XevĖ%Mc|!mn~Wg~:#;ԋi&E %q4Ar qԩ>o +mg@eA]:}g'8?+y۟Arlw]ôUTL'XbfXyC`1UGGq u_¥&$z)q6QƹLb}VKLbdIiPHӹ _9|>#gyG/ +C%Ƚ԰?OY!__*~k8xM C0l!M /\:}`.X@}Rm7?U.w:S/崳GjsΠ[S-۹ ":s`(qE˾B:yo}u)cO(~#ʣ{_’$!@Ek]q"h.+Z˩mc]Z錶XΑZ<䐃X]N +ha ; G2+mNѴ/Iޟʦ8 +][0cq Ga} }",4yA“0p>t.y #[`fHrY.DK2M<@ +3vsh/ w;5r? ~ }H5.eˆ9ը)z H +#VY +ET>!w=R'GWx +Fb'˛ +@*@nf^ + !W<d٠+jmN+zU b  ٍKIw +_ߌ?>*u7_CcAs1rO +׋!G2O=JEw],Sab|gƄA\3W3uD%w)dn|S|[VeaIM~ +TpE@(_az@DzA/v#/VY>C0_̙/h"L!sP]:hBp?V/D`VV#4@z Bx.[##i RxT$oخ| vո}HY&xN ^ C{0r4>9Gf9*[5a[EOXxqĥS{<۴i3=!pf׷ hM_́.ޫCm |~G2=:\M˚*C*9ۿl%908vĝ~/*^ŋKĩ'ഄ.O<C#ʱxQ$P'9W +t8!dΫĿN|:oH@G!";=bd̗~3ɽxFmu?o^T:0漇=駬Q20J|G,o>Y_^*?{nO('*%W&$К{I|ZLrTq2'OWP7oyGDFE'$&%O1S~A/%eU5u _;:uu4Z@khA1UH}~CHt|X؊|8DNSg,/b@KplI,֡A~@7kNPVwF>lFgy2NpAxE?C0o:k䛹 Bgzv%o:ЬY|{W@gO~g ?l*@c|J|@z6bzy|pLvc!>lo?m00~w{`n}o?cMk v2t#&0qȯlfNoZu^%=d ^t`!~_=.\H$^>s%ǐ!\\C6|#G5z4Ϙ1cǎ7~ 'N4y)SN6}3gΚ;{9sΛ7 -Zx%K.[Ͽ|+WZz5k׮[~ 7 + +nڴyЖ-[ + l۶};wڵ{={۷:$..!!)y#GJI;v22'O:u3JJgϞ;w /^t+W^v7o޺uƝ;d28A DhjRZZ::zzFF&&ffwZYY[;8ܻx>zۓ'O>{/_zyz7o߾{}ZڇYY99?}_PPXsQQq/%%eeUU55uu _666557wttv~#300000q{HMQP@:Fi(EFt_?9eQH<(Z({K*9DQlBH:j.WAu]IoO;\j+@B_FZQ7K~RhdO$Iq*BJ-5:ݦ!#u0D)4DsM赦7S"rC*lWIqX(W)CDID|ZsEGJ83SvQ$J4#-JoG8u[B,LK|ݦva~uK)#iلAc+a`0LpWhzk"2;SBә$GZ;p;:;~W:wԅ1);JgY1%*n #_Cx Ip)׈~g4F- W_p8[,sd+ܶ{١"+e;?.masoa.d;mxr&1ƨT^3(nD%k)Q7#.1jE5'ᘚcPLۡ;&{jKs5Z4YS*SpWSSxDbᱭɄ^ a"A.zBns),8Ÿ\E4 NݱM;wcO´fa]v2B^nnos%cy%1@_87&[l4$;=YD~3U/ۍ?"9599أVrS7>l'^Mԙ\lQu*J (ӢT D.x 0 !Ӱ!و{T~/ Z!08϶/&}Ҏvg9؜덁~/CAf .xdIe@(T{p\OnG4߹,XWCM7Bv%nYxV]PF|#H&ޔֱ" .]F;͍ؖNGk .iCaٙ$Y)7+3ĂmÅO":A{*\]RkDTC%tr EG327%HKr/sg{q'!V,q1qHg6JIޝ,"+SeTXaOXk—NW SO_ NI, @'D@,ѿwn3%dm5̈́ yHrP$Z%īB/F#klqNrRU +R7'pDc1'"i0OAH[5;B6QB(Wjuqw%1Q* +Hk +n>&,zA86q+s(yv׈r<v.r+r#@Y)=ZPcva"s+տilKisJόM/NT r ϊ74S;O9r˳_tKNarY ]vc }:|i{So=Rz+d#5K+LړOhLpߴ9'0zRͦtZBE>EMHM.kyXM_m:xPwxy6TOߔuYIpn*ZKGGxInz_x3ԘPF5 +GRp~=\F`?ƙ+55XtяVFۈtãVk;sbqu9gE?yOU㕔glр;uX}Vתq<˞ddaX#f"R#뱧d`_s'2 z5WY< |-7͏QzIcix\3gOb/՟wE߱sPWE?Q}z1tHK6͝z2'56 vÆyHć,Zqbzh$qll5/MBCh3*giH׭"q -yb=¤[FQIVX 4#req;?f [c|Fo3Qv:YB7Ϛd@b8qaR@@sC%Vk2Dnr>b]E%3JXvqo+ܻ =,"G+U+rJVf-.h]kn +ma cyqd9kY.eF7\X7T04-'k/bJPY +]_ Щ"v~:fy톰(8Bo}[NpFUj(5#hSeG;%&Hp'A ݼbo@5#MidOwBж2Q=|VԘ 6| +˳uC`v?oph_qbi8cPcV8Vt}ox(5n>|~jEunUCCn8r jJ*@i~C(vCR;qR.߂$ ( ղ0X&d%7'e.=iPŜ7WZzvrMȣaY碉EX+ +!O%s|g:k:tLԡhJ%HlXR=}woi߳YN7}" +4e'.!'N' u(q@c꿞8>iAh{ Ye]E׿*x=rmߨ% m ĽeE償Vpɒo&vT 4Nؕ +V+~d/ g ^3"Frt?tbˉ^rR3EYǬ!nzq>A{kbTO jn$M 8ߓaBQi W-(!mM" +2]eȑ~́_uC܅8O0xCGVOݦT"(u\.=F͑)K{q4V=$)Bl*E9 hѠ hA8-Wîrngj6}BPc;P@i[/(PM*T(0݆,+Bg2 kDBlùd?<',u9q#2V63ٗPOLFEfI4rRDG`C-!uOCwgOy_З XNp3z,ړ0?uMF){k(/)8U)dN̄5 +|Om燄CAོKy@!jA>G ̙/'(g$]uc8RUі<8t-;+ +F&_P*87N{)TKqY0Gd‰!pqQX9#@U:X /IW+GCn>oxl~.vV* +`42%(/-%r` ɷY'/yi㧺d}$ur!FpMȅ"NR{VvKf-?}&,@[Z u f:[03m͖RyTz½ܒxi%Mn4C1i׋Ky]PdݲS?&6)?0@@Ue`Y8+22F;9)[&c,u2m?>rg!_]uiܓ!ӵaP:V˚Cs@U]eҒ .ِYS%k=|I¢=Io$qG[I.|V00.? <ZC +|ڕyґPF%nCvqV(2q$2fгLo)pFM`<+5ٕl5P%U迎ԣ O&BZ ̓/.I~xT'llEچ QỪE+nf-a +1)f í3x)*EQD`ȕП%.>P p&QB`?<3;P' vNԏHFLscNQLI2ZVwJPB4`gw*1n&SL/l5῀~sȖҼnPW(i*iAr!8E +P][ dp3 +h&aƒu\ wэ9%aj*2S:k%m%IuqRB@Z8MZ{\~xXL@# f%[Q yNF=L5ءc9'k +mÁ-s[v /L]i/ْ2.#И ^J_Dq7wfDMX5jIJ(6wUsVhIT䙮3 0Ky'c 䧩'<-د:K`h"2ɳ+VEߗjr Φin|PfFǖgfIW3nTRm* +M=z/("? zT3P_pLwe>6ɺсC'$ӕ)Wӄ)3NѮȏ + ~3`mV`G|a0͡73_48r4*粡ɚv&SJWu'yllD(#D)$p=A.VDvȥ_Cׄ`æo^7W"]R!bH_3)#$A%L,,A3jH<)j![yb i+ 4o5+܎P(2M.}mzYZkA:5mϒ#q/I J+߯m&UrSoZSeXSSY$y,H$Ba)AS +pXŎr't+!XҬ(ΓR\+xـ!-כ}^Xt/I?A!f}1<%)I4dUhUk ԐQ눿ѯ5/.\dBTGAm!Nz )i?zH#"|DBDdn%g.a9|TFË>1;!^oM4=ryPf֧7+eq;nA܏lJҺ[KDq_"ӈ>H{a+*)cSQ];pK#ra`Uwh K#W ωJl,Ÿvp{$ӾV38Hdbu/ba" +,ofG1\d&omfBfJp8:JgDjg16Dz-^BMNNd{Z"]B>J#/ƛN +:xKmlN *~8SO&i1}#@jߐw54?NwC0qUI@`t=(!P˟z Dk—J`lq,%GO'wJ7H4ߓUcZ]b} +OrLQT_N ˈ+m!|XH*z`#Wp_ə?[M}9ҷ|m5I_\2# #4Z&*+AST$&o&oD]"v_\7Ŗ~GQGp@y>,4ȶN[[,^ RЩY̥:z H&rHH#AჀKs)@ˁEE}^-l'⌃s¦[2K\ЃKfٖ*q?hҳyhK0:THMuZ1 r8.#]pb񐻏=؉OHhx|Nʊ8RGݫb)fV+g]xcO_AHhEأZ|'j4qPNp? %g.Lb.ikjd.UD7|k_$U~Kф(ԠK$$DO:.auW~KP,¹ C_< iTb©qf re WtI>B_.RRD1q\$H*=%J۽ m}#{941)(;fw\{nrz,0]¹e w>1 "O}XKiVޓ{A"8\`|b2+λ%ːX'lq(k ,G M,Puzƿ2']֨͡dtd\rU|p?0-FGh5jy_YC_/dw#-lR_̑ڳe~oc5EgFcVi -MUa{x-A (sxy 8,qȎk'd>KY+ִ-\6sk.+@3 Nz_ o +P?.[.O[ؚ ҏh_V5'_/D6L54{V0pVxv@ }hnA9E,Z~ctNP8x$ګ?ȡcf'd! 6~>@0=7l v8fgE{6AG#BcbS + Cl$3D~o]:t>ubټM{P`6w@ή&S3#I5kp}lat,T} V 󇕗\ ;%'Egl o/W8 '`5&oSJC~Y9A~I<'WqP>ƚ1C4Ş%oO:#ۊDia9Ϲk9R_`r%(wT(ڜS!!hUDVc)! e*m ngN?]\k-?6ڬXL٦DJ#d6&&3'LtNF}wJңZ庶h%ӕ B`:ɦ4ӡ-bdeiI WB&>bށLD /A^8Z >ú]~-Ւ.L];0$W¸53xxY(fѼ?Qs~!]*[½P H5 L m~"a͵8?k 9zxC9?H&Ҿ}t\tx%A)Xga$yap. +n~7I(13FqsgKk\7m2p{(h-] {z07_ז=TC/GYq#=gpSZ)lA+1sWis@>P7T/V +z2G/UMɛ +E [& _H~eCFv4+/6 RUoCB1{m -\s'w#8-$ٔ$2i%Dd񿣎bO_Tξ ?C7J^>*/6cS܎92 ++dcúk} S|CR.lӇз$ܜL:3]$b[Fħ6uuӠod8Vw~X=m,h(, ;|!v JFyBR<_nfm Ȉ+udp _kwW# +|Ҳ:tֹx[=8%Oc]-*km@8,H,(AH%5 V邐 ApSZgbؚߊIX]!tLf7ofLj"]J>rGֱ_ԖSiiLrL8$+[eAanI'p"xQZک6arΑMž_ +,4~Gp+,fx^D B > C G;E]QYW7~h6.격u3i! +!x+$?']Ho{!lŁ*uQOPOZ@spgzS5~^cof>у[ґՒZfa:|6*Yשtw+_=cc74aȵ\):}&z߀"ƱZ,Vڤgl;3dKs8L d"݁8)*fU\/ӵyC3c1:[𛺀طSQ70vqH8Exŏe7:#1lRTjI5j,s 'Cv/4w|f*-y)DnjnEQ( +qݕbw7#BvO*c;초[tؠ4$%tVMDnyN!Vn'uf&GZy ~=Syf/ɕޘ=Ԕ\\|`R΍5ow<9Q¬›AGpHG;FunדuVmwRcFҬ1wBxf XIKɍyE+Xv%[(SuQAz~L2GW(>%l,Ľf JR&tTQʬb'|:P{0}4ɖ'v;$vZk~%v27K + K5: ާOWąmRq]deNqSeۣeWiGGO,"ԓE>KӐD0^Nu!P&[2H-H p׌#ɤd\{#9#JW$fKH*ErBoo,JH\r2SK[ hf4S:FL#TYO "㓷*7ŖQ]ˋ7>RyTt:]cY]10cq6BU! V + CI&Sz؅mpit À%{Y]-kr.o̯lS!6N0PwO(bP>+brY9NrE&a-dڶ^# 0M~_ +h}06|PXYa͐teԐ"VTz>Fћ;i<".JA߰ +Odk8OeXhkzͮ"۟c}S6 k`]Iqt\]Nyf;i?mkkpԅ%"&G$hk ʨ;o:oe0.ՕojTGt.A>YvVpE&UDg&7zO9oD u_D|A?uā`\V]Ԫ +Z* J]K +Tp(YA#L&L=d2!RDza(ֶ޷끮ODoHzKlT35|G"֋OhϴvW"Zjjb̬}C wU1UPw}KC+Kt"XIKz2+06(Ǣ)5ՋapF?镑6q-)yYKL*LU}4^c}1Fɼ- Ts5@K7*Hg:L'T0 ˠaGym&؈acy]@c [ +a)z J21{?"n鲸.*X'C#-!Qݏl4`ngsA:m]دjU8 ԁ6}@d]n\wbP+#}XСU(u1=W_^QuUӱ!FW/+TGes-fʯv]#P iGE*ydgW(7W=ePafE ݲ\+y{o[ΓXQÇ2.7s_yNd6%sr==59C R{ꅼY>w +ZDx}H xV$[ xYVCvfa3e3MC,~#i}ZTf/0z0X"~oB]w3LTAy?mScMĘ`?`Kp .7oiZa27 +LC7|S^2Abr `*q'QSLI$M&!=Pxn5֚E,^.eҌ4?e܅˚ɝDp?nIҵ@dQ PaT #'7JmDt'_ s0tϐl^1RT7>C/"[Z}wjۢp1T͢ ` -/ݔWge>c~tMM.QiT!M-um7VJqkc 3]@,fQyVj +EOوqᠪ:Rf%u^, y#[Ig3 p%GoD)%tp3nyxb&7KᗶTMr),"7EU_!LqVc)|"S$Y0$i-)1qmۿ@oG[xeǛ՗.1tIنN 7=r073hl*^JzrqWmuTuJ E&qLHtGsqSg6 *M +uC=!d0ӉWySJ,gC.h-=| 7|lOw}k;s8Ra~jN*W^gԠwcu[*YL&sg"R*AD1L4ѫD-eG/@Oߒ;ucDk(<][`^J?5LB|6p3E÷vB/X ,EX$\騧&wC?9R; #Kww>w͓mvYgڿ +CNqM2?TY + QDEā;=K\s{v]ȿ(v{Y5}pݾ8Y>*hM3hbeDcMU0W&Bގ,{(1(_Y.ËLY T-2 iWS@-VqBGs+ńjb@4( e˞e󲑰((R UDFqp9UZ2.-a=s;2Gz U.\$r5\bDZ͸i}]6QAw r}^pVឈw*cKiǞZ*L;7A<{@pM(vAB9Fu(b|,M*;oIcJ_5r7'5UCX}Z{PL1S\Ԏd&W eCjפ*IqHJ[b>\6+K%)y6լ{M`l0K0+o&3@>[O.v?d_Q6c7JW +fфfP֛GQݔ +*Sq=`-\dNM@bp;غV}{լJ6{)^>Zڙ-}c W]%^]*YӢ\ +dgrDE6?o/ ܳ$\k+~G(Vv}b ax 6震ddnWIWv*Wge+Ȳ+8t$睟Hm)$}/ZUUo$]\knUdM|Zd`*5>'+UTY +B;(]ĒQ<"pY5u D4Ǘym`?"6qIc-467a~$-8-h'n|!vHccɖ`|IrKkOyд?DoRcˤhS34N'4tyWKMxA6Z@Ƌ9fB o%%KNK*˟aT/= a]oNa5dj7.[ɦ(/^.(c-a9uP]\,nd!~'KOHBK]#wHbu嵎oODm pdv56%ӴT'--TLtfNn1cYu7+'Eq-ARAVYX8FewZBah/O3hTd+Ø)9+LE +oӾW$qXlsIwkLzbwgH(6=jGI@w5 3Xf0Yj"z4R2N[Y.%JYCq}.?oDŝC.!@8:Ǚȩl8ۋH.NWg>H* +eE>-DQ-4 Ai +ҥ )L2$ɤ7BB,Ǻb;E +~+;6EF"DU<_W8kW7']˾qpٞ4sPTi zTYH H93 *1Rf NULW`!N1rDBՠ Ļ+d[<1s/tRpcXՑ}q,&oSHV0<>CZÒF˜_To' +*ܙCH5wN!^azRy[ |r:Vf o~NDc7$m*8GSE|*!B0 &췏 +({$|e~y]ta!-n[ll)4?h<*ŽMFNO.f~el2aW1}"~ɔ7W>$g{宖"ZS +Zr%nDRkCGfz\/oX燲Ù# +lc<6 tƫXՆbٵ32bdȭM\MMSU y0#xK#ЗB ]ziVqeWnwu7 f/BCjGfXVdW5sñ U[r|>*;&E&1 n!(f}W;&Mֶ2,1g733 ~MtrJz8iBvJih!C~s`4H]wfL˿L9-j̜!+5х%jnҐU3&$,'aѵgpw'lík*mw] mx8^{`Y֠nVVꞟHDi7UqR,\=$["!OE!%6Gvzׇ($ؖ(>X7vPj5; #cY4 tcʟ4#H)sbs #b*C^]=(?UuMHö}}2ˢ>2y5Vڣgnl7eY7kSSvIKb1\!@!rAB'./$'p^Ldw2ș/v.y o.9eY@ަVTN9*ˠaG>1_3t/pz))ts+e dD Q(Jz޴q5Eer4u68Plj)sF%^[j;WL_ɳSfhiMi' Bbh'4^d^`>HAq(s+ x3pUZRKg1м¶HFYx +9՜bxFRL2/&gkDo Bw|f)46l߱rf,c_2ycXeP壀jI4Aڊ8ԗ0ʓ(#k֊SEGņ' Ty/s.֔le孀n^7WᦚPHޟKD@v8×<0ʓB(Ň9ٜ-yhr۳FlAVe%R^W@hPH2@Лq880Ғ(i -@ugH7yhr;k eHӘX^eeWhPNi3H2@ȏ3870ݒ(ʎ ^; +g~H5x%Er/MkVd𬀛`^eW$kPrHnI/@t80:8(䍸 2Gy.U~| 2xQqDzk1ld+q]4Vإ>OסH@/@8=0T(` F+<~ ڪw浣q^e.j˯"d+ܡT]fiV[OfH @hє;8f0쑘U) 7 ؈7оٳF˰}4wugp#+jaܦcū] 8V;OSGܝV@E80R2)ʋ M[;} vVw.pi8cbLj\գUVO͝GM@!F8oo0)Y! ||{Œ|u@|oD|hӸR|bN}![}|T\}M~@F,a~>y&J6.S&́k2{uco(E^h[b6VX[zTMFF>m6l .I&>j'd݃Hrğ{nduR*%nhRb ܁[S-T}rMF>WG6~7.AA&Se^ N$ ({$хu n:hHЄ`aϳ` [TJMZ5E٤ }>7ԃp6gq.ՃB&Ǒ+~9ߊ=ÕzYtٽ+5nʇhc/aZIOT*M>ʅE£H>%k6]".oT&ۑ@ņp!@zݿmtngWh%auZۈT"PM-[E4+>6\.Ėl&"Ӌ܄P©zht9nLގg|6a|WZήgTME>F6`Iy.ԕ'vՆNŃw.z|yt[]n aMg>aG1Z0S٪42Lk8EK >6Wۈ.ڕ1'+Rj.Pz#:z+wtCmǷ씙gp\a .!Ze}SLͥEm؍=񝭋6Op.Ɉ'C-[ąĴ` ys˺;mg-+P`ɰƔZ,jSxYLEUs=I&6O |.e'bH:tg.y͞~smA4fϙa`fYSJQL/E@=ݜ6U/''憭1Rˤ'yZ=sGCHlݞ[ftn`FYTSLcΔE*=՜d6\O?/'ɉ񉈇Ϊ/y :slfb`YY,R4L>kEUe=Μ06c/+M'ǎm7 ,zË ~Fxjrll7f¢^_IYCRڛ3LD=Ûܓn6h/:' Iهτ@Nv~Px[Ĭ{r^fleDzx_lfXGR}-K磿Dڟ=6e]/B'Ӌb i}ޱwcr*kĵ!ev3f_XRC>Ks?Dg=L6`/HrQ( OUR~4{~ uƣ}oN}iƿ}c}]YY}Vp~FP^|~Iz~Be;wm4 Ȁv,ԙ%VY=߁ԁ'{suoрDi60c]E Vִ1PLYIB;i#4],ԙH%b6c_L4{uŎ^oJic]p]$s:V2P0.I/BH;Vm4낢,јۂ%mЂ(˽`{lOuGopiY*Bc3\VMPIo Bf;@3s ? _nT5$< Fm6ʵbxj̘s`8g6;6imIV%T>˵_HcdOK}}nx{;AJuKR{q'b.I uL >.`}KG~GwU~3*tJա0L2^kbś,ֹ:LL&&W}cTz53|'01'7J14>i'QFKA]O$)ͩ"D&}3b&.,&̔YF 7g< Ncb+w0{$*8+}tu^6+L]yVz:a3fXQYUdvMhK(;*؄ǖo/lú8i/ɸ|\x%Ns08xԝV FlQQѯ 1^-um4${t46Q!b7'0: ޷Dtk^v<>~V'+> mpk V/XWC493)xIPw:2ȦͤɎKEK3ֵ~+|F\e)*h'~Z 讄[5jO]=gn}JV9J~Dk,D)%FbR}ǎGZkmS,gM74ko Wt}QMa{FmaQ`X?mԌm ~AmR:8SCeqVMJemqf!8M7\ F} (e}.0rpK_eZ@CTMJ֡d_+P=;8w!yWTb/\k{}m|B86:il wzd ]]64TE[0Ϊ+bEEJ^NKlq%9S/=ECwkhbh+^vGo=EKP8I4? +(S?XW}94`S 0|iƵ؆(k(z̧; IK=GN!hwDD.9jɇ{`/e-o58ȓ{7(ݒ19crFYs| N4Anc#O"V*}wBL!7y)g/I}}@|S[kN *$3S.BBn3/< 7)pZ1z;"tK/E {w DcTw5h+gt׃8L|ԂZqUHTA[r3Ph%T{r +e_t9GaKs)CNMt'lj\㽻AmETĦM| +tUx$Y]6 ,9RXPpQHNnf( kH"-y,i2iAIډer(R-p&TJ%8$FTU첎"}l IJ13䛤. X20#3З_ =1)}]3Dab%W.( +2}N5G0=LxgmøDo.Љd|QNj"`SI )3n(瓰Mn^`Iu=b Նwe^ZSQQIv}͓R&D$!:n#yJ+arBk|B?aN]]16 l}S75b  +Kq +zqb(^K#V"l3}Mmv$b`-Ydj@G,kNdo:. :_`a]'5/ t %E{5iBs]KVr#ȅ_5@0x[?ֈYT c'wab ʦ{W5wl z0^?qXm H&NI2COuidE΋ޑff6tsv۫X@%>)ʚ5ankE gcDXvaT2\ZĜ6qqʇ&Bclڣ86DZ:Bcp"àTo#(,B +*?QPm0ic !|9vGe.|c 5F.C1'Ҟ R:8zbh,m%\Z6*,hTi5'м]5GKDHj$V#3ƅPjFw >^g6Ӷ1\h?\g#c>˵7r''M7SQ2v[{?]};(f +)q*4>(FCqnJ+?TpCE ΃k/&Z-y+MǍui[QF_w§98p3)lC>O*NrDߥ%Ϩ]b&ylDN~ H=v(5]u04HU TM|)V&P *;ѓm?H37P]7_ƨJf+4Wo󬮖9+ʋQT|P]IB4iB2ŗg*> +'mq $yNڸRVuHh`(,&gӥ +  A.tڭP1:Nr*ӚAUCR UrnO}>+ן.ҤMN`XʂD*j/~4-wCAarV?uru94xj{2yz ~(=XCi/h.$ptBuqz#GflUFy|?_LyvMڇ'Y$޴-2!u1 +XݾN 8w~ˀGS;A|#4$ YpiB+<[0C7bLɹC{cfYTO:/,YQu;Κl/?X3Xo5 +154qBt2Mɣ Osg~gN~t}=T*-Zմ^;xxy_xqNO/yV QlKQ@G# +5'2IHu(אm,%3Q; s5zUF;Q'֣3Nv.nǣ'nEk3ʿM岔6B&OH CRV{A.QHӎghs-%v'KSĚ$ek6N{}%54Zc'2:GB6= +CeޞhtYI9HKcWçkvҍ3.x@1<{JG%N!DE;d@ ZɘN8znCp 2j$6l!T ?fI6~xc=,4}Ef"KH_–H;L:`xŽ@})m?Ґ +ωO |[J~LDÅwC|q3ڟk]3*]jETƉaEʃiPw'=. ř8mhWPȒeo~tVj{H],[d 犽{`sAU(ɝWIᩫ_~&3LwMJo6qc);i*VWc֋oBۏ~MKZ)2XpefC3gI0= @*1TO +RmAE@VB U E[vdӺ/}FgQԸMo2t) g[2_|`_BTÀ:?۪l->⒱U(kQ2i;ЭD͒JChrc./]gTWSE^ۼs?i r7uU$Ћo6 6(~3{$nPrCK`xXki+@ks̏ ng%8VDD.FFa;h]OPᡮgs{pn0l1Lb:Q6U-,O?vgsv93r$ovKcg"$¯uX F4a,4kM­9Y5h^~Qf"{>eT#+"!$ e95hG Aj39P +fp* dlIX@W߃7V0ӕj%̠%ƲăMQUC,uPNm !/|RZ%"AL 1M +d [tYCdi< J}+kK*|ӓDž/Ez»c·͡+g3"xR\s̓L:QD.3!u .Wj8"4l:P%7jGھƶ]_ ZTs- ~e +f֐ EMd9i'fVr#!cKnOaUAZ](U;_gicI0`O^~|e^!u$ 3ϒNM~ !4g *ZLş,{Rqx{}+n97m/WAZ`RgJs.jJ6䍜,"LށuWW/$,N_DSy[#QM}mliC%o3]Pm Rw**q>ZF2E~']I\j,/ +$د'A~eǻMK[7fNtxƶwf-)zOڷhPx_~bQL4LDld;aVGޖBtL$ANgV>FtZ17f_u*7۹v$rܸlx\)YMFVRc.{kш.49|,7*eex%W'-S}򅚷A1rl,DĜW(!=@9{+>BtUHA8lWsw"vO +A=&8"__l# 5k@Ƽb+K !>4!D;Pv SD2 7B%ٞοo5UtNN!vKd7R}xƈ8.ރ7ELP~пy9#2T<ùCqţpabC,[&a\!ie+hͥƙi)/:(ë$O5(N÷mDքvJs,cb')zB_D_Lz-8*)ß]͢RIZC:cp_A2 Z SЍLڒˀ}t$F󕹌JBoSߦxT1QJ $| JĒu  +ɘ̽6$ȉ1lLKh +I-eM"D#'cAӀ&ԣ*B!!4pG7rVp;̺*MqCAGt_T+AYGoM'FчIbLtK`Pf9l3 +KIM>.WS ӊqY?py5y XksH^\Qg-HEAf|{_&B; %9PUp2{ϋ)u>iOڿ"T 8V +ShQ>v ZL9ϒm Ć^V䦋-DP. \sv02m ZfQ]؅p9b³Y{C}7(Z +n:n޶ ~Z7ik-xٟT QUKoa?c T;TZlт;2;o(6kGBYR3t)rh@Vap\L0%q|Yޚ#FMu0⻆5 +8_˯εCUvySX#630L$$@f.3Oz*Q0Ӷ!5i7Fj;u&w5)/[NSv7754ڛڎPŲxtS Y=@HtlX#<πpmN# \ݜEH5ՋpoΜQE^;Txu/BlS +h dn\+آ2=~UEJn(g.xWoP?{EQ'dʱDֿ=rؕ +3'BCvA~ōbWp@1 Y%Ф\TbI7%qW$*Ҷkq +xϊCrX-]z$2> 7y:@zT˸|юHy¢ix0Zr)aO(EFuzj ȽUsw<$8F>SD;11imFsZ`9{8->Zy/]:P@s䵔eCVJ,~LDmCj$IN@yDxU4{{e4|`tiƘX~ڗG}JWߦ % gryo r6bw &ڣB!;q v6W?\KXo &4'h)fY2B5M^O"d?bf* ObrZ/_qa&\q*?!D(9ovǮ,ȻlZn*XۦZKb4ѐYGs,qT1L=Xm] ~TIf@V]ǵ_k=^/3~d0  xOVڢhQf%L< gOpCv|d(v/sIp(m/w=tOqNl(E x\+6k9V W0MUmR23%Y + iY8J&:Xn,@{3NFޤ~r?lT׺(AgBy4a6}&~w.Ts&c)y"KFrP-aU+] +BV|").Ј<%:&9uմVĨM }40ƺ,w܌Le oJ1s Ѕ,{.} dP`em$ױKQqj +vk::u%mҲH~s&2j2%xklaqo=#3T'~1' +'| +XK#JMhQ)˶!G=o~]s5tLMt+Nj_Yϳ}b{'G?񵄜rsBMD+FڑV7.<*dh]I qOg'uf(/a-oɹh?gBnV/J8 ,| ۗ|< +n>rWy 9Ǭ:l6AdHx엜aupn4fr\hUΓ%=+Knxs tRE8HX_d ݨأ{Lˉ#Z)M8+4drCǙS_v/,>I^$l;N$J5G%h,^H"{"X g_|%@U^ j7L@b;^2:V#T>ΧQ=d,=@iO@X4v"` ˷v"h0d}s: + S˶K v +gAf:2(@Ckǩ#ۓRp >:`R0yftm`okQWk?5=W=wW4+ƖX*cƘ4R y-ʵ5,RxhG\N{Z1 $N 5 kU1* \c9."%JW١ʳqQ tD:s! +g6 #h e֬pUW6ו}\ +kao GTQF+/R~Tsr+ٚЏd=։Y;OML EXA {z; oJs̷ّ7+~iRיJ^wCJ+.7$x&etd9Lw{woo9&zôb@ !P_,qkDE nsKo +Ɗ7;z"?Vjg![Es:gY:Gg|;FaNq;)&67"tVp +Aw[<l){ץ'%SE̵;T| +\A*M@bRÈMJf^х֊:k& `| W@ݞe5`k*n[q̲n`*&r@q/Mc|Cdu/\YQa -SwSG ~ +i<;-}xs-zn)~cȊ^%W 6 {Vq.úw0,dqN{ɘ2]^$"?fѕggb?LBlDxֵg,<3xnhKi.oԉuy?AaUף +hY"u'#//XO8.;;nSiMR w$PY֤A]&YF_x' m2Fd=w7gX3"E?iu91SU~}ߒ{%55o罌P1]l%]Wэ +;YGBրy  +tHG,HnU_YH<ݑta}\1m|KEbGzOrd6".'c;%6C?.TiLm@M ?)e&Rܙ/UvS# v3@|3P2^:"|X6iן͒P{A:?㿪 :n5XX@A'01AAY=t  +j1\M[WpOF8uU{J@ h] CN^&B VY8~O)Eh= +O5oAzLhz\1w!̗ 5VM#N-4\P* + +>?cwu0%p70]-+Dg)WuW5t&YQ¸З0?!o$G÷hds9 ܭ;l;*>:+6vq'S]$sM; ub:M5X?e"5}Hߙ;L_Nu'G_cgV@xPhf>hzꓘ {JPWqLn1+/2Q_IxCIO^}i |*/5CERzÒ,pYu&EUlaY̼IxbHm10 e6v+T*s-} 9ޗtJNDSaZO +@H^@/ěe_Ƙ2\JLrp@ܨ#XϚlqdq.bڠ^E^DtOfY{zc2O\ +U!Ai>NhX^&$Umvk/&3ޡwZCNNyOO!NT=0&'5Sw(H/I즩"Q'*M>y9$]W9Mc:˪Q&+'Zmۜ0*z +{f8qD"HNdt'؏GJڀyȕ0n^ygPVoZsPM/3p ӦE>G*^beE:e'AaT*Izs=&)eRy\nC;Pfmj$@rwY\J`钄x-+ +Lb yͽ.*0KilR}6+8ᴁc-:~+S'0k29ҞrA.Kw~;lsȏ2zj\# H@Z귋IWT_rKOKGu mMԡLxX}3%Fb4!Twå|}a{/G1E 5Eҙ#x8bĦG3֨K[+'C"ٲA9UiJ tO"'.XBQ_`4u[֖.W8LfmcK΂ Z=IH*pgB]([і ",k"c4b1US{f)h8i ۧ6[eׯ2jɫ٥Bl9IvK4):E3u +/^(,F5 `dkC}i-8LspCʚc[,a[0^%iˀmj&Ojwg?kצ%@zvzC>N7k˖J^ -,]@!ځL4ݘXת2e!5/+w)0=;p<t%NĬݨ O:;Ղc͍)Riׅ짒.AοPf;52%A# [ "~5 ǐPLbs鮹<9'Hƙ:ڒR?\o$d6݆@lWFHl +oY=TAN@τF)R BY܌}#m# ݵVgW`"7X`9   OyTFv̸D1G7Qf|_7GE!0}u/IrA`@]*l͚k ZR6niF ˆy&k{@Sr.x8EO nVE2,2EY2B?????'?;$a+gU@[Eػs[E XYi>|E +xB\}G&3zĽ47ZLI 6OF;S;aMR< SŭFvi,þNM\}sݵS%|IYGe0sTB{` Sx9RԣԤ!Н#87*<aR_MqvV5o=]5D$)znDdAR$)VWFx#,x@4 D w_w3s_"ӑSXaWnUΩK~t[ƛlt9;^99;GimqRsBS!gI񪖗h*^^QQ՗ѡ;e웢ymIRUe]WvT_쒯%У!74s]xq{͵|Zo`u&)E)92^6&Y ZK*݅[*$nmRVB7[=TKe/( dr%isZ&Ar3N>nP,="CeNz4I墅ow^? 5}L q+*S+d rRtQ ciYR\*]&(-;HzŁ4xCl׈;ǐL3˓ڌg w ݚ+% IuH:?ՓLlJv▨wDoZ6GZ Z(sMl|#|'lޫ*yax\]@YLPolr! FS 2I* :rljˁwrFDݩ祈^tZLxA :{avGd'E +bu)p%U4}&GI֋m-۾{g{En/+.Ŧ>B[GU[tX ׉Wq" +*URWiV ,DrD $$drD.WUA'lQJUjuY>R55{Xvd&/yo]oTϰU-,?O3L^0ZYqz^s)*hZ3\Y 8=QY_fLޙRG%F ǘvm0!YY}̫ٚ~󽨹~B_*ѹMRxYDkYk &.0}0[ň`*V0|E+?f%ah2{-IĈ5 +[4RJ +s&Bg.;Ʉ`棃3t%i]˻֫ے)}1K!`!x{z+=*i!Os0Tvç,A"c'8H(]X jw-&cr"{WLm D/Dik@#Z֐Szp`8N>?q&0[cPoa +u7B2k^C]O~d)hT'CoZ+N=0oݩ!b= +[1sR\{ | s +n!* 1D +gY4Ⱦ]˜ELC_E őy=0aP9(Kj]$bwxtRp;tqi]P<&UuϒHDEؿl#̓qx}W~$4Ӎ{MTR:UIpه{8!-06{"% Ӣ"^&):͝G() EuYc]PoiP%*y+K.,ukslWOaIy>xl-B~L`; ++$!"#⧈CGO>~qfCҳ-kt-?C/;"uܿ:2"O币*t~ʩ r4Oڴ3SL Eb\8$@ $ "\O5SFߛvk7SG5 Uw{q[dCN4[3#wD[JHB6[AN$_F ^ E8 "p 9>[dUZkY_)eU8[ݠy֨b8)݊YtLaHv]F'xS[';]f-rs̑J7]sʈsм[Tqє*9Z+$G^"*I |[qk-wjs\:5c3L]3vH[ ÃLss5m,)$ߪ*q8!J9$6R-3߂$.{TqceNV>e?ܼ +.j 9h4MM'JtkzݧfQbD *{.IB}D/]Fz#k[:af +`Zc7NMG+#Jl|H1&>c',W јEk0#0_Gm1r?l`Taiglm0 `*Nr3-ͥ_ۦ1,֤:J-iY#<(OR0Jq,eF_$Ml^`#p8K&pnp[?RɺݔhZvp+U(0%nr`{Ea6Hgj9cgWsp M_'yrk]Gй5j Z7yxޏquVFfLh%#$pe'}azOhM'ȼJN9 2-n]Uk51W-s]`ը# j9% +QDEMaT>j8C 5` 0]x'Yz}JnGז@~ ƈ4reGce/ae$#T8!<?и1p fp[cY{{mOrg7Y=eo#a/:?ܛH/Uqq]iɅkE%5@2#mJcɹ|\,e0: >OK*͸bw+m]s(B0uc;92$C!QIX m'}X;x#[› 7dc|ٜlM31RAby߈zE.o.zy?4* +8<(1St)]'OĤku- +Qr:uK +%qq'2E0"$?|Z(j +7tQ ߐhz*5):Ap,+"/m ^jGr'Ruz +~#ab/}#lm+7C%91N݄qJZQD@Vw$Ym,/bSU :T)Y6-"Cdf/[`GӒڀdhxNٿCκڪ38wWUY^G"c?dY۠kcm[d9CDQ* , f)-8 >l#gM;ͮoZ;j⺖jQԩ<2)kI%?7$K'53 Lh=i_Yu&x+KHsi}uwIG RvCS*l9a:/ȁBMtf +8-- B.n +W>` =X9orCFS^w[fPM${K[' k L[Npv J'ň$9B)!6 Oj'Ah* o\5ZyFgsm\Lm+?f! `jZScL'E͛t>ו7+/ɐ,(P /z }z!xz9r;zTl_ze׶z_{/Y +*{Rk|7K|DV}i<۟~5.~-"t%b-NqO}}>} w.|r!|k}e}3_r>}WX}RU~ K|~kDGw~<џgh5+H-f%Ց큝/ŀP}$wľq߻kZe_BXƮ>R-Ku 3D* {<5ځ,-Rd%瑛Ќ*?}=#ow{qkrۂeCO_Q!XʂQ7KHD.Ģ{E/uuoiIc :]jƘ|W?PJH 3CQ!2<>$55;. &ߍswzz\u5Do`7!iR'c<.]i8V۩8PO9JI }I{x{ rS{(l{5fS{n`{ZO{Th|[N|G}X@զ}9ޢ&~2\+$x!R}x~wƅ}rJ\}lpF}f}`X}Z}T[~KNK~Gq~@ͦf9١2:r+Z$>:}O9-wr+πlJffeQT`r܀CZqa3T@TMրyG@9ˡE42ȁ+큷$Ձ6S_}ȱjwjq@l94f5͂`F]ZI炊T){Mӭ^rGqm@3|9ς2R+×|$i[} wӇ[ql5f-< [+:Ч + +J,@ BU'$V{!` LPDޗ5K+-p}"az) Ψ̌2wa hn q A~8 "v;u8KrkqyX'99Mտ+(Xe _cIї4X>OTmKy&tdҁ{2A)bRvPreF[%vO +u{JNFมMls:Vkr 3 r+٣w7e'#>JX7mc\yGX\BNUB4ߋW)֡ +OqQyFvTvwf>S7N=y1N2mr^kKIRǨx@{R VwR[ښas ~V }ZE_,NOuϘr5og!Vq?V_(WGjvcIR`\qXtHtc(B)`P?*#d0'ȝO` @SuGH;pӎ+éZ; SxKl4h+ ]e f:u5kg_6&bmQwEU\(e0#(-.gwQ)ONjg<[ӕ'}}x1t{]֨}0UCySk-E~nکJ +38zyN/X Lb^ox,oJ^^~0cWXgjJ)Yܸ0Pk]UkU-/dU 'l%*C6Q&[o'Yžޣ-CC15PI8.Xrt<96[NY?h,ou/#Z|!WTV?dH;iպKS7H<=_rP˽ݖlB9okMk\MFيV&f,Ĥ[JDrftbM%N\T`} TŘv͘bW.E D3XQ+r{Ӷ +M{yA;x'0s3>LY }u$d Y,(؇dxӿB^ TOi8AىDVS? ?_C{FTÍ P)d +UTK2NO6+? ~M7h͔pLMnN= 5W]^Ƈ0|WYcտ϶B)*KT`A@Eiܹȩܫ$7,PT q8@qFܥI `έ{ lك5 +67zBn?; G0koa3#bϸF3|Gog*&Ϲ(͒O)uEkwwx*xԤ}ḱkBiܸ9Pw7p qp ,Fx"b\zw\xrFq|$ X-SsD[ .`QF!~dP?":¯1rt2 /dFprJ@ +"Uc(&mNefF K_ܐUʇ@_) (CDɩMpi-?* GAad4_xD>X27K-u!?3?H٫0m0})O +Ͳ@PY Is Ziw!!Sđ00;0 "uЙhw-f*D6_y4R1ݴ#|J+ AYgJ@8cIϨ&8RIPA-zH\GT$8ꨂ xߗ@FFd D q_P<9=bd'w|E`# meV bv93v}f+g^A։s.{Gm.t憧 Yr +BTӽ pN|q9Lrmeh󈽴V:Ж5Rs{}[3١e7{sem +BPH%M*>/hNIvWC'.3 ʑ6 Km8`kqjZҺLv@WvmKNrf]Ѹr\H(4UpA*}$%?vko`S'GӞŕO,X)m.v'a^rybgΖ k%wvQ'.>hN_u50"Ιq1d* >˺ܭ'd%Wޕne۶٬&vunjvošN,:m x72 nfn6Tr_6nlb꧱wؒG[ٝ:CUb7NZyewgpj/~s[`5$TRMv&[>;jIVm ?JZNhk$ mJ^ETCr)wi +;I:Mgx]^^t x>7XaμB`q/ʬ?CC`r[Puw4f4inf8Ul~I*&IҩHO X5#]7SĴ"ևWTzxf /ԗ mӡ{.l {+kafJԥeiʴh*= &8NCq+e1/{܊n7 llp<-[K1mWpFoEapkp%(O}|+<hqؿguŒxG8Hz3cDp7.X~oHmʚX_ONipA: +mLd-% և[gGR*V=zw]N=+C==*W0 QЀ$[E W#)ۂ +jA-O*?>o?&l.鮩7_Z roo5'ƉQDR 3 +B4+GOUMZf.v~hq'#`3 R6F j@)fDE pij(7T6e̠ï 췾NzCZGu5MQps4|B#hL"rjw}@pYkgrx@ RQT%h馼(j7j7e^F-fd|N&/OFI%yIU86ȖIW7G8#.䉵K8[W+KUϻagW?M8O3q[/M8qr9k4f޵_Gtw[iu{Hqbl`U9QmMƾ0 5½Ug:Yx]=+c;,qz/4C^Дuʣ輻K.kk2kc}î;wãښC6^emVP~n؞k  +J}YZ*{9'P2QO/u|T To +^Sí`mO͗+bбR#c@ `4;@J}J #k92FizO&+TqK'ZT|tpaF;* \`_tXQhkПL,p{S`笠}\j+tBDi+7%RC!]$~+e$)6:"Ȋ>.SL<0Yxޣ״ع+T Z\蠳ԎHvě'a?Cx9.'yBiVX3Lt* Rt(̮P +2ܐmϘ1T Q8BTpV8Z8F,G*DDd|-cdw"@C*Zh A>fI<,a}؝Q&|Mˈ(4@#5ݏNQߡ5dy8J.jz*XYndѵw.E׫𑂸1EyMPNj 25Pzgؔ)R(!IV@O}Zk-·AS5Ȁ9/$E"L$.v W6efm?"dZ^> 7N@"[y#|׵ij#DA %ǯ*ܲo4VDAPkh[jh+RxFπe99t5ĨCDY hf1}O"nuU<4vDކ-4;AQmd\`GHMQ@MgU!.?.iVJi%($vJ-wQܠoS5s0${ +7͝Y~kZ @=[@%0\w5Ė(`-=ل3Pa$#1s9V`tb'ڙLxoF?Lt$0J?Bw$9(~|.`w;qcPב\)0}XPmdÈS7. @=AqhuήvxJ(:DxgcT*=+rfRK61^zo&\(' .cFQ 9xWatNQ-??yXΖb!Vy϶eXGAbt"NZ&O+(DGUQW"LIk89< v_GqI^_|͕w d3[^1'Y hV"_M/S2eņ&؂!e +;T>j%\5۪rݔ򮺉Q'%c|h]ҝ:zY2[*kRN6IBHO ?_ޞ0}3m2h_dJNndt7f']Pl}Nj mSԞxRDϒ~I+BF<VI<6.>v;rfa7vsti7ЦOJ }ЊI͢QV=GHB&{HMT +ź,E.-;aGCx,8ә\56ʼ + r~) o2 2SL35:m1p&-RMgc_MAXl)h(%"'P@XEZPD@F_$v @IK@,X=`zUJ{Fbk׍p3U»A8[ heK^+s[y%JRK=ܿ39YRu{I_(V{)IW[4-NpK 75;EF#1&HG:r`Wg2}Eok9oB!$IJW \ k|;4mԂՖ(M5DHTpv`(0#Dt[| RXpX=V(a/h8?KAKO!NJCYy`=)A?^Z!nm*%\۫ᒎA8nz ' K1][OTq ېu'g!%!{mP p@  n蛦yĢI轪ei;(G-fHEw5Fd!mwх#MYO-T7BR +Kqol&CUuJrQ)+%;S +ԩl8bZҬv~19=;]wd $eTf4 td*NC.Gȹk{7vܗK+2P팣IvA0nvt\flry3΃z=C:JbD8IQSI4ZoF7mE71տDt k(z 3Q\X3a Z/MX2=S蟰Rv<_Ka,;:UƼL;fOGE S}B6[Vmx\s0K&*0,s&woUoz1EGe&A. UC̚n嵡S$Q+ċٽ%?re])𹠦|dVC9=T_;EJ8_.]Q%m(xG L_/ˤo6﴾}u:ïxrjO)*z!U3! ((KY S!DѫCEQbٓ}sO"Wj/ͧ=?fww#hLlubj'mo6| }hskh"4VC +1%,[=?xPK=_Zx=O<,\.Mj4}Kojevpxvl<ļ"ҩ,O AE﨩XuIEswbM&" E^Q2k4O_ꜭ[5-Qcl lt4BE&*Ʌ18C,{)M cd2.A;s'%{< 1ygL% u>elqOs˩gqdF9ĂAV. +Vש*@ٙL(:K|U?v$K>}E^3R_~FN>קEaء8_WQ&% DOaW4u]Z3cfrqUGlFe,gtt*C-Ӏ$gVO5qxRj'fŖ*j9b`&1Dmnj =g3푍ί.Ӗφ0f U2,"L(Vٖeٷp;X9rйbE8b-_怆,8;-zJBΫJ:2Lˇa&4;Z9R5hŸ4gqȂ)^C$q/fgn7md˨[ {~D/YN|Bť?Uc rEd0a@ܣm}5JZt -6Puv>bghhW+; }+XgR!b)l#-5 +<1vnr4*@R E4J^oz&~$vkIϖqliK?1\yrK^r9x3&3i]T 0" ^b-^ylB\L*r-.\/9XaQJmkKXNtղPٕT;*gc +II)爏êO!fPZeړ,R/^y,~&L>?bc1i VW.SGʀ&Yy,vV!ת΋IZ:6"KҦ.uJP}d,M6y>eUNQ t!@x6$;f"ÎJE&|q2,v)a[m~Pm(5Xs [Dʗ~qԯXϔmc75C!^@u%. E[f#d$qWILd_],d +S3܆`R((*(T * 9VLf,X@@@)Jgw?vX^WŊ+l F,Q̽Cy0s I|FF;&¿ӽ U)"thyv4n\S"B';d_@Uv斢#+4 N; '*9x@?N;7c/k=bE+<j_.U-2ܯAJe\lUb"V$,$mbKW0Zb,o#~ȣ\z%QF?LD:j ++ C^gw`mְWz޲P%ga@" \Qf#Msy > y zmeXM@1r U*85@)* -C i}Tx}.&9>.Bugs:¹gLW ն2\Cn `΄%`3`rh5 +G+;U6KReYuXh2O(b~y้P2^e=b>҇ڍmn:v D"r`v=A'l kTG U&?gۺ˿gpKQc4<ڷX?*=H(^eA-u$ 5HMW₆avݯ)ru0; m9'KR^nr/"VQN b dMpuA-"tztcۈ|F}ؑi6ߨǚ$1[f3^5QsU9iSAS񏦥X<%,W YLB > A߶#%Jc˜6gc74+xCnNˮ#KR%eR\~ +6f#kX؏R&r[FV(ΟͰo, ؙ*JKhT +j I%TmŁtj+sY ʠr%_wQ׼{d~fwLE`?{PSi[wE2/:hUDhκJ5j~C~+Z}ӡpmar;󍕕^.Gͫ [e +*\XY<ͫxI 3\9x1}oK4?s^9i>x)ӹa dg"S7x {Ju٫ն naݒ^1RIꎜBCZ0w뮑T79waKYڝ~Ӱ3 tO'X12ŦD}om 7(kU R9^0--_㩃ogTDuMpr )4>bНthv,HA$Ƥ&qಸ4&^EGBtFHW7Etv}2`KXwO+R,xbz]l bB[4Y]-:!Yx 1!~ 'GޢA/BSP&wU ps-Q\ sPd2P3{Fr+|S6ɛ8?Mh$ +i)l={>D#/BgWkax* .bb$(d[UZi +(JaJ9 [0!P\unN~;bLC!!Ԙ,LF~}4&Pb5qG-TgTCb$ T| eQ>da:*Sʼn,v6}sW' q\ 1uo1IFNyA$rzuea`]+3;SMp^^}(*vo~ibz#G Er*] +;/Z 9eU2.EMd^BXEYzgT>۞/4C:`꾟b1l+3 4.5g%fPߤޘʦISNi=R&ȇlJM7 $^<shd[ȡ^m 5mVi9lS0X=d5vqѲW<δ0mH +Y>룻!!&(T"~AJ:/E^Zi|=3:1mv'YZ ˥:[s {K3%c(a 7BV?&o}Oˡ@ Z=Ԯ'ɃT_9C/C5t*Rfu?)LgZxm%6Fs+ڟ̭ibφi82ZNC5o wN8n~2hk֭͒zɡ6bK냒#9P4+0ma4&#f=XNAхVpiZ.h/qߗ*z_jvމVG :J`9'u/Tv6qe:I2.Tc0Ev'; +7q67b6{GEl+@+2F{a|]ZXtP 5cIX(!:D7G.Dx! }V576TR{6~f!>ɀ&8ߚv|szFu.Tp}UK> !O1:κ0&z ٮ:.Y45ܵ2ik2Thi?uskZ֕&J Cu}9He4=(mͨ} qa>^ DK|U~9@bbfvJQ{$/z5AħsM fHIFZ,~I"K<ɩ{XX"uA0 IдѱBRjTE)._enKtryW@L|i &3eWS|ٙSDɑf?dwh7m.nFsK{i>Lc JOPn+r*{X(.茜B**2|^(_ >Af y'ۅܲĢe@ Z]5PR +?ZLsS`hwq eʣ^&E}5f[&\*a1m!.o6pRb9k4&/\ Q8U7KF&ֈQECAW}xjvdZWcUiuyU &/#eVxqΦ@?L.nV7ڏx~T2Ku܉޶阁:_7֎B@Y1M8! Bq=zuvN /# +a_Z$x^[ 쁯v˯6SՅ$6Bަy +OLmE%\C|c|[NL$WSCoR-j|:PnoSgKg`>ܚ:zE9:R("X(P(2^{{6('ժi_AQ=㪟Gy~!öm}!R?45͘6F6p{ZWweh5NQ@{R2(B= >3P}RѨ3"ȃٞQ M` Iv4x1/Ŵ54UKv|X\Ƹ1?٘hM;ǢVsJ/EGAxZ۱V;RkT=gAi.PxN%i+{3sOGVұ7,bq.zKaS2rNNxj2rWEgC, }k(e &%e ý +uFl,鴌qyL-wqʙ/E'Z"V^ *.da)}L[a  HTJL9,tu昘{шix5$K1i+ +By@mSJQ}@hS( \ +_S27XtEB +!H(}Se^w% +LcpW2^8v Ac8 +h`Cj,'8AnItm,CoGh L;ogvU1!wfU4P&12DE}(< Ϧ7j¯S vBX>)0ZI8ez۲[wɭolNRfʊD'[KeUSh_PzRr>o"Y~(>3+%xtDxZ5VFԡ +gR&rG |?J'/V\8UV+ EynvPz'mO Y"i cl ܣ4+<_E)&y'-]Da:p;:+m2RM-)J2g{|:e |bcLëLDDuDu+OŰRZ"?EZ;'7[U-Vs›ou.Gfۃʏt7:n0!j\(SVTʚunt>wMr'ݽd"[S?aҁHloN0p N7 f376kQ`{l5Tn-#/t=u6 kZ'ZRNC5*y8JBE^$[z8Y1P{aǗԕVBn94_bx `=.@ٙW1ސ+ ^,,Drb=ۨsT糦2tSКLd&5m i;/{ +B$ +yq;Q޽=r#Pu.vdPfۇ-7xce~oݪ[ĻQwC^VԙJj6T 8vkq[?lQ~ݦ˔CxD+Zriߜ qk\9` WS`iJ`U, j8XZP d2onMndABXz@<,9V|߯1( ~= @U>pr4(dEwL R&Kv*0m 4ш5ZpI཮QM0MJɵr5ߗ\#/A/ :;[NBy2~w~!rb6;ZnmD :3YWs4Ƣ1И.`<>.rO$w@╒r7,0zp4t F~5kYv`/.vʝ)6UqWQ ؂m-l0&r(AiB'%{:V\;'n-},QRFqB?q\E7pa 0%cFA/qЬ,=N~l&ϙ--نĪÂ.dNݑW2Tz[R+{(INƕ78~{s.`Ь=ތ{/㘃=xkFj[-Zݫ ̳j&љ*W}>=F@y0qtʼn/n{ίkr d. Ca J[J'Ȱ&b:iJ|aJ6BLHVcOec&*b']=hx[Q4'Ə3 a =~E*넚1Ŧ{9bg󼙔֤VNϤ1y[$ +nMهm4G1[OaRuXzvoiuq7WVj[xtnO ?5"ӢuOkڛbn(kp" N y򖺘<߅#,twv6vCj0`cp1ѺKj䞑ejyj%^W.'GaCdLK<GtQUǹֿ ڈ5/&wȮ!UL'Z$-I%hkҥ R2:aT,Q+@i ?#.Q~Ndm'hzUTSܭ]^O]k,l3גI36YEO"z&kԅzZDo=K{6.OzAcrs}xQ-+ҙ8 h=p%Ҁ" ^R "C ! ٿ=d"`묓U[yq@B,.l6@E0v'SUACr56Yy5K$䆞  +s>*H˓" GֲQ42DM{1O7:=nVkUZSw|Q b(o-GJG"_N+JI['G +$I=qHF40! \nPO?|h:] on՗5+M +50T,ther.6|pv").[pkRr؛!V!,,K?qޭdF92_8  .3IXtrvz/Z+_ՇXʬ&?yӺPh:Q0PSAL H9jaCT#282@60aζẶ+-NLǃRo_[1hv.CtG_ֆa ؊؃r<.Z*tB@|:kHFÿ:+B;`C7Lyt+̎;ū Lq^i3>mN~݇2>Ji]CLo{};(fZ|>-6NfmAp1dE<! )h asקˊ]B"e/!` +kGDSsP"LBevQ:E H+)5y<|EWkuuun)S0 i|^T3H/l?}>~JVcH'H$(N +sСL$IA :N,۷TxQLnDuO_*F}R{5CAZH d)-' md Oe;.׼LaJO9cvɨ9q֟蹅>CxALrLP J96XzS ,Pv34sdmkb^P;c@o{1ZzCUxG +\nE g@͟gT$G:'6PBnA%#5)GF]zd|WEp?M>5o:dcn,Tf9}sd! ֳ䵪0fvz:T+H 6l91.iwJT֠?,6E_׮r.U Beو h)Dg]e}.Kz<Ø W1f3zͰt [=B5&ܷsAQ 7JJ,' ޛ…Ki Τs2.=g?#XqP;hC-4kX)}=iFUw7f)*P>IAd(Cϔ,lE3ݚaQO-p@C,!zK@raq5lhcy> }kr}φQvF<-7=\ZY&&&(|B8l,5hcp%FtV7 'Y~Ǹ lC߰t +l=icKdA ɌV?*"g XtA9/j@<&[>B1î ;0\[Eó4d> v<0˭/3%KZ۱~cun.BSfUIMsRhKLhj&"]7ySdi3c]SWnQ)n.J͝@Cؗ<זg5y.T'{ )vyw9t3w~nwhx8bx\yVK;yOzsIlL{'BUo{;|3},\5~$ϑnԀ +9zyMz1thzPnozohozbL{\x%{LV8{O۩Q|PI_|BL}};~*3"~,l$G3p~}Yy}Vs}NnE}AhX}ab_}\V}VG}O~NIHb~B;; 3,x`%߀> +~yJ)sûFvn |>h#e4b-K+\)-$ÙFOalI)ꀖB#:23?h,%"vl4~[}Dysm׷ރJg̓a\Uʫ@OzׂI bB:3Â,}%=6~xټsXmEg7$aͱ&[ӮgU$OVLHׄA j:223G,%YrʊȃK}ѿZx[.swmagca[IUu0O0LJZHϣRA់_:՛3υg,%w%I\}鏧xmr(m6@qgY6as)[=UXONH׉6A՟_:қE3c,)%0[}mx;rmӑg.ɐaK-[_EU8J]N܌wHaAȞj:ΚىE3%,͒ć%Yc}wro2dllWfa3aR[BTNǥuH|A?3:r3,ܒ\%ڍ+V|wdrϙl_ff` +ZūՓTvRNHKAڎ: r3),0%Ĉą|]Yw(a-qzl "f6`[ZxqgToNQ7H9Aj{:3ʌ0,6&+;e8| vϺq[2!k_xeH`0Z1T0GNRuGAN#:V3so-=0&.ӈ {ȧpvxۥfqykne_ʭޝYScMG͠A4ГB:3#-&FA{iv%pk&ΤeZ_XYk-SMG9nA:uA3؏-&[4"amF{DZuֹdpizjⳋehQ_HCYqS'M[G=A4d:im3-!Z&n튫&y'9ws)x'nz)x[hԾ>xc%x]iy\Wإ|~8 }S1@~8*}~#Ly'ƪzsÔ{ +n{hս{+c&f{g]j{W{Q%|YK|Eu}U>ޤ}8(d~1KV*h#~y>Ly~s~ nu}h*}c}]W~WE~ Q~iK~ElU >פ+z8&1O~*#Œ?ԁxŏ_sm,nSohbX]4Wqŀ{Q,KyEV׀>ǣ8vZ1M$*#ߑЌg_xson;h{bиi]r/W\,QoKj [`(jODs@^<$b# TY8![I {2PT\(*稊m/{,P~ ϲ}febMYnW6)Y`?C$2Mp's} "Np'~lQ3-呈aUqU!8k=*Dŗ́33A+[9ZI `t '$dLb[[M@kE:6ƅDl )e/..ϛF>rWpxn{āS4V_d䞩]8oaɳH7̣ T l,3bs.piy|>kuytb'.䦃˚3d<55GR|Q&o(4#486@2ѣbL q)sDˋĻpMXNE+cG@> {ꂏ9~L K6w0Rn!3%-~1w ֣͈l$W C埔i7JCxFnhrJ I}SDvy}~y.ۿ7 &^w\HwS`hy 喒%J5?2\ğ+U_+cc4u +,w9F"ZG}KvkwnJYUp6t˳ƒb >˺i\cA𙅙ܦ||[_%RVlDX ,t]Oֈ+=$ VxQj_L7rlԐR :+ 6[ܵߩ< 젮UnQX}aVڧ<%1˷c E|o]˞1I o̯זFIUkV\օ})hQe`GuϘ2KiXFtTh'pafX>mW@S YK0 b.@pV ZۢxiSROv>A+ +zs +} N͌@<!>`h9ڊHuA=ntr,͕yLoZY0"Ӆv$l2@ BۦT^X41ό+H #;1iLo3ėpDq7<7JX[&zuo: +lY>U=lY5b#ެѲї1$z:Od߳ J|> `!)#kJ,s[-зܔJ3tPi rN'Mԙ@DÞdl.o,-%]`9Guc?%L|(vTtп2d,°+|ޣ:ĝGDfB=}/gOryYlS*Syn܉\sٗTbc嘦*MX n_ brq v+7N# G|@Ὂ#!^60MmtO @572)1N+:{P Od_VȶSbɭS9 BĂ~_{yM^s׏)q榻?Q +G_WNݮ4AO+/)ι͛rU^ +W)(Pa<Mp|B'[7f(~ +^ϤW^S3 ;74(:G ΐ&t99@< >SG& Q~;ᯒ~H@gڦȒU!# +A N{jz]VqZe@Ӯ] D{Yl`ڐBƃޤ:hfm4?} }c2%go-;ǖr^8ajVs>sҫ*W״|d!IIV:7sl<.T|<'ݑ<3R?"|bM /k.<-Rz'ImLZ?7*}.{X)(74$k:4X䱄*o3L{ZhM\gufػ{\٪Fvs&r4_Ly+>ɯ#PE2woe}WG26qއ(ܘ Ovl+˪/{l^kPS2{ig!4_VcIngIq/+mp$ hLS{b o\ ܕי#EoƫXGXou]l.{S +c<ްzM +W]&lGLKXp7R^`|u ΦM{dIENcg+85ov0+WՀ50m7uoDz9zlc"\LxTK"bm>9$`3Z ')]N f_Ykv,FZd!Ķ!;`.jWv6-9؏M~? i)ѣ_WSxP}KDJ<%}51l\(T4`6S#ԟ HooLO=xI _(r'ͭ_OJ2UJ*+ &d;.s&?9{Sү,W |q<:äp5#'kl ۥ5+԰Py馒Œ7>ψґ-WɀdKyxPSaC⿞؀ =Ʒ=BSݲW*,1k |Qsi฼92x{O,#I/KHÝ+KQ+& 1EZpr/!\ɇI\hBv M?=A/}(FcPMfP^y[`5)T;SpbP> *t%i=1/ɶI &\~qM;t))OXV}]bY)k1Q6!B#hmߓNxr lTbc u1?:2+#:ҘHF>JCk@԰}{H9/(A gsd_jc,اt"N3%T۝ӂ>ec&=%}Kwi%tkhSPDQ/~ʆ&yIiF'{E7PSbGmcVt=CSimuAt@&qa[ys u=I,юdVTHH_HRxIyG& -%l`f9SZ3$O\%ftB&.T)*[2UٖT:&E:"9Ay [XGJd-Ml( +dO|&e+絘E֋1ȫrm8B;/m׸ƎÅ٪KI=\5@  +NvBv)EaQ)8J^箛/-Db[F/OD/tB1ZB<:\s]Q[F+ob<kN8Mg!n _f?'9N" 5$TP(]KN595AYkv6Ys@H+ЙL][#^SǜOb!X8k'_*al7[SfI g 붋P@=RTc"LGLc+XB'T=e +En<*FA n)"M +vu3!u=M2sy,v 3GԅK@ҹ߁f lj  + }FѷŁŒpvD'Sfv1g f2@Q#3Zp`1笱R\ +o&cew(p~%g)4;iozv K7Bo9[Ѐwzerkp8VVVuPX05Ng~NGsRQjŶG[`ެ}2|xryI[WY1@f-I`E;87#K7]+^zF֦̅(ִd cw7|eޖͭ9Ax|||%;..Ȟ]s XeXDЎRU㿐CxwyTU8\wզ~h2nś<78ԋRT9T>^a 8 +H]7"y"{uhfa^(k,qE#PZ> FH'`p])ps!a]X. %υ9UW{e`7̐mwirh[sƹhVv6AmmTa~C[G,=pQA).4lAF W롇2wˇV#gѶȶCzo\3ZZ +&OHv +%x ʎ%G]ѕ6\3ڊ~Gwxxr ΑDWu-]raJlmiv-FZsX͠zʘQ@=vRP75怊<k> .t@;1:NAs.'Rpt]Ah{DԸ%E]~QW`)qFDR I˷gwì!u1(U.Ӏs9@1S9sӲ#dTp.9x%~@`5#'Dv^#mL^/.NrdĴXwS8RN$s6UqiוT{(}dAƲ8gh,]fC@:deyiىWX+$IBҿ_HkV7Rugdrd4ؑylXXɬ%iLB։XL^g̤WWeߨP3y@yvGo0;c +8Xtr xX+?gTk& +LG^:( Ϥ5 +<*ɏ4x^F.$pEIy! +gO0я]dz O #d5WE'^nqΏ7s(vVBf(c ̇xf=S,so3Ng7cKlX!O{^S B| 6T-WŰMvm,B|/+Z̓.iHWgF"*95UTT@bg>Cxq'%Lf3g}X͊%ձ,="+iQH5 ²_MZSty"]Z@%xp&?b^NamnufPw>Y:Fds_hf*R}QRer +"S؇.&~j<$c> c>#_ǔ]r`hoԖQeXj4 +ԇr,66ohΏQ"P/1ߕ||Q 0-/[_m2Y}4yN.鯩JՔ(-dLsIcMepKTݑo13ܨm+#,ayQ{S Շ[w*OzZbUEh)q**[EFI !#!$ aQVSyDEZjO |/PeieUwZVrr[L5+ppL^ݷ#Jo @W%$|8z.{}#>P +a@6M6D`k.fU&E0XˆJsaZf'_ȕh_:z+Ȣ^\tȏuCM2gGȚ>$ر ?%iaV·%גù͉""St9*'2 lGIKAzِFG{f4V[gd+$ת"-zL7,څ-QAAM=_ې> + tTc~\[ 3\&qVwjnS/PT8ե'{(?/$,A?EWtb +aI“!\ьm=B +Lě|B/r"510[T]lo>*~ƿaE$W݉2 %0sbqJaoȸXu2bz; YmĂgs#_bXpn9}N>CyQ^dzzVl-Ny!:EІ{XLyHw_Fau2"ѤǍ6+[5].$5֒34 EdI.K;4-;+d` ̸.ucqgۙBϫb&~r0n$˲Jwv鄧np\a5͂혰ϔ˂؍|v}dLIx×7R~>H.4۩Uՠ12(Z_4[\rsD [>4^#o4oIU@(m#%|n~Nm;NF[Liə_Y1#b>D4o|Rs@'UAiDDmUKCeO¹Ϙƚ% +iٟB!3(1$l!?x$s#8t 9RO8J(`` EiMV\S +w6‰E,B,wtE}80<ڎO^+{08!U?xCwXhҹ|?Ӡ$Xn>i.Gu'aP}5y !W^E+GYUb`;"M޽fa!"VޝDSAu|)Al@ δMN-2vYrufݤ(EzS3h%dĒ^X2V>N;@2FHS6Ʈ˗Fv_)2ֿ vWVә%QJ(yq,OҜ,Z+DvJc)_YT~2,H~ o86_q.@^W0|WB#VhqZyp8DF 7;#.…@cPU"ՠ$vr@1qh8_=ˁ+9;\cBO(Xġ]P +NxjC^tmCmgub!@N* - `*&ÀC~z +|?0t KQD)- U QAQ%Fz 'G9(:SCS: ڌM_IsY2q Дi^wP4}#!.IA,4>Cm:ZhxZ}٘8݀p&+ԩLPQ0 %o.EA$GaTԈ4ßE\uON0k@c8lccg }bhOv|l$`: ݍEo""-w#^(^;x,!N_֒uԑtQjyEӀ3l%KX<}S2"SrCDӸGD" +!{x AE2+`7UŦ.Smh]Qlh37M?29cM;ɥˠ!|jy+7[?׎{Lr}]Lu.SkJe 20M3MKqqo_s1W]@z'!n{2K-TN_(vo52))NjSOL-Z5dV|_utQ>JqGSӪq܄;wL8 dZj?F^o1ޭ̹Ym6hyWnc*88>×m/%Yވ%(enI[_& Y}T3?~C2ծj 9Y/Qtk6QkKndc'f ;</9јwЁ4#(c~ 1%rlq`ƗZK!<=@u5{RvӺRy"{p#2iSpkM:GbSw A5c<(Pr>uma*);8M+NliG9j/? ć D S:6VJSQ;rͺ-.ma(/c?eNWlKIįq5!.aw\I5V]vd%i#^ZoK'?tvN57Igrv2d!z\4 +@3;^  ~,|HuV)%&Y_ﲉZ~Z3~gPr 売LAEhQa)ަ )G| 7a<僐~PkUz&Jؘ|b6)'jXDۡrӮQkiBE ZHہ5pj^X 歊#}* ,R]n,P5IZkٴ,Y*0Y +?appqjyt! qO} _ qG,cch*R !*4W54MS˖^hA'xȱk s BCo-@>qj0VH@CA>eHCef-;> +RmC^Qh-Ra/ywa啾jNh,|?=!wgۉMƁ;J,>Jɬ!w7/s;vI̓a9/š o0 2]/\7&oDŽ~y=mqKF3Qf]Q\{RL_r2 ?_؂P:l|"BJxv +p.xyҼSgSu6zJY'>G gIz&e.3y]he<7ʱyGH?P,M~X ؟նFq<3i44oPLaɹnJ'rIl|E,@hup\>B:V4MS{ ̪ᳫU'V=;X>P7 gk{38>#X_c"ވЮ\w2H*2zquP+Hk+軹Sv!wz(iIN_g`uOQ2m ]In`iD֝5Va|R[>3nizյC)[6U +5T3pwn ͪU4cM3L/m>P-] ~LN pMhΗl%^CupL&ȩfqBr5rԑDcoo9hc/H!=&Wwq jTyǸGcj~2 Ž| +(t2XQ424WR.]*tg+>M,gSMwuKѷj_P.-T>% a V˼5eTѿw [ug|<#q;Y+GK2ܨrT:5 C59~<9X)V++gYޔzyy7eU,Z)f(Tt=UUt1Mf_,CinIF,mQXذZ&ZI-js&6yhB rd})$QMG=RjDqW/RStNW1p:ۭStv|O'uv^7 Rchx?Ğl ҿ<q! 0$#{O~Eα\0 Dž4^DN4Otw`|D 't;{ĴKi|w%2[I^ zPnKmUP7C2O7#jb> O+_ a{V,$;K@S $ +A6h +^܋C: d1#>M&%˹v +nX,-G UT^|,y0;FOT>[먻פ71CP6| =a c, +2L_1B4`)UQƧOqy:zH"6?k/W( UIa32/xR-aveod Tj͆2F?#o$&)Io(##*(Z;B NħIzt? j/k}oՕŦjhPQ@%TT._g(0Z5 2V/j6L'SˢE,'0UuMji?ɹj.?!k +oӞ#-?c>aWO Mၝ6·[; .4oi6\xfe@3P / +BwV8f&g:WiDE&FÝ> zF5v1ߛZZ|Ϋ:^Z6WΫ7vr"}OKU6l)9K.u/VQ,eAYӂ wp($T]s)bq5̾AjX6Pnk[uX@hTI:< v1GMg_9XfnIJpB tæRڙ-|JH>v +XOdU ?ʣ~.~J\9y=xgt2Y\')44>f>v"H_i 5kK5eܙ| oYă-8Z*)]++! ٹҰULG47U\>51!̅JwVu&vI%Ux0C +5b+>f.}p e̗>sSL|Et]U\V@LJU9l%$A +o 8V Yyu|8+$dPE>+ڔڊʈhsRe+VyfGUڴvGmLPIYA*p +Xv6:N/C:^3me*˪)%< +:W +-/tv(/TUߐdQ/h{ܦ~wyk=&yO= wDN_lݠU!4kKxH6C>MAS!G&)! ]6 |M$ְA| N92:$6xHkJp?f?cR^ {'JR襽+2>k..&$_ cQf{,J5ŋ~iO(ؐ߁}eoc%}d 5l:@3lB'vcmӪ&h /аʙz5;C3L~_@5<+ ]H(Yѧrf 03:d]Fek̬͟E˹l|*B/Es3It4%/B F}$P-~$ +Ǫ?,z:fXV]Ja"H4 qoX|GH~SF6d_DNz;/J~/Aat:1SceDy}10ߺ~aeFlv?,zM<-u:,;iٖ6t4!&@_@][ |mj(tlFnYO7 OơvB} ^-#;;mdq$i!:*n:;eoê!NI2dwa*iޕD;!$uz_+ >JN-`~k:7@;k@0p*=.,2Ji ǔ@dy$o7{D\T\G񪜜R{ZZk{jUT㣖H!p˽8mHD ;fk4Eub*(=파ky8iT{RQC[B$=gZz6pk!y'=zWmu!:"ڑoaoj8ĝTۉU +/J@Bwd,?ct6}}(|q]Mbf: ÍCv*+6Zzt8Ü63nɣr24E;)/H*rBDoU2M?mG4D\9Gc3Иk#Wy/hyt5ԯCWG,F +yS%i]W?BPCk̀µ`rP68Ï`Z?;'X> b[WM`ɗQs%bc\T#:$Sf/ 8 +.gt +gl!GY U$s +o%Z'~E &7~4!`YX4H7nx<܀NU(.er# :xHőXVByތ*NȊ5ܧ:zMӦ-}TiP%shl6焦EIYP Q"Ѡ[_vPyCܑ=%myuXiU1MoWL +wP/xB&srk K$#[ZZr!!٥~~]7@/\޿q=%k&XcۜU]>OӒ UiYK$oDbNƒwh?:M\%=;Z K ;]:/Ϭ7/t7._,)/ViMY#OH&BU l&Lʍ%|լg\uR2M_-O&%p]2WwNinZ h"HM/1ͪr8E9LHHy1-wr\觉zcHwm3v?YS_Y!聊;uNӸY$UL +SfxDl4"e=;#fTen͒mMyM3+ɰfb䋖Ƭ>}xU6M`.-V"HP=vHhPL +0*$1X=טuzG80uvZ(M>T w&qH7wK.:Dp;);a{k?əϼs +z8dwgQ'g_}@xj{Q{ +tYvZb]m@"/: Toڷ4!@ǁqVӑŏ(Y)9fߛ9hF8u(K4A0> 1rp3|mwD' 3CRO"a-(V6DžVpk?d ,p^f(!VGYD&>;p\*Z8(N"`C@$}Mf$an=ǣ'@,s A"g&8oq` ~nynz.h:|+ܧ- FHNRzbgde왈rq?{dM͆ip'^1q-֋+, &TWvpKMnF!di&Q衊2mD8d. < +i:Tႅ+!GZ5]0Lgiާx-^Z +Fg\A=UI X%J ^[B8> +2bɏ,ē}"V(KCނ/ +|-Do]l4;\_ sc + N΃nf'{"*%(颒F!n%&u/=A%]IރIQ&RToH-?vs8Am5'Y}j"ʩ&+xBw^q論*Ё/>rڈGr2fV""/oBV5=+ǏtFCh[L4`(3 hV1X՛+uu*Yebb<. Q 15$Uzpu0x *S8kx6=&cmQP7n2OU ct͸z~B\]Kh٤1X(| 8KB101SN,Hn}޶afimqYYuzsuŬ!Ҙw y hZ\ԗ?UքmRWL&<%OU1| ]QGdÌ0C8Kcs'5Tg +^gQdR򞘆%`9_nd*)*/I,=Yc׈߉_DAB?a2 ﱿd.In,-®5*m2ri 5Ֆ4껺5:>_ZlM.ta<K+ZEi>">5]h cӦePf5ncCfF'%颵\-[O~ck۟ydmFĸ% cڿV Bɻʈ!o9\< <ZAmZ7 -opmbPDb~#7Ⱥ Gt@dUB_L2Eפ ;"CAmRzcE-6`—6!=wI)SnSJXRCa4y- Ô?? KH=UK"LDk$Qj3{$CE R0ҳז3mdzʜ> aH}o@"]a:~=0$wP!,p` з|j^_y@{Sv@!PgbvDYdzAT/~J]MNt斕>=h]^Z \ڎ0.(P5NY#>Aep=D:Pd:̺ﷲ/1ߝ05Y{\Qdl5K2nS +zc^U&}eIݝybl^MGy}&S~Ke8a*O sOnv\H#TYOS0yF[tĚc$lk +؁*. y+MDO+8_BQ Rao=GBС?@42[-r&xy`z|su^t>p=tju&d䴋u_$vTYUvSVGwM;xGy{@,zy937{2 +m|+ F}#А~7[zp#w uZ[wRp wjwd۳xT_xYOy6SQyM8}zG*{>@1{|9>|2}+)~#wqzaz]uTzpzj\zdгj{_u{OYG}{SKA|M3|F}@4}9HH~Y2. +Df$"HzC}u?}o\}ji}d}^}Y5~S;~^M't~F&~@1~g9L2;U+]$GދyC%tpoj%dg<^PXbR+LFƢ@ 93KS2/+a}$_@ 6yẗ́ocBiմd-^|XЃKRѨ2LɥYF ?p9'ǂ20 +p$~̂??yo t4_oCzixd ^`%X>HRLDžFz`?9+A2>a+$Wx̓Yy2tOoqiacݰS^3X1RL?%F?a9&ņX2D+$ɍpcx +tt 3nϵuiD_c^ XR<%RohLxFhm?ќ9P2I+#$鍀<ވ^xpsunxhwcT]XΎR.L@XF; ?9艔2H;p+C9%x,.sN\Un+hb/][JWdQ1UL%F ?8-2DӉ+ɐۈP%$>.Uw׹ќrmLhDpbЗ]蕢Wq@QϒKТiEN?t\8%2Fs+ؐ|X%AQk΅w~{rmy=habqw,\ثW9QzqRK8Ež +?bg$8ˎ@2L^+"U%_Gs.wH67r^uOm+gb0(-\:^VIQFK}E?L8ݗz2Oʍ+Ћ=%w vq;lгgoӡa\OVQΙKHEvU?-ʓg8˗02I+ %YچՆvqlsLga\VqaPʤKOEJ? 8>2@=+B%􆏇(t!to4u'jh\ud黢u_vyvyYLwTlwNx[H$y,C zTs~XNĭ~H~C6<Ң6k +/怔)#I@ށtDodjMʁ0d2_CY˳TINzHިCx~3Jy~rtzH~gz~X{a7I|a9|(_}o-tuRuqĬv$9:v ww`xxy$t*ysfrzUbXXzSI%{9L|m(K}"s֣t=1tɇÓu_-u߆v_1vᅼwq_xxsy:;eyރWznH{P9|-(<|܁ެrZs}tZt2u3uuvDvۉHwu +xrx#e>ym_WRzHdz8{̃(-|oArCrѓʘsi +t tXu${ukvOjve.w]rxH4dy +VyGzb8{( |ZWq0r1yr̘sst&t̫Ttou&uȑ&vlY~qwqbwՍbdxVOy\0GzK>8n{6F(|=qѶq[rJtr촠sAOttᔶuQ.Tuv}vpwkc{x8UyG^y"8Fz("{!ٻpЇq'6qƤrqԳsԩJsϞt5Ɠt}u|vX_E264+B*|SJ'rqo-~2]"w X zCJzA ,N =N2oA$${~䝾 @} c%*j:KZ]ōgS] +dԙXU^:YM~.8s!D"l9hhƀ[ ^ L8|$Zy-ǾxT[_=NC +vW%*vX cٷne +dM<=6( ^"P 3:v\b3.$f͉ymO TZgmӹ3 +֊]OMN'"m52aAyяfo{3N`f=/2Xz nfD5wR=$T1'!&*ґaX:Tle-).Xʼ~kn0Uj!Ï>TeI +w?hD(P)& N5$rw~7챃٥_0ro^:k#?OEgPL>՝q"&*i4^} hKO|M$ۀiRM@zB$ }!?GRPcn~|go_*WnKOSQ9??JyAHgNfJgmhߴ\ )ONC@+_{V E҄WdF^Y_8Ѷ(XFǗMS[ WBʨS{P;q%3$ -K_k7't1M0 U*WV_3!]*=dH-H1>,!yԲ=o܄ʐۏ~~ѱ|zSYmP:e+hϏN8Пdn-iUu RcȀ`5\̠!J#Ҟ+/ +<Wg[h1nZkЕ4{;y72`hߺ+m +nkS{J5Ln=)K%JY,g r-i6[]CK)7B0{/ΓDb{D7Q՚]F4=-9F~xC?I.j!ë3TdK.5t Ə +,9m{[ޡtCM;f8o +\ ;&=;^%65hK~KK;e6k\h=*ps5kh9]醌Rg`[ٗfQ JisԾWiXKcU6ܫc\xoK5ռN>9p i˙u-}(OxNfaC60R^lp#K+^\Dt;#yTs'DZΎ59مo3R7RһÝ%`|U8 z p(c߂8-G=Qu\ VUb-p>w|L$b nÎP'ylX!dBE؜a6c x!ZP#Coލr\r0~CAJAH5"=P bT@"* #!"d@ #@)ϖ>[W]mEV=}Ors`Vlayu{gb%7&z8f8D.H }ܿ ThPG/.O.N2 ~kkkP#} U'ڴ~f)݇_iW0$ JL"x+\BdAȼVV=G} NNCF`W?6b!nӹU8>|26-ei7+[(+hh|b,E[_y9 {ȮXwv9.gf@gm @u6ֳT/_vho(*~m%~&#ydo枫mnr{;,«D2LN&(vʻ wnMf`R_ ,1̿oD[rPpnC)@[-- G2@t\5HH 5@oůQ,xZ [8x$?=fyYu0u ωp$f>rVuj:NͲt" Tǯh7@zV4rgllG3IcYp4XhaE=K >əA$R}A%<s\ۇ#Q.MwY7x,`V +9 젃^~ڑ=R Q5l-CLS<9?|D ɐQ=3Ybkeb!JG76%'&zz-B?=e +.ܨۡ#3:9NqX:ț&Sug㙝26+7ptRM/Sөkq^,焔J{Ixm)ZEBf/Lg0ZÛ%7SF\iSkS[$$PajXc8Er~/JlVElP'$TӼIR0Hf)بPrnf2^`$|e7g;F6tY4|}{^גML/$Hj쩕{"uFT.R;DOS[BL5D})QXVSj *Դ~ZTЖM(ڂ^2i!7/a uOzqBUNra+QC'Dz5Qy>$"aV<.~s?y˲$YRTˑ_ ,vuԕx,UQ. +F *jV TQYɻ{ߖ H %BAqs*R8GR`:_}.s&#p>VT; ]&.QFAwm^J2 ,F_mNk\F2n*r˘C[m302FjD8&¿k;NFb6h!kP+HW$l6O%'Z9zɦZkSiU;֢yC(EUz SkpWѥ$)Lzފl9eOex*<1zOJ6ūZ,DȻ搲U`,sJ$> œS أ;}ۉ>ϗ.Bg71=ێyhJ*6NS_4/* 0-oج5u;og'+F}Hqٳg +Sb@u'bK!Wَ7eGBe(^s,S吺J؅Н_(UC{p.iQ&tѱHٯ0ج[WkWzxzZk\E@j􆖫QUNڨ3YpwH{ɘzrf2j(8i"JKve]B %c .:IB~q&DnQU Waql%m'u? ~ʳbz#b*"鉰8CO؟_=x$1`ʹcz2륢1<3=oZS;PѨ$ @f)S|ag"17&ؔ^_Me\BBpik97dl/t.rf\ +LN@MPlZ~BbW}ӵfcb 07!#( ͒ǣ:ft9C͓XI|:*0q@ ޲Fϥ,*R?D^(|^Az#KKqٔoJ{NGHV=Po)eN՞(2lՆ›Jy:%$aߨROK;I6v3F&Qc +C rϑv! /酓Im g +c跍mZ:>N4Sm.^ +1pI_D|[Z-)^㊝/bj]D*o]Wrv6g=NV/d[Jѷ0a/ȡ--ҫ+7*_eex}[t'f. -@m ?>Y1b(rdH?L51 +bvuqRb8|is%֑ ͱDDԂG&𖪄ĥSot0^ʄnB+ +PM!u=䃄qk\,$TU<r}g{NqJvAy>(F=S92$Np%>ࡸ_B1 .D ] ?FFhΔg'$o]yi!;.zTOB;&T@n`eҴ,){J|n&i?i*3BD{ S!pHPdVIN rmRkl؊eQk8'h7>FEb BD:?;빎cl +'N#yKH=C()0<|9=h|]o-6Y:&'Vu63Ĝ%h[ 7Yq%Q1JFMU-mt6٧m +=ϲY˅ڦ9JhT=Ɏt\^Y07 oE^ }nawNdX z)#xJ|k4`޲ː)z<_I5 {=Z+4^ǭjDIҷy~^b9k@l=\,U\u&8TeDX EI^{/o彼YuY'B'ΫjU{'wFC{Ij iY;#HO#χ-r5 dP9:Kܯ&0n/QQ4j]~DtXBG;1)n÷%I4eً9m,&׸W]ӕKqqKJ-C\77j-z8\c4ՇV_vXEܥQeayc*/0^  3Z[N#iCĹ䃶s"@>8IlQ `~_gُ\Mu߿)-{Ì$cVVѷZ &{c01gNV&úZ,^*<>PbGT*ȾD53۞$W6b\G#朦s5>P*M(Q,g[kw3hfg[$4}ӯ;(jYD>1 ʪVB W@ޅ̠Fwd0=m΁.9O{A rɎl + t +kXn;"!J MkaBߧ|(tAX7W7:8byJ!}g @vi"6-+ȂZ2>h+ ƶ|)tj;M~lmO[U]UDηwoJx@X^- tj,yEWF?oNKm ݒOc$UvrPmyo\553 y0]6kkMZYsRG ! +*eTP@ lِ$777{fDU'.V OQxwt+bk_7j:i׃Z&Źn=޷*/c(JHjWUóΌ ]c:UÎh%d7KX#~w2& J8\"Rx*bSZl]P Ѱ)%n~!W8wlgbWh>YxYOH60*pb$b@nv U6f|Yl2>bg`4ziYH;t.{_$qwC8͍K]p,0ͷ2f `T2Njiz:LVHҪٞ1eH|#Ax4rXm|Q@)z b +˷ ׬Y \nixs8i8 ,+3KMfDA\< W^5wqN23a+g-/L3[W4YzVi^%-VIE4J<+ Fish@첋ӑnj a=E͉*:DY$ +_G]4"!Ky 2z-9Q󍄫R=$Jk \zQ|6t +FKA/6=5noAzI?g$M*[b-J&J +vb!U1<4J ˏҌطMUѬ"_sđݯ/SJ]5Q7_P؋pD2,|P/b3IG@vl 4[bW>{UjL˕g˺ B$?]);=ڞ0Br\a7q-r>O0K`1 #‘|9 ߴgvƬ=F?o͆ fr c,`фUYS[N*4F٩ +]>0$ +_[ T +e}v[?vZ3k;[cY(7>d?_,u,P WQT3 ?) +V НRtg +™+dX#KLͺNC5ϹiߛWXG[C+.sVAvHZYW>R)zueKeH8*M`bwNuQ:hEö́<+ѓ\PI@cZ]O^6ạꇦTFsm{S ϒT <-(yEѿ9v\ @QawSoK8&Ӵ6^f`Yd/OG +ͽ )Y9LXvI=Gmdw'|h+ε_a?0-תb =M%wu;S2竳mi{V^iģ):-MoC!=CjDcma53к-=Mcc)>)#ǬԑL-V\?Ǵa"y;.dl 0Gj0<PQu=ެ{Tjj[PjI?Ud/l8k`{zSƭ\پPy)+Oa F8qm\Y-n|C3R縦U|(]Pm>Úe"Sn~ѝ`E5VUe;4D,v"ki8'-H["s)xט\LbcWb%0ouYְ8eg l8DvGd/a/QDpJ/r$m$zI {O p@AI.h+ĚzX.NF\MM⌇ )FTqL(F2-mmy2@S^Ae}/So?PԅD-,5DƠFIȞA  +aE{sE*7ZmwխoTQn5_~ f|)`(1X^߾P89-(p>= }ȂO9nif0 h[V"#4ּ< Q/OA:)pĦՁy? %cP LJ-{GBaxDK (縻.' wBnu $~mEsF Xv_U~Y]kR+3 ^Y-sg$r`d>h> +kaDϰ8f∪u#\γM3s Qh[{//\EnXHZX2b EyC(3 ˸`v8d>NOxo)gMbeh9+Ѻz=M|*35YR-gp:1؉(Qi`2P/\Be_o +Ծ5,*ꂤ,QO(/DGX?-? }5`yRkv>"a@~2'@|&} zX{m|Qht'Ց-IpZ{QSlQS)Ux4@DtHY Q\'ǂHdͰ<+w[z;&ݵM_Ř0Y[Zo;UoRrlETڸ|l|dBoQ(f] [̝Fl) hcF@ۜ"kͧ`6؍xS_ 5\؛-=/<(Wuʞ+nJhdq!X}a\ q{:~qZZGh&:_ +=6wd?Q\іE˼enHR{c2O +>[tsQߗ*;П&9Iil7zh<4}tL^8ݷ/,Wi,cEclBK$e,PmY%7nnKY#  aXx{C=j򰻺 f>%֞V2Զ*gZEH%vM렣_ʞćɟVSC|9h3n BhZހ9-rOtwSz_sy ՞h$Fgwՠ:>c_*I/dd,rq*5p4LH,GIgL}V TOuhode;Daٴ 1pѻq%)75Xg#ۊ\GBE3-3$L?!?~&шUݣ<2ҝ\kGo-e|0Nٰ[gPS<)ts5:=ӶI)od_K~ViV6S< i!;mheV`2upqNG}G"ZNWy!+?p]uǛT@sU۞o,V@i +z3]qA,%@zR2 + +ſK>*sg't dMN}(~aT ؊R% + + kR\as+ab }FFd,SxK.&z<@t: +3L85% ̪2; sXYȜJSe*Ӡ|ڃ/#A\e%ra6h? W#8h +xfD!DNR?ǙZFtD Z "B]t\+i?9;"6Iu:qAێ+ua2 W"j]|dW qbIaA!dA |^d*6(itoSWJ9nlaeE"{SveHK'&oUM +o|x=);&Ns.B&̉w) Vz'Lt˧o]їicDH]WQP 8J𗇏Cݎ4<+5_q.:c$&ى6W΅z~ yttPn饏iE.c@]^W<1CB<ߎR5E"_.2K&->x~/ڤTrf ratso[t,VZHtP-uJ vDâw>/Wy7vzD02{)ٔD|"0}cvt qA:txl+tfմ"uWa\Uu[خvVGwPwJ~xDTy>.z7}M{0|)}#~ًiu2wKq#wlwfx#a(R|:7}0:}*Z~#;QuzpzkO{f{a{`[Z{V +{PT|eJi|DD}Z>}7~M~0:*&#a߀`J!uh~%p:~.k~,fHD~`د~<[^~[U۪~{P)~J_DzR>G7vˀ0>*8m#n2u,@pk~fc`T[3&GUh.rJ1#m&hjc^?ޝ3XiS[N/_HYC%J +=%7 0֒f*ՎZ $rL8nq`m[l(hmߣIcC`]X؝S_MHC= +S6I0ϑώZ*؎$-Xep;qk+rQfxra:sd\tVtQkuwKvkFq5wc@˥xb:y4z.0{(}!l~BpHu\Mv~VPw QqQwLxcFyy1@֥Hz:ǡu{4|.I}(%e~!ՐA43p0wkx*fxea7x[yVykQmyKtzrFy{@ڤ{:Ϡ|4}^.^~C(D~!y€p{#k{Bfo{Ya!{h[{V{Q^'|-K|Fp}@դ,}:Рb~"4~.nw(_k"& NMo@~ukme~tfp~i`Q~Q[d~jVv~Q?~KתA~FZ%@ţo:ǟ49.x +(u"JWׁoý k[f_`㵝[mVsˁ]Q2PKͩ\FTJl@Ģ큂:͟04a.z(_ "v )\eoۅkYf_N8`[Vs hQ4:.KѨF\@ѢE:ޞ4Ԛʃr.^(׃'"]oyRpkrf(ˆ`^ [xyVCRQ +KiF=5@:Оm4њH.o(Ғa-"̎tro.ՍjٸdeE`j݋][=V >Pث3K F@,:H4˙Ά.(-"ĉ +nFjje%`1Zm[wUحP%KVl]E@:4˙X.ʕ%){0#;DbnjVߓei5_ӑZѯU Px)K0ꍲEأ@oH:4Ϙ.ەi)2#<Ɇ-.nh>]jme'ŕ_²_ZzUsbPH9KvE1@Xލ:4J4јu.ꔚ)5)#aa]Ʌ?n%ۜiȷdi,_ZdU>-!PGJݦ[E͐@@}:Ӎ4ј^.8)M:#_jmܹiyĝd;_IZ(EUҗO(JEqt@#'[:~4͗/)_#mBid?ݞ^^YqT«OPJxdEB&?ܒ:h34t/)h#bzΆ̆Gm1höMec糤^ Y.!T~>>ObN_JAjEߖw?؞:M84/.S)nVI#膈ݰuCoԈuo=vpvqwvrlwlsr:Br∇%st5kt쇪uk|0vgoaw=[bExTx>Fcyn7^z'C{0oXAp42pRqsr4r匿stVu;{^u݉dnvpawzTDxFyD7'z'<{npoY>ppqҥrLs| sɏUt*zu[nvGaw48SxEyA6z`f'?{vnnǜmopYq6qɖr?,sM0t>yt吶mjuێ`vэSfwƋ+Ejx6z'F{9Җmɿn:n.o͟|pqGr>r֘1UsLy0t}aluw$`vqRwkEx6ÿA'MzkJm +}m©nsoSpjpѡCqGriӃpsBx`t3l u_rvRw#DxI6y'VzS>lT`PK-GgjPɹZePi% $!@ @BX1`;h}W8NԪ詽﫬3qkb:)lUEj4s+<3p)Ilc5`[k_FC5c[QG)@}Pb /+$)$F X8+[;8 pC-WW;U;o[dbݯy`9+_۰AD0ZE0Hc|gY BQAeKkwvv,[rM'yk4ũ;ܼ~Aub+TH30T J-٭7{'ë3sGңEC'bEm}L,[D[ݱ&\㏯">T!2IVC: F)ir,,S0(QЗX:ed/nAg (<'#<:. BviTBQ6KW8pFlM34.REGRJV<]+eHEn)}"C )'j7T"U}'6~, \!v2V87"??OӔ!&X.9Z1 [LP+OǴȇ;#V3/Mc +U[:! WކUr'$͏Fr;bo/{,BF>KQ2?R!1)0m #Mƾn7/mTςڃVxYtF8OC"ԫ2>!m9(*F_f݉?u(F )΅a\'`R^II=;+#YӺ' bANE3W e>^!*hFTI*dV=2rqMEɈH|g֖Z81'ǘCKv`Pfk pAykPQ ZonY=LPQ<~EY2qk9.pK Q0ϓlF|3!]JBkǽ~F[fF5 d5 pC6^d_@3͂X[> +F$Jѵd}S<_ +ޝLfB{L:x7[D:I , k*摔J>p%lFonB&M8;5mR:K8kc1C{ ñ3{'{]7K't"Ы]v6zJ+{zx;mr* g;I?>t9~8KFϪe>81Hrzs.F~d.'`5u&QHJkQIΨ-DH(,B˒YH , aM"`ȮVܦ"ʧ3"XDKvp|;O<WX+'E(>|HwQy w.nduG4 < +7`pe&yh }{Ix݃Z%un+wdx5m,ENLJ$X0/h)  +ieءr<1)O meI'\vNl'd;3 6fx4ޅmHQB2KhUk +)ULnP}% euyS^R+)u*Feb +Ufj2B_e4}2O7_eq:p.Pr]:ܥKɲt$LGpW%)$?U >cG<)NeΦn:oc +^S%h|ӊ@F@:gꌃ1רҝw3S~Ï9)㜋poth'ðVxL)v`])۪?%C@gߑW1HSV@TpQ8F-x]~_o&ep W>iބtĬKF˰Ur\g/Ir~? aFq q> g'5o5'1TQfW6-To9KNdF*2Ҫ*tr})"=ٶuHE"LO&b +?$rdnWs+z1wϦ-r^viOϗBmDU5贱^/|bbNܩŞI[Hh+ @ȳo#y9RYc%\+Y50 @:񑢶UtuUZ؀5Xilj+I,L.-?cL +Iqd~ЩyZ^b,Dnu?ͯEy]L$Y5lajrw/JY3%CZ׋vW3cR폡P$uMܲ}~AEI{%a-$6 [L 6-F8}@;H^SMQ&#tme_/acRlq1.ȥb#ndbb`|oxw֒cYG20<^,,x*e_T0Zܱ/ 0oM{" H;u &]r1!6M>sL~80a/cH林fyZ 2jeG:@Lrd6`B2KJ  +w dXN-^~'fʤF_RzJ5Lk/UVoտJ\T^tnU)ےCe\ Q^y YXSgqVGk;#cND\P$*$ZQG PQ#}9' H!$@de@E27PֱUQk]~m`RzA?f<崠 ߚUv ߗ?Vď[U-\];~MBpQb\j_{!S &ܶ쐻 @li ^9d̙co.dVî'K\z/l|n) dzbzHSDJ¬O_2b䣫AL..+O`~渆XW3=o[BLlҴ+1Lh}dc6fpa~DgɢWªsނ +;Hd.d3,h"Zk?E^HaW*lZAPojL180 + K,J@t}n3Ml4rVLF +`uPFEVK'Z6P7ϫDKRmȘZ4)ul]t Sa<7JkVΓ##4|0qCigyWG&rydCkc +OcE~ՠҋRlm"˴d1_{5 ߐWgq ^ԝ)BOqQHyhziQ#c[ gQǏ14j%~Dȑ8Df~Jy t*駷`|f/>CzRDZB]%_$OxIңޒWtQ̏!hx%,I]N5`P{S$IOƿN7H`ƥgu*/Cw 1jl^9 uJxE qT31Ul6T: +'V3݄wtO4 - +?#|QDXA$T)1ܦ(G INp9 +~j=Ts> j%˜AN?g*%D'Eb@jQIR+4&ʕb YAޠ8)KɳԶ;S9+H^PL +2>*A4Ky\\I˗WL'ewFf'ŲV2^^AFJϊȭRu2$7H#ydmOd;'!zB#LROi' ͮfzLnP[tWuXvU~|.Q*pHztˤ(B^E %rt:c-ɕA#;D%I;;WxԾȹ cUp{V0Y y0L]v7~䯃ϡB+3_N:C#gJݜC0)nT;<}S`w rk9Jʶ_e=-JúDA=3Lj.E*!S;|P^ZEX(71S:vm -R\dB쿂&B *p8NwM0q+A+g[>5ޛ C2A^cdŀ_v,%+Kϋ*RXeO +p'¼#q;y +"rv[7mڽUUӕ2p<ܫ'n-ҢRqkP[%P"ez(HlAِINs72 ! RHq<q^Bj*>o + 0hU>53@-8[y+ik΃剑E J}%^wVtBU"*D}BF4# \jz[{'AY?Js(Iukg +aqz U0(*f"*@ohMшh2(%&YT#Y5 =-P]K@ܩU۶e{g$piRӑˆYaYgn[bZruo!6H?8 Q&%IJ1񺌧E_2ݙUd7+ZSYB1s'ʽ@u[Zd/<1Kq}ߨ䛬Sq ߋ5Y̍[),Las$9WJ$6dNS3yCI%rK^|Iډq 'c#Ⓜd惠P0i3M@+hh2hNP nK}HNF-&YSyp-Psa`d[" ƚaxZGh+J D+SD ){(0!q> #w!6~5}Ñ+ k@J ]L?Җfj(E1CRiL 9J9,_ndD3%G\r- ttY!Hh|L^7M%b,$%+a 3t|Z?{xbwz@;p3pP6y;3l̥(kg:=I(piɕoųS``C~)v]ߊ>Ȭ teM&qBbv':l|OY4|C!*G]DTs%%S.°0sU{2.5exi_Đ~(E|JfDSA{jx?HmP!.guZE.i܇WŹzo/Awh ^W֌ڵF5sr+:0MjNSa+pᵃ%Фry[笄'KЎ o=828-4m?ΰCzEQ#bs~o*BR_ËN\jWW2xFyyr-,$9Z0l=ڐfM\-6En@띤h.>}LjT;kuUm>0 ה\^N#n)ڝ$Z#YO xŀu-bS5z]nK,GY-1h$1 >[o;!zCi"BMQ&V}pP-EW?*F]kRVfR(J#WϟK錄篒nʴ`JjXM1btPfa@a2P6tH,R5@#bJtUYV7O9ge; +\Akhg +Q6y GoQݽ +YQ*-L/ J~hVdc]( q9C2T־ߍykQ[.`,+ +UBzR4RT=bڑ9Siw株bMlj."o wƝ{8o^ۚw;OTLܯڒU~cW=C4Տ.0Z9:tScTyXP\Q4!E#(^rm^Xp0aT}_ȄzŕWl$"O`IZ^iDb8Ȯx‹ hNz+kc.!r3ă>cr,#M2}iz-iEP`+r$?ơ$a* I_">ׄE'9O8ff+i*G +df¨ g zo?G6ǣa0^@_ GE +@z\/Ԟ,\Ty?7}^jY0:2# 44&@3wx4^W p=E _MpZ&`39u9n>lN`uBF%'f +5Ns3߃h91ڰqhG],Ot`tYF9k|5¢*}ĺ2ӄޝq3nL] AV>}1۳fć!?.GUXȶQXVTŖW=g/T>gZpO Yj(ט謱owlq ݫn^QF=aBDzs[*D,/i?Ԓ8XNѧmʧ q6~XvqsO\,$QۡAP 3ZjYطsOK5VUe3N\_ڿEtnF%_Idliȵ^R>,5w)&0L Kզ +p|~Y77V0^ LRL:W}f. ê(:o]ZRᣒIil&oA'TfA)3O/RT U]|.8ҶCv`]^6}^/v_J̇K?ugl. Y0-ԇn~@m2 +2 l)w 'K4?^;(b\8V3Uv;Kj"E!Rn%'ڷA[jM-#)wG\W7&tHNlkG뚌xоQrW' [#Mp;\ѿd^* +%u4fI2CQ:z;{R#=X6jjvWd~N|ohs_߉+bjtp9d7MW>1E,q29VM_oYr+;ur;#y;Z4:cү|x;\Aoסi r/*;VZ)nӎ땳|izÿJ&BEM>R +GuIۦ藴kn+<4+xjIV5yV e hob# ʺ:ؖepU5\y]\}THbU-!N Gel' dȍ!8iG#ơ_K֎&`=̰-z5lsw@6Ȼ4E$Kk$?`[7@r'tt&܆0X֪ZţZ$81P[pUP +B+!P #y3 !ae:aWq)n +ړVϳ2lm cƜL=(tAJ#mlDZp؄LєUm):_!o0O 0iEljDS;_ ,EFV#E('|_DZ\]/].x-K, +>̢x5밖udG_v`RsBw),+kJNd~@"a),?X#y-q{rŽRoQa{d:lm$!Q?Q:|3Pj0rtpK' Ȅ~ + yp`:H Ti|4v܎S)~Դ$؏pkڡƵߖda}SsYlݒN15K-QpbtYx_o%o EOIĽPfJ$:x1QFi{ &-eb/>$&/5\V ơ(S_#7p9B++cBVJ~hi*Lou + .j]6ɩB#|dFdY{ P~4ܰBR @&j:܃ϩ1mMs+yWHpeEHU-t½j>/3.L+yD"/4ADOUQV^ZY.[ein1ӸPMG""Qx׋Ju%@AiFi<2)$S(D*R%1*ߪ͇j$Ē}PVz Uwuji*K%+fe%>a旗mij+"#"墠^9. BU=o'n0ˍ +*7C¤ㅓ!P +imhHIbS*.d)7$fʳ[Ti7ê 1Kk։[1lU6˄aկ|+>SدKW$mؒ\ZJff/z滘{d.qfedJWnv6! +5'K1Zw p~[\i1^^dhomo{dJC;$ڿGcyL,C#S VZoPc2ȹ~Cq.(Jm9NL8b z0JN$Bq-b DnpP ur4\{6Y'#]1 M4kM\/=˜l>Ҭ5&va7dƣE!tl9aYofs֣1ٮ`tMa'MR[Ȭ9d ?:pm؊`{9hO@/`D Z`c4<"`BnX_W͎,;^(tf&p<ځERkLe|-9.F4 ez tc:wNu!/G=k\fS{01'iTXE]n?b⸷t+ +K _q) +A+AVH!*TlEVo޽}BDQkP?E󌒕 PL߅|[R=&{Q @ yzPxrlKn~jYq|yǔ7Yaute;Q|)Ks#ꐴkx9"ãῸ oXLEy,>=.NΩ^"XL#oQuz%Gj\]=iO=8'-gҨq^ 7\ 3pEХaN]Z{hoa&-}E>XK];J8d[Nnω,`G=$Ƣj,pUOװF<)ennGPDpt˱N'5ޚo }+9Mfn W"[#Zwfŏ4I`m6 hkKT\[O tK~/ ._YC}Ճz|27%/)g 淤2z& s?ދaÊ1Q [Jd[{W!3+^,}SՊWjzr؞< +/r2/XQ مչE~byۤpsx4X[o,O=D+*|SvtՏc5"fMo`)@/JV<eԖ8$%w? +ѮR +(wDW<PŸl]|z똪* ۪ 0Rϗ*;GYseB9KQ} +S35S+&6+*Z6QIgqGAgShtC3L_*Q2~XYl4+"URIULӢjJ +A2$5f_&;$W҅P1M\sijd!DDMLhv7C}Fy= g5yQV #iYa]3*F5ˠ9Av9Z)5״ C&]>fW9 +gk973ey` mUD0+ӉZeup.U*OVH>ڗuh$Bh +"$VI>G%FF+%nƏPn/ d:LЃ1|#2&`d30kTT !P6A!Y6&Nj-S$ܔJ;X@| Š d2O sa_>qCr>4CB3wWF=W6߰(8IT4IjRAKALP/< @o|V!~l x{1=8qPoN' #dؑa8I(<t.[ 2OP3o?eNc0Jt^[ [^୪3ՑF*K/=YZܚA2i1$s;_tb?JާvK햮JUt>։>~0hPPupĕcj&ꐌ|yU7$;Fu!t: )$ TD%t uCl@->T3T[^*j҃گPU3cHH3bp,x 0z@.]rmD_LIWABpԄ|f[Ƹ5OYiHnX97;}Tb]Y_6\"1TzυF)+IH2,U2 BBޣ#\gkwTld_n]|6B7ZQ1 q.$2()_knA73SL `1ABnGe@JT +>DiU0"FJZbwd +I+vbٓv<dWp,e왊rSXq Wm\Ѯ寡h"eՐ…(c!8 jr/Фmf5YwO.5-WdX^4Hq.wi5~l4hةSGUD=D:.;|b8.#VS7b섃3*67sl2*/cw%=õtc ]HFZvތCF2 ]~jfyH BI& +c 6h =APXPH ;r,:' =I܅r۴K5sGeoK֫|ZytkQQ"hMJ6 ).N=#hZDa0p߈,Be]1jdSg X¿a5-)p1|U3(=J[;&ؔoLCS֑θp{?6B=W3p"?}No=鎅76 *:`av Ym/Tٛ$!e.Y4-PHOr- ^$0#De/$O ͇_SXsOO PA%@@@2"# "%/ޛ0 .r_p9U-|eFa3FYncL)3P#ag:TJ_> 5 4nK r}qfhmGY&PA0)R83 +ݙ,W酘b/8sV^-HzG&\(TGP2'nHkc#D5N8a'Ne-~Ȍ| %TKD"l +u[:&da,- /SNWq3F䩍g~Ճ;F/?,ʣjOK=Ual ExuLJD0(lvs;7\RUo7M}d:}TJvdWMG:R^(RK]AdD2%Q4' !`^ܞ*< ?B=l# +/ 8[~6tae^ToX_F6tEE!m\nfTݷ*8%@%Yd0*Zb倽`-ItNW!G$[ϵX:jd>WzPl/|C U9ΰB@DO^ōhaʑ$YHfOS'rc>0xf[?|N}Yiau[Zk.)dJ1Sh64$Py u/%eIE TB=X](확әYwWnbmǞmi)+_#*Kfqei4^Ry& 낲34c<Ȼꋬ*N9S[T yh'>t{mCp!/lP ȲVFmt5$nv?M6HWzZ11R7P,n}y$އ5T jȩ:6ί [N8gG& 9;Ҽ +HLk +$%@J [ **"3HE-~?9 Eodx;Be9 \!<0rOHzoiC$vXp&V + `.a?a?-8vwK;-qYZ}%A("CwD3NB+4z;)WK=Z6CJpÆ%$$S7ɋ_ˎ7 $W0Vr,O[O$YF=|9m>^PJ\vbZd ̑6, /b GY]wT7Ӟ!h+9U^uXo?;yCfDdbG{&ē]㪭tی⦸d,h;g@rDZ֯zXڙzyQPO%bkX^y f o3\M*Pu0LR19(, A +߼{M$FEZV;"ࠎjEhAmOv-bò9<̏~+' 2Kd; ׯmNEi4n|Sk7.*Xph-rdvut,#F/)It"c$JK! λ-x^`c<JNvM[,Y;>k$ѓ1hmqP -?WMEh@EJL\(+y["nFX#?IxN\82IS.I_s:վnymun3xfXk)SuuEfrMwI,p'GdMbdE,MV8 #9a3Xe$+˽?vnW}1ZlSsqӸ3ݒqMQ;B."ke|_Vǧؽ+w쏹̰ypN[wO^.t zu?hﮰ%hr[*DsRWErȋ@|5H?l zFѡDowꐤ3ЮB?o#|_vW6w8`ܻΓ{کnA5K!#8T'1n +Ѥ!\%}!3Do+cPM|לi {o -;ٗH6.X 9kMOZc@RIMj&JjY<^@iMtBHwsoS׏YӸ8甔?.PM@Ge Px@d?2={zdIyh(m-PPٻ;D9spYWǡ{4[v7v3ۻ5AVuށ=+Kr,zzQt0~#bB7խDɽЧ_!'!.C_38 xtS~?H"MK6Xa{ۀuij'V!f] 6CDWpH4|$ ,\b0s Y{y1}(&>py'x9ؠi]9=qQjUɐEH&%6t+'T +wܞ}'ܹܯp+_R[ޜV-e}82QE&~ uf1(9U`B72\\\ľ] + +ĦL^`ִmM[Y\MoPr2K\Xdo8*e7;Ӈ!'=פ~rQPsDT~Ѕ`8'pf19˩'y"I{wF D$= ~rC$ܟoXy`=ʠOem`[~X gխ;/8aJ1%hK&/NJҽSl?|*;#!ų\,Lp}bY%wwB%:mM = o9^Y{)%|KӬ:DZ^L* +?ub6AI(7ǔ3K&[i`'f-ǜh]K-offUw1׫ S +Ru"Ҋ@Ŭb^QߕAAjyfZ +EJ~Lќ6,?P9aK6:4s;LzU3k4)wZ ѦyaWzoEl J*" >Op+@/cQ#6ksO_n5 .z3Eqrs?JlTqn]媙h<[}0G~q~jplqhyrbr]}slXgt,S9tMLuHVvBSVw< y5zK/_{(|"%}>fqFt*lе1tgu btuq]v +X>=vRw>M{x GxB?y<z58{/!|(Ӓ=}"Ov~ziq wl|wgȲx'bxb]S6xXyDR˨yMZ!zVGТ1zB*8{;|i5}:/.\~(~"xpɶMzlm{0g\{TbR!{h]{W{Rh|DM5|G}%B};j~+5(~/9e)F"u&p~l5~g_~bu~\~WW~RvM=G|A;ߚր 5c/EQ)ǁ"ǍQ)p?kkeg&Baޭς\CWRI*LHGq\Af;Қ@ 5/P̂.)7I("2cRoW2kυfea1l\x1WLRLGPÄfA˜˄>;Ù5/YP)LӃ<#)1oljkn@sf։a_\;]WQL 7G,3A9z;(5 +Z/_ڄ)`bK#4ɇȃ\oJ:kfMRa "[ZV˧Q/LWFLjAՈg;5/bf))p_#TO^n岹j;eِ `G[#vV{QZL> F]9AUrk;uXo5{1v/b)~s#qh(]nEjQ͔em`a=[KV2-QK٠ԎFwA+o;X65m͊/b){#)Sn/ܙik6e: `֕[MUētPף<@KnF]Ax;>5`n/c. )z# |5Cmܱ8id嬸3_̪{ZUf5P۔KnWF1=@`h;%C5R/a׋1)ha#ʇm.iGʞdm_(Z|NUqPc+Kpv8/w2y[,z&̔| }}jkqgo%r.br]X?s5XZpsSTtNCuXIvMCӦ~wF>uDxE8yr2Λz,ǘ={&C} + ~@ktgcnu!bu]FuXIvkSDvN68wI xZCͥy(>ty8z2ۛt|,ݗ}'~!,1kxiwgJx3b/xp](xX,'y S*ayyN yH}zCT{">l{8|2}j,/~O'-E!B(kE{Cg&{kb^l{]1{Xq{S|N|aH|C}=>`z}8~F2Q~,'I +!kU;Mk~g +1~bE~\x~W쯻~R~MDHҧ)HC>\8L2v- 'j1!$oj:flb2B\ϱɂW R߬VM⩝HɦC\>^(83 -/z:'7!ɍEωEmjfaf\2EWy R„M HpCƄC>I83-;}'1=!0 Ղjsfvf3a߈\[vWlR{:M[H|fC_;>1;833-F'="7jjj>efCьaN\0WBgRT\MeH^4CHÈ>!8$X3 +-['ܐEB"Va_{\ W!ڍR5&MHsZHGbC8F>8 3)&-tE'͆G"hڅO[iζkeͳÓaG[ԯV^RMH CՌ>8B3-{(a>"qӇ(iwer]B`Ű[VQ©'hdtn_ӯ7ZUn5i 4睬)8[ӑ9-NfgA6Zp䘷;x%;!ޫǚAW"}IǾ}!]s酙%FOAwtg*ӜR+c} v5n3BURw ߏxz-~@ +>TXPpiz,y2S QfF8FI^팵{G3$1G"d/.,>G6udap o+ߋW"i݄ȥإ0R'eF:=')cI1mQgmYʑ`-99C/`WлOxV'C|݈9\O"?*1JzQXn>i%k#KE +N.7}C:zW1n,L]`JhT1-9fDF.MnKwyX+3#8vPrhTbJŵHY F<=6I!2םNn0%}_UNӖ7 +43KSCMߒApOiyDQd{Wc+/eN~ILW:Di6V,SQu=W}O^+(G&?#a "p5(:YȽkTX~|/Tc^ۉbUׄ6q 4NQҮ}GeӠB{$&($^ +2ʴp|8D.NCΨcܥ:%I{zHIQ/Y"4U8'2Im1-u?@E;мh8+mBk\t*D:o/ 90 z:4$[z_)^m0B)G8ct~W+SkIr.[@q8mpozN@% ]~DYA%hrXfs3^A<7v,TN|K _z`KSNM`$jj Pz9*)R@ {sg,/f/̹j܄= Vl5m-fmLP +X55 c08@x2=rr,AW]ӺÁw7{|W67uEIA dƜPrx6]ըA_`+дMͱkjF^NVYj,9EɁ R:Ԑ{ϸ$'8 66Np݄z&|L/[i ~f%SPP4Ll[#>Y=[33{B8c* \V$$Y|b[ NSNI*5!*{9 ! Sn;*SEkC@Lr؊΢>bIq ^AŽ(RX`X|JJnEY2u`UtACJTq`=1h1kʮnĂXUX wdquҪ1vkf3{J8Xa LӇH Ǝ_U,[.qny~'<M_5n-`2m0+;U{6LƒDT]Kτk*[ҧʐ{짃%ޜAaէ⇪%h;:HVcAM&WqǴar7OW#a(o t&OȷDS<>zJ`/*<, U!@3rDuJ}t.QA3r rN-_FD28:pWtmT(iED͑U퍢z0 cz:De)]'4Y%\YLY3#Mʀ`4HY߂rC<"/|MOGz=LK[ݍUK[*aO}L~(_g=(!+ETEg[Q~b>f`g|z7=0DnIz%7`sWRV=*Hukab3/|`me*7W1 +R[_+?7,x {s4uZ*3ݸMe;'yFpgQpˮG=:o5mRt2qb Zq%~_D/bcq`zq@Gʋ/.Jʙk'qno!ؚE^hL(֤ݰ< +/ ԩ}f &z ECܘ($`)ϙi a?#'][l5I3tMrWC]&PUF9B}CFs~,+gwH'@J ,Q%P~+ƿ4/7eޗAiK"RHE4UF^P9"͔[pwY/4 :xEmߒB䝀C2zZîsSFYXN [qj6)Os@JKQk7CI7Psiqz^guu>jy +:Bx]:^0+ +ɏxӌ[d9$IN3xLeQ +gDMIYTQ6g28+hE7S2ڍIxHo[.)$5.wJ4=SHVrgu~BLl%*gd+xdcQ#FQy?4}'ZNzN-A[q@T ZPl|G6! ŠaDCP@kQ"(jg=g {B +Wxw7LBypOY~ea`J]87O%q3NvXtܪ;HVo_hF (G3T+w S"RgEਲ~tb'(aKVp_ZJU l2w5WCGK!:lpɞBe;gF;Ԧvvr;8 .bSY<5^*̉P鿐x9Valt/gTC<,qO9EuI =&EWQSзz` f\?B'Y;C> +p<<]4%hh2–RZr;aG~}2=]фr b.MB20 ;]Ե-n93AW3,[< zh)dy(VpHփ 񂂌xd(JFXb ӣf8: q3 41¡Znѥ@k *_ڢ i zXvA[o+npIIpB>~ȬțJ& 7 i0,mK`!VXho-ԨDueYq'Цڭ9f%QemD U;S"4R}20v#"JMBf3O :LmmꨬI&N.dXD/6(>A)+0>Qb/J؍cnsQhGޯ!9K_q85J3]2.|P, +97/#$ji0ρ4VC&{c~x[F|aO!#Qps8mq]|D3"P:\t.im^ [iƒ.H7vz#fE{qي vvW%~;9K썯.܄~%ٹ9g –yZ_ WSgPbmQPCq*-!# +"VQ(k@}oNHBB[! ;"-Vh--a'ܛ]$qdž![zjds˝'HLC_t`{C7 /cઅ)P.@_D !7t|lc&LdaedOCS,oZ!V"n-˵HZ}>mH`6]TS 5~P~IjTKQU,h--vQU&:{g-\&z1n.lцXpīY#a >ǿ|kOkGNLCb^'+_HZ[EXByYyB*ޡ]: .C7±79doa>UŋOʼn%!^K0"lKz\kIefRқUo _%^}qq<-[Jzc^T(CXd]7Z',aćt<(&8(']cw3Kt{:Nsyh/@.WCiߦ}B&fS+nw/قb$Z~d? gHvE5GشF`zEoCM) 7>N䜰#$&rrB@7tVYL O +PᲦdE( . ZJvgmF č* { +Q臧3TFnMГ+ŝw),2pn`b6FhTI*[K10+b+W /#3{Dn`9ׁ+V +5"(Ґ ">.%lo^"3d>! &=kK ]A)4q   ĭIbq/>GlA qOgE+v4DbI Bs\bQw%=8K _䜰Hr\yWx=hm'?Jjؿ QOp9hƫHU;9E^5cڃ +YxrT.ƹ0{).^W*Q|ܞ<'k,1|FZ·H帿cR|/q"ZXxzqOkDM^, k]=Z+~PV+84)yEGNH|)byI>cwkId{ҫ՘b<K30*Y|T>gYJקGqql5 TNIQH+&y.l^aLo陦o6m՜pEi$tpt.cldLΧ}̇_mX70]6 Traҗ&ȗ1]`q1\iZ?O*S// ׉Sg-3[@/ ^TUPB]+$${}W@pQg;BUVRZEWuT_W[ˎ.bL +W72/+/$e300|B3Z؆>Dt +{RA\~7I^:nc;^G_g.4ҿKveNU ]UI:##øWs<i %ȑzO.R=i{^n'Y0@i/é_04_i"vOth4V;v[j3SSIlb>G͍™5)E!7HԣzEQ+g``E%3NЏW>ZJMO^2? 'd; "۸ $+VBy!#܋Y#|&&2a5rz~Q^GL:K:B]i:I& `9ILs]&>1t-BҖzD9}z?Vk]Hnu_3d ~,ZnΙxۻ속Psp;`c.̃O;[7kh1LZ&T!f"LSit2O'~}HMo\Vktȟˎ;lzd8t0+AЋ|.'8|IUJJP .Ww{x4},DfG*03F ̇t1 #JvX !8F~ ;8Xue;+wV] {U+'PeVsӐ_@yL5DX(ѠK75AF7']m7ps)Or 15kʚ)E^꬜Ax%=!\k5_{ƶ' s@8h`jiӊ<[]h:LA뮶-sUd¿a9X]PrXZFVNvC0Gu H2n>: )mVe}`x>Z3{(cmGЮ$[k1hhm~T6foc4[-O`Oqd-0bn4Σ AFj2kѣe垨?E(#C^mg5Q%}Pg_0 i9tjitv&Ղe`pS/m"@[ ;nrzC#|-VSq~ o,HWgCd^R/1O,̰WdbB PDȲ9!tbָN`WybGɔ^x|Qtn7 KEzJkT~A} uI>:L(zNО#b8>%{0 &l^7-&BWK@Y"d-XxI}La#Ď'9F0%]aB@t=vcqѨO/ K$ {@K ߎ\k7r0Dtވ e׾"'Lk9K8}"xWRmyh!||$HL}辦F-ݠ]v w1m},gm/;-.}U0 'Busl/xo_SnR8 )eĪQrE[-I|,8txf7nKw)%c[,!(ړ6*`,Ab!)qv ۉ| CtĤU0-?ۚcMEyjހf-iGQP[c'$t #S.I*qvUشmtMQ1:rKkʂ0FmL1GWb@6=2;&RXkuuU /%SvޑuU:DT+Q:\0f&÷2|ƫ{'<0~ $BT!r 5NjP7L/+6RF$4G?&6[r㣠t\j.c17RޚWs n +~knq +W-+6 Mw?i_y8G~t*'Uր"zIhE2 &Prޙ~>_ IEth<{SUO[#؅wWC-&|#B-Ar,}\ 4Hr@<䗱d:'0u 7_ʆҰQSÅ=t 5Hd'GȔW|PĆG^pa7gM0FfE?C$(\:*w; N!Z9ws N`0ۅ30ÖcT +Q-*!^rȴ`aA쎤 فZ,whSnY}foӾdVDzVmo<3kx&e1ArOt[A,R^G3nYȀ%gD,u4qc:*&1.i̗vMAZU丹@5ێm>G޲Fed]$b1fF콰Zl +37JeL̓bNJgN: 1Q^IZ&HV&B@8rAxI^}F֟VR~UDy {^sZuǔMto[ZmS&NMm'4w*nM忱OxN!6YCi߸Oʠs81@vB`Tʾ1K>!SKZʳcH-\ a-Ie-gچt%/fB4/ q5,z]]pd4] Ϣv9j}}d;[K?eEm^\O[ +B|b\#Y[Ƒ'E 'BPԳM{4}8\xccٟڧ޴a /em33! x +:;ƃoٜiXN)V[ hO9U^*MZ45AsbS'߯ yU׬̜3|3j$r-Yc-Mo70تȅȡ7tME=Zዯڗ{Wi њ\UvYyk.B/ߤņ9-/%3kӶRƇrh.ō胺H |횃TN-MzԺA8wޡj509+,cc5+m15|XA-g1(̍܋X+DOwm`&H՜^usԓJ͂a~ W)LuZU-#_Ḽ+.+b~E%VI]xM4]$xǘj-t0^w=L&;[e4g,PqZ2-=1Iu +DݹԳd*P |aYVO ->jmSxˀyDgwg&0Ů~M3XGfX=̐՘-G3Pr[H*Cy^\xbFA[Ys[sPFr-,VnKg3`t8h%uDF4KH$A5cХa.ϿGj'Hl#6|kwpl'dRvj>&ETߡjV8&#n'<\62Vp:|5a-QٸaaiU)&GVIג?dq\ !Q',w8v b +eZ8'N>1TsCۯ3[TG&u8؟IlǏ*x4'SAmĂφ'mQwR ͞䕫m';Բֵ0ʹ;߹=ivl1,+l +Z@nuj"@= Ĵ*"0]2JIw@9L|'z`aҴOj8Ir?+3f;=\'Nɲ9_u)yH/`0F?aC%`\6Bg?d;mM1m:9QXeSR9Ay,u΍%O{[U|׶OYRa$KqcYh8κ{Nswl-#nj[iWuS†!_{Sp=ἳdR%I +։8mQ +{JG3eޕ`H-bL!/iMcUj6ȌLVĮy)QИ OC ¡ D[}l + ATd+md\SU,+F}U=BnZ75֫W͆eoٖ$%qhO䀙3X5 25|?5W4X^XEyyv~q W`[[Ր*=#"l!r B !$3Lk&7UXBUkkv?`3eܦhi{&4a a4M*4a/lH 4d2% +_ K2o\1ИE'7UMේh>s`nwKsK{c'_ַ +I$J!mE@ɄRibئ7ПIOq6rfپOHݰϪjpYN>r,3AjYPv%}"gLsv=3 +Ĭ4@S|LօKWj -($@ |s 1)õs{ ivԤ@ ]kjx;}mBz>}[P}3@K؆=[9]BxYBpV !\sDя*hE:Hubtݡu㼎vMm=@62+< ͥ.%PSg;TF8 zS'Qo0 fY<9FTZZPAg%b]b=iyf?hNm u㍯K}}EC9!6"="yG,`G%ړeˆ.Y<6x=9W?\Ź(krwYWdi%<7dGg:~uQԊ$ +Q^sPDC@!d^^x;$V>*9}WzY=UqJ[OW/O9)sq +n shL#"4muSZ J%sW2e<yֿ2Al5X_!pA_uNT)d'&#@3Z'\z\%;K.s}~6~UR [*Lgᘒ<@_*2i:46y0^R-SEAK(rY!mC8 N\U HybOVӭnP]eZ1a;K" sp +cLjx "]g!d))UzzF0 +MNshhyeY3ՇG Ň BUZnTdop:`| Z!Ji@u?@y!^$w/ +~ږa^fnK4 P%DϨ:)j"w*+D7\c魎CDo$Q'=%]uWJHa]0뙅۱8})#6)ȰE4G;Q9(WLWutq:/eU2eb;1]w VV9W<;p~րyK c/0x[/iQ"`(Exܠ.nV%J y?]d $^-MU?ޝM6ǕWpԫŽ6X9n)q&0!&.Re7bZ28rz&'s!wC9 ;}XhUr1W8fvKf +GqNtQ7TiDL- .O@J-0?auƙ wOfva4n[ɓIV%QِK^ŏEh?<8Wm2#+S%2t=oϡnk f3`؜R[peVNPÖK!sEf\?48 1Ћ<+M^%u1ޅusZoKjÝjeV`m[4HU:Pq2Jٔ%`E(>܏萛8p1ڋi+M%`"Ds5 5nơQ0j{e,`ZЙϜUiP 瘃JܖD˔>S8Bq1;+z,% TIl_mZmoU spOyqnIɞ[rCt=nu6Gw1/ԓx)2hze"M7|}r +mPnpnindo_]NpZqqTr_O-PsItC4u=F~w=6x/ԓz +)E{s"t|Bm~r?pn3qKinqd^rv_!su_vYvTqwYN x#IRxCy=9\z6{0|)}"֋~ȈrwmwhhxAcܧ]x|^1xYkygT%yNczyI{Cfc{=|y6&}?/{~ )~"o"jq{?mC{}h{cl{^?| Y +^|VS͠5|N\} +HқI}vC,}<5~d6~/w) #k4q Y?l֪1RhYcR]ڣnXSyN*HB.F<ƕ{6s/~)##7[lEpë*lgob¥l]FXx!SKM霊HpBߗ<6qv0h)ʍ O#]?ڂ?pxlOgچbՆ_]e"XCSgMoHO}6BƖ<6n30 +)ߌt#ֆso󪐋kϨqg$Zb ]\;:WܠR[MiHsBV;pQ=LvF՗VAW;tt5ɏ鍍/Q)y#JmUi*dI_Ƣ6Zן四UŚPoK̙XFAN-;&5/)܊-~#4Mmjh2kd lf_mAZnNTo[O)piJbqEUs ?➻tg9⛪u3w-jty%'Sz!x|ba~8lmhpncհ o5^íoYƫtpTqOrJ}sE/t?Ğ.v9ћ#w3x-wz]'o{!0}1A~lph\qc`r%^4rYsiTZt-OtJa0uEiv?w9̚y3—zX-n{'|!`~il^@tMhBtcu7^{{uYv*TvO{DwdJPx/E x?y9ϙz3ϖ{-|'}!~#ZlowgxcUxQ^/xY;SxTAymOAyJzD{?R{9^|3Ȗa}Y-T~3'ː +~!\〔k{GgT{c{]ޫ{X﨣|SE|MO|I3}Dv}p?i}9~i3~-'!݌n+kLgZ-bo0]c#XBScNȣMID?H*91h3E-H' ."nχk +og!b̂]]XvctS kNcIaDo;c?7rj9]3V-̑ɂW(G"+3DRjǯ׆fzIbO7 +]&)XC΅S_tnNw=InfDS?%܄9}M38-ّP(* ["QŃ:#ji?efap\ԨWKS/N6I3^D :>x9a3Ʌ-ސ؅(ə9?>3[ -ݐeT(I="ꄮPi/&eū5a>P\+WXSRMH8Ce`>9&ډ3-(XՆ"p…XiYeut`A[6WRNM|;HC>T9zT3-取(hr"ʼn#,녎iMe$+`ޖ[̕VxR$|MKђMHd=Cn>g837-:(tm"ۈˆ 72hdʪ+`P~[deVRQۡMkH3ۓ(CDC>DA8Ȏ3q-(xʼn6"zg(酉hedrT_${[cV_Q\WLޟ H}4Cꓓ>!N8˔u3_-׎(yv"->gk_cUl'^tlYLmTnOĭWoJpF +rA +sf;t6u7vL0ݚw+Hy%{ˏ|ˋx~yg n]co ^u0oYEpNTYq0OrJrF tA u;;vg6w0By:+=z%| .}u fhqmcq^gyrY.OrTosOtpJݩu.Ev$Aw;~x 6#yV1z+V={%ג} 0~=Lftbߵu +^HukYuTJvOOqvJwExK@y;y6z1*|+i}% ~ \8.fzwb:xD^xXկxT8yO]yJzEå*z@٢0{9;ٟ+{6|1 }}+{~a&w ĉf>{xbu{]{X {S|O4|_Jwi|Ez}@á}};˞}}6{:~y1+|&3% )Qfg bV)]ʰv$X{nSƫ0OXRJWuE@;6y_1X+&Sk< ;eȴƂb 4]ՂdXJ΂@SC8N娺3J24/EmC.@G2;>;6t 71!˂<+rK&oC!9Kr1fe/2a江]b@X8jSh:N' J EN@;U6o +1&F+Ò&wF!0ǃĂeZae]8W򬢈sSFNIRE6,@n8;7*6n +12˅;+ݒr&L!\Q݇Uce1㍯a_] +DWԬ S*NlIڤE$?@b;6rc1AO+&ЎR!݄dS_aL֐n\ӭWRNX}I[E%@GC;|T6j# 1Fވ(, ~I&I!qKBOdԔ`_\W^RNI~Dՠ@֌;\6W1Av,p&4!ˊ ld[`Z`\7W#RuM륑OIQ.DE?o;B6H\:1=,{'L!割Džd&_`l[?SV%:R`Mɥ"I2ODܑ? ;30:6A1?,([d'!!azhc:`6+_[ͫޚV֩R@9>MI;ZDx?ٜL;'א6<1Af,1 ='1m"Ʌ2p%gmpi"qHjGqk^rlGs(musntp,u@qmwurjvt%^XwuQyxwCzx4{*z"%E|Q{nmUojmpnͳpoq}plr0qzrrl(ssimt|tivuuKumjSvMv]wRwQxWyCHyz54z{g%I{|̏mxr[ n1runs|ot p|t{qAunrv\rvրswutxPiuy5]cvzPw{By{4z\|%J{}7l>wm +xB:mxSnxŧoy,wp[yq2yrzoszu"s{Xi$u{\v/|P4wM}Bx}4y~ %K{H~j}uk}5l}Zm}~ n}ol}ÔpS}qI~LrC~=ts>~ihtk~\hu~Ov2Bgx/H4by]%Szpiكԝ^Ȯ_]h&=ž*&[.ljj%p'ˈ:TC*DD`F#R`v(Ћ[ŀKeV@]g> + ?[v#*ڱnCK* zFۉi+<3#ɔp8@ 5,YaOI~ +y ϓNp +%kYA%4z ?H~)wDJץ[w0wif$>J&ME3={IĈ3lװ +rQU<0J>Ӟ9-P<ӴɁ2$D?>@>{/~\]WMrU٫d}er1q,茏P|&Rw+9PM_|Sk^"! +iN>e%)c$/K>BrXJ7dfƙWqNxkhЗow+Ti/E6^]OmiHnf l:,+ QQTU +bO8b D"6;{o1esיOm?ͅD0ڂZx #o(?' +ɣ/!3y`?z_]sbѪp[RWPor51ulg@NJ oڕyw GK^VuE)8H_% fuOT+PaS]U#ga OSB$gg^g/Am햛f 8fn34E*]{@r6lJe%\*X&C6$Be3x~~Nnfϡst2Ⱦg5Q7 &TrGCUH5\Rv"ƒ=~4:}̿%VB4ׁR=Z-@o }Ę9{OuuU㠇 Π wCxDvoEu˱-nsdfw^)L+|ؾ'Z6 պs[^)`~w/MzEvX:j+. +F2 pi~'M./BPR(n{.WE%,=7rk.9u@f(,|C8f\Nڹ;SԗCǧ.879{ԼvNep r+Hz Y?B1AV7ud1R]}:o2tJa/МFяUa{Yu0mgǛnScCQ3#r7`hY0tMbg\3|H4ý0ElzI<"7 p#јy;jl%Pk M_{9ۉd#Y ՇWS`_5}uAC,:zk@(DQ*KeLHa=D,'5'EP+֪~Gm@oQO#t)!1iߜ,f~3Gԡz}z*6jpb`g~^_4Yhm1[&l&dsdEGz3)]ܿgQo4j;g0V! +|驇:JbwE#E֭ +Rj.M%D(5"iّ-,8@QӴ!6/f #OutO 6(nBbAoݿU0{ЇL%Cv\#\ "o#k jHM.u`\La4ۿ_ +XMpa]퀟q.Z,r8%p7N-ŝ:~QwZ.=tJⲂh% z‰_20 ܍R 3Ψ)gjJfmDdᓴJ佾C;u㲉:tF#NMԂ&?_6eG%~ڤR]H͐(Y(:|M$nf)BL7dn0猘"a0 +4eTO?N:Q]f 4WrgLHɞOɈ4=OPu9Y4ҔNeq^ZDL7 q+M^‡^9J(rP+Av+JF>*\ݙ)r4́Wf=aoïͨʔJ/ 1КqwZ&0`BJ1 +hoC뮜WetdF7UEWUO +ݍ[| L@:9aR/#>& :3Bm!_rˠir-O㖗k)u7Qʮrm\EM6P`?sv/ZL$Cx%֘Vdïc_SlJ6̧ix]F˛:gv[.ܫJ^cP_OSYk(uR +2Tp hRv,&(d=#>9n[-Oe|CåNSvտ4ͨ3AGT"p2Zre_g>/H ' Nz~)5amߟߞ=xFYc/:_rS^S8ڞd9=M}|֜OTTPQhbV#%̾.tX!W`5"Lm;~s0+aq0qvIK/ {HdGU|ŀ6e ^FUey fbUx}EI'Lu6_XMR^|U^@Ǫ!EIB2!HB />&X:yJ ,IPO>^LF?iPj;MvAnM!;9|, +XYC]D4fX:Mi{MU $P!NFJo62Q^c=&9Sf0ʏᄧ}HT,J[Ρ'^*J^Bni0 + +f?z؏jx }DJ J2#(-3,kdpVYΧ042cl +v[vN;yz5ob?{/a[5k;1n[Q tN HgJk3 AHT y|=f6UŹEHns.p[O26@C]jt_w0\iy=cS `fug~N< 6RS߆gSSEԸb@j_cDZ.#{6<=U3j&7}"T>licL5]ө۲,vu"gET|ّpjkQ~ +8_UmxXn|}hZ:E$Sx[FI eNz?z(_#'ŕĐB9 vW(Gtb?o > -Psg`Wu!lR QTF9B̲~1. XK%lEO}k΢kᗖhDl݂!0MM~^@}j"|$׈UJTaX'+ XBJyl=BloƷ5/_/&` d[F +$ 7`s q+t`U8*!7#B?asԋ夀l'1(mr/\=ʯ/_l?̶皒L-@'[H?nMۊrҡ]ER6@#yq#a$ty\֮0w*f"*1yם3];k/S1@IyB'Xj,݅X=AM}NYl#H7DU54u&X(A5bհiZ˟xh_P*>?Q+۫C(sJ @w`M0?GE#B\}-w=]y{"m^{KWi߳YPOm;H]<3+~u3N&xY/W}d EZ8X#'Fs^t8yGm+mK|'f~Sײ@pC + +t +=vgcqP'n4m +E GK8718/KY|BTi]؟'31:5Kp~GXS=~0l8{ه~ eʰn0D[>|ԉ~4  +Ph%Rz{"f.T :9]ƭ_`emwĿY3C)t*"|׌H-`ո4qy\W w~:;(yE]@߆-D-]2fBlBBΩ+AX!B +hȐH4&2CC!v! #cЧH1@>ƣ#ǩ0лTN!8Y?q Ԍ&j +w3qR@W"n&C!1CxD59!x@&GH 3'ZNusٔBC_'LF_~=X'o2|fނO)ex0="܁34frPb2%K2iqL^:r<~˜A/Ō:<ˆYY}"a&XbG~1hc7ŮE|qv/!:܀q DhoD7qI2J _F +-/ +lKs-^CQPlB"Y4O1]~%/fb>gs.乸rtuDCb qo$.&R)ʙAG:J ו!^:rP{ց(E:$?O<\BWhaT;,1R8Jx|;|/ Id_&c %*]TT`!P 4֣K#zlR٨NЃZ&z:/;ci`Wx*dL%p9-%I}X-rhci3Mpnq#WBQ;5؍|,Pd !9]ݞi{j6lnTuP!C(y]SC@²6}*ߕEHBX@&E[CRa9-:}U<yקd/ㆾ20ɚNxFdSDkoGb + KfjY{fa?]߫k9‹o2 +t{0,HmY~jYp9%}PxD׸-"椝Xs5:v"_v :+7zn?7*M^ױ3aڍPO8O9 JzSf5[4i3?qY1R,:[¤ul?^sm=Z %Go|lo}f)Y@_!F-Ck -EI|=}*=J}N bh9$u}5Ow.bil*S]Ul +՚hڹNHRJ:R{Dѥ[HesT7S|JY2=tPeWOy' +̙d@*yUB>;|]cQNp*M ~u^!l搙]v2?!@F 2T" +H_O@~J&9`F;274d`;; 93b{'Ĩ޲/#cujI lC>hi!1B_%=!xT3q}L~$$sw='WG5@Jԉ{bx2:Oė=BC %dd^R)\H#8=)g"]\rrh{ֈZ73(CK+5F|1*1893 ЀV0e׌BY(H|ϑOmHu2.!cXgыo[;xryy3U-/plQ)r0~gYak1{=H~7ly7,$ yZnx5G)8- RfeU^>.K7`F',KR +|(aa\N"iryq*] NUnb%Q5!U}xN+X7c6c exO.5>ڦܰ^P cXZOjTm<ÈsrzLF od9;6Zw殺s.)>tl)Lk*Ēb^{2 `/#ҝـE[y㈌.\ZF)H&bIsq$[(<וYP6PP 7 ֓a|bkd[r6gyj%(CI?[0SYY0;N"Tߦd9da+TsQb*YܾrUT$O'}IVRY RH[4*=c#OЭa^N桷kǢ_RM*F'ZL*OoYTC4jٮI$N ҹt|~QVvOA]eV*Y_G U6yu䥊OJzVRMGm CFN_{$!r­hC=͕:1լ{*؛VPӁ0HvJ%5|CCb0~"ضm/؂Labpq BSM5|2ULWI3 +&ryKů [I^FF2]$% 8zo ?cos mD$e% exDV2sp +;Ł,*ؑu1)qZc.&:b/Ah6]}:IR΂ؐKkk,"q[P{+0e>eֈQ*S4 MTѲ%?}b],.oj#F6پQvφ9/]]Ė/34_\TPiz-ԜJDJlf > f8^Txi2,jRN/g\1,Zh2 +쀭7`. E {[PvICf%YCC +?JL>#金UdM7SЯ<$n)t+ wOoa>3 }laS$Y\a\+[~TsI +4m{c ^ Y>Ц*6.5Trx\{W .KpipWi=,'_.n1ă}Sz0PPzeG}A`PS}<, \ΖUX)`&#:50ι˷9w OMVK@ɾ_2 4nezS^K@QY<+/l@G0j5'쮮# ]îG$0B^ @֦p)I iAL%hz 0|$TiywH-wH08 }i5v3K {C3f Q#){ j_De=?, +a.Th' ;y^-`˅zA5i%=KrPiUc5A=Kתbu.mSykjg/+ 2RpSڸk\t0f{ EELRON\宯jٖDp}2P$VK^YLbb +Wfήo2 +{{1z"\*wH ;-bs5/23_1F؃۴Kp>'y5ٍ.jg`3>a0LO`nY Vq!- +9mĜgl/D6 F1a-.0,ø~к}s)lSS׃40$^~ V^h>=һ8K\&-n?b-U.f5_KlLQQ8ȒvdGHbzhF BLE![H)%B-6tچWmvu}q':̋u(Gz6ޙ +lM;$`Pšyss,[fB6];0ͥIo^!4þb/'ao38th4p} nz WQES`sKj G,Ǟ]~xvB&FzndxٍW9j+?ʷKv@πwKM!A[vJogImFv= +ӻaKOu!wCu[zQ|!^DtѯP8`7|zՕjzE+s;+04-&/IG΁8t fA("s83z, +2S +c&g554.l7vr +XQRM, +=U2UpFLE'8H䄽% +KY>>V4;jo1v7A]} Pjpq]fv1&9=󯺒"B\w\QQ,J }G vk#Z臌{v1518ϮsВevoOT˲hef}slpYZTzϯ͝)pyy2.asNgF|4XN2e Lk;S"UKfg My,ŇEi>B2 j+e Ւp`;lSy|.Wr`D3ľ0h4)J+25DmO~EDQX#vk ˋ҄Pm0-%GS|F͆?1,A'WqqZ1j4YQn"ZǯXdYT] qjtH=5#Cnr?YO1[xQr +&Yre`zP7&Bu\f'q(|6k/P2Fx"w{S0HCiR/9 =Q0mgy@;Mr0M eIclqsg~e -^_Jߥsѫ= an;5$"؟3ĥȫ!W1|X/i/EwxF[<G8 tL üANO]Qe'Y3,5JiOPGodO\Imb${tf0ϋRn&y%4Y4VDw7R *H!f{>\\? PLUgP;GID)<v1 z`ߖtbiriws+CmDšޤKrD҅߷}݇Oc9E8KIO&r4q$_CN+XzU6:uLJyY+*#Ovѵ [Z@{'P J$XYE {A=K6" rZNy=u:>?fjiU+X lNH` +gfWN8'iz%b|Y9ִ5Pp?3^b€ĖɄ84>훧t1L`|4! u4б1(ޑ&Z~؆(ZJN³sz[4ı$,3Y=~5FzB:JR3mpQAޔ쀜 ײcA1yMG AZϾ;ok4^a]T$i~]>U^zH\o(>K߳VUQ+E!lG|JXVtF":w^pK]{ 'uuMQeŋ?&1n +M{F YҔSԔ/AC%npyV+Z.ogOe)Jjm`!O{®FdrT=~k̭;g(9^+OɢJkݢvY'.7Sf Ray(OuՎ|Ygc^ީyXILlWE|DͤK߬g+KJ8tX~!y*8M~u5QqW5Zd +(|+jC}1T_Uwk/+:}G #_3c8ナhzb(7YƞApm<h9h{\BL1\_ WԚ8ZM~Ƞ&ȧM, .qG0O "r>gAg /M,yualF>QԡjFwK{kEz1r| +D +a2q X +SAqi :!= Yj, !v"ꢎg$i\ŢLDK?9D,/^L WoۓԆ13qQadIJ3a.Lr(HrdDfYg4=?dZI [TFן,k#{@{;(NW(MJB"$;.!paVޠ8>\1t7:wt%mQFN/%]L b<,6&g'Σ:h"݄2t`ЌZ"C!lUM=X+FolFN.ԐfRqf/ڏ?Y{ɰ4`G{ z'nl6`~phgMܖS9InO !(r} +k_ :33"`^j<['4ѧaT/;nȆpQw%wm*eggcSc?"{_hN׃=W:vqR8=;Z'z:d5CdWgCb2o+Ia1޲"4 +d} 2+mfP_bB]2FNo(qҮj)KS% Dr#|6_])HIlYM#UăƘ#7}1MjR&gyjm3Me5 uh-6MQ~p^%8]z$VD[W=oVWśk*K =%)Tx#T~k@8TسS i XeUl(KV$=7M޼oƛY$,Ar>jŅxY(Z:UV9q|N(h=jZMSf~Y=vpd;sv ==/fɼ? I'Zd6wƱd/ ?-$.GQ~䤂4+IKuzd^$k7M?w|g Vps1j* +4gs/QW|)a< +PxZ5D@#w8{$Q)2Q =Qf8&?,NILiTH-Mڊ|MQxs% bwk u*R\_K}$\)]F+ ++P ʭDګ 4w)jMǏ?' +V65ۖfh]ؔs;fV{Sj, GTdpՍzb5u鼲:;_u-&z!ٮT +(a{5hAӈh/IZg]$X(4ۥHЎ[ U(qRF +byomw. wX.ß.m2Fmg%i.O:zb P0%jz c$m{E?c<\k5d afSu}k*7wM4alc" =i% |"q%M?ۭ_KɃz11BZsAI=>'' k-my-XFBs +uǔ-1F4D" 9Xlrē5I P5j1x->8x2 7_U*M}>jQk/B/(o>z 2E%] )ksp5F"Lh>!zUs_YX?b}ZkZWv*Sߘl,GFqkd lO&^l.E)~+=@xBy8~lKQhK:;NR0Z~ђ߶6˼ɣ7ߖBg]dA.2xq0%$C,! hvwpz* 9}m =8[X52'fpEui=zYA.ƲWCpHw;aj3׍jbnT9݉ bEW?'\(glbj<={vCd*Wq*{cqKE7x"g,婕ƃ+,fAt n>%mm0Hgoɯ^^ʎMM{Y,kV_-y3C*`l[o$׷C5?Y~N`]{-a@|' D/S-$~ AF+C~%gNޯ k6S^Ɨ'2DFfxg=o5/"I(A FxE;xOр"owR['芯H+눦pj6qԜ Lk7{Ur229)/ȳZO@^HÁu۾kv^'y"{7GkOwgWX3ɯs}ǒ۞f?aO%Y뢒ii~o~7A~q6T|<J@6&ǚǽ I0F>frmVz^ium7򂹶:AV̩N+CL܁]`#f_IMFԜCX#v"{Qg9 <gd\/.ӹ ٙǤ9A_*V逸񙲹wTQ7ǫM%$&s`"%5R`JP8JWD28.h RjyBeZU>T)EL<\)Lcu2\ūAETQ +5l!zSB(+-dr[lT"  t +Ĩ/r;2Ŭ`]̦b^Ec]i;"Xlbc֌iB#M/tsW߁5/;QDc @ d tUujfj ?wBn"hsф\̻l~gYM#A /;t=nQSʢUV0| &VIqП$m J(u m* y_.=BlElk(G5ҹ=;9ҸhTG렫A C rHFkJlpL``el Ex;WO͞׌tԕՉsZLTF~NS#QUTFTDA Sxa^zRhYXSSi|JQ+o,\ɬ7as|\HE/'sXZ3DuKJi[>?mo3KI ]ZYU_i$x&3`WRtWDfƹW`}c>ؚ<{=qG- (0QPC@d'Hރb][uնZuPWzGxwQ#It!W@㍄yYܒP(#{!,K1,\wyܴVV< *$T2z۔%3-1'EkʨA+ e{8"uð e(!l7ktpt-RsX JA2FS˔ʡL9JbeC{]b?1"(Bex .3kIs!ʸhG ʏ:1<#]&CӜA)~}2^*l +Aº,.b 1 +Η80oeL3* nBG>~-lbǚzsf'[ƒu6 /9)7 +U6-M$cDn4OW.oտl܀4cQSzfB۲6gL+.}Ѐk;}O^ dS,u7b1_.r0C8C +ӗ[OI~:i+kGSi÷2 6Ԥi!Mz~|)Z,EKj>8Ȑ Hݒ7%ciM-s=k+Xmjiks~[5iw1KSB5zIo5ԹjTs.4\t1ǂ,t #9|:UH,Y|tBf#>nNY/'RƁJr=VFJ^1^8kEqΥg<9,gۿ%nwMwz S٣:c/>M)'娽z/㽏"o "i ¨ȉ;p;?2Qe%y]f$ I@LvnO;`:?B|BW{n058ƾl\rna{g9?g6s 7q`yq+Z ۜ c&>SfCOX5Ӭ*Id vheW34t +!BH^S@Շn;jo̝Yy!sDrFJ8+Ub?6 >(.¾>dYuhȗaIQ$eɂ_B>w>d$رD!4uۮS+-2iQq#5f-F}#sLV%GUTm:yD,N@}G `!>Ļgp"HVQǦzjQ iSK'XC }nNHZZUrUsrPݤt:LUuG3uB85v=#w7y.1%zn,]{&}O| !~ogQutfc?t_ uYZ#uU[v@PvK㡑wG +xMBzy=y77z1{,.}&} ׋~Ј>fwcGpx]^٩PxYç^xU0yAPayKz5FԞTzA{fnb +^NY5}TO硫K=FxArO<ڀ7\T1ŀ,S''&?N!O0{e)bjh ^ JX]TQ4O K FNdAׂ,_&Ȃe!tVvUeb†]PXDžTOrJԞaRFATd8BqM9e[r4A7t/ vq)xS$TXz 䎻{6}bp^k^kZSlU4m_P&nlL(oxGGpBxq>Ds&9ut4Xv /yw)Cy${ +=|}f~ybXn!^)nZMoU%pPlpLqGrBs>Du9{v;4ew/5y*)┲z$K| T}u b+qJ^QqZ5rjUrPsLGtSGwuBv>8Nw 9wtx 4jdyL/CIz){$Ԑ} :~Boat^yYu'ZuTݬ+uP`v_KkvG\wB͢Mxf>*y19sz4o{/R|*s}7$$~?3ax#^=xY߭GxT^xP(yOKyG0OzBBz>{q9a|4g|/W}*)~%/"{jaO:{]{Y|TX|OW|UKl|F|Bv}\= }9EI~/4W[~/S]>*4J%0B +Wa5]Ǯ DYqET26O`KMSFܢ ։[SpթVԐ" +P@@B往  +KY*^ө至^-ߪ}P ڒTš}p[<_s>g1Pq/ư:^ӁYg~BC9`Y6q"팗2Ss[ p3 ?\<1T{"X-Q$[ `|oF*>[` &]  ?J;#t#55N{ a{ ڍC+5mH6jldMXx+k=,2|Ew/~ͿA9sHDn4+Iŷ _ #MW\:xV=:j =>iHqnEאgzRSN~6sR;  6FjH7aSC''MXvs:EE6z" +/jf˂s윒c+m"~UO/4, f<󚴿aL)F q0 /6ꃰ6ƌ[ӥG?3Ҧ#o9 )*9㮅"bGE~T.̞TVk!/e9EuM=]s#VX0-/wƻ H <1 +uUFJ6lSx/i^vQIFZ~yBkd3a'ĹX.y/oN13ΘFz$ֲ# ЛҴ޷nl;~,tzq6Yψj}ZCTC/ڢ⏺,?㣜$,h/2`.Z kcB;u.dv>b'{bE2ʩ)nmE)^=guMx`__.Y%υ(PoS$|l'JZVJݩ(1su"}Yy}}ܭlr]lvUBA\ByD[l4LjIE ) ,0c7Xxl,.{՜ÍŶwXȃݢ</g +eBJ8QFd,Hщ[@'(+y)0? Mӣd++%8g%V4w\ yOY[(ۄw\QrVxQH&JDyHZn)3mR>1b?Rt#67kHI] 3CҤ˕c**wU{Ԫ?VǍ4t"zx*jRq h *?TW1'T֬*֬cRj&a<)^3bb+Ud2T{Iw%.[D?SMQCS᠁>C>u0YX 5MU[d;: {#El0$&J(4]LVCuO75ko!!Ve p+۫p洿rsy[Tr(0Eϡ"F+Z@#ROo%+wN\OP.6v VCZk>Ӡ`#$>pff_Hmy_˟ I,i .ǘq??} %>,59䦩k[O!ڞWc%oC 5f/)7n?g3777$΋q%a6';bHZÏ M@YJ n3UR<}ˠaWN2RI4;qa/ +fNƠ`ҨI wPzHfh#k;8J&I~jCepKh-#=[iʺR$8o].8N$<(cpk$weppdyx_ح%q)m]+Q^thWuxvƛb(Rk(]?ꃡgEKU=!Q.QP{2*e BYe`B!=ža12En,U=0\䪧'j'Ppb}Ά+ījHQswSsThʧ]uTumgO{(՗JW9$Nrޑ#+k}!If$7YjNbaƮ;O7mR+X#pkBqPڐ"Q ݫ쏺7AerM8a!q:Iff}ߞĩK$Zk#R⭇JS{ʍ.? \q&pp& 5(^g,~zE9K\Nu@9vs+[[CXpi/P ̈́!I>CNƖƆQvx_Xt#r_MƖڻʋѵp~ ,1o@ʖ"=fmJb3s0RN=%5Qc gʑ՗!_nL@Ev}E ~pes<mI!{ިYnb\%s4yrʥaf} ?uzG5U*LU.fqJta(;zQbQA̤,B}-wbһ6\; ߄K:oGL$=]9-RKp2MЊsAzFsA2k, ё&͐{yb߲41KlnUZveTG21Uءtʔ JvV*,V*LY-@刐ʩXj'1!N0%NӰxRNZ~?p_G7pHntc?x1Pu9SX/{zҀ e':O*WM%_:$Ta0sцs.~K1-N&˾#&%133/Bә襶Ch,_b[݉eۼ$XGNuWe}P{nK_e9Y!gg%mHC +~FB`ku~QLxcJ|Qrbӻ]J_/ +ҚENJZ?nn)VuV3Oxh&gX.%온Ss|S}R|F{Za'Iq~>;[9{Xʞsz^wΐ_Q$@iSؘd%"3;+uY+$HNDinBƦ㼈8>3Ax@\-c MhI( +)O8|_c<"zJ^70_I}-!C;sZCMgwh^ɧ8߰R?UsnT-Ci(|M?ۋ?Dc 9yy^dÅbRT*dwr\cw(Dg +֩Qz:wdbVyE"b`⛁Sق~J10x\odQMTbj\`~V;ۭ-w|_xjHhI`Y;/!~h Qρ|SQ.*sR=@(n&Љ- 1vnůP5ٮ^Rv i9L0t#Ց^rq`vDo#ktjnK1X‰j%xa2?[| /6 wW !?H"[ϩU<3x!2d3S.~s(5lÓY4>~|X\>I( +<ɥпt0[`2V|URI 6VPGdGp=I+ahoFnٍ~j=f zx J]R#xZ@QҢ,B;Y$@B-X<KsbUZ(NԾU#iU| ˔Gl{)`х8l64"_JF=p#ְaoGFrnUDE)&Z2ߞĕ! e?!*e Z9x + +M2In"U@D[N Z1NgF}B?K71ydDl@?2#7*c}D^HC~0 zD0* +@Yq/ʧS'a[qcx:#"2Yd;k ܽ3m!gĺE-M61Sdp7[_ -f/1s!v:Z!^XT )ڮ*DYj`5M@eSyKjxl,skoL(V}+tZ{Cn7Ó^Q>|kJ~zp8Ol'' ƭ܎pbZ}B1RnYiGrqt1`ql(U oivR4 ^".օe^{fsL{o6yE;@ŷI=s[OrVˊs.̮R̶1+^Z"] s L֐4؜!&c[1?vc(Z[]63-}mITpzUW%_Ȑ!{: {Nt)Q%U %P<M \~BNrB p@TLXD[[>^ ײzB|\jo0x? 1{仢ڷh_vџ E3kŴ3 خTek#%(XiBx2Zxy0B}Y\YjN3!D:;t!N9˹JV.Sly@Q)iUXNm{e]bWYZ`l^\*\ +yi۱#(=xaNa$ő Ԝ3:6aD|*L7"ʫ`wVų7U ֗"27_Mmϖ|[4LD}ŅhR"g皲͂-}_s,va|GL8p?uLf)7s]F׹tJoJ[PuQ+b1>F1fЃGVfu@IOe f 6lʑqқ%7}Bi)l +C6IjM\Wك\--ȰЭGJ19T/X?/2iS:GrT$I-!Ԡ`w)u9!=ԸަRV.xLYmv3pmSnr +MQA-:ؙK?`埥(^yRLQ+{wR#sxtY.jd=d5܃:ЀnM /ж &f\SSA|5bpX읗۔xjO_ F'm!V>̶QX龢wQPj9Y2P7]W =5KAN ^.T7ۋjNnB;bsN/Dj40YԱ\qZ/S? +V] `4GbQG=l`yX/Ct;cL^E' ZIDY"# lQZv=uOgLUG!i!9@,t"$gV%]t`j1t˗,MkhMˌGE[ӲSA:t&͞kԃ1"࿮+ 9<{E]@FZ2ߠe +J%1&[-Zp`fmyL~RMLI|˨e12C^"%wg{Y"BV]GoG|&H2PTJJFȿNDШ--m" dANR!{{. *"#9ΒQ^E%zSCxLZCpG$dD>!|զ! 䏦Ģ'dr9ь,oX$*Jr/M%p>a +'!wvKn1G7462 FZk&0n`Zn" m%>"n.2$Hu r*}ڛ &a*O-Rz'np+cl& ثn Yш?dttdgoWlܵrA95+} EX/Tb3Wl,3[]٘[=nGʻe_BU/;TÒժ@IE,V?EE)K*G$dss)s>?d=7=LZwK5uy 3i_ؤuڹE8ĿKlSߎ6o!dJM|ݜ}iMa\%,Ȧfk +㶃U[ L\Qs:n~mgYԼYF<+.!bf22av_l`ښl2W}O*"b!iX #iqΓ +?x,l;vCKsa7؈q}G!RH 0`=_ `|o͉=;F%\Sq30S]Kt8Ȋ JJ8AQ`EmuD>s߁F:\7A=(: DGuXVϲZ|>l*"Esx)ϝ[׉U0{Ŭ'8ij JEVA 2r`ټ,LrMvW5%rK %LN%R,زBHZiTST1|ʣ +/ JVh/RFsr^3T; NòQitaք aa|_ ~*ģj{3eHuA.h%9 x!;Q)=*)|Ŋ$9vv#u*3ǩհO ]ᥬVrJ؅䬦dJ_a.&ت"+-X hP9!||3B x.PQw>VRj"ZDҺ_?}޷_jI0(+(lcd^EVhή cmia}vPk{s7{it'_ܩ}E>+Y/֨seE`MRAA6\j^e%U1oqٱz} jF?]e>6i<)P*vL-jũU3H5 9f0]QL~8fe2:n<naLoaL;$a..; /r`dg,De,ee0cv6)vӭ' =Ct=J[NfЛ<T1@cZM!t +xnyOϧG1G+ /*?ȣqL#Lf⊣`C3v=^8x1K|Gqp7+C^&{c~cd0Q2 5GG4 t":)7^.\rY2:},M"hM+I ! D=7.\墊4l^X}n RxԦ> a\%VG|˾@ե%ǒ2I ~9`ξH<໧LNAXlP@Ε.d<ď@-1,Vw^k.#QyX_5PӢ ofԣԟ` +HvϻRw2v`p>- <fu-i3[D5 mᥝԍCN^AOB(IS̓{7dwMe^fm-SƊ +uPҖ~2os⺌<_2&6{s\l8;6%1.8*;)4)Uja*X? }}\C8)b?WՔ]XgY9*jS?2,IV&ʅ$LHު*6Fr +ߵ\.zظHTҜQ뿍s-֘ ]yat+=Y(\>U}P\MG~7i+צ [8GMΡ5 +o ]Hu]QCШ+|TO27WZɄd]] ?/ .$>ߑ3 !K哅uj`UDn ޚ8(jՐ߫ere_z?Q cdb0%\Oރ$r&t@:/R5"seR/~ +0D&_QS .5!8 kyهPbǮED݈;ƾ;=IF^k²»O|jb n=/n !eɣK7IrLX5DK'O@G黇-gy6J7 +UrI9sZB^C(DSēؗ@48?յ`XFA#M4`0Ҍ4.M`(S`*3giS( 1ѻWŶ(؍DDXw 7u WUË MH2bq-&~a}+aeFV"ir +w2quLǓQNV?0}#!O[%Rr#zkzM]MRhqw;0nwGkV4˸2X¦GCi  Ъl}q3P* 0D\[O,&m2eQVK*,S3O8p9zA?'Y%k^67BWGEp"eњ(%EBz%P[5G +W:Ȼ`Xi$ ee={+GL@=/xg/gx+.~SG M`Wâzu eЩC d`xˬ^Wu&OeHo`ObPc&"YUAK?ʣ0hF~VnT\ _@.y+*ӵ6Gř&fUiVb.}-3:8)jJi<>HLΝį0WueHy;oƋvj d`㋂󜙀eOD֖0챧чhXvTpWGўvֈ!8Odeb]Φ@?󘘥?3SGfԂ焣 +3@B?^N]G䔔}HcB؋B e1 v`n0sԊ\OP0=Pp67vv=6R }bl'e("Rߙ< 4H'w91u&Ո燴4OUǸfNy.m>MZXj53(CI"V'GTL( ߴ$pyKw1v>:E7w7ګ:{.jJ;C}/2b[,'6\<=dK LQۤR˄WY^4Ws񻼁/5q[ߏu#9Y*Z$ev1Qӫ|Ff9>'gڛ!]A5 +̘:v-̬ѯ7່9۳arSH@,ů-[xKaSnWcQYs_px-S&|DG#R0( LC*UUsH*BK֧%Z2O?VJm2ia(n7X_9-'ݠ/Gcz:e8B"Y,Nd}ke8f AQ͐}YD=~^怫KX n'mG{ԭDu('AUrh۫bΠygy>ca#tvB +O課`( HQ?"5HJH@,ކ{,h sƑ8= 2,.1d-A~%d8Bͥgč r?q܍hӇO⦔xNh4XoT1o  O2쇬p…`hZcKWQ H}Q)1Ȱr . ~3ԓ)+!!Q% ꀏ}T8w<4z }=*evJh-ɳFPE1_-|G(Lc1ӊE<\Y kqfC$O-7 M q0_`-rO?AYTR=a@T%-"ԍ]H>~:%^>v&L[o7BKZ Txf9G uQ9c ]uQM/)SIFHMcuE=A!\*19,ܥ%cS؏A44p`i [5с$b(x?{.LRδ(ǧKRЖ^فK,o*(e a/=3:#*LK;PE#R#| +@ۘp/ac3 7FZ0X6kݪ>ZR0WSa6:W1W2sIELOW =a0#GVC^P`^Xfkw3jskILVPR&ڊJمV&[3QdW544JN?)OOB`]>;Hr}^;6P,Aۮ Qo/ W͔}%Lg?Fz[zT:5 ::EZEek&ڀ-<TGE׀Uo@of!΄'ST| PFt_"M~eu k1<"+pPJRh(Pb{r@s)dzGM_BgA{QAa#sC: OB_[ǩ;m vOs_lyG/˥=ז n3!f(":v9|k`z )QҥV&|66N>)ǹ?V@Xf36Rlم'H'4 +9~W gk>w:C9z8Am:OF˴7?GSiH.9whb*Q#f,6CnhԚ9rjC6L.(=[75F W;>oZi-ͼjMИ&WqAz\8j#~OZ3C̓ԜC!V[ݲ4&'E-JWIv$#ͧ;7~xYVNq:+wTIgW㒫¹.FԨk٩z8:(FvT$k*DMUFNսy +d2KqvvjrP@FD=D(WEg*_fYk,CEۖ7M_x^5pkJ].OBZÎb ]Q٦qGCm 2^vo)*i+Hz\ ok_D ~7.-tBR5? DsN:\Ц*}^᷉6Ex+R{Ej}^7Ф5Gd 6s8~VƒgtJAc'g̔d͔oRwbrrmN0uo9Fߛ3]O$HZviL/6\OiuՕN瀼$A+2 *Ƴ;m^JE{IڴZإ]x`C?~x ݲV7dљe7N +6x[EOj}@ _nkbWY34ivQVkx zt mU"՟\ 53m8sМd̗&7uBW~au_"-^bzA߲e/fQ ÌD!y#3Pg>ߚ:W-ҊH} +J#PY""({#;!$VBrr9fqU*RK+ro E[7 b[W$ ?HHx-C> r~NUc̉khU2ۢnm#0i"}e_ ٢.Eli,9'Cա7Fh\br hV8^9c\Hy#H4 h&y0 +Ó(` kLۧL(? +E?1: e=#L[%(QX^ة)ťF.Qb9?-(z>&G#!ƐˡEY$0`;+FI#b3ҡr-S6 +9tÊ؎ZW=KEnT=äEB*/6=1{eXR,%sp|Q B4,r.UsJZ^Jڔ~GK4X }~"א;mru(8~qo8ga**譌qjK4zTZS:h(jTM{JUbJug6Nrh/qt!H2:Xѵ0T/MlK-r0hcIT.y$3ZHS "}-C FH<"Nyބzj ]Apa]v}[MIuC~Jf̾oTI|OvOꋢCc2 Zf}'=@8/AO V>QP-Hw%;M,iX2{-T_}72Y{C"㝝;RZYtcSm}>W +-<:; G!:,j->]5Vrsev:{4[*+[VozMLo +Msw*A-Y+1µ6ӣMW94C[ Ǿ̮SwߴqM{7K+ŵ +w.V4U6i582v3\71 hH!EN钖wwI7C GΚF+S[}{;+V]ywgW~a:eٰ:1ՈCsi($u|!xR-q_YY4gZRu<\[-ܛkx^J":u kC>(z y>Q1EEK8,xҎ9Nco U4*genrl M]kaIj +ܵN @tsH/a]I ,\#^Kݘ4lAʦ_CHCo+lJGNy>\ Xd cy}@; Dj +8*Pb]Lg :t;AY\>Uc[7&bv3ɟxhiF<:vzNم$&WoRn 4]Lz q@1P-*s7Jr!}Lan Er>;BB1TOq^9ev= 4ouȥ s;sp#(1ͫGZe*1C2*M?^ esDDa9T+1d "*az ϐ\7? Uf/b0]~XՔT'(OrJt+E`@5:w`4ȉ.ڈq)#i#; i# +H1Oixcee aHf.\gCWhRj +N knImCrn>3pl8rc2t_,vc&xh ZszΈ|iefeqha i\8iWxk&RlgM֝2mH֛o#Cp>r)8ws2Ru,-w&yu {YC}gij3e%k*`l[lW+mRgGnMqp HLqYC!r>Zt8u2wJ,x&эz |9[~ hmdϤn{`oo.[ +oVן:pRkqMSrHb~sCYZt>2/v8#wl2x,zZ&{ }T~hAqdq`&rP[=3rVis|QלtIMuH.v +C.w>zw8s{y02yzk,Ȏt{' |!}ۆIgtd>u@_{VB'{=ޓ|w8[&}%2B},X~'I,!sUg Q|acv|_'|Z2|U}PR}nLP}G~Bm~o=M~82~/2,Ҁ'TX!!*fu'v&!ӃT Pe5$a䋍]}!X]BT,OVK(XFxl[Ax<ߐ}R72Rц,,܊'!l(5kdՠ'aP`N]zXZۍS2 +OmaJዻFFA;ooK?}p:rT5[t,/v *bw$'yb1{}c$Xjs_Lkc[?=l0VM:lQҤ.mMO"oHàpD!qp?hFr:t"5Z_u0w~*my<%#z|sƈ~Bbܫ]m_VPn[GowCQx?yO:]z5HB{0|$*Ï}7%~ & a⨮xP^xZSyUGyPݠyLqzHzC{#>7{:@|Q58} 0S}*Џ~%d8 Oa{^:|@Z|eT |hP|L/}GƜ,}nCM}>×}~,:%~5)0x*܎z%U u(7Aa#3].Y4T^PLiKv Gڀ:u5U0,*P%Ӌfo &ʁ`֦q~]t`Yo'TkPǂK܂G^B򘭂>v`95Ⴈ0 *q%ꂆ ?lX\\`U]SY-ՆT3 O%K@G8[gBϘ#&>W9Γ4mm062+&p ̓<`?!\%Xޡ>SuAOKYmG +҈B>2p90410 ƅ+|F&!cd_䤀\XFS}ObK1GFԙUBu1>Z9Ј4ΐ/_>+&(!ׄ-_m\@-\X*L_S_wO JF.BEɌQ=ݔt9dz4E/+&0=!,r؄L_5[˔?WџS8Nߜ5FJ\WFlkBnb=QX9@,P4/ލ+_&3X!9Y^z$2N{--|>(̑(}]$3~;->\x6YxU_xP&xKyiGyyCVzo?T{;-{6|620|-K}(ΐ~$H9.E\k${Yi{UC|P |Kڣ|xG|Cw}3?K };q}6Ǘ~b2?A~-b($;#WhhсZ\LiUYN/fU,bOTCKʣ0wGCn?Gd;̀B6З)z2O-){9$dca\+Y.kU_O䤟EKGGiJCdQP?>҂L; HK6˖P2V,Y-ϑh)1$ mȉ)c؅g\ ՆY +XT𥥅OϣZKх)GCZ?6:;d6ǖ652^ -)Re$t) [ʩ*KXŧ +TOGcKz6GY(C8F?:Cw6Ȇ2T<-琟S)e$ϋ,m D9`[qXf TU7OTfK7GGC>=":׈6e2<ևV-ސ6)l}#$Å] 4_[$X SO C7J8zF.BΜ' +>ыB:t|6e 2$z-ԏ׈)p/$f4 K8h7ZѧWSNСӐJɏFŽB>n-:p=6FO2&<-ˏ*)sƈ$ ]7ZBWhHYSdMNl$JdF^BzY>i:O6)j1׋-2<)su$Ƈ l@لۿj`kUbD^l cldmfnghowv$1[yx#{zheiffjhkci!lNjom:kn(m=o1n`wQp=om-qJqbrrVtEt_Kuv>zwgw1Iyyb#z{ 7gQjlhDk>i0lƤjmknlo!m!pn>qvo]rlp~sar +uCVQsvJu+x>:vyc1.xz#&zJ|epi3fqgqhr'ir.jsQltmIuQvn|vl ovaqMwUryJUtz(=vW{1x|#8y}dDuebvWfzvgvؚhw^]iw刓kxmlYxuqmywkny`pzU{rC{|Is|>=u|0w}g#Ly}b{d{eB{fe{g{zh|/j)|q~dkz|tl|kn&}.`'o}U q}Isd~]=uW~0wD~#^y.~+aQb7d$oeU +fgiJ}jt!l jjmr_oBTqI>r߀=FtU0v#ox `iȧczdO)egl0hq|i݄skMkil_2nT7p~:Hr\=tr.0v#x۵_yw`ьb LchFdҊf@Zug|Si&rjmisl^n SoHqGjb1dF)eΗygfpigsjJ]lHRnBGp8z7l佼!&@\W 󁦖o;Q;_*}J 1s2ު{(rFȭ׋k z0$V G}B6,PA[|#(eF7O‘?uP7P f*n#)`$ ;0B.@I>:x2J/ Pz*r{+< +p>gZۺ.>DDe|dؔ? r W;qD.ĠL.Q9(M2fd!ҩtՕE6 +ό|v i !QAa8[,5ϳW׊5l +B3/TvQS*.BrVMbZFh?[ӼI>mܶVc{Ȣ[-^gJ[  Tr!^H+k01 5J/dd4ʜqjPV6˖E梺r>;_~]Sn5%ь@fd/Zc=4fptdž~ÜX3ޭ"\WʒeY}>oZW@4%żJ[w#~KOL8+ڝB;!6[w+{( +3\Ոxq]d""Y(CPofQ:OqV͑M+rKK_} .2z f D˘@- IfFdΒ3]ɽLin YTnʶuLj8~Uw˹L.]cW2* %l*OWrAf0UQRVS83 >'K_q̮j<+ ன|,xEu`e7aeGz?U?xvj$Cƅ_.Ry*q=4H!lU{m(v{ vPp ;'L\o 1Ofk!W"|"Mvi8֘N{Brai鷡geʀqjUriaGv!.r*8OVۂ+Y_Kp}5y wz"QQi$l%( r,qG vRzȡVE8OQ[R{=: ۱56w&jrѵwX%qf%he2ִAȎalAfB"Vz6Ɖ*î!ajE|9G0_z[=/>E ݺ^jČ@ QV] KƂuRcG]TY!_t}]B@pv~zb'dk'y;<@.Z>{nMkn.cV ڇܸw@>71L O^Dh%&l #l} ԢYZ"AҐ$U5wML  +-.0-CBM=! ^EM.zӕ9NVs=‘d埖''սdʕh;"sA֘i6{$FL71T0m= si]lcNE*S3חǩ2NUflȉK%-KcV}3pOzmQ@2iL"kqz)<-òrr^9B3F{D11XUs+\a^\6~GTXHq(-OϨ}nOwlzY jUIEbg"dM|U5"ha)VoopVۼ٥V8.༝@r%Er\cu0+&6$81D5YfeS`wX ܣġoiGRW"˼.k^~TƣڿY@T~ +MH.:Ɉ-:l}&<44ܟ/VдJt ll MYTRU"NŚhgrFe{lպ +FbM]I iW^LAHRziǂxY +L,ڞcҼ\JSz :mEk zuY{CNUBe pN8}^VUNhn WmV?yUUꉀl~[B膂AN/K|Qq$U)[81[3w%{3e;nʗ|7~M1etETHRVnlB'jFjZn >bqtMI﷯EA.[!aGPYz0mۃH7HEbBYtlMffʇmqBRLl7+op_eGmrП]/h_sߓ\C^;UkS+oO2ʗ 6=ō>eql +>(vyp>Nųk ~f[W`&ML66h,:wX`7p9ɓ$r(栿'[qI!"7=C~mbhL`qtϖHU'O-}q3G&7bk_#\(%\7-ij!r@S¬bfuMBBkD&)ZJ: 1&2r6l <$z{.v,p }ߐ#xUcB*,E*h>r+^ 79Ч>v$)[NgrÜ8F~0t+ Ꝃ YwVj"yG]M)xb>*c{˥? +*; 9W:8G ˶F -Vq;HE=Վ.: :O#kE>h' 'kkq>R-SUaPF! I;<p|f-nGPͺu +2[K X<®fF 7rvaϾTW|~; x] &4#I/V'p-}urѳ%95B*__k+ko庂7G:[Z,>B!yP)k-T6`ibc0@ ZmrTij%v<:J:rb ЛJ`s79y~>0{{+Yʥf憛=TLu Hu fz\g><3In=`&#eǐcSIUܢ76O!҉&9CBۉ[hMf=U&_yLb{؜0:ǎ3 |pidCy5:`F yh?:²0* Mb:q8s9QA'H-zWE1?&&4y `6ɥn[dވ<2UD``9Cf4ϘS5/|&r#!o$=$gG3#z\(_+mou:>8WD-HYށ1EbN+Wl߬뉝Q2[2O +SN6q(ںx%idIY^T@{x k|&B_Ayu{ Ll ѧNh''kBZ72ߩN*y( tP@%\VΏ{dfG}w膁9h.<:}uE䓶u\S^C?ȼ?!&0:ŸtҧX-aLtك`q;|mA40b>>I@QiWw iQ6 .E"$,Eu;Fn-rbR3iفɰD=-yF|qU5 'NbNXaaZWjzۡ3VݥfLtMTrD۵j_uhWbjdoQ4_R%&BGY6(/&*sՄ!<!/Ts@ +`O@6NJ;@K̟Pn*b>ރA;ҚIxCﰑg?CSY 3Cc:a07˧譂a+56`nبvfSk|inĽčj2lL>>#)SHeG{:BcIf ;e%m.}XzԍN4A4KV,!觠VS=PL]bKI<+ J,%e{Bnlj]:Vrкzk#EDh95Yt7?hZvObm-;,b!?!1~K$_/DEHxy%Ȑw el_`R5z%ք ]# QMψD1cƊ"Noإ#to?2M} +.=]2?@L(!.[ s~IqS` `FE[8 ^AZ Ȋ$cWV<ԂDyw,.K]4ÕaZ} jG)ZTn?:城GblN[2t2%XcvAo7u TW)kY'5׌=sXkuenr麣$(k,*TL@: h[7 9N f뀷;QjQ Fsi6oZ!Fx(Lփk`H]Gkb7JKh8/aP)ʻa_;WYeJwo8jo$X-x&wH,#| +R_a8)߭Iti]t㔪Cc\U35iwwzɹI,=LVy[tOaoY.-/2!msRDW^#[jN֨f>:-[@bef8꡹J0#* RL;w0 MD#(^t(*f/ek V~4芘@)67 +1^fgS +{ ]t"rS4CuUݢSk~ݠqܘ@t]dJۘ.e" +VN5l(\#ZRRs)H-D +wd0ꔖDH~ؾNo +F?%p7&uC e-$ڼD8R ]=5Wqrl-{nJ4QjO+NǑ=9xkD# :3GAxl]hr)rn!p.ݺg8U tZjf)DGEMa fv`|uQ .31HlWKB >5`? DyoӖe`?;3D8 Z!\+T_5|}5 )< PpZ.=--}ElP}+b-M~ڼ(>1S;"ôRD5[&=a{hQ&CFw{ͼmmwȱť&,۶nÊ*RkK4yZ|G$} "hN!'KT b͛B;Sr@,YkLiDs:mTsZ[a̵=i x}_|Eikf/^m4#VUH/NE#!gnKKjN=[&Je\IO"?4n۫`4ZN塍֡KU_z1E\v&ʾOل7:K#$Ak}l(V,|IH&Z{G +cL[5 1l7Teް4ە" ji4/\ 13t!+a*8\.-ַZ*y0WY c|gƓUDRY:R4Sb\6M25H?ƊӸhs`7}z^褃QNw_UN:K\lmEJ:'յ<"q_G~Lϊ.{{,sb/3,ͭֈx%7OsMG[n({[*{BL7v/bK~*(_`$6 lۇQ'Q6~ZrAfYkan)KFT36^|Y5uF%/~"9H +O"yp)V?-*I yp~Ng9C& &N͉aҡWz.%IIL*F3)6rS ;ʹ~5L?;Q gTTgElBt-!F6R\& 0*0 m +{6RDֶ]unUD#1E%_yy!0D4ʆR7QCRaڔD1@B|QDيS?.Q%%Pse>}RKjрEd;W"\/@{ZBAy 736)Ւ`@H)F%#_- \x 9!zcU,@Zq\Ndn8JIC dr=nßT`ۈr 'h΂ۡ#@ks[@UX:2-xls#BZ_BY9.K" !qiEe5Ti3rE+NI,h-7c|P %,T$ Θzc ]n(\#ĥ8[j~[_z:$]ĕYIk@JJ`["N!w ?H $rB( > kUqeW2ܥg5Uh S-e;Fs}p[}mVU.>RH|T]M1F(_m$E'Ny vZ_%D˴ِso +ñJ@.vmf\+^:{8d*Is›7L#u:{0V:\|'?k}#o k4= +75K4oo֦E|fU*jY f$s-l+dfȺy껝2}d9립eVy+|QNYЩReą%益cGG%7#x.H3|.g^hݺGljdNX2s'M]yYfIG5GKH.(ȾKņ5Sl+>"'e^tNi52%Gd B$Z4W>Ύৗإ\~R X:vk]X̼+;\f4ijC",'xb();(S7|ު}s}Y\v]y./5b1OFx/W7,}1TCj+o&B?ŝ5v?ĺœPi`+ⲙQLٳ +&͸0|/k + P/-A,t?ESaX9;vL/^$e lrO9&2ii~kC  Ɛ+ +D5vS c%ڨz⚩q%&u3M%+]P#ȼ6Cl#lpQk5TLDpⅰ~3f-jG)d *DƇh ֹHRJ?A.ye9䴍wh9FK'uLx Y/f +zC!= 8QL3IV +;YNoEp8-NIX[X"%T03d Åχ@^T?t5jWp!>m֜,tvZnLOTj#Ga}~7%Pxq01UɪKbGŢD*1TT-*hʏ +̪ru\e?.]O smԔ1:gX*U +%'7sF +ri}B.Amsj3TചLy::SzTiSu;e-Ϥ:(ܦ ­A;{)^BqzFv6jOfT[#^:P2Q;VkN^POEDEqAF@u0daC$! $$$ zW:PWw<{4 hw ;ay IqSqGWR{(tjl~س0({x}^]ۑ)0^kFJPU\4omq;7spFCKRw#iNj,C{\h|h-,f@ ( >0IrOx;pb&~^'[.4G>IHdwBѶP +Zha|Ke,2AS>"l, 刾-vE .X-ȱ0*ߛ34&"y=e'۪!zej}96snHm+j+mݢ7ծ7eҕVNywieW$f{0#=36bV+yN\$F?<68xbzJm/~=([`.6U9iɔ􉎙ERT^)9UI?ḙDZOV.Sk &w5~5B`inTY"yX:Y$QUq *IR%Ak>wt]3kB`eXNcT]*QEVG8iE')V^ 9N#YsJRs2i~W4,4V v[250!/^0'Vsi?uTT2)-ZOn-ϕt՜ټךRᗵx.(;^aL0ѳeJ?]@jiTjv\'[D-lj\3{9ߥlпH%66/*ѷyAZ8zfkJð2gtL5/l]Bhnğs[!kws{xlNc0`QD^f1zSMMG<4d_tC*3߄+\7"+xq& X$|7C1AGևDۑ(3 ğqGx r-~q]،K!|y ,~^xJ%H͘9)a,z0z ŜAMXRXYH/Ƽ,G#oM-ϺA1YC0*~*]YGԃP `)};L"d1z0&ԡ'gS + I3M ?S4jƟ:jw؇C Ta@b(sK +~&[egDJӌ}:d<7a ˮLnoˬ`'b3m QkktV2٬I#c߲sgF<kk(릐I3yN hW59#⨪) fz^IDN$s8\F&{QE[R[} oLQFҏWkQ%FLId֎tލҭBT򍂮׋^IuNeyğ ^;$6uڨl"S0ͼ^tjJV^G]փ#7l|iV: {K&₫VPR{Ղ*dO]JN22*$*ůa}(z/HS'2pa\ڋР_R$*)(H8em2[K)[3PWE OSJ#BN7*An0fnFi%ENNJ.q[aG2LL; Z|z'aUawgKKx\t%2;tY_$w;JI`|5=%WS6mDjx1}K2Е&'kw Q3JxB4ym4 JEĸ`yr'+433Sc\ O(UVLġ^qVƺĵJs~ 1YnoeXl¬ ˤ?v% h!gm}E_.V"7o}LXt׹z(NoxOe?v.G읶ag5O&Y-1Rrt)Q$<?:.ق4ϼ+. wK)jP +'*:lK,7I +Sҍ-]f8f'EFđnm:Fk4.3w;Tg#P^aCdf̉I;bd >urU<+t=#j^ ,RGLnXa uFS7\rZVM `uYʶ"3:Jn)$"*ՎE?'7"0(UG*,z%!}97UNP*1Mr`yqy%z-c-O"<96'oC74BAbB_-xޯPW!,r.%N]XZÙzTCRBva#4,OzCiqԩRb2o5UB&Ǽ'Iu-^qR=o:*nhn V(R/s>\ݺQU&9}aK}F$\ScPhgLS5Sz+3ER?scLK͉Y< 5[ybx ??sf۴|eslriZֵק\uWH%? ͑uNYͮ|@.MnJ7݌~RyI +8&A{+C,z W]933{(<#-!hTl MA#A$]t JQKZC|6gtZw0K:GR VQi`ON5DHlPl|] U&^|D^#㮩EQ)vD"z , -;O"I-T&%y]VÛ̳rƔx0,S1zuڋ#q:pê${R8` ͐MpD<"ZlN1ΰC=G +h(Ck +nM䍺2Yb -yy a AqVr͔{KjQ`/uC@%}]]ZG,pUf:!jLVߕO\ h"vzkB_k1"[D3ETtdQ=%$;\yHPL8MaIOURFu)j8.꺂Gb9߂ѥEb?Qb,y/bmr\GM0'h+[?*4.)P۩LDk#m1T\ epS+9;&JҤvD c<7=4RYzCzUHmf4Ci9ơ +Qf$XchrMG*O@?MZHNrhҒ@u3Zw^H +ɻʜ<^YOdT|~jXwH +>]ӬRU$gNCxEa[ +HG)ĜO+eD.2DF(*#:AO qQxO*N ~pjp7N& +k0i3{ml.r1Ӏ5}L"T}cA,NL&T f0UGɷ;:Y5,1ᅛŏ9l%ma8L3Us# @oQ5QSlIeኊ@+wgi/Yɼ+wxy7a|Xy/A4#25&9{p lbXQeQMu; ﵉XMRҀ6QHQ'+Oq8yÖ="PB{@]gW_G91zh9M>"w I a^ttz"ɵNuO8xC{eS{܈2-8B) +.܌Tp/h9/?p/?)b1F&'P̯ c>yv$K @>YMVǰ"4|V^ii\mhS_A9cOQ6-@;9u@/=GYk.m6Ym_$by%/~,uAƨssͣ +UZ7yvBJc1h- 13m֨A;,4$ ? ,3ا%zE%WR+ɏzԇW M]@C}uoaQM^[QKZѲz $c7c?Oj&GCU ) @%McQhPW2p6h_Fp:- aF fURo%&[&>`AyMx 7 N3ˊW5=Cdx7K,g'W2/I^lCg fyv4KLihs +3F8w_˷uGnbpoc_BFsLc? bx.%TEʢw9w ;=-7ݍ?:K|DM`} @]w}om"g|nDhsDohjixplc^rnxSspHGur<.vt/xw!z{yFeafcdDgd#hfig$jhykj|)m.krnkmhoo^7q>pS=rrGtpt;vDvt/sxxX!zz?Zcg'e hL&f!i`g>jehkkEilڄjn{sloYrmophbnq]pmspRrtGsv;ux/`wy"y{=bBlclmpdn?engobh_piqzkrqblysgmt]=ov"Rfq]w_G?sx;uy/Lw#{"+y-|>`qyarc-s) d|setXg3u huzj v{pkw6gJm w\nxQpyFrxz;Rt{/9v|_"Bx}8_wN`kwax3c+xqdxߊf yOPgyySiz1p%jzfl5{\Kn{Qo|;Fq|;t }C/(v:}"Zxj~/Y]}C'^}]`n}ka}pcg}d}fs}xh~oi~=f;k_~h[mV~Q2oK~FCq=~:s/u"tx'2\Z>]у_O`ԂbecpeOwg>,nh ej[glPnoEp3:s/ ul"w€"[I]\͈韥^V_$1a2c$KdƆwVfmneh>e@iZlPyn2*EpFz:r/u"w}Z1[]V:^󍄏=`ˇKbK>cTveŊmgdicZukPmEao̅:grE.ta"w2Y0/Zʕ#|\i^ C_ƒ^a~]c;uelfchΌjYjOm+EoW-::q݆.ta"v +XTY?[5]Hr_3`ʕ}b|udqlXfXqcmhCYyj|OMlPDn튀:q|g.t @#vWY@RZ꟱\^`m`)}atc;keϕVbg“mYjh}ӓ|R3^̕qos@L #S]1gGyxi?ZXKm+X%#NdWò,k7zsi4"tS5P;p'8\7ϭq@z7pg}4x2HGMe*l`A1,Z3ky|#n>9[-^t]'JA#"z}@v,?@NITUϳC(')2!$i3>` &1*8ANjER,z,aGQ.f*D%ZMS>|Yܕ⍢6 '\ ̏ ]{x+|NaHI.J#҃XlGB~%!H JULSv+TvHuჂDݸZx":JG"O̢,2/%0!?" ;)!VRhQ* ç\U&BRR[Tgt>qN5G +nJ!T)7ܢ V}T/*'<QpG]jW9{MH|?Uk5HRYϫ[l<±jnsjL\mwqAv#ґt: +! 2I~G܌t Om4 >EYBOg<{K(v0L깃heW.CnM|K~c )3|AeEĬ\UM"lYt<,o ;_j^S!WyIT [#4[@ 0Fp' <7!y//+KY@P H$%`ezƻ!EUì©K쏅 Vҙşk XXQ@8.7~ +h/`9%}K6m~6]Xǜp7c,k˞לMTnor4_hNٵ{2-U`}"ޡْR_*"}_8AǙKDɷ,%soDjwnjϐ-+mTG]a6?&7el=|: Cuʔ._]>t=Hs!#̸U8cZÍ7uI=Cdp[\(0Y(D"OД5Jȫշ Pm*m7daǶDA-z{E$TGtH@{yr,h6xwNeqU=Px.B^U#=cMSRJeuE qr +JN Bi7K!F)GC-BlڔQU;\ ?ua\oԑD\n,z^aO3gD)>aQE~=4/=o\=1OǽwTN^sucnD]ݣ5?q3sVs[VF EKݍGn1_G5kj;SS.^VlS)7[Oq1+fأ~l] 6K\bY>*VGYMmi% .扃"6j֓ h+>59 lmV_Icֻbd2Zo+Rt@tuA35%y)'9.ݱ2 -Zgaz~?cU!U^Ɇ<[69g6^W8H9]ՌWLpai~RJ +ouNXطF'`IE'D6wZ*W=`e*)_~Q VSݒwi_dsˌi1 waI7vpf{ аbm?.72hy- +Y'`}r{SUDMXOé}޴Dq{\]#8||uUqw!IPu-\/=dcCvZTW}&I6>_[i@Y/=OA^AN8ѝ5J2 BZ;pG(r{~O2{K +3;-6,Yє((-Yvf3+ĩPos R6'>>ēk#/7YE#7 'Ľe-D>I +0-)C6N#k[=d.zذ_OAѡtvD˼%?1RܢR2U4쇅һABdOGV*Ι;M5Ԯ lT=?ry9]VF>C6'%SrC0`/ҩ-Ku>wnhY5C5=OPb2\BF7U"'†KğdL *" )u^GYkC55`^KP )CWt~'d6,IzdmJ77| }⢤ ؞'ȁeTy+ VmzwGN;>[7-*H KH6>@3kiX3KLn+r%5˰` :.4+r-0hzkMjR+^1XEd uLWgXF +4_eb?ԡ᧎BWK^*K- +hA쓳rFIBHN6ٓ "8*niՊR*upՋbnZz>9VC2Go^E18 f@3M +~6>S5 5[z@_2^v|bP?_*RS>Xx02ѠƜj3f",Eqw;ǰ=r!vAwj^qȓs +tuX:s -+dR_/jOqϲ2ǖРy?’Ln"¸}|jWVn㜟 ̻Ea?}IwHW3?L8A`oaMᴟѯlK*nYZ9m~s8:i2fn Y]lX\(h*mҊ9jdH08RP"❰q'(tk3S i&$7JaqZBK;6OSE,IVu7x_moo4qlm(ڡlWW>A%w+VIymc68·%S +uyi8oN%>ɖ˾C4(o˳xۛ榳(vp2F&2E +ߗ}/?dBN8IJ@:v}kmT6[B-ʏkN)3s9ۺKcd~NQ/. ֲhǪrYwULOL tcl̔Zw_S!"6 x +DaZKDOITޯ!4(mҸMsp G~Iey=^њEZ|te !td''}!;5CQ9t$Qw ~BPIX#߃Ɲyx ʚL$jK^C3cTeFw+4S*Od3؎v % /S7>Ap~J\AHPD1_9<vg!ӳV :e9SN\dhA +#LGw1Q#TeITx Wa8O}/OF:19A+AJH唬dWXK.ܒǦ%k]ډem.8WtUiu] +XeMۜ$Fk'FڣMSOgcTPaeMts$['&ߘ,=a!̐T9$ܮpxk7( t2V;u^76@Vz0ȗw!k , hKLe#?CBki4Soa=6nF1bqi>Hh&(F|LgBA=R +.+(iv>VIM$F-p]:<\(䗡ڶ0Y6GX#3,S09,#ů&j4s0דu )~XH.TNVG=U 6w9_pU tp$l})|m$,_Ǔq&/'Çv:xUQw-s$iG3ѡrY v H#}G@ƻ`) h@EOً(<6?>$(&ntaoY!=}o6)׹$ՙ[iw,Kvb u +WaC99aW]Lapr=Ňp5} sZ*bV # *Wr H;E!SQt"VtV|1(@kE#󍜅{W^&Cm@O^qxk@Yr:ߙf3jhF4Eֆ%度1}ݩ@QeL"w!dISzIOt.]O<+̦,bۮ(庶#6֓&jMơZ'4;z +xY= Vw5e[\feH]JΩ]@ gd_u]Xܯt|/.Bs\H!d8flan],ʏ[ R%|aLU$BݻT׵+-)G4G%+V=Sӝ 9 0*y/-C~8/M10x9D*1>P$֓apYd p8]s 8K2ϰ½)N +)$$d1\5%2lD\9ަ?Dj`H9F.ffXZ@I}F*_'9d l(р25p3h`jqQ: +?`[Uodn 4F>!5 z˞rl|1~eb?dQ"~CE"FNpAMl'4;ˁ[K37{1s6pYl#GcΖ1I@Lt+8eG0트EMj{-˅p{hIavx8kH]h:j-Ѧ5L +\F,@ 5I1C/i !&.ѩ__k>Hv- ' EJ4gK֬t~9i-Vk/X3Ļ'4 +.Ftf>h`N+Sum"s:`,6m_ J%ck n?.q0Qbc"\dsA#==(I,ZQڡ}Q뮾ivUUCx?p30\G'+^i mt!meۥ>菮ӱGN?kb HWA7̌gӵFDB[ǰvaS5]PK@*8odޑO4dJDSgR\X#8HA֩4eܴiRNDz +PpOf<9 [SO_%BFm`T]uEyl7U-@Ŷ0&7&$KT#*chZD&clBE߂0zYP,x +KaZ&6Vs 1-~]h 9ݏ(* 'R[LGTN̦'AZV TGŝ@0JS`6Btg;`5Mf = NSwy!xb9>Af.[ٙ;9lRC(/?Ld` +'fk!zzτ0K+lz4r]"gor)%유̋ģu8S= !=ƃ\*t9B]yml`~o,_W n6'è5Ǭ|rycivĖiGnMgf"h^M0&\AeG'`J܅5ָA{ = Zh \<{hmEXPe&vv>aN3 ҰRd܍|n~xa.ͧO٠ݸvo{ ǙPs 4/ՕU!6U^s# =c=m+(^^_U${n8σ^5,3eӖޢq9)hF=V}Q܁P3b߫xD誃C{u}6-`_V~Z(1mwCwK8%5QAm(~xn(s0ר:KMrh1^-#V:C|7,z~P9biSa + +u@gMW!JGU J_L⨊Rc6)"BDWg` TuKZHYmZLh*:vhzzFy $EzlZj\%Î9*KBږ@h)ͤUpK8h1}{`rj1/?6*xP5LƊDҿ]Y G2A+DWNarU%xN|R- 'wqV!˅E[{̒bP{47Z:![-OEc|2;oǖI,YBKUnEQpoRw䧨+yWwaU;\mr+Gz." TP{x47v`7(ǒU>rn`n1՝L5ۣƯ7cǴXcsU0E{'ЪTq( (Vqݐ/ V39gKƦgJLE]]W0#} +;ِP`opd[?gmhI;ۻ{rMJ*81KnqZnƺ DBJ% N¼>SCk1_&1aFJfyyINY{]D9le={S>ϸ4Ϙ̸`]bƺo& +P3|\h#{;m!~>pޤ&I , Ouk(W>t'DS~9r6.6g<Ú,*< BB**K@ $@I !gW[hZ{Z+WZEXOUQw~y?ݑtNoY(bVhk2 mBdm"d""H3Vn%0?e;aysIgQ 5[fB9,/\6:+68' ،d8fh/#۷E(n;߇A%ZLb{QIK𹖮/qKz >b#ݬ1Az*8U3Q +eRmGǻi#:L2~?>{P\)j[)=[H0?Kx)ÖN.y/t tM.x |a oA*<~ƨڅYxXJ)]Ҽ/_j / ;mU7xl}5F v6J O{®⯗pMS ɲ|[WU,UŽf[9ZO\X.aoE2#}(Ѳ^b7s%b=vgBBpٰK*rP2a.T7QZ4ȞQmdl)N|^RhaIG'LLv,,Fi+[UݬTC GXDgX!MjUJjNn|׳ڧiN )eL4WI}"nbբ:rox߱LPǼYn6gg2M-WZǨL7f +L6ꙵk3R7U|w%J{Ȟ_W"5q ]5Ę ֓"bz246 +h%2٦HZ yt:'.A{S'J(-_~@KI=%12XPKj"2[ 7)YYjO)a|K))'A5RQ ag,Jt,2!C}.INzryOkz)O +zH3]M6PE䷔1o1Kuf^&AOQԿt +6E#oӒ~:M4J-5KT`mA2G@;'8Q1pWIpn/̞D'ş,a- ad[D?pla#O0n1_'>Wv1giö-`-N=⭷ sAun?ٲ?8xnŘ_Ir)Cnb d#;u Q'anFA(\e kZEw*I:EGʾ7lc=&:HX+ydҗ;/&eY, {ۄO; Wqso߲bQ}jPx&ΓCZږ;@)AdiY.?W)0W{Bh!2\=o~ ?JE^O + 9Q?#׾>uQRJwVD1kq4Xi +:9aa؜3XQM m+L6"#FQ@˦ad  $!$yy!T=-TT#;UXFVD:_߹-LNmZڋڮ{:VJ'n֖--m"=lLdkq{[<82,[=zy r/:zO`i^mj +[y:͚҇276-o)q9ǾT3ZȪPNcIWϨgP"]Nv\ZC59*'fT(2U|*%ϐ"\I/˦K2"ER-2SŁ; w~XזSL7 +73J(=iEs ճsMHOʘ"GyPKXƚ )˜N[%[|]arx6:яo2\PZ=96ѸtMϮIڔC9$7\{B" Yrف70រAaCZ[mQr>I <4GSvP#,\H5K\9TpӴ]S6n%z`<)Xv8D7(u?Ob9Z̓)&v4=F~*1)fsT"F}]3ًmJl,\'ҫ)Eǵbna*[]+X> L#.+f{ +%wGHQWsu32=>(GO>NT6kbC =k%牫S{UyDB.QXVXߑډ&ߵڵCdnIaE'0ZOLgNhU%Rėi_buY݅|LE'l#1og.~1e^ECnFL"7丗RlvvK+*1 \P⁥^,>/<: B\ WxXy 9x1#a#+ԝVb5_caUQlq=.nCcPti{Q?t<y E΢6$Q]kH"J3# Q/ߩp?0@^ae62 "q&`_IjAV;D?s*Ɉh 2<+0a ˀSsy 2YPl3[蓬N1w r0G\9t n<,l};apX69" o8'vaj`K> BauEĚNxz2 %ś%E) u<-(w-3N a ?AcaJ ˦^6}wۙl'Rj0VL +2<l*3Zn8ᗮAeKg4_7mF˃Ћ0)n2%JxT]js,l/,XcqabEQur472ohTa)HiG]7H\kғ+tu0dʚRXD8] +{l~Y+fO۾Dv+%Y;>̡D5%}RtLRwT{~#|uB=ba[ >!VP8l"~COM5@c6;0 EakYvK`%B+_g^wCAD[|ګ:˃ӼUKevM4YXbzV%th=|pn醧3X'~I ǫwVڱY +RVDJ;5LP@A>8@wvk[mVit>l.G>\3.HVDp +ΨC'VmW_+(j^],*ԈZI -'d=t4YT,&)$iDn"A976G۪/,D2 +Id7|ǰC>hy^5dט?4Oo(YM0(;Mi戍B{q4zm ydБOgpL|"j7u)'MwIksPrfłgGaxU֩9ہkݑ4ԥŨ>/d21b#Oh _N1!|rzGzi +*NŒ +bv}A&]u֯.[Iu?$C2R?9 3Աh R8 XA+:QWL-uM3qZ6fs;q,v=F"<̓3`)n48bU%x+aK.^ ~(oA^困PhyV8z +OGn0vFv A93T @ (ABxb=xƭ)C1ze?v}RV)B eCT r C  Gka/]'bCp&:&xq})G[sB!-7#VBCn^Cp!d=ah$-@z_|gDu/}!gΐq9a-Dkc@ /g<&@A2jlTLlTWǴ=w\w+ZUijK_ܷ5?dS)Sr(:Rvc]јM6X:wM;)-i}Ostݭ-S P75E^agY9qXζM .d-16N3.t/n~Wk@]U=\WOPξ.?q}GEU\헺0꒔|zL(EM7c +>kB%L5=PeYn}$uT"Jr[[K ^Iri#QS% y`yT3 +qvhm{ ЉiuK~D u{)o[*cftv]^׿hF">9ʲѸa썺`ZҼCT;XDfsX +¼ +3xoSͩYhvV~rzPm/<,(Xkajg7eirQۛG:u%|=Qz''2Y1pA `~6n]5Et* NxF\}{es~,{_np0i6q8{0ܨZqXX'ZMdt0`x &7`\=OӞw*C14E +HC #QfX7y<=wAOԶzPXy~ +P8G>CW7$muNd60+i@ %a,Dt5 r Y $S}Oc fN (WWMJ!Gvҧ,$@I +)uQ΃Bd?>䚹hcQ& w>CJw/vS>4! \sx-z, rԕJ$)_>`-P A3= )->25t\D6QlK&0! ݁"pED%6kMgcC47(qA%|a`7P^#3ȅ&27Pg^cmY|}Yih:=L/G(n 2o:Bs\P|a<+dA\-O^W"S^u5+E)7 *[o@@[KD;W< o0eҿ_3+dSw>ڐUϱzeap=8x[UOuHU*Oc)9*HmGg +O36wr;Js>Jjru ,A1UeJ犎GEY9=Gԧ؏PVlyq'kn-;aU0Wз+s :O8OOj/2zcz!ە6 Ln>n>Yr&'Anr˷ͶүYe'7R壱MG+]&*EI}[D]aqzIv*!`FcW5}hRUjzW lZZ"Q)}f-i*deMe0ݱ? W]6<&P<9=ޣ9Ĕb ="#Mᮻ`v_QDžJFq1LJXx 7RHJB`x}B^."s=߹YAcE%昋S9:/!7Dt++QgX[q,&Cf-&b PΆ6xC^quP'2&ɜk䢬}b_szD ET(!y`dB⟣BH9Bt5%yz{n3nczhӼƘ#6mY\9]n8"" GbE,<5DfFVlҀ N2Eg, ԉTyjrsh<ʴr\8dȊV`xa &zQkqDOD[@g;}p6dr1,p+΄i{&ƒL]!!6 ߄_%\UXsUQLHƉDb? ;a6Lq1+&7!ׅg_١]\Q5_X}`Tbb P {cKЙeuGqog,Bi$>Xk#9m'4REon.ߏ|q)Nm 9Cn4]q.s')guS$0wĉy |F_OCc[eX'OfUSgvOohKzjOG(kBma>*0o 9zp4Rr/t)iv$X~xzS|^Ҟ&g"[hQWɛ=igSj\O_|kK#lFەn0Bs o=cq&9Ur48ti.lv/)w$ty&{}^j[XkWlS[mVO/vnvJoFpBW$r=ޑsP9Jt4:Lv// w) yY$UzY}|u҅~/^#n[ho +WN +oS +pN{q|J'rtFskB'At=u9/ v4-x/ yh)Ċ}z$| }_~]qZgrVߘsZRsN}tJYCuF,vNAߑiw6=}x 9?y4z/Y{&)ˉ|=$ш4}?v~QD}]%uZ(tv2V!vR>w>N)wJexEy*Ay=Rz8s{S3|.|)։L}$燭~gͅ6w,\yGYyV!Hz*Q#zMדzIŒ{xE]{Aq|u=%V|8Œ}3u~.~)ވ +$-\L})Y^}nUƕw}Q`}M'~I~YEq~A>C~<>8N3Պ.%)6w% ՃWO[6%X2Uj5QB,MFtBIDBXE;oA<эD8~Ձ3Š|.)񇲁%%3 / X5U QM фlIQEz8@#<ƃ8gd3 +.舨s)iU:kkU6 +m[1Do,\r +'K~to"}&vyGBM{Z`VڣIbBS(cNdJWfdFꜪgBӚi>kX:om06o 1Yq8,}sk'yu"w2z|YcVe"mq:U-o63p1W.r,(t' v"ۋxzЇC}'YCg$VJhRRhiaN[jIJifkFmlBf2n&>RJo:'^q&5kr1Drt|,wvR'xx4 _@~yXd/D$%@ S" d{/q ,bIXhOAω%2POu hbeT(5,vv4ف>{wk0.cǤ;9l*]9(;i׌_ `~XrZ|TIk+&w,> ^\Lc*Xy"`AXlg.&pq;Ž i(|8DҩɖWÔJ#, +u1dxJ)SE[W(!EzVK!BkP|3W5N**` +\Jq OMb"r(X,;E^o0DfzVr∫.8~|}؍%rŒݖhD:` X{ xAj>#=;xet]rUDh7]MVr'|K,::k8"IBDn*g>:Hܖ\+E_YYWd.|~O^溦s \"بu6mŮfjf4T)I70*eݗ]sWUNT{uыr߾0%&T 7 g$!9\jؑu޶]?rVk(vv>YҠcU7U#([+=^yk<5F s1gVךlYC֓ƹ1!#X#:)v?Y!'51~nLP_G64zs#&3~1T/\R֚73ro64ױFMs;akSnZoN4}]Y,yM8CM6 S{#-y]+[/NUqLyaW$j˫Rט)#QN,]'ߊVH%-/>,c 2&}h3 ?(`e]1N-5 Sp}?j%\ KF>Z$VtgF)`# l +B9K;߰^x5P(GJ[`Zg, +OI%5ǵt U&J>-:=ƥS]`sXioگc>1 ς|td~HxD +T|$jIBIP=DʊܑyIzˊt]ӔNL +:Evԛ"JlpEh3J\$^,IN}if*pV8 }^9 4|#P`ě~7WN\ +] z5@Nگדb坃v\z\&?Y[J;W~kSql 0ʔl-GS>aNsk}[Q#A/@ Ot]a]񯕲SsDE,6grg!iEONneӰeeh3cEy7kc] VHaٙ-/S +v!EExdonWΑlOl4SA9}@`脴׬R C9Ot,W Z~`S\fX8 +WvHNicKv'^Ƹy`-tP2/gi\ ;:wxƟX*0iA:!:E,Yi%OZճhy[ >adsf'2 _$W<*P~̝/I3 fXoӌ췕&bd<&9#2i8.kyVt"3ZKn 74M ʦm2[^I"_KFItIVn49v?,[e߄E]UγX}U}+,Aℂ7%HNtQhRw*F9X.ot!6E98Zfj>"yTPdI;u#aR(VQʙX /CEw!#~8*Xӌ1e`'ֻq:b Η#ksK4Cy)42"!Q >Tg!KFUYȤdj⼣? +>(RS/zz+Ӹ8i%w#cU`؛}[Wd4X?. +7*a-wnf;mo Z+ +%jK$9Wbڭ{FII=IV́mxVs^,V:@q\-fSeu=%]z惔yzi+-qGowi;tn_!OtLj|X#ECzOɟ,x?w ' '#߲ͦbk OQL@$`GV񳴏l^Lgݜ-ֿemǰʖ`9W&+eOLy $XS`ZVZ%#Qz f{y/HB+! +l@?Gڊ888h-U?X=b~S^ 5Yws+phB]!QnmtC=mM91t>"o}eZeq=P;8oC-B*|W0GhZ{[q_lI> =^ehaoSkj2ju۸҇ylT7i#4l +jJeJ]A(XτEcU|+ɬ4Kؔ.uU{cTxTɗDi&PԘ-#Aejy]*9n T5h" | q.RyG~yGƔ"zF)^?ՃFCB4[BhZ$xYaWPF a*&^`#+DZ'ǀޡf*1KOvf1hjѫTu5 +4Z^># 1H~Z2@6:j>()7>IuW&p^LA?ÙSԯ q' lr<".KN564-j6Vi]:PkQ,1H@%̆Ҍ/Zb{:R|mI,+/cG%#^֛g W@U}m.a7iި͡JBe^)1Tiahz3іE Q]QDۢqǭ|^UP:d[{Mj%\uug+f)tgGLb̿4=eK6dӖ^x/s + Bk*Tq3f;[W*}gd\J)8mIUﶞaԬc)KL.(UC7*9VuքTWhᄪڒ/E*kOK@˜fw:Pwr;7f I{~v!QkceIm]ϩNTxE*% X{ rL/*~"K#5 yQ+ hw90b}B$C88e 7]Ԡ5ͱ6Խ) &{O߻gq611n6 i/VV'/ %虙UNϭ$ţjw  39;;4Ua i=`֭oj묹_ٲ̅p緜ƚ#wJaQ_8\rrٯe1_@h@R8yYw` <6÷"59#O Tk'^)( +o+6>L7Bwښ_LsTxb35EBK8vH/ٜ`RuԐ h#>lB9ŭR,>5(81TXP/~eB= +>Gwφf@OK`ǎ0@# U$c`?*8*~F' h"8j%|ӡ+$<1%5cmB4꓊j`&;Wv+mbJXKErT!o/ +=haEؠQ& 0ʵv9?<#+Bn4wG Պ>?U/'{qӰ5tv;nWj~- ׭s1&2~U|OON +G &sGXL*{@55[b;o51i #L1KMV1'IYĠ שN|E+Iܱ"iLmaXOur:X||a%=?eeV@iįw]b~* B\qb֬/HvBS5:k-ih~Bs`}esnO b$XϤ=bR{S|K%*EYޖ@yZ%u͢[:a>I6sPIA\ptG퓊#E j'Ҫj57qb[Q9H0]~f$k)J>z0Ĩ;o28N6q-n.)D +\Eȶ׿7)k Vh0K}>Y+)g;D$.!ܞR)nTw),8O^oE`[-]JJ?J_cxC ī3 (ʬq)AmC T g+|'Ëͥ g2vU_^; 8 + +Zuh[OE[% oN7̛^_+EM^!Z:*/^+T+!!y޿;# {vܵn,.Hz::sںe>UW!08 RVkC_"Ѥ*p~WBXqg}t=2 HQlPtG 13 yi βik_ G3.W(T>ҦrufÐSbdA>^EHI +';}XhA9|) +dPGշj$*4zv?6wabgp*6-8[0H$BY2C!DTdzOm`&LV뎀; UB#4&5\^`.{Z{?1(?_?9)$j(p lœ0qE|^sJ;MhʾXHF10L"fvؘ%_.c8u?>]`E!&@ee6zEo4U(zǂJPPUzZ23M5g +ɼ* L btb;%c9F,<d=̹jZanĀ ˢ~PYekjeԶY9@bzd:oM9I5e8N|c@(\*nȓfT@:ˇ*gh`*ۇ@n0ɶHmхm>52QDk.g\XU*{{=} StX[ j Wb[ZT+h$XBr3LfLfr@6ܠXEOD!էhe+"bk|ulJx&0-1~<2QHsmv>n$PƤ /pcFXc8N؉'"BL]O7ZbF)W/ֵYTʲ~jCͮ ]Cc}6j2Z>#([ z4` Dz.1;l#0ƞPÛ2{H4>!r;_fv:&bmr +?b >'<,e4URo93!rhO  +}:x\FK.j _u//mXci&tbӱ sV7XT/nId/;\GǗT#Cfp1)1K@KA'k]$I1;։ Zon`+P,@W ֹ̰,޿m짍 p2ay$!UWB eNkԝz_/=An9N(օ4#qb]ItjEh=kC:vhGZ}+%/x퍩n2(f RHP̗E|p͖ddGX.I9ɑj;2ʉMP@p/z>ABN2 -F p4 )@M!Hl!ZME7֥tPqf;戲iTW-ggHYcӿ庅Bt4.y7pUTQ BiJ9FUާaP5.7h4IKҤFG Y@v ܁`;DU@ur`QQ(V4 ܦg5+"T/N5t867E5cZ(.{ɋ%9-RKc̰ByBfT^9gCe516KqMڦTDS}j*.VI#OK46]Ywar߳VdF9]b1:lHdr{e>!`y\|zt]`O;ӉWTm6vku 53E_ +s4|ksdkd6&HAV|YnvY3FWT0K%R Tn)_XuB|IhHkA-R}$*'1i^ꯔE7Z/s"B4H>S'Kn*K2LabHNa6`:qddy|kVl(b[t <륦7nAB4v Q +"xy;Ek6 _T7#IL3 BhQF!qMxtYP.4APgNjNgB21Y|xŎWJU;~{_BE cM-2lfNKf1a͑9d vmH"pr| +Oer+ |]C|тSMM&u-Oܿ7:~C.r5'7o\Ӊ[MZb& FV;ȏ &@n1* .NȈƾaf<ï3ǒ b-;F-|8w\љx*}J})]v2gmL'L3 >V- i$#\^/Ł/$R8'y@>ڟAg2-[\Ie4$>3 2F 5x0_؄gS"WQ#Ti_HwCd㍏/{[)w@KHuҜwԩT4|a-:s hn})sAO~K2+\̌!UE]SY_@yu|HuQ}<\ьA9Ӡ\t_L8%bJA}JiRl}ϢX.L!?{a^Yn7]LJ=)HūPmT'V˂5*LnG*KHG+ʍ=3wQ]ϧX?T~Jsh%)>bPiq + 8XTW벤W<v3wx[@b, odW\+Ċmӹ.`yrO >@mOl]hUL-'[EuK(T2_ Ol]o*UHo:d:?V +<>,H#gjGsZU"lˍT xIއ Y\p d6GB )(5 +I jZ:&kߋZqMv +KȐ` [q1cH w|;]"3A7V $lk^0ZZ/8cT-Pj@eaHB d<{QТ@)8jnQ{p_n!,'Qz<gTӣ`U H `(W,be`<4Sj2B3N ߀cax)Wz%AnC+B)[!z&'}lԶB-9P +הY\0._{{^CV-LTro *ۑpb6MA]|GZis +ʟS=̅2.= 8`>\yCx_A&,#,ba:-86sGu$岯`Or x؛$9{kj"uYL/!aa@,4(@%w:4ݡsÒqނHM1 6}/6)ÏW?' +%2N]FMtahb|$>@Η +j-5Gst+" (R!?ڎɶ>l$ O?mػ1[ptrmfX Bn9`;PeX.Jr+Av|2o Gy5&/DrފE :Iz:âYBU .(|2XgL\FeahZ ®ݦpoqHv'r'葢ڵձm%/̍<,sxpa* u8#rI)7{Ո[,ipo?RD3_a ](4Д>&2"dœ®O}IA%NHAdH K0t\r-}Oz"UdɤFyqOZ0Q*:,u_* +,A0K2O|b9f +OS>*JtK!\eg!w1)Ӭ.ºOEgTQ)Ih`ΈLɡ}+D> HA) SHbo-:0k3wΊ6k 'sQ`zaޫȍNrf2G"ěה/IȠo( YȂ7o|e3=L <0_l6~֡. V1M>99kF~870rmVt஬IOTVE5ø+yFH%VFYW~jlknc*5HaDיz.^hS"E d DO JI3}ɋL 9Z삷S4fg?Rs Pf])E_WZ31:ceeOqْ)] +r@8[d.Bt ;Gh?2/u'N?r`S#-3&ؿ-6N7(Mm'36вjk(4l}!{ ۭ! nGr zsaC|m\tKtzw__1xT#"i31cʡK4Hײ+rS!&Z7LenS؅v `(%#6z vV^5=B!mTʗZ>Έ1v7I[q"h,ˆVBr-G0 ?-^N&?9ވ?;{𔽧h +#l{W^,[|FK9.+[/dgTd:$,1( +0{2߁mRfHn\lx3E_9:3W2Cq\:i7YRBeqbM bUAL-?HDf1uz;#̼7WEz+㩼X9JJRU[tQT3r2s6^|܊3UN:f)@ѷPn3Wn=|G= ;EYK(TKuҚzm.OEt:@Nh3jGə4-p8o >Js7`^c'>KZ%:HJդB"Yuz7@Qk+ET|U|$UUn{MUHcY@2S604h U]ܥ?gF&7IA|TU dZi(1+HO`ѝ"1}baoR"yx4֝eꊐ~`)}LA,2t +'=D|cz_~03_ȉ M#N7!&%Ű)5h  +KSu4s* 0 |t/$Щs] x >GnOV%Q!5^=7ҟ?N:I +!9XU-ȯdy(j#=<äxGLJbωĭpEr|'p%I&EㄔN}$j&QF Y:1b c׸׏OMㅝ Z$iYW~ڒW1LXK o=JC[mEv41!*#yN oEgbNzڞ`YgEC5Ewj/jji{Sֵ"l֕m]*ǃ<')C 3F3@cX3 -'--=&d14˜f5]lY^:ޚqm㑿ş`o +Iw0^Ac\-~CAKK!;]rl[)9J\nfzqRr95$I0dj?:1V˝9k -kx1zmH)tp~0Ht>w> ޝG%I9{..*wE&FWB3Otik G^»WP}UeTSG/KQ )0([~,&>qȹjm5ީf%ƟVea,@%yxd! :jHAm' z2ґr̬H μO= /$XfHGjG̨~QZ Rm1𭻋sJ͇\mOt?4Xcd'+0aFP+Z? 07J%u"̫uk88RL]n3_nn);{6f/r +f$)Ee$rY V6y{Dнh0@"`p u+S={jGt+T WCFW"{hd-m`z:-{dm %9U <>.({%\ygͮNYqQ;[⿷?FU ê@%zӫ}䷦B7S\/Go!Qk;o#knK/y3\#exY~$3r0xZ).rRWB.5_*k,qY2>Z5aI̜,ۀ,$e.{%aVXKПZ 6>m#,,fbXt.H:ꅝeKbFi=[b,JݗhSYoqEW67w~*aɫzE` e]K2!;(SiGKIil2SI-T _w`:yb(iP6A! CV3$@Xad~&oழQꉊU>.8D +U@SsO-xTm<=l8"YWh jscDC bYH 5g7s0[yk o *U5Rd1ldF0YY=?t%.ΤFą;~D5Q)Bx؏>ޯލcjk^0/zCg +rxr'mEw~^*f1|5Snk^ÖE{t 8*ӻbz?eL䨌!\~Z% pzN(؄\^PkcԢ}4o]bq ?.hg!"$U`?K`Z9&*0_0}tBYߞfVoB] "#W|m I*B/rx='`+b :iԔJ4Tg|'1rPф~ +)w'P8aD DT"% )_->8Ib0pOyLBnNEQI4 9Xd#)B$.A"/_^Ep!|:S#/ f3c @eZRR|B?s +·9yp7H 9) .±(8fμ +$byC":CiFEW2G |Q7f~Q`7sUftv1M~fLI$u+w⇏P?"r^|YA x= 0h-v(.>%=X,'4_fe ċ8N` +/dnb|) R,@|c5hT*h,?L-ض6,n onͿCr3@7f~,YZ Ɔǻ*iNht'3 /MiWs璓:茣-VM iy[5Ӆ/2 %%dނQ%(-;:I[Ӯ/E +jN wDSŷK%Iע}eZ+]iLm0sj.ެ +UHg .%uiA$ѧ(!ETXPMeqkڏ;%9҅ WoN-at^>sqw./2)V6iTMym"z{NWI5:/N;&Fؓ%mҪ4פ!k9w96:]$s eV :j?=%$rL9WA+uŗoK7:ub"Wm7YVkyf]IJoGM dǣ0sSM\XZAJťϔV\ey^{pB'Z RqSܭpzku +TVUZ5|ͥQMuÖSKrϕ*Ru_qDumx11_iVfխBE/D?*Zs8g>WۙyM]wI.\zZ*ZG~pXm^1 Bߖl՜/Nmyu[q( YpGXcO>;jzG \ֻ |lQ1&@'$V1TcQ:9\e:xnڤ&*ꌆڤyD?)&P |/F;~2l6u*\<%D#@=!p3i?͙.jA~{:pƼ%.m߰24i88X;?ޣ3QLE(1lH3.XM)}=!8d|s`@[_ỡP7 +`?jsg1 A`2C(+@ !ahd#azͼ rm8>ZDS\تK@[xh'?V>亷X^`сMΔ#ߠ)z =)@<"]7 BgDI,.…X9Daj1)V߅vc;/Xr5l .D T*0g33\@雏 , dESF)񀾓@h,S^ +)nI|y;~r³ވB*A gy]W-nԈG#QSl. r+O|<2kRwٗqV+D(˨"䀤/J*Z Rbedo6@o£r:*7\OXl):qﵶtṖ|%R.GRfĄ]g%9 }סko7TN<EᐫR(ݪs+]Mf4M)yRZmR>-iV'B ^?G1o(ZHx/AC  ]W!нlPz~$gXբj͈nKL~ݺ?yӼMcќhvM[e8U\,+N[5>WشjƳ[v?pE],HlPmUж":n; WmCs{8erɨsܘFg_j`o81gkЇ jwTRxѽH[<y5eOBKS*lԖ M me4NCWuq<UEMi{i}<.wŕ+s4,TgPu"eW.qj,vnnm}yQ*ayZK(WI:O TG.^bBaqFn&~i^s=UT˥l[_7hcK+"_> QR7CБ)AQq%׍&,ǂPݶ>>Qܲ|'3S,^34HO7׉SbR7!Mk!SA0HnXcZכ DxwU*Ϻ|L"cMyci7lk e\i{ԃk &?6&%.B6}HW~ăGho{^UpȬGrDQcASZ;C 0zuѰ(ZB:ˀ1>rKa5br|4J_7s3)2{y:x#KWȏz<*y +RN p[|!* FB'V s9 {{ܖȘHC=L~ZI&:ሿ13P4@+Q5._xu#>@@g{u]ƧOǘq:ɗDuQd)zCR `fE<ՀGDn 1~_B\ZY:R.r:;p:˭JyČ=$ՅD3"{:Blc 2 + B+89BoE%xsNOXaTňzQF؏Ms?I8E Aw=f9$J4Y/nꈩ*^4k%S €ą/[ZWϜs\/TF]P_LZaqHrcNDQe,@!gO;iw7F k2@ln-p'>r"ӊwux@S{ZS]W_#T=`Pqrb5Lq(cHeeDIga@i[;k[7M)m`2To-6 +q'싃t;# +vyd{Z`Wb3TscP/KdL6fH/hDi?.k;mV79Ro12OqH-BOsd( +u#31w,y|dZ&d W zecSHfO˖8gKٕ iAGܓjCҒl?Lm;kol7q28s->t()v#QxXze} YpgpV(hSiOjKlGmaCn?Mp;\q7 s2>;t-Rv(>txC#{yv{^}Yu5kVl S3m"OHnKcoGup썓w:،Ux6y2 +z-L{(k|#ʆA}~X vU[vRwTN,wJax~FyBy>zp:{$6^{1?|-K}<(y}#ⅺ~#si-=WyTz]QzMܐ{J({FP3{B~=|n>|:}h6t}1툳~b-K~(bb#7FP[WD}T~Q[~NMN~xIՎa~Ft~BK8>bv}:hb6YI1߈+K-J(ـ$g6GuV3TG,QIMRIEƁB%ށ>Cۂ +:OԂ6Iɂ.1ه,-N-(_1$)I$V}vTDP͎#M%Iy Enj)B E>/M:BQr6BRO1ه: +-V($?3łԁVzֈSꈒPLLU0IOvEAX>LJ:1Ն68S1ֆ̅-YD($P/nA V*++SYMP1z#LI܊Eu&AɊ#=>5:V6'k,1ʆ]e-RI(+$W*˂H +yUَ1RYOڌLx#HJ'EFqA=ֈU9܊61-J(Ά$[ԅ؁̈́UAZR\O10^&Kr_G0aCc@ef<Tg8i3k/kn]*Ïp%s_!tuɉx⇲{nU{]RJ_]O/`Kbb]GdCؙe?g<Ti8k4m/o*r7&"4t!8v6yg)&| +U,`RYbSOcK)[eGpfC}h1?ٗi;bk8mv3oV/*qy*Ss&A}u!Ҋw:z<i|TGd RefNbfJКEgGi>Cb}j?l#;Ĕym7ْo{3Ց-q//tcs#*u&Uw#!yf{}FTgcQchNiJjG l CR_mX? n; WqEO(VzQ!,&H0 A"AT`τ}(Z'(Tlqh:y50>ȔČA P8Okqy05\ ?՞,jĕ&ߦso*Hʙz@R͛AXZu4s}׸Ajgg07wS[mVu2CS{r1ܖsʢsAOH~1CVO'EXbsk1cgF5h8ۑl ׉ƢZէ.2aesHt1 S(sG. +!&@eA6N,':v7~4&pM.q|9"VQ/a\Y>{ +J|%8WQ1v/bl'ͷsfUzn'ᶹ5b+ B I7+#YZ0V% +b`n轸3d#X,az;<$-ϱEɹ6:`$Cr1S~1EXA?*EttÏtqW1 vK(^H4mtJ8MmȘPnK듛،ݨObcY)Bn:] HkPxV4Hl3&x>Ǜ%:1*Ɩ>s3s(`Qz + M$S/d"i9Ҙ[|,ݯ^wu'UĻ\Yz,Fl`Gݲ3MzX^1 !]{*lD#]P 8(3q<ů!u=SUtJ彤9xIcJ\`WU0 A B~I1Pމ6Ed-V F$pʀYrN|1K%|H|D3|A}E>T}:&}7~\49~0Îc--)^%! T'zM˙KRH&D͖gA >6À<:om7퀠4,f0ց-A)n x%*!Ն˃ MKRHYkDAZ[>:ő7vJ4ς0N-)x%!$MOF K߅HDt|A7[=c<:7d4@0ʄ-"n)*+%Ї=" &CnM$J͖7uGߕ'DZEA"=命:wO7]4 0Jf-,)f%Ԅ" ]b;Ѓ,#RLJGDDAb:=ّ!:މu7Y4-0Έ-7U)L%p"6$TlG܃aVtbXRcYd[5f]@gK`{0hbrj d4ikf^`m hVnjLpmdBr}o7;trs+vuy?wg_>Zk`j\]a^_,b`edHaނeczge|qhg`iDjLiK`Ykk:VimmcL=ooAqq7st +v;vbxx7]`S^`avZ_bZ4|\>u~^Kmw`meDb܁Z\e+HStgÁIjW?ll6o9+r߀ u͝PR݇ZTW`Y|[8-t]Xl_gdb\_duS gIiY?lX5oj+r}x! +uΜOQ^&SˉU@X{MZFs\xMO펣Qˈ:T..Vrrz +X0r[k]c-`[bRemHh6:?]j5n<+q!tڃLQOMQ@SUښyX)rSZ| j]Rb_Zb.QeHgՍ?Nj5mE,q=!tiLyN@Pá+S1,UfoyWqZjJ\b_5ZaϔQd]Hg?Ejam5m,!q !tu!LKN5Ph< CS`*n@x:*upJ"{2 @$ĄEqP׹PqGSNQ"sWn֖eN^\SiNVW)lUT9TCp޳>=cs$BA`U[?`RUR{n Ա-{&sK@!>a0bW(~X5; 'Pd],%)GZW?XY{YI^N{a٪P̓/wSZ0cbDWhey?#pj|3v}Vf } ZӖ"ob}.Ps9$^EN?-NR5)M[1Xovj4B>>b<]@s'.:c9hOetDb q &@_ޮ 6F,Jhs8d2<ףvǑ%G{ldOX*wSWLX,zurt.Gq\qQ}qNR;LNl YKE,C)ot2mһY8}. ? X8YuQ"m#KɽEQy'T3OxRҪc1-N\eHO$Ua^mu7ŷԷ%7׽mLX}&[?:U=6[$ WI8Ƽ\J, cFϊ""l;YtHb"z&fqW}Rz-` XGQ!k++%<ֈj5,LJJ ^MaO{ zP*!ۣi@;%f0E7K@=-Gz!Z[Alp< .ϕ $W+4we2q꒢W#܀:qOW,Gg;^s)v85\8l +c1Q:&]2Wt"# yQsl x[*p#D`/lhE3mmU<r%,~%J/i9,ޫF#a>T~&ݽR$A_K̲*afU*^(WN!-&)Qu WrJUkB[@H B}NdIf&אLpCQW]EEZ(R*EiYm{@~5_G6Y:f%$Mp.f:"ܯ0an$|Wx؅K&By"#UAkQa-*a^nL4dmg>bonI<-v]TG,b$eF&I7':^{q˼StTx%sF9CKN?OXu$v'>Domu>m)]~^Wt<`@Qe#FWדǤ/MMh%Ynkjp|rkGn&ScВºi9w`DLe]ҸHii'Jq3͐jQּ(? D }|^* Ẑ듢@MFJk +jRL (m"rN1b&G\n3cPr/4b)I0Rm,7Ib(^6hB@:N~C^hl8G t wuũ_h Ostjp +b3/_ hyٽ{ˉp E ;?;׻F+?4GTRKQ[`g0vlM1 fi\Hb^i;4] b񬭶:FٙCB +)x\F&+7Bz=?"TCzB6a`:>7Z_cQcS +4w$mMqI]H9S(ou3Ӛp~m]).Vۤv~kV6ݣk_Z DsqKOdTުIwj.ͻ:˷xo␷Hvz W +"^ +#V30pqs#i~!YSBpL/Hb3X'^MqqQQ*t= GR ByH}$I2$M DPm}([m=ZZV"{X=%h' 5! .<:w< ֹR?uVrY@JS#]0_f{<;hpX.&,"^3;6aO@-&'>.I7Zk!SKժ|iOTĻ alJxHpXIZ<ݞAi 萉4rH~ :8+|.1"Pf~=W͛BB`57{q;C'$N32\.3@4?ɶ iĀ15M$9 hwyŻr1t/1*rDaZU{*6Wz"&?%oWmW#rKl$ci2LRkO19E:i;"JI6MMqD7\c< fԨQLKA~=w잾m3ҳZrDj ',k ę$sT>,sO ;c?KÂa@JD1WטBO~@lNF/phܼ19?4?T?R_v_ҙ!ҼğuJK(7VXsيg7l9ٶ~Q*N2ɖ$(b8&pmGn}Eq?p՞RN (r[l"n'DswwynrCQLqD'$\co T'ust)GFhe=TwܤXM!Iк}Su`D> (<<"ȷCDDxٸwm n>"Qdt"K\SJs>Y:$ƾﵑ\OY+_[OW7P$bVY{4)W?̑] ;c|#LܳɈz*+M"H]w%嵑qwh{k@0C./[QT-/Pv.1 20۞ 5zޑ? [%wXza3'b5h̚hA[X.x)mJUy +Ą7*d٩=W "DZw qȹn`Ś+c6RFn\D8z+pB?Aԁ\UpUU֡qq\ U"=LH`/"Z=UQCדuUZq +TU*ްjNՐ^;὞ct\hUPhZX2TrYYdf]rxlN2iBdhGea*i+z}s̼jbSx/KNiB}"uK+^i5 ;/hXdK.U@ ٫ܷ ~8>g/-/ Vb)kUge31=sеok:7+a3 zy"Odɮĭ׬ -HV~ŖCJPNFDU?_5#ho壉LnݶnZ -dRo49FMr)٦N8Yʴy& 1׺X`>DpqBDTdCW`KM\pBDtǧn9&|_&gpDmm4İ9\L2RhY +[2Pǭp(L\{6-D͋Hgl"s5D΂Ɖ&i0gˀ{tgaWЛȸprb8,vp%29EaN0R?=c N7]K*PZ0_o.95^nDz + aH)΃-zkZ$/ g\.]](b H֨' PM}L2uPߘ>AI0!8f\fC_>A^q%> ,tWdkd/w b:K |ol6Y$fPa}rҶ4~N%MEl7Xmo!p~ҷag>l;1k3u2nc1^ZkJuퟒ-A 9؟T-l˛_8}v]vEK~xdn7:morz(\UbyKt,vO=C猘V`?o,./X@ + +G㕢꣼XN }KqIpI{~fjRt4{Y⿚B&<{c ޝE]#بs`0zZOWO`)>USml>*z1~NWIV^f6N %ͮka8cac tz\C!@Թ kOiSHe"ckxӎEQPbj^S4'@w'~4*-:) mQBd #RQT.#wCH~~=\Pp#BݮuY 2Ϫ+W< YNK[c$ȜgϰE~儯'"d*Z5otCrᜐ0uOx }nb)v9ds9} 9שxGIg'S?(_HHz]:mI5.cM Gru]!䇓FlCx +wPh#>n#7:qMq^B +T5dZҳ4x-Ezڨelr>]5LB?'±rJ_x9'1Tgs2nYnrZͰEnL-**۠г xu|p\R Ô;ijV+S)Oz[~ 3s2[Q=s03qp-ld(f(aINWWWu"?a#E% t & m1Htkڅ"'g"-Q2T0. %Eba3"f*2UIfo>́Ay%[mȌѩl4[!cJ-Pzi=f5F #Z] +|rTho :KKd]exI,{Mk X K5 rq%gY_ɚDf{cblbͰ/pm2)q_F}msPi+ pC?R]U9բi^g@i:ol֏oLkTW;CGMŌGakh}i[h?wsDF (zȠlZ{s; q/j/Q5ckDZy:lC~Xꂴnh:.PED—+fԻ"'=x'Y#l*^LxM`mR\kZAFQ&#}]>3@\;3_ӗVop,z=VUz [P\,?OQ$Q'K +n7>E +ny7 UZcC:HײϾ_5άK(uW$}}|hzs\VV$z˷)(׌{> +vV.ݹ9it3yY?g~&9tLX7R(S"v 70WqQp +JKk;#vTDȼicԱl&ǧ'.ghM@5]y`nkʧ25s^kGC!{ +a4lA]z؈/#o \|t_\ސ?hF[@; 3rQiՌ*JXGӳ( =]c@<}|,S 6%Le|a& 2ԋ8 M0 7C=jt5ꆯCk[k1{b5D\H gG&z=a{Kƃ8A?cG0KndB0C `xu*Lk@XS>|O dʜPz++2#,q'sI_OFBzZLƏPnLaKcCm@;_W G]HIX¶D^wTQu[01%pпQ_ 1mQrb'pI|IuIOrD!VâѼ}S.3 OwrioHT MJi,t$`R9Pul4%|y1}g]%Ag>ܚ:{V 8BՈ@#% B d_^@9j(nxs+ T_bMo3uYۯ!>)K:[v,7j%M"@m~6? +ً?? L-O^&(d!<Ҳ8l4Q{_棩\G)Kg;)|9 8#dѵl2F!|"PنlF;BTzKlj!ۨ䩔kf+*TgwL1l,(OG +zi/r)Gϸigfb|C&[=|j]`|1\+1׮?c\ë6(GW_!I Y [,#C!܉v~&vJeJc& YCo1gdA]Y4SA"Rӝ\&H!^$퐵9|׺:}[{4PriSƭzofxqj=?4Q3O0; 0/D5^XHh{i3|Z99WIB;/3K&xG>q*Ѭphu{SlNoI{,?A}z]c׬*^Z?=nX"-kOk0ڷޑ WdPOц줤6/6WdRB 66؃܀̦`xa'"| 2w@.M/5D.6}%I<~K r(j4{*$9,}QIL%F|i2* {Q'!^?K.Vous?1JMc92<@WIҨ@f)\vp+^29җ*Nµ KC}ȴ=݈,%.^|dl$cɉ +EY_*u?»@Zq5("w; SMvn泵J_h`1lYW#ը +_uF[5> J;:IuO5t gˢ4Ε#R}T#VJL9To?Z譻W!uDe+vOs"ꄤyhbU|XteL /8^'3NRHEv$S7~5YQѼ)6X~ܐ`C2P`k@h8VB85U*AdȒ=aD o|# {}pBkNjh_c'uJ'6~ ͜Ͳ >aLэD0ȲFEb~/!cx&G߈;s +[iF%+ᨲC1/Us+ۑ/LPNƖK3%sB;֒`͉ 6yX 8!ߍ_y 7d 7(D+<]Y셡QiN#sBo"7,H^ʱF_oѓ=)pS Bςܰ^~N.a<Yx=e~RT䩐*D .E +d|ZG lt`D7czu|as '@}&,6>y4lxdχB"ŌqOŨ/Qo|y5Ԃ WC]Ú_LwaLVr3@fI(ܚA( O*[$W,':r_h2B d/5׉qn o&ih[dN݁)&M1Y>gA*tr4JWr0JOB DB} ^Aԇwrli֣id_v%@W8(:23<(=vSx 4#9^ESܻ0=*)fƮ_l3elĩ-HJpm{x ]ݑ<'T,qT<<.8g?MTZl Ɋ˛zJz)lksmՉ``}MK0V=̫; ͪZ9}[ s+fZ>9y7Vv;f1]S,X4(4x,ͷv,(Z6rl) fQIo2v&պbjNZݭZ,ȃ|ƻ8ƹ/e,ù^cfW9T3My䧊\W43r&g987GZ~Q$`;ب_%sj`ѝ6UT\X+i)pD΅GE[,Gra"b?2f3Lw~EKWEﲴyѡfE'bQ`3r;o-LߑՅ{2\h,1c~)< ygA=x>, I fdޅFsc[ .ŸᖒǘXStaæ2Ge~pGUŝ(o1 *1=>|Lݰ n(q\_Xf"F5a[QwDqLICqY2@P7'3& +G0%'H!u6?6J`sܗQ oEEY'2y+ȅJ0[ p*Y|/A#f!Z EC{. }0wc(J^} !࿚ _5} c2^lnd%"9IfF㻑 =g"Wԍ^BhV E ڝ߇*s VOcF Q +VDp場6Z6$1=dN!M,؈:1h]t!:Npuփ? }Ͳ|k>šUPii4*~ېx9l~} . F-}n."gLndUsrmt:I+Sm1c|v˯9%-@(CR{j~* +mvMo`И)mS;~SGߞUs0"zN_羖{4]]T/n*/7/xؖogV$rY Ve~\ xHr{+̈́rS7d͎y½MrˊFŠjY:g}Z)F%6^l+se'lڜP,5.?^;k< tKy+ŁhtalƦ,!R*VoYFZ!0V]7C؁"?]VhƼ8.@nuF)NV&܊cVhV眅7[VN뒞TlZ+G!%j}nTyQ'322M$ymW4WPM=g){d~qPɋ[i|ɼfit闊?SIiI`8R]Us7Ltm bViJֆ^ ݨWe3vB{߃Ft{tb6$"YbY_!ͩHrbj1-Sg,̃ݤ~}UPonS{]j,R3U',ĮXC4Jqd(Us!l }C9QFOLq {y'  dw9ⲅ fCMBz +jDG,kO-Zuz0l =F_ +(̼m^]kX҂w$CBnW˴?RuIϩ3BJl 6ySz| J#*#u:If+.?xGT 0 -άPAQ  3NN!HW j%hpTGI̟3;uSD>$ +6d42X~s|?Euԕ`\EZ-bKٔ@Ifd6!vNA}'r9-+ZDRGEyp(JQ;*[?~}yaz)fvD@ +yع`1 $Cp3.K8knL\aA X~ϸ 0'kA +z0E~xR:`g8!9 <@rl\sx7w!yx"PTSZ,Ȧғf@(%{'8b`AKoɎY|$F|q<>=z!ލ]G6›^C/3 |P Ilgn`8ƺFẌtAAs> x>ሧP76RjCܓ<{o%q*qK; L=;齓qKp|4z{Mi`w:I +~f}VbKlѹct=l[F5sؿɭa(DшnqH >kNJ|X5+4z]o1xP+Db :[WX63jV`~KE@۟WplrvjپN޷*,>yֵd[>=2~r1rU᰻v$]pW3S6˗O*1g&j"ڔPu a})iҽ +o[SmܟU>g|',4X`/7y>ZWY "j91rRJK 䫆 +։ZfF&-'n6gfgF]36|a]zjn[qLYZ+?!xfTNSU󉳑.#rBYؖRebhnnKlceFerg +jBtsE& :O8\wk,W moH1G0MhgJmOT"b)KI+Y*&s\"ƑPE$cR@74R6}9ɲ3:^0ԳSFٸ GJaL0 fK,>i:}.h-ӫۥnTgPQ,*OFaE4- +[#&3eBL +8 9`8mwLC16~/qS`[tuHe(1(] As6\"C_!:W nR 0e*ιĮC +t)6Ղ㾢ўt^ƒ,::L +P{4Z +_.rD"K_hd)V\ +Z8wn +XJ%4?1NqH#shuKG&6Ȍp!PSlwI>88!;gb2yD۝`CkVךF]DG42{Q5QdHc| +fs1eXE ÍǠ涃tg9{+$@ tѰ5_D W/ rt_t|U8<5sp}5y zjE=T{G ؀A#@A!$!!;"-ۊ'(>ꉶJ*qީXՕ♑<( ]-@A_jO4'!g,h/<_$gojWma8YoLurWxMaHyzrI];D*7z +B +#oA%=US `۽K\YZgGR_;&8{gD=>ZJu Uv=&fok,-S6{qFROa"aI!cQhyCQ2*$'tVa,9Mv0̓z*6TŶ39S֜ڧY?[duo3٤SlrZ'6E^)tdiYT!;F\H=p`ڜSX[6Z)L'˜iGҀqS"G<Kԍ`NY89ka"Cr> ($TO6&24?q3=ZmZ/>3KJR^6%U"'\KŹ2(& ;¥pqy +y 2! ˈpr.`P<(ah 04OO'picp\fO9lXBL +綜N[cŊ}t4ZO^)"eD*f4}P`JsTۘ{8$?.3%٩#GA試Ȃhn mO?vz-υ 7R? K'357iO4))x~;q$01͵}hȰ6BF>ZɋsRº *F'آK3,cL/=fǙ@EJӏ`."a*N~(0 W@]19`%<Ӄ}ճlqW*MB~b +E?wC7)By +ȅm2D\jrNZv X9h2Oz)r 2Qu,ދ/k;#8y!8 +ϑn.pR[!K:.K3`Ja,m0fb{UAҘc"~Ww6\G[Q] wM/ E6fR85Ҥw?Cuā-s=>!M0y&&%@)* B!!L2Ln] (B.Nßkv%c69 GWA7"bAq[n_"f+} mv/.snu-og*\} + #2zyF1m*M( !iMk&&Tf)"gss}4r5~g[tBYؔD|z;ײ>d@7ݭ;b=pA.p0a oFOrs5=SaJV-63 [S(Q7,uFI5,$0xcp1*y*3d Ph8l#sxRA?͛u/8a-ko0ÜC}0.Jc)A]d=`ZJ M;0t$M2孹:- JM였Xj @ˁ{!Jn?p)8f !@AaB6&,,83Ҟ {n4>OR!*t̜ACo/86n:a!e Y_1"gk~j8=4B҄"06#)yeuHQD(C(~$hH/ۨIo2mwFXe3oY%H**0@Uעb$P_`u6n[^#kі|tyZ~ 2"W4'VWwbKD-qUN8`^>SH䷵=:[7 "25o)]f,-|l8,"S Z-Z>+:Ig#;'L`hu4|CDvv""R|9o^4ﮐ.K1}]zbRhbǐ+*g0N&(iQs-力+2ۃ}Nx!: kądqZggmeKiqI踤{ S7F% +.\խ?.Xݜ <Əh*rd`go꛴FY\UIQdRB"w\ҁVKrWϏ۫4G—u席֥veBX]4y/Kj$ | IH}{X{*d+(ϼ.XGP9)GI!HfG\{(-Q NCsa΢k̘@**ީJkF+:ҖcM SG:>%E۴6n4! EY+h ްTzՇȎfHR{C}Lyve^; *4G32N$?0I?uJ4'%˓-O}5f~:fҿK5kc` vJY!`,W{R:wv2Xpw:ݱLM-9)`Y҄'L`<6dc`0O- P8Zy`p=!Fi~ؑKrɍ,lpHZ;טvhIi2%2?0\Hl5q T{ì!2c.C ?KgѠ'_5ɇ[s8ofrL/d'CI LRvXt6Aw# a1$Nj Q|$Wկϐ>-fcgx9`EHwJ&AF%r5xYpΫhB,a$5vX b#]SsI'kZ5ͼּe~І7NW|(][h$s2A|6V C¤PmFba<}Wo,w1`  w Leۀ2Q*6 D/? aЗtaB.ɖxRvwZlfBY9Ekj6b. %ofS3p´DLj05aRbQm곟c|L`%gu~ZӪ]0F)cb͓Q Qm݆CuYV8jz=:kb8 S [  +' tnp5舴4UJM_W]M\i4Wm Nyl+a$XS<} D /#eXEWWߨ#Apg ]IkZGj' +'+g\en +<!QgE>[|;=+R gOkFPzR`~"w!j$)ۓRxsϾ[[ޚ!qq߻PӍ)'Lˏ@~G"U׎=ԯ驥]%th "R:ah0P<6D(XXJ@$}$/yI I D*Jc*hՂ(xL9T_|߳3)c$sB՜+h.|?I-}_{S~I +CLW&]#t!B˵zՎY9<`0lї٩E.k? =41Ce :?Z`ХG+y8H< u 4~rq0%ɀ/V}Qtlg@GpB*W&[ĿD)2h-] +hJ-hpf]E!m.\ZI|ݥ>\n[GX3#"M.Pvs*=R;?87_ /=sIoyn >u]$p=&ӈ+ѥaj+TdIYSIGZ6,!)^ \5;.K[ +(WL8ܽWtF9[KA8U)&dܕ]l`9Hw'e7WssUF+zP/qr[ܯ@])BrH'Kb^}4d6b 1·;; b܄:G n^eLV%U$q9h"kD:}iEI/{~V>r-kμҔJJ=CCꇝlmC]W:>=\=EV6IIi n!|m(]^CbVnIYFfK/ʥ2;&fV4ѴI]-,Χ#9ռgu45 Hk$+On3$D` ?Wjz'PgV}l5B(90sG٫;qbg_)g T,;>"e1%4%WۥC z#+~Lu⟘m>.0650W\g*R@Tו>zii#a=Tab|Q}- + Ήm޳Etk pT?,[T튃<Fp1yzP" V%w#2cHh3ϊh . + ^<`!h*А>^Ң(KQpN7AԥKD5HU~mB%/Vfc+`p5q 7 +j&Jbu}O2L0! pߢSAWmURɳ +^Uw[QR\w_A@]QAx%hL/x(6vAcjTty8Aܡ=fʝӥҼ)`} z1Y?t +":Iu,ŗTaKG+*3=Òx[C }m;g=,?mJ?T5ȘT?Zicu疄 醷x$o +1p1 VDh gi{֜Eaed{Hdxh`ii(%F{[b+?=(~(L+Z--^TeGme2w~ƶIT3}5sZ ~TGE.>?j}V~JxVHTx&9,Q`S*Pi&?%Y)ő&CY|0_.S +;C266g%5 Sseum {5j|t{U ZAŋPR7!P +r3?8. +^ }%?nknn3D<;89MѶ/6v 2@OJ5.o~\X1R<}*صгi2O/&pr~de -jPfB8b];+.jI(9ݰ'KZw=r]K͕N78 W`%q3AhɗSAGdO+& o? 9 je 5jU4TOԼB#.L޳/5ʨ +JZShQ(n[ ^kقl{QnHαZ?Njn׈E=Kr[4$m"[Lc}mRFzHZ_hx SRƌo|6ó~w#V 2\N$dM'EÐhK:mM8DlדLGjRV9z"O^" D$) ȿ"q J҃%+[E:2I,MM$kI&+JF0" r0Vڍ]+xɟ.<8U$afA4RU&N ,WMuqx $rϑ'yyr܄P@ XbU"v),I_T>wDʣI!pVy< B,^RbY+#R4⺞alS%jol( COs=P%/3S/H.&D&} I;>s\6ړ,q$R9?)[|]Kٚƒuq+9o+L޼Z_v +~6πseBnpЫgz$K3d9+y.| G\iS~s116i^;auE2jg NSU UŁNbzbΰ0%.>Xv&M/u^Z~y#X1%ja睳^{=dcn2)ÉZR sT;\^N`*A_q83AZ[Iwރafs۴5fvP;Wƛv=~=CzϙU]-7!Z UeH7U:㾎^l7}Xt0I3O :J#s]_tk eoDT5\@ +}PX~! Z4GQՒE_Fi?rP~"96d5piX3KzĤ=mXwP6!/L&'Ͳ +O%Śl, R+<^r:dERe`zR>ۧ%bݴu G8۩21n(J<*CV&l}.UWߩ:hL*$kc䁊yEDoP(0M>' %njQN١WB355({(:&c̤d"J; u!GpU+$`J2`T*Nke:v&@É?&%isc~ a1ҍkC]hMų (*jC'?W"Ui +sg69$1C}I1Jwb:H7vz-8cE~"x[H%ډTS7Ud&t+EFh!j{m%dDo&_lgj]»J7R8ߑ7TqdQ3(4vq=k5igVq'lv +qwfA˹,R2 )GgPBeMBm^ql=򐨲j֖PS_MM[˶i>C B fKrd{${!`d+KCtvюk:({]Yݸ /Jc4 Uu(l%[ѝ^̧Iw) W9}D.h&Bt~$fn=u(Ɩ@7u!~\~pٮ\V87jmJQmJ(#᪢b2wĩv=[qIh#(v %r_rrE @ kWR֣t׮ՊxU n/f~l2UuF7^[Rv ۝ +%U5Q `1CdYi]J*C3A2ca\0)Wn 4MǭKoZR.^{ Ue*J|_D6/OW1/Vg~NB'r@/݆ƅȎIm l.3wﷄ ?LZNޘH1]ArG軒@!UDBIyi~=0 QZl2JO"֝0f`/3Ć!({ 23@ʡN*S\-⥋ӾǦ0ىi8 <&3Wj +^~ԽBÆ<3k@ַQidWi,缅=\cg`whO萝8k41"%^NcX);5ɏip^^N^PTAG >bK%$|-Dg^4o츣H/콥#N3 +p>ݸchp92tZ l2yMFsT :}2Y#qJiIJa7C~\zN2S×Ӿ)D[Qi<^^\ f\>?2z N`]2xʕ&>."]6,~{NO*k+تvTwvZZM][um!(CUeʨTK DN+~Q$wK>Uc54%|0՛gY^f~k%A@Ӵ=%){U7GЗBbfe4Jv+>/;aMznMEZC;l.zc{۹ s).MO$vڬjuЋ6e}@ L>{RY= I _ + +_`B[[)AWl=e!ub +s"rTCU6u4dMGMuz1;g)C(.٨a⿆[Po[s\/btT+vK7d|`ZB+&GozJO^x|hT'7?=p I.%8m-, + .Y tY38liF:|{IDd䛔{L,Ǣl#i6Y9ƚj>gôC5j04#5W3PQ +]HCM]"( 1@=;Ʊ[lE=zᖞJ(=%s?+IP%mlx;dL$Oq8.~Cp _\ĠG{^`ڍU7Pz< X̂iCڟ.&"qR,^ǷRD:A51~r&>̥7iaĎ{4"(LO1:x w-Om~ʹZ!.Uq{ -}.{kY8"6eZ*Ӓ?[щbh56 g"}:?E؂Q63yl;M)C±JJwV)qGT#$kQ^3 8#1U4 pLMWG"+({`8l;J)e[,Ety-2Zi-כEk3ts4e)k;RWeZJK-RxSt*'`dnBRK:{Ҍk"Ŧo^Nj@i^U*/nT&K+MYr|y=TS$2I*@sj~30<~6tU>XWmjcT+G4y7WವvɰYqiSHWEBȅ=<V&"Ng'|۔h}}kB-ʳDk1]ԁqaSГ)h/'aF #@v^^^$ Q'֍iݨqVua}ڻ[4WmC|Lc6Eߙ݌dy;Y?OSNɄ=X<^d)x)\6m!cK}rl33Vtu 8ʊmB@k~L)o9Z$R["Tϖ<,tOH 7Wܩv]].!Cs0Qu9>fwWsv c-60>edeh76)[STҮY2Re*MT`Cfg0@{aBhKxlvZ:]C1uhLv9+6RO.kwJdmWgWJ[W{ZV<B|:^~FY= wX䊉iDSQa|lÍ#M(it+&/Stu,Uy=?]l/8u,Wi9>;k$қ0y瀗]1MiܨpKc7`!Ȱ=bv ulH8l 'cˈ\)T#N(NLt.ྦྷp-F_X1d~}Z5'nf UHvϑMwbs7E}[PنPt[9U0X8`Q(=Nn*HofS:bm4FZfq +]ZH֭4_aDq~^"CR@/\|>O .D+d!t%k+Ì6Ħ0Q4 PT5aM˺*x9`xJ(tBȊj hPԐ~[,W`8$zT=E$S]<`:C~fLfT4=/c)=l>@5u}՜ 'Q C8${ ogD©t1՟1sad_tkh27GMW*HJ{e4z!S;g72.4P>}~-=3hLkq4>=7FPss?Yj0TU9ol@m- 5ZbPi-/2C:kV8NG̰70N<մF)xPAV$R?jy/.-jMX{ofBS ӽɉ|vt*kKOdZbCqʐ)91=iP "3@ ߞo$l\QAK]R=Yj[EE=zEB['wx>Kʺ[ܢCw=_m&1C +>M= ;@x\Vٖ 4P prٸrv.[we,{@\v*uv5,nhsݚltj+Nȱ,ql5=#pU@AYeM+=8&ab*I#T"dJ3s'38}LyFj &`ՐqK;;GSGVc69kBАI< 7 dz&|_J1%2ګ-O2T\'GrЅS]Fph?,pG2,DWHJb$fH?@L)+~`{[WGn2[ *U}9yںBUe}ۚwh[Z/MqJHTP^$]G!1^ܱH4Z^lկ&X4[أ4GHM4;E\{7Up~j 1ՃD-D_oL2r֮ծR 1v|&r9F0UT0!f"y0%aAr3N'"OwɆGaRrte:\:I+Vh(&.," +NWN1B ҏ啐'Q Ct3֐ +4߹"!I̴2 +jJ6q1m\FYED^C'yIMn*e0ӐQiLth9wTfcr*9Q\ +- ԞsNiIOJA鋉Sv&\І;bD;. 8 +tT+@-vya>4 {0k + HғH%h(Lx +Av<(^2 HCoPi Si^aP{Xvݱ+N3\BNOcs'?}||]Ixzr20 QO+C?`Dg[ۘ7+zA NYGR)l+]Һ Pf]h?Է+y"-1)` ޿ks#Qo\0 w}ˈZdn)tmd/MM]qbbc~.WOCGЙ WN`AZʉ~Exaץ\,.ȼ⹩ٓvɳEdyW-I)f9/!t uczWT4zޗ*Vx.e/ܚWNJ"Q ҆ +3H"@7;:G-m靵r^`ڊZ>TO|?ߔƓ bmQ4?#c8oyC=^i[d}5]wDX]zOQÅv?7z8o\$51I674L$,BXyf;pj{K'¡pEyBeVOO@ f +;FUX lj5 4Ԅ \>8A֟fa;Bұye 확Mm:#iͧ+wdVCwT7ׄi+x"_&% fK>XAxlFͯʳ%.nP:HCZ8(^zr9t 09!=vFX7?yo^ nV.:pT{mQlMSP”94VoKsh5j CYUυ{ۂwkbnƏ?9]JW-C򋺋-) (: Yn}eNڥIpey|D@2+GM&qX 2m +o1hGp\A;W2=-gtm@L7Yn TC߷ޖ$~eO/[F]@aEK ԀvYa9gj`Om1aCMou98}Y`˼NőZ{asU*ߞyb xKJ3/?7f^UkjCkLkmHmn,9g7ytڵnb^wpSt/"r- +EZ1TL`n([,M4(8o·3VG>3V6'c QܰEu7%wu s|^~,,N&0V&ަgR_*O3 ;k5hK}q[NHᶗ">acK3m:|kec`@#\劌_ ۿMPQ]28(Vcl9c>[wG=) VJߥ\.cse!Nl=VP-aq婂~>G()R#-቟rNŞN5FJ8V&>er6? yy_[v4fnOYtc^UܝE2άϟrjdbk{ӧ97) ƮX%!r 6sl]d`*chz2'1R lWʺEX|3ݐ(PR΁X^S]lŃ3g WyMÄ֘8_! pSAd Mm꟤IdDbB~.2&h(0,Qa' ͝A/Ndw2i<dz1%`2nZ0FLGhR7K=iKD]c#- 3n5Vf7^4=잒 V!~4}XUZ Ci޽zV2Ie"9a1UevRj2Yŏ#^FU\E҈M,Sl ic:`$5O/h PuV4ߦb<هr,*媱g^i\RxQeϞ>,^p-ֳdN#s40"At!c-}'I+6HDZKȓVLF8;SM,^|\Uv1٥eKN-NtjŪ@K% PPU%*eUk/ZF'da3ߖtAy:#pСyD%u敿GMV[.W)c*43d6e[ j$$)>ME;VXO\A‚-m!G8Bꨚ +O|N~*VyDfwTX̮}O.N_ D/X|؆IlWBm >y/g8Ig$?w&ꉏqĘ!+jMHBxA"=mZ4Nzw^lx7*+ >NEa1\b>֬B(12~(}`{0Sg`x - +#qkynOrG"\࿫$cx0 lnG9Mmp!@{o%.[qK$aa/?'#]PMvp*2#:73) 0nS8e.p)q'6n6^ʀl0\oL(C‘wԈ P܃ЙcʿBKDUfQ78ɬezf? +W58CrσA*2yV۔-iMӿJp}~5y(^GHU@ ÈJ"@bH!$7{0E^*+.*kW" +V)RϷy^Τu'}+eƗ8'z6>(`m‹V[!E(eఱ6ibgWȘ:RL%9YR1ð2տ㮣o hyV} X5?iI"ZBCCņ1eFuS ׃}D8Ęjyr"z_=7`qZOH~IА /FuG`=$cj>IW&]yfHU^0_/s I!*n4%oE$os!P '-z>oht16s 3֧!]q4iV%\qF @8^!0TQ,b%*C $#Hs>@9x;-t8s/Ru,Rf១a+ $ӖBmW^C@p3킗U`4*A#z: J!hښY^ȌiN6ftO2p ZcPv @גA;:RN*<l]`X]r.0θ{ihДR ՙIpShB?|2n>h{bσ Z n}ȟ L F#z0TB_"2l.[$jKg:]joYyoIMSU52'b.9^n~a [hH \i(xm*v̢ik !m5~"*z26KJzc2K07nko)d2QDօ ;48&·틨`GFc Gwb)Tr8a;(-4 {fiJu/3 Fe|̰u%LT{rr١h%8iŒk巼dXM|cJ&|ؖ߄d@!v-C7on6d!c64h(B+@gtR9MA2 C#X#B&  +)? B , bQ*ς2Z u:}@uԳ36/D/׈F5 j~8:hH#È4"E?omlQb>8#XWF߰GtF2 ?G +#ح^LBb҇uؕucHvtDR\yX-eVAr4%EsUя_½WupL~>c≮Y[r +;OnwdEvk:vMh\yKHV==gF͑׾`-iP$|3de6hWӂ. @,W5UݾC +knP6p\cns4eì]A G^I`5&j5V8 ^ f +~9E3+UB@MSx'G;kQ Ux|Jv&" L8z̡ѐCvJ- hԀI#2YLao2TÓ%wRzbfH;e)3QC((0ލakhEDBr^b;!~EL3Wo,wC'eXv8]:97)חs6:bpb8i6WPDtXњl9P]$j)+Zy_t7C*18Na[0~)'M:N9#;,&Nu0&5к1Hb0YE*TE!xTBL {E&d~| +LiTIUz=֓q8Z[/v~i=7ܰ.ߟkfw^eMF}fWj|g2SݗRk%5q2r?dK G}^&##mldr$y{ܖ}euKd4Zd/X^K T mI :2Y(r'olH&z l{#wm?bB̄oQ{Ͻ`֌όp_djKmvΤq`K`DBA&< VD#`q 1{lN4?[qCyY#!7PHU΃P[: JnQP{7l >ȀlHж<=wc6xf`Ϋ<˪w[Ɍ=@zsܒjpPacA$wڏ+P"B΂DrDCaKQ-39 ++OX/ +etnasB"l#Kg2{NqK&EQkjbGrMh^E#yh& +?`$P,#J[LΛao?[IsIf  J/d!jZU!cfAЋƧp /LifphXkͷطu=̿s46qL3ՑLnX%^'=[ui֐RZX4`)o zSxñͲH ;ܚ:cQXOW0`% `- + !d̗ != +2JӫT~Z=D(wC>є6W?/`gɔw*B|@ߡQan!X=j1Ge :t{>1{~CC"'5$%qH@EO/1<6M%t.{ p7ꒉkidL1ʽDVa!]\y}hU;Xmâq64;gNNOOOA)YDPuv`]sCƍjv{LDd"Xos +缨K' +`dRFH5`N@Qٰ7P6 j@Z _`.éF21mˉi!/f8™ b=Ni[8WniOHUETvj8I6 j[_|bi+.pW@K.EmGiBE\ieb[YzM3+ܠ_V2$3NC{P,`/iL6L>JDdڊa)F9ֺT&Nɴ^C; c:d |CRA!={h G5nM^/;i\ S:nm8Ԁ|lk.ϼ']; +) &2,J5 9$&0 Sn0QNXV৤,(M+ۮ<l:˞eOYYV9ϒWZp˂A#T枲Rs ]kb<%D0e%Fueh;{\oy#/2k,K0y\GCd5|1:FU4cLI`5;.1JA ЎK>%O9pjG)#Gy?G5:r4<O[cϾ5g2(3:eCΒ>u#2]¦VZ[ܴ<ه=9;t<$3S#6\qPӧKH#YK_%O'(ڢEEB3_k޻d7GpD4Ůvt H.rզV !;kfIPo%ؓc.-蟳,,x^2 ]L^]d&r}Y^{à+fX}u>Rd׆+)Z57sY*Kk+ ,~Liy|TZ|y(p2GAk\r:+?y]Hk7>Lg6idWT{TW3ܲM5&,EHl$'[䙓8FH&dckd2?5/Xr`:tNI> h `}\?U?Z4RD:&#케x\{Xkil??!ʾw1p4XU9) ĉ_:}$i"Ƶ2U?v$Y}Dۇ$JTRXxkCCu0;w +-l-e,9YDV^YM9I'a-wtֽ2g&9U5- 9sFFa7mYƿɳo9hadMUe_a!+g/2񊮩2 5%rcHdʂ sj+Iӷ)ƺ7lBm-o֧̯Ϸ +1qߦ UGjT^~8=aĒ:( T"Jqqw*q1O5ȺXh2_jwZ$5 /sp3Ԓ>dꔄUit9m *yMh"u׳9fVFo|傠8nDGkMԍ)ÆPeL?2vpʿ/%8X*o\gp-9V$$iI"< 0H&)HE='T OރfPi4M!2\E Wmahw륣 :?dS|bH*l:_X樓YGhh;(+̗gƣ*8>MhXR +½ +kzMS5IPܭ.?bT#v^ !%)a2=D7DBZw.&γ;ZKl~D<+1"&p_͟OQ"/G{ae`6Ӣj5 r5g[A}e]bc#D(/,-b޹;c Ok[A]xTqך3Z!&7p[e}̢'3\oM:z 589 ${o7a$Ӟ*>BuT*u+yq[Pa}(L vlaP%xj, PD ^jB<ɿ0Z5>}Ez&scD d@cz'tOE4;"ږamٚ0ɲpِrӻIO1WFHmoM Ei5 3w+*)PF^b{įw'[~4>&=h^JhW-~/{aߘ!FJ[yP6Tt\*ЪAJLv2>Iq`>|K9dSC֫7kV(.iphbH7sX,v$kKP`a?N~'26v_%Z'=A6]׬tVIeuQdfѐ~Y=,~DƀR:X*窩὚>W~$8{ js[<2"hU4+DoDDհ2?2&W{LGg*?5BuQ/a #iWş[|81& +$RT4 4id=[)2XKifPQRj?Ѹ_jNzz:tGLc+rڻI":֊%bʗ4TQYFH8_>rbm q~EV +|C.xYFMzstq^|aLnQ7J u`tL3! V7PP oP\V;0 WCdԁ7֚3';X̶}ngDlytm#R'T= Vd0_><<1LV+NEM\NoO Ftx.gHn!7 hJ~D/yqИcvNNckC'̰] cE8nMd#/ju%WA1x AxU8Suș{TIħo9?!,Aֻf&6]*i1c<;` 'vb͓=.l?ērxr?.UŹ/np'#hیsr_i* +\F֮s0OpIŋaLޟY|FFA^MwdN3&`#o_ a/}ciGLn,BnP75qzzTX%1hE8﫨^-L⦚e`QEek.&j3Sv8F>)KI?5;&C;M>R޲DV̼')-+b9eZqfn1EqMݹU I TPHJ[M&hRn!u%~p~LJA'fZG¹g`>:[uY4p( +>z `@YIx+o dP".(=QQs Z)b˩hTT⭱&i9 +J'A,p !=kk=C.+BPW*ք\Q{L]!mW)`|ښ600)JG RM8w4tl$ZnӨ(=J]v8j/a) 0tiM巰$p ^I/8/.gR8,+x&{L`{{[MJ I*!?۔V4JpX-DXVaJ;%Mbj 5'e>^Ϊ}n6K#pGg1TCeHj}dp|cy>8G!ɉ#6Qq +WL9N@A\f6{l +}e8VYmא:tø<-v6\D$R]J*Q*IWգu1";#Gy:` FBcqXi8{8.eKjWяvCpk@ _ki$ԝrV>C Xh'LrҩV@Kd[_RBLG}x-[+B9&o"xZsܫIc <_ }am]e~8󨱋= Ni 䮥_~ glj_܌'E7⟻D(YR<ByxṌxW/@}-Ʀj%\MmFް}C{ۤ`Gny=/^8%ѥ.grBj~Nly4_VϮͺ "F M|K-M2{|ddEsoJ[KozdkoVX}q\ F{"ߗ@yAq܀os^YVTCfbl'LQ:6+MAV(Sj?&JlyO!gyG+Py^HΛ 'Wv[s ۜ+`$ٓ5%2SuNQ]0vi JOv+IisѺNzubIaAxCS +/TsxO^+6rATUofw QM{Yk*u*O 3-]f)^$ɵؗh ٰ&?*N: Y%r:X:YGgot{ 6ٔT6(KJ%;;ՔSb֝']du* cls>dG|<4%Toq˹zUt)Eu մMk^nu]aٹĤ|$V[sgEEꍸ^*{ (;V5JbԱC;F)26MAM%1?Ve 'heD=nSFe8Ğ%vK!],-HԸ&0]nC;lk0-F2f Gm]!xתRxZu)G&BlA,B yvވ +ʕ3!]˸=|O1r"wAzxzZf3rO8F>xSZJZ)v85+j;5b|uԁx(Q0X ȭ#%/yɻ$jGZtqEZEU?~"kq5^@%zhxg 4t M GM[,'Mؿ݅i#(EnJNWR>= 9@5L w\$$nNf C^vCiC>C;L>Y4,0##6& y9Rn|ύXL?"D9l,$e?A Ĩ@ij#-UGP}mf2 EYpi)g!A*9N "r[f!J~Æ߫|4~iZ9__++vga|x_̫2;mlnY72dKf~/BB 9D {G_H#T`@Yhec̔ׯ>uUM齎ke 0r[n㜕*SYɲ$i[mt%#Jc)`ܐNn*KWnF1PK3~t^2ٽHjx67)2CZ;> @ϸHv] ]c]!OSh{En9+sj-UOԮT-֞\6[B/r@34 LšvY:5n6KTXa/H·*qbXq) J\Mԑczi8-Dw1G),o‚67?N 0iE%`ʏYlڂT +4ܟсi(_J ~v&J%aR*&= ϲ°|-?U:jH!209Z^I,6ȟfw! eYf6Iܴt&9ߏB*Fp!ᲆ/|Bc\EV[PI,F~r'-70!-װ7 /s?wvir, S9.rXeO{~%~\5e$YPKP!mG#j59t ]LWGN;TS'f9|"h?q/2NH]53\nMS*Zj!8 T-@ 0Bx/o'/;$ ѯr~*ѪU9rV98P'j '~* ؿ+$+ kd>s}Vߤmzu~ySkX o[~k6~g û,L,׀L/vDî$^Ĺl gYqQv z9 hew'+cAնp6C\ڭy?].E.@_!ۄ27qDH<\۰vH!~>=Cj.aU$<ţF<'_ИX۞dz=qz]=vRWd88n}nŠ2J|R[KTTfT *m% +r… +~rN;$<|/IK4eɗM;yody>)ʂ%6K2^B+)Eql_{{Y#d,Ue;5!~EXI?P0-L P|и~I?u =n1q&(SuZ ~ZSh}TX( ;%ʾWxi'j )xB:+"R?B;KA3xlj[^vu~p9 +-놑k%kٛl{:ceDb<#DNL |s7V-O +d+t,ѩZ_hx;'֘$8"ۼNoT]+OfE?WS/ȄQl.9vedLS!Hc&_ 9HS"$kvi~Fbx#gW5*_7rqgU=Y[ye\nka|1p-&]ԠBU|#&Qڷz:![*dMK'za۔05A 0Op) yIaդ?"IC>kJkDZ~;\]=?)ݧ+`gw|&) kH$ y{ =O'8D+YnehW=sJ @ MXBJ t{@?LHPoBi&+ӈu ru.L +ǵ=޼Pr4sAdJK25?M7ɥMh?% ;WP,_H3eix7zPTM@t:O{=͌1 c:xtÉ{2V g?߳ ;D[ILZGpS**YBڧag#ofвt ziۢFgz?2EcWM!\'2* 3(?R5Uz{UZ=\4*ɛO|{ jhJr5"q~F:aj@ZPX*%\ j}_Ar$$$>^^}:-XZ.:u+uookt&&5&#b ++BlR*m v.FهI5]b*ߩ7rmz~:@n'[ruֲ7~#%.QaQyM:dHz?LDY:8Q㨺$30P&vhs sLCQG01 % h+ 1[">]Qw,E*E!s}?FXnt,5s,b/bUh9״kiy_Gduh]"/]^(zh8Lhd}Dn~LBiuq z"NA>:bJ2^6\7wݗY]AhLѲ)[fg|̧\"y-%m;#x%~>G"-~z)}U3W"kkjb|9uEb8٬ ~XyF +&80,5_3@039)e{¶2jWO)SӛDS\}SVIx1ݨVt.Q΋ Bߚ̠% Jk/6;cwXd+rFa: &#OK+NJ!䄪ltiZ[ *H1G-5|4dw/fSԴ79-EU-u_/*ӥCq"C30QxLG:hiynq1AeZHfZBW*){r/qxϞ?(UM ,NЍq57~굂5vlPWZ!¦pAWxsx黌o',5Ql+b`Ŀ]ky%dp".t؁-8Ii>rĠ[0 +3MUahnF +˱90 +e[)<Ǿ/.*a/j (P;A +Y)̩膾?qիJ+dCc$"1l!H0E2LTVAтRSQP;p@ ۍ'`H[V}燓rJ-$ʝŦXU=P>m;Ƣj`$ }E^h~L>݄.   9jL|ŕ~{{)$q˧i 4䂖)Sh`"-IW@8uw=G_`2Yx; ~\`50 v. ++;Ä2*ǨR7`T-3*Q +TE 53l/bxh +s2/XK3ok\C=Sqfd5Śjm_WJQmebm(ގ~ [#+߷f֠ot<zA/:A̺kt<\c;%,* +`۳ºavwqt!+Fm3K!``xsjcӰ"M㦢S6n<5Nr^(7D.i4'8v^=Cb!4vݿܽ/umU]!J⩳W^)dǍG'ʢ5o_&)5ǧeeSQs*sU/m%t&GMږ! +*s jR]f/:e)t[w^Y}Nol= u6C٦Ŷ_ZmsC־VG 7Zepnzvv .ѱlyT}6]kK(*yj魷J֚֔[e_%FZ(}_'Sw=Wqvo߱Z+l&.9bvHR/̹Jgd8j 6jƗTHWbgk1oQ +.S`nu񛙫Y\n fz1)lY2\2J&rKȩ_Hذ2~Y} =^YDfaI85GuFA5=ihoeM-eqJ@QLWz?rZ,M\g kȿ֧ڎhUdam'yx<,H,M➢` uD`./+m"t\ZӮMO}AX]w1G? 0 KQe}NtZ䑗1A@ƀcfNCAk5Bj7= Q@7(џ { #Ec鍴 j-9/@e 8Mx@? +~o%sI9TFg kCR!lekr lJ"i6z8q؃قg3~"W(rqwSX#Y,<.+G~$iG^ꉶ! [_홼S*WjB#8>p+zX*`_p:,+\yӰ)8Ijom7;#"?҈z~7աn*l:=ŴsUT́(iЎBG#^CMF7,^ /l{p/JO#zMD/#M^#2Cp8qӡMD֬W6 XDoċ?s_ 8$ݤ(\p^N Vp{vkw/׉0ӆ<'Un[LF~Wؽ+VT'T>-uч%MBI!3]=ճ|>C.u3"#xtYL[ʟ֟ce摈,`0 +%{A*Z >d+ V ]gN 7g8㈜滵!tr I7j1oWcm{SֳbBWI}W Z-jfhxWUz%ؚKT/ӺhS}& R ĠDgaUF(""{$d! T(EE[@ZS֪JE(q[P*t.<7HWFQMow ؇w_ImEL +_OpX~,s5dK̜>aRpj$O,E[L5~R侵_)^*걭ۭ=DÒI bzBP9SbfSde󀑨bJaoXKH5'! la:jnl5HeWZ|JפߒNHN%L$gxga6,CvV=a#B5*rG$}'m[RISZ$Ha+1Vϔy8C;)f8\|EҾѠzQ~:mVntj{*LޓnXY:Ho`e{qTwW<Qal2 +: Di( =F/BBQsF(+n7n:*Y>' jf=.?0Fn>Wu-zUl~nm y񹋜l z/K|U%&Qiφc",S>ܕKYBVg栟 -h4C\,EZP ~]H.kd`_~"݁^SLTƣ *K<X_!/5rl.ѮhHn?BBG>zSh7觬1,"Thzr\׼xDsDue:3Ys0# +|{>d G`-Q, 5pZvz$|BKPfG<_XCN;pj?e|ǂYQ.78ZCR%S`/3YU&}H[0O{ R\@$%dbV+t cAga8*j;!YG6!,:Alx;>i|!<|o#>p +̐+  !?Q !Ot}HCCAUo?ԁ~l„ i&0 ;M!k9{A3LºXJPeA;0s<Մ`/2>VNCE?H& Bp͸# I2Q 船x'&bA{V0@3yq&(Q > / +س]w +D_djڿ+tgQ֦Z3'IQhMn)x7MQ1B϶ܨA!z5\^;cɯS g(bA9;f22;'RZ& rEO%s暗v7I[ض-ճJOjGt{`J!Q/zV;]Q-!O9T$ћ҄Uncۀ}:RSd~cЋMKG6@ r@y_C i,+Pu:2V5늏?/e&W}e,ܶϰ,=C1̫p5ül!@դQb]S%7w 6۝wl7ŗRn؊%ACܫ +­bI'&tEm+]ntF3xȍa$M95p62 'l Y>sk?RlVD[2*Oq;86l)daH?|Ãb{ O"%w_x6 "4Ƴ&4q*D礙hD(0C!B2  M<`blH` +s0oacC`!P [;0 +5A&jC)dHzw'@lMu>mkZmnCGx?'vk nwi4elYg|f"3펷VɡݯyI.n~X=D춴H坡%4IEOwMeQzֽYjLZJ\9p7」6bW;j3پG +͖4wz n?Ym '",iVGaimxtѫ֡sZ9Җv}M;C¿6]kT|o6ivr^IL.[HBɢ֤o-겜fpgv6PY홥AkPgI2XD0Qbö#-}+$aͪj&g)@SԜ@6_ژŭn_b[SyTYL;Vmw^P!;ЙJ3p5 & +Q5W:Geo-x?y;?rK@zSZtWiL+Y˧/'פ_ѤI2~%vͪ>wd iÍ 6mYB؟&+p~w{snr%qsSn7ZLO7S /S7OzZvlmU*s$ +-WEHbT^o7鑩q5@C"Η z.s/oIwY&Kj<ђɬws)M 'xUʠ%U0sP^=wɽBƻb98~gIg3 wFTVkWl(1 !͒2oVCz M4ۧ.|k+\wx߸nC& 9~r?^y + %~";S[e(~-wcbAD~?zۖ7,*я +?d1n0b(!ٜNdf_şYb ?"3Sod/q Y~M;$]a=Ϋ;ysɴ3Z &xI l |M~&2b3T_M-\Q@(@F$2 $dߙ@P@{ǹ9*`ի') +x;A~6{  +Rvv Ώ@˗+s=+E9'Y1hGaGs ,L\M31 $B:z "gįV_G(/"Jɳ Q{)T-*IAG|/0||%0E~ S0=#13 -ʠ;۪Y5C3@<- <:̌~DGu%KvFME/_+n*F.sj(uynFc,\K&dֱoޯV." @}080ebWwQ|I|@z]\`+nhWj$/SۯNLb'6b{u~V4PSF-dr:XcgMENբbq:[()s!:=[tiZgKksW!D\m䇼QXb;5x+%*e gl(甿doBɾ^ +~Qgu,%UVMTM~\I>.mǘ +RyWǹ?hFḮFr$R㦿5׸)*Klgܷ.sˆe/]'tꐊlZfdiv*L@;$L[:̽a&{({Ň ѲQK_Z` =ЪXY}U짖]!Fctb|ynk_e>ˊzgX U #':Ly hIZƤ k^im7]X9ѣDFPO/g] +x#3ϼY5>o)[sˮ|UQrR.r/%HŨ5|w'nR;mgy後b&w7OEbpPbYS~ hD]ꄄQ(eƀԊ:%OA>$\;- Tg^!@Μ 7G\Tد< +<5v4jjZ2M[yZ:ʡF!x&܏dx^z ɱuuÂR"c/,je\j^zRURy1ĽEOmdfUΎ ̒Ӹ/~ >Az ]$Xpb4- +6n|G(wHGEOj ߓ4-sZ)2346#gp ' l8hWH52Qt$9_N@ 㛴]wIyöCE흆r6JZ&숗W[sm JS9Z$p?kN ¹!<, 7WiO6j_qSڰdWЋqGw/ܽ`*нBE)/ ؞uT::n}U9VNsZtcM3ˍo)sۓj& Bl=qnA5~ic cz@6(Ziju}l&֠!xL\,n Zp]{X̝0$hp^}0IlL;Ty- WZq %"E/e$/彌HIX(8=P+=z )^SjAel$rf'~-'+BI{)X1". *Q$U_Yۅ ͺeXL!2m_ǼoPęY2qpw? +i?8*ңEr1ĿAl.Qu-BȉCКr"fnl'fjL56~ )A;E>dͿՠ#pPYD,+ANfb)+(T;kt Q!iDO5"Ŗ,{dHtM 0Rd?aj[~KHqQ7)NA>8گseXp>9۩nxK7ItbQВSsU)NkiLd?@#x3ɂ$T!vb)I~ZI73TLH6i7"Ԙ*IgT., mws_v 1X3u9\O  ]`gD ϔÔ,-WgN,N#J bW\hш x85̸o~Ȝ+ʩ%/kiX.iY^,tX^1&%y֣ײM63e &5kIhsaq};>8P _e/V+edJl~iAE3`O7ۻ<cx1,dPN.uk!>b~ &i#._s]Nz빹 2Ws!Bk@>R ݗB=IkyfQzRO٧z#}fUӤ ,ΛϨ¯+LSũp1cw_u4; 5ȧeE!_6#A}Lå ?P{ *MӦxyu&7JOECԼ~f0EL@ +*AZA6/@_gxue]>2ܭw~G>֝}Tye]ә[W̟W@NJk(o'ʨ55t";P=>eh⡠UV@>,:+$e7wܞOliM3q`h԰Hcg7Kr/kk 7n9ZKeRʢB7IVG%[grRذ<~KQ09]>ls2>4*MfNn_5j|8.h;u t~jY^3E7++­n-^[lR=RznmJ~gZ6- +dpo|AomTИ";Nf,MTt.9Uk1$=I[ KFY? bHwX(8$"(jLč| kF`7NFȱZ~cncb2^f52cU(0zb2[m'r^I%=Zy0ӤilYsIzFӆP*06"ɘbsSdCx|^4nFWBLSwxкV44:J#6"?$/` 0hU9Tm4.xQ]Dؔ(1G [lDۢs/CbOT<~;!X*LxW˒6;yw:$Q*lT^ZŘ:Wp^ڬ \׺ؼY{vF)OߘAI@rلMs Lw`T˴3b6uM"*}!7. I>@!"c[\c1}BéV\m_asTM:ϻ2-GWìy9Δnk@lQO==@h@1O@X ^^^:)uwUTu9ꪠjO-,-Czs\"e HԡmcxȆG3:H@~ZnHM1YC+T ]^ LE0 ) JՖ<=EuQA(!Dc".ߌmW gBϮZ?I -z;{j3d4f`x `אv평OU?u=;1g0Wnd>(lqP%M'N7XOJ87p"<\w +@rJw$Lns%F b~3v;#!s~|uK +}֗`L*{tg +%)Y)#o;\PD}^$-o* aڿx'2yn{C 8\<\y#Ts(ʿڨ/ޢq zhzx3̤* +Ll$%V$|qSoKYДO; Ԍ[kAdoͧ§,ꈼ^PSnZq>UE meG$!O3-??L 0{'׋o |u; 5bcLı5<:"VH$9'd\|IRG4W76{m[rM?@&Ы\7qm~\ggONlrG/ kFI)[ՍqymW+n%էèGfi^+ݛnc[N~ L_6u2 +2z܍M\Wc 0 /fȉ5фV*8I+4lhlsf`_җ/Vv&mJSbvf)XUz4g!ո<) nnKlqyJ:tMwÜvR3Bk* 36,U.g=ȜtK3,ոL#=lW`,tgg!.ͼDbԂ8B#2+U2 +2!@-DgkYT~Z6T٪qP}1ywa\G֩V3n4^F,ۖI kYr%3l>YyEn7לģ8:W' ڔ㊏LB{ܟ9vu-~Gr7c.pDZqX`:ޱ2ΌX^v^Ȣ(\,vv=ӵbn{f: +wz,Z^\@3,yBJp!zMws䞠shP&]9zNkӜLbF Xa1ܵ;_Yү?=\:&.j9 }MLpɛ0}ާ^:qxOuZ_ߔ)}~! 8J%4B(B68֦Qq[q5#A`k4X$}4>B,v9FR#}&'N߭=e`2#F,7NqnvS?}Pi('xrpTV YTul4l1D^vZ7`3ȼn>SC@;xߠ`OD'8LaKgk ܴ΃6~v"RwmmpáĄe,ah2۷=Ͷs^rE)_d,畽\`؇Jn ,]KK-C~\!-\\ rq؍k 1`SKcB.w5ާu9j1Z,DSrǟ>q hq;6vGRbIְbC +" +KVxXј8Kzu\㾣q-pcųl s[ Djita@'u#i$/.@?(Üy$'r*NU^D G CԗӚ3~|kb8>WCro*mss'{A_q2ZGR(PWE˘0~8Z5>km>0,H Ly-؃ڪ h1O5/k [|AaVήڛ$5c¯_٬AY neSk9JqAsw6UݭydqOKhk:bΪŗxOk#DJ'j2@;ަO>-` t{J +U--:oQ*y>V Bؠ9~znP@/d wY&TlPT|U>S[6,{)auM޾B~ և_S`nqLU A! `^//y#o彗A0uu_ZP(\P+ZԻ>6)_OÄ҇ "Itlҗi +0^_l,x:صBIL,ᗹ05+]ɭF3M| %zl# m#hLQ"m,2|=4{6Qe,JɑslLGֵ-~ ׉ix`g~&װS^Kǡ]}܌%t"HF^;U1]"\y%kZ@sls}֣j0oioV5@Ђe{pOV. ǒ1Mjb!TQ*J_LWn:{n| +`״Qa;:sp#j<ڲ1^.۲&:Ǒ_)ԯЕ|,qQB//ğ*8`BdBsԎ.w«BGWh>2zN|`H71";z<ѨDE1.ѐ0gS +Lۯ3g_0L{ڻ\0[_@G:iclccGjaםN26Ql@o'?^/V"O1wQ1?nF-ϕ (AT]8aj)N6h^@|8p $3DB+eqgĦAO.sIfM+Yó: [_fjHYRU D/ԥj `\irADlK &;0 ),}7K_zSz3zlucߩi^u!6BT͇XԪVU +5ڴ*j땕KSM澊5Y1WT.)́:#Q|Vv).ZUfncꃯ NK_e־rn~ Q̮yD&L2NHV5cug2/> k=WeUna$<:NK%E`rOI˒I\KDeSlUᕺnGu}eah!oj ~⸈]^XptV &#aϪ+G˄OQpҲ{䜂 F.n4pfűzU]Z-YS +$-GWf6}mp !5G]hYN||ao[65&Y(Niɝ*n4%+Rڌd#:=f%=D}6 Qć4=m +p{BN\r#-DG[x:(56R%Thࣴ3oIzJ+_;ūz;&VD{SĤnZM讙&b3xIn{-[KSn%=ȩJ֋&Vq1~שHgcwQEKun(YEQ4`IV9ag!~ܾk2ڒ Qzdcj"Il"ĉ;#Wxo;vx7P[p3ۇ[@AGU + ,p =P#L:,mƤ%!)Ԟ9ŤSDrR +}Zfp\N@x:??/MEWoJ5d))uv$2L'+rFz#q|څґNFԭӜUY1(x~# ҇_S`E )C!h5D +H@ dϗ%oDžJQX +*{*U8,gu}1 _0ۜl0LSV/ߑ4P?5&lC>J:Rdz#MƐ?6v(m'JWð);_'@?Pr287@w3~6Ga4̢Ƨ(* +[ݶwVI8hgÓꅒK߲|˰ +Ok e'reRz= XAɟ6B'& DܦT#alLA> =wƅ?u3$I%c؄0F֊y +YmκnuDfүz;Ac1h{Pr3qLS U~-DfŅm86ES ?kcJ7&u9$&xt1h p$ֿ9=šf<(vū\#ڝ;[A&C+W@R +Y2+&/OZJsQXEIr%T;.7[AWUX'ıu?+ZRѪ*bb`wEHUnEQ?yr=tyK+n$H7GI}]q +(X2f #[ͭ୬]i.yXI m% Uk*n+Ym-ne:b4I*6w3ér+)#M#]eWZ]eBfc&ȯ|Ek|\SGגWkUZTd:IyXuy|xdXO{m|[ +ݧn%e\pG;^v|_m'7MDL[+.˾,GzXIjM~f/z1ީzf`(&,߀냞QLc>2W(@5apkXJX#sPdut?leR1vHq׫]]SA{).$`iw9al0]Wm6#o$pQTO@vXV_qg:&aCئ^K~mO^@')v_p} c.l4Zr!ݼd\S?r'ᣲ*69jkH68A}kz޶E!N]Zئqi8L풤yFH˹yUJ'{Pi'-l-bk9 +D{o6\nZ9!jwݗuZ@$r} C` +:͙0vjZ2M:Y֯L/Y[it9ڋ cȕD')BQhiyQ/)I!DW@cKe5I<7bo[r¦H\kC&u6N@ ^U,uZKbD:oj!^࿥J|bRHbS[Xg +DJD?DLcP/W;{iu*P\=KYn'UCZɁn%h@ܽYhIM,Y7hze;@@V2Eąn1g +Yy)=dkυݪ5O Kuv޲ A6/?BRH\¸1-2Mmuz8^*ɱTOG%y|$uR(KЋ<i4aײ>riC $'`(u5iqոı(%;~Ke3]Y=ApBW=%vHFn!e-L>HkX9L0q<Ö~OвB?z9$}ˊlIQ/BE<~nS`eaXV+p스!h윿LT<ˢ׻hپɴ\dI˒KUt$t#=ΤfҸ#7<ӆÂV,ZؼlD p Ea<\eoI_6__3vח'>Jh)ˀ{i*G6~y53lC tm9L5A".4$'yՙqO$5 T%=A/1)/"=`eXxA녚Ǭp`N,r6N +Z!yG%S. + /hYBtx1F[# 6|Q9n<21;vWb>Z?I户UKm4@N (LbIϑtFcc12_P( +2΁*jEsp bIyqFDkAb=ʈAR8Xҭ=Нx¡:1UVu8%L1H̻%,y] [Wפ Ә:͸6^ct4bߖjğ"4#fntg[LUE70]ʙ%L*UAͱV~oŸ1‡nXp`yl(E`k%U+d)9W5UmjrEKh''9k <=#qк @`Jćb)Av"v%:R^@7H +OrfRj;k^k_/.ֽ-1+4L L9i9oZ^ h 0 mGp#*9Ub|Fj|)?cT5iR1g}&oyvxNbYF7FZ_NDl3 r+ZO.ܟ6#3ȳh=YA2n+}dճB멚767*_>G}8Tl֒bʘn|g vjP1QkNs*K//м9K,*:e9 اE:1J|+8)ө$1Wn8L DA{ 3S_(Id{Qnrm%s$$3v;RW#Bo^̒I~F M)`_+;xr4+.ўHJ5YD}JњK(:Cb_@β(, &^1fv@ZEe+z]aEH&Gy-R}s2f0Ӕw[]>͵r*xǟǸۄz.z{P/>dvJeofMRdF{=IZ)O4kj-LOXq6p CH\5s(.>אB+=pآJ(sWBH)&~א|+{Qg` + pC'7TM +-Hu8J[%ٴ(l_tV~q%\9КzH;"* ]=dwhO#kB`lѿffK۲p,Ig#=pU,xhvY*Vu'r#m/ym/Wܿc?#ܧi*-FX(xDY]~ꁄK(&gc@BυhJ64\,iI0Q+rIt&sԧĴ:{Wfiֶ$&~Z +IXQvZ;ՐX ;+~;WܒtHմ`H܊xtHV#\,쒵!ďُy~쥆e$6eVєS.S3Py0[< t\\KYuE&; խ٢&{ՉH}{t5yy;C\Hy8Xo˵lle^obn7iEWȥ)ԛzD(7 M7Ԩ7tCYї+C3q?4mmILyf)y^6s7ϙx6'-%xfᑮwt+u-H+fTL0M{>E#Fy:R2 te#ZɺO#3!q d׹ȚF:CAl=PZ?JXUX2DPGD?6S"9!孢/S?˷eT8|> +a]pX^ǀgEQMԷ\h*#4FA21Zw4%"ҬxHҒ7RiܬcRp5N5;-Q{ah_azKŨh>Ɛ0& +Ld_p0oZcdGIE`'mxAs\M"[D]s#b ٕ@Q}9\-4A} SA ^Ql+ze1~5Cxrr:=?Ce  :{4zCs|j8fR| +/?!"4ElYDF28mVI C]S(|%B̳ģ,jO>"iؼCeMvy5Gy9@)ߩ3q!1-Fyc q?63'b=$rBfV1M-6?~fR365Tqf)vX,n/hd 57d/\X4#-Nn(x +HkJOI{MXޫv/!Wme}S:qM@+?/v 8ϕ\^;K]X4o⅁,9Zxw u&i \ռI֒iR<=*ޣmK=2h0jbtw/G*wX. +uyo6fV7zk6Ld'ʌvK}z~jW/U49> cہvOT(6:9\v%Cz׸Qs>ל2@_)@*͝XrkZ¿ۼ\JdcYO6Y᥇cMދ/t6T< 7k߹n^F_~UX\oJ]޲5*Hs,͊q5X}]ru2 'V4pu-_aWx~.foɴ\Kɛpl:1{y_bk;Un஘wH:׶dXŕ#< V1Ԇ?7+[⿖c}Jv~O!{YUE!keLJs47q臜 %(ڟuru 5%M9Ѫ241~n8>yGr}23񭎖eLfqLu4o$9&;;CG!2!*ٜtjM,ߞɒ[T*jokj|WjmubJzicJЕ[A/pl>˧M8y!'*7UL9:&}+WӠM5M$n;%)1'R^_~͡:& aZeMfZз}5nlfd&]XT\kN/:"|')O$1FRKpjZJW`A 2 +Y2"\)bkg"_ 5E,C%q_-pT~9e1++VW2mco Qwj]!ܙzpgH݌$A!("ɂpw|FѦ6-]L|#WBDP u=`sUƀwM%Hz6 W2&Rd\ ALTa{PnJcX7qC<1v#qˠVu5ľ48;pn !|#&fu& Iz8YA-@PbR?h4{JF{3VM>``j'x|V9hC.₩ZWjd$F @ VB aHQ6M{'a"Vl*FU)8Ζx?y]eXo C;62a)1Ei3qBdQO-ɄkD5(DoP _'l$?dg&rjQY#&Mf>H/R\+mU>àU*LF~6ia+\!{yK&c0wO[;#`|3ST-1wпąн}-q=Z6H3UJASF:ԣ^*rX$(s-ؚJS7Rg_Qf"cǨ +MtrkTQTw0:RNE[.xl!,5SNnY.y'\"]$+%q1r{^ҵ:0ڗ6!GH.x\gͻM:L}~^8BKIJȸ9±m۸a+&EMթ 5}vH"OjhBe8d(1Bt.`9з]ijoe}G) טS>a/*VUna; ra'8݂Z-~Ѻ7"got&1KkY铈l}gįMj]ЯK(GFT-JƣQ!,HgQ#^]mP^6Q܇N]{(6Q R\,BfїH%AܱJG"5:X| #}V|-h&`9D%倗b'qe4OXN9mp%H ?'v]й@A,#}H:1ӭ җY&٩O)EKNvBR[,ABHN>G֠3p.v+"pσ9߭!z17tň~!{g9vK&\l~u+DZ-q?scDy@5b!FhYs}Cvx^znmTRTir ϥ. V9`AoKO&zh[bBE +{S~A? +hq%DG?*C^X =hꕩ(!Ӥ HyiNdE"[|˶2~=k55(Ʋ6C8˪gG'$ 0Upwv2ۋ>bq>6o٬J`U Ro%]ٰ:WqK^S\q Xn$(Z7ZXx\5w퍺foxrƵ,\vB>02dâ1/w4Оw*aeK@qq$[',3ZE0&&AB QQB0Bo/ a +<ꩇ󤨭x<9>ԂUp8{ko/ Ɉ^x8t]V9U"^uD{r ijg jjdۆҝ{w&nv.*9Uw9TLҵȌt#'l>UHiFbZ\Oo4Sn7f[g@Mðq>mO ٢vܕcybIY3c̆BCtG79lg*_?.j[N?RMvXj s'ӧUt0yoc߂1EФߤ㍴v+mJ0={Q| yCvsZxUCf{Y]/M)Džӱ5H(X$je/L#a~I݃s\K)in$ %=:JnR ɿw%NJ+Ixil݈*y"K(k"ޖG 3w#R;#vO0tiHYE -N[ MW_iO.?*ˌ~ڤ7KJPEᗪO?{M <`>vs3cP7ؚNQublbyl_`U4)Z+ܣUJUEXp6Z=; + w^6HpK ~iCiPYP +Ҏ**gD7T>AƢ2uItoq#zF-x2$& +Ď#^4s߆-jI T!xZ"+,[jadYh3A CXrAE"teamO Ϲ#4\hҝ$Z[ǡmAИxs/ѻ/4n0A?@'V8/2ه]-DFG1\,_%璇>0S= +^Pe$:ǃ>vDqR0B)XVÇP6R`+-v4Āt#+@G^X t)tC詵S}'_ XJwr!XECocv`cYd*9Vdr>aJ'I!*fWhnbWx:Tp\ٚXeMk,&9Ǔ; %zE&Q#P#)+lh Sw)W hkG9#qW-:|9?~L/&S뿖ث Eq_.v,50U W]Vgu9F)*ٞCbG(;DKp E;Q"ݣIͶK%VT!0K +<i8l^F'%P&(툏p j~??R~ NǤ4owvU$_+,6j)@HB3<2ڲ CKkTlt0 z:O<0Dm4'IOȮ"VDB&i?Y/D2W烵gp0zO:fD",PkxOc [УIPXWrGӌ[[*2(ND²WK֋$h{-'$`|:o> ahC>inTD_6*^s"oexu Gl|'3D8^WB\i8 IhFb܈i?ML׉X$Fa׭4AXmi;'Va%=gp^&y`.t vB,xx6!>F[j+[Z KD]~AKoFdH^Gv;tDn~ǀr,l^҈5/gOi:niFJ-riEHJJw +w,ED'cux -?qv>֢ωʐk +lJt.ZV/?0z~ c~ ~@Ċ@B2cB/rGnyX9A9{ Z JC^``t:.fj\\+hrl<CH\+~[IH_ Z$<(,#zӇtl\-zނ-GKv2WFkZW׺R=OzP\ruF޶5pբ^J_7wW\)?PE5ς#Lc}0늋 -J ڮ]E#VMkPHzl̎co(Ibe *+g昄'̭F^W.vg_i{h0f^.j皩5Q>+cӇgd?Wm˼MѬgr+zsK'}y}ޟޡbga}j ri;Smm5~De[҆U7+6VNڼA:꟟R\QLTۙ+C|rQ0'eadWgb)jd:,'xk皪e@^9LƷllA#U%P#A @:=A5)?#X.Ǩ=Rd$dV fB/P4?UTeGR"%ݒJ +"yB@R[%)T)ExAi}םw}<׳Y`a\A`F1$Bs3_-t{Fgpikx +\A%0twށI;Lg "xQF,wcZ`zh0h-|9 W Vm< 3̃}]@ cL 9nL˷+hr_`*:\DIQxHԋz RˁBpP@İY ɕ8c2XgT75e +:Z VI kdm Ј`1❀!_`ê #x:"`!E+ + +As0Q[`;S6,ѳS|\\<<||BB""bbRR2K)(._E \A"^g``ddbbffaAXY9889]~]@ A7EDDE%$$%eddeUTnRUUSSWи}[SSKK[[GGWWOO_SS33ss KK++kk[[;;{{w]\\]ݻ__?= + + + E1,6,,<<""2㨨蘘'Obc>MNNIIMMKKOz윜ܼ¢⒒Ҳ/***+_~7o߾miim}޾ᑑѱ>~i||bbrrjjz/_ff~_XX\\ZZ^^YY] c{{gݽ_~><<::>>99==;;?뿇0 |6pewn|"B2"r$T4dKHr: +L,T49 =F\,~a8qiQ1O^gL`ND%=HJNMOy&\"[*G&W.O!_@PHvVN^ ;/ͫ,_}ƥέ~GWOۇ-Zΰ{%' $g<SxDd5_^}mm{;ߺжرԵܽһmO3۳;?wV}_?~on<;?}vt~rqכ`Ss %-GO }DDdVU$8ɦȕ)("Z!"WsuXX9O8]>r]o0%Ԑz#*D∲J*ZFm|:izFMM#v-l,l9,;:5p&wuTA>n=4p3y0qo ab#>) _O4NjOOIOK&)'*w/߶`H8,|BmwWn'+š[,Z{ڄڳ;Ih6 ;~(D;LlLLw|ɘ%YT[]aYf>Ilk׺spH(:=?^8> ?<9 ::c9>fDYmb8ڞ&1NyIzWa0B}*_"]3 6%~8OM k2ssX뿘x5\z}jMd` rWFrX5.[L)f\EEB&$Ii۶ÎH"'\Aoo +FO$|@'∓LRqOkw">"oNҙ&z=]mv(6^ލE#%:pon +_Vyc\U.뽡Q9Tn$3{uѶ"6Tj'Zu +s綿|Uczz~Dz +D]gbÇQ p$ײrKOEA&Gd@?sdiz^C]5/[5\PO:x%J +9NĹyDGQr. .Yb cCL"gmjTd dL;< ΰo*Ѐ]o + +X3|'p~E"Gof5!y*k",W 7Ig/EL(&p.%.n@4p,ZB$.\TXt>^s{ w\(Dpr +y7G-1揃=ŋ'"=MDM GgT-gM+л E Z.sP?U>81^zAȩDI^^ ܶO KNкx/q %٩f_|;3{p-WRh +JP`,U +=}sAjؔ7Czs=n).F4D̎B^:R/sx^K\v)t~]s[yzΚ88 dR! XIYv{w98Ϫ p5nCZb/]kcr D! lxy$GQDUkux Ѓhɹݣg^W= YJ *fO;6ǜ]!0 $E~TR ܞ:M-@wQDfk7] m՞ێyoeDojf=sd/*S)^03J#kF|h;{O<'s|.x:>]:vt]j}/rq3h/t,lWPX oPQXj">Vx^spZq6Jp>B 3p.] +50VmlNJqj1{{>:ã겈/HFQFxA3n۵dudW}lJ"6)^&㋯VSKnwF@G>v%LЍG2H剆у +b.:~LTQÜxa{`CXGl.S +6InYD6ŃεCkG:/h@~Af{uI`[.LÎ w w34: z [z;s=fx9rTwA#rFAϓH4_\%̂d|Y>.nC/u"+ 3^ +pVi08(ľڷe/i "9)U1lKR̞e*o˭l_f'kON#6-9>c-{ۨan/>JÎkxqDrk6q3i3<ƌڧfOۆRzGҹ`|7.[$s%]|"kYP*PqI82ispEf? < 6g_Dl{K]Jqܥef_;`_#Iln]ܲAxV؁B냙i9 $_ hvK?pWl_oi;[k)|-Ecdp)f|U#F_,CQ3^r [UCwd`2CVl03q81*^Q5guEYK 0O{_Vk`ky/?[x> 1xQXy<)"/W!a ~ bFGn-Eeʣ(:ҎCED  Pp `JADT," *()i ɦֱ=IS=$w߽ʤ.v[C2u6ٽ^zvޚg +\NJUf 7z'WdyS9;u>{N7: :Zn2?䢮UBFX:wLH?/5w :,>s"rNmLbI$dwztk/ҭcaPdEۮ@̨aԥcV^8BGlQo5[m4+EeО3d2SJKQӡiuyW򬿇l֘΅ӢNky:fq`lH+PY^5K)v›] 6_8`^[s,qd+."d2-rS3YB>v`Ӏ:uΩm_ )*}$T"\ +M.܋γk5HbdC1H,VD)Dۘt +s9ҁlu gpY%#tҒg&t) G>Z*evlz#GC4)RyMȯXD^)3[`7|T&0MDWpY2+g_bD|Y W^iFu1!''8v%MGV}7hl" {ٟ0919[σx00m'Ӧ +l\rfЏ/ڮ>=KZ"sZEf5C+h%X)4]s: ^L0s17c󡇖U%x͚q}wȆ&6)\yGh ho"+9O]Z5Y># 3%ݧ1?ߍ®tW} n'zpFnk̗m7`>0rZ|jߤ6<q1k=vjM5'pګKXg +-6\c\IǃQ<5|WrI$h5,9:otxBQ0$ 2-{*IVV1;_.Ů~0|<2QTWk 1PȲMe!>ۑ2Z)SN'c{ԕGձ tn`/?Yk r5#zBSt]3T7bH#sv.&m|e-vWdtid|dodAϻqqAJ5:/& +Υr:}'DOd m=*LIOkx0{4<ӊq< +VjN˅#&k=%aGz!a7Qx-+|졪 ۚ];Z=;ihg<إw +ư +ՇfP'> u/ÛBya>J~\i|z +Fbmؓlz;)Fjsʲfeh! W_3;-Za~/l4e(ۏYw3P(ᑾ' +HQar-Q_ hf(2j,̑$]S7*#højx_}ͱc3m:V.6r0]9I$NTevƒ0I^CxG5uљ!*$!0VX@YD4JY! F6QpQ( +:n`E *o:G0mukcϙ?8/5-\ y0W|.wost8@Cٞzk@i9Cm͜Yo1YƲ҃=}%C]M Y,89φB暕b LDP%I"fW2q|A2F̱8_78ŮlQOo;65#61 ?*;6ȋ7t2 ;"jqR\ w+>X3$L]%I=e)%CfBNLtK ȑIag<Ȃ>=>)^HaOݜ³Az8^XȰvHEZg./Bf $MqWh))ː ,k&;#:<~}\{a!+!޼ޑ8}<ͺ%7I[!&tGJ8P`tlrě`lk~x7Ns{n:‰XKǃUNa& +/6Bj Ck0z O Uitѯpokn|7as*%bOHбsMr1 ǃ8~#@.pĔ7c*Տt<5BbS0l>8nDIWm0y:В8 th +ZfTg iErT~bxM}^Ȳ'w񜢴E9C%Ov$^K)U˰%&Y(Ej.Y]!YDn{բ F`ja!*UI"6O~ +䆒ă`))36>n֞^0cfm-Da; +)E> ?K^u~z9t]laW3G=䋼|̦xH ~)V*72̇҉-;MVP+/;̐ƒUgē| Vl6y4l| +UJG63 tUW`"gΫ; +ɧZO߯g_ + 290¶&u06c΍l}b*l2wCVyȠ/Eli20G^u !Df~I"To0H]恇=?CrX$dN&e#DfW/+BG?ֳi6|':խ#g(b+SX9MW_ftxѸO*"`ī%|@`#FyR!s%Eֽ@*ϷG Qy\Kin6Nl#>e^LuW1ޓu;Fh[gME6i7B^ݷ_(՗d +Qƪ(L0h''kWgetTZF;e?:™3n'+z,<,Ѓ;#k.CY}!|"&ea'=G^,aSZ(c='ėGI$ *xjDiNn|yb90km7p)Q蔉z#b?n[Xx['%.L]L&7ځ{Zx8Ѻ1 ]wl}`񤾖F`1V8/vFG:hNCg_x"k<Z+KKn?Y/ykVL9}M",&õ%vkὼv8+{s[>!lvGkp<$/.T\,.|TulT閼i`CVYtFĔ)0w&:|>dVK9H~1+GN]nMfBY]3A:xR'ǽZ>c;d=c=[9r?k0ǐG>@ e鹩8PN3bⷑ9yHYvs?Y\|}h9҂|zpOq*B[ [q3oOL@PGJe*dwnQFGxe>ńGL#/ouq0=l:'+3D1V3iaOgOjkWǫ[Uw;6" +dӒBc]QQiT&1v5q(Ô7 EJP@ QDFXJ@AAdDzytFp( t$A˾uc׳{'9g7}߽mj)auS ʵPynGv6ԞMKίɅHR8` +]W U#u=Q[Wf_)-6y` +8 ұ [?%\4Y&6JlhƤ(2H@>k;v_K2CKV ۀ'y>@}FxqVwjѷзeu1 nlvj=b[Q׺Ri9SnI[]EK8puIO TĆYOxCeY#uI#(aΚ%\ ?9GFw^ 6gOz5asR:z(qk(EU88bPnf:5UX O+>&*@a"/bXLL +_Ex;_+oe3J3,|E{\μUz ĨndX%KqCYd9k=F.K@'. |Y#-SiOrLS XA:<䣉WӀXcx`u[ ;?U\gZߡ!ߨg`nzˢA4>gc~XI gT +Yp/O$[^'[^escxWm3ҚB&K#.otmK+pU=}qCe [\%XuyL$U'tsMN +W_@KniE.rHˀW9׳ZHqDTgBb,͜oxuv;jz8g=m ={u.tFP[X? +wq<;cn+/٢wI7>k2k{ y.6257nTiqPyJ ~M8/ +6dQSkQT<-Q̰/5 _ b;Y|~ZoY6Kp˥{S+xLkh)2LB:MV3AE>7ܪړt[juW7 I޵C޷=6b5 +Q$6> "eAk0Of/?},;#m <||ޥ9\~:r)uB@0] 廱oCG#ωί|RݵN_"wLeb֤_|"Е͡Fzq;lR=g/kpHw6mhuhZ?)%KsTo%}ҩL&N1آb9*#C膐m/Njws|sOˣn/L1Lqw?r*".pZg}{#Uf?]< -F_:=<htOYGGԁKP*ų8M|/:,2b|8wۅgWA ;\{{k{U_$Ŝdҝ 8-ۚfʂT;Gʤ;a|440[ +v FS'.K~[nr$9ɷ𔀛o[~pƙS>K"YschFA" a؈4a)RYDDQ:X` m( +Ы<Gy6uƓ}Nr6s0{WOIϾ'h&MHjEBvE$IR/Jatr4zmjXGH" 70$gsW 쎳v +07򎕎РOF9 .P§&ʣv*u"TΫI; 1G<[ItLⵌW`/-aZɳϪߗw@xa'ƑO`ys=>Y +Am5BZ?d:4M\SUuXIWoy~ z,a?{fE ֻPQo, +3P׳6٣ky d?qCfmY}o+B[5KNG)ȨQtL|W4:pͷ\>Zz{haEˎLJp#VN^%hujA_Ś hWp>l.#LMJXo|sb'Hrt[`r /o" ;jV7߅Z?|R#l 618 +"ex֞AMR dHzrebE4>%i%poYAܔG=U`fկ]&'vT:)z/E ΑVvb O"Z>Y!!ʓ}>&~8Lj؄Yc )Ďߔ )~vo]x vMG3(ieAt85M>畘2wQ?e"{[ (T X[G` +uץdRXA@9&P/THϙKRv󎳧I2z"KZ,'hӼiz pgf$p;axgW׻Rv/7Q.Qx74XoK"I&Cx0I6Ff930%Ƨb$_0K6UJPB5Si,c+߅cFp.4ؘ.@hg"DD$R:(![{'--~AaYcKYG,߶PGa,x_$s<{ Ev9p5D#ZFmiΎOPˀYݹ3$Q$NM/ei؉hc[$,ĭֵ&۷`aa d"qd_)S G/2F鞉E +ۼ% )`ZE+|rQw9S(Y0Jt̔(;eLGPNY9؂(}"!9nO.A6 +9}P 6185 QPkfA(i/깻{)lrg{|mzꍂR6YSXaSJamŚIL&dZ6M@d=U=xyЉU0LӤ1z̫_\遴cƻ[l;,A-3D*WCF>WI/Lns +V(d-ٸ%;#&Ii?Af ҋ =ieՈujCo^S=g'}w'PԨg:FF~sBsRtImtL%8@ݯ*9ԓ'{n5 b ;$f ۺH| Mu '&xYcD +{NC +3+cnӽ<1_ԏZTܨS̈84}0˺hq7Gg"Μ||6y5({Vrdz0_ :-݌dWE" ۋĴBs ƒG:}x>\"pKpP4Xν$?SO{h~vmv.AhMaYua7iVB?nV=H\5+^> "DSOwrUZ2wٿCj_%;t/g  2S&\Ѓ6zk9mSVyI Ozzyk!=_~0U6TcU t|+Lɲv#:r%`b HzcرYyW?x; K|{2@/ pLLV\ǚ( Q+O\zHtv,;g#33 rao 8/vzF:h-N?IjVr=UwCͺss>?ykl9jQpmnG]41!/{-xz ҧ}5.zCr"T\!. +|аujS-yX@G^ Us# %`)@wn\ظ١l$ߠ,ewZE0l5-q䘻}۴7QEp -s~?yxt2g97\^c^;S4E$O}B?!UK'%ŗzO)d=xriA>t`nu|=x! Aj-VTLRQP7C!Cxfxm/Dy{/L qC^]d(.K+/foFbW1WN '0<7bN~ݘGl| +Pr=g[  ^R{JҒP{ A{:j됆M9,_քlXRK3Ҹacyu3\١@?p<=sa[EǾᜩ'HDgןs͓ZJ.Ps kTc z8Uk=g^7pG^C,)x(xsY,5pY";-$ޭ!9עϖ,fEa}t5iJ9sW1sQ>9Y-aTקcϞ|K;u迢VQQafkx}PYu"y%/#| yDm׿a +eOSu ٔ;Pm yo1քG|4fXK0_jNwD&'lHŧC+-FQT> +|gǢfKcM;JܮR<ռ҉ųs ._!-;>-]; +pFmnց7%:>U\xk{j,CD +)3 %A@D@Alp!Aa0C"" uzz!{gs/3Z +pY1tZ'5Gc;!=^@i!jٛ+'^> e-\K'Z/l&T?ūnzut,uJc?!ҋfL)eY6z˩ -Zg-hO[4B/F^@PXO0~^7@G,xQ vhKpaB3%l@vњ"SȠ +r7[KMZ26t54@ۿrjK-bUe$Q+1|V+ڨ58FMa_HK0| ۨmGt-ciwfd; clcOw>#9ͺ7=:,)^Ć%0Sڕ 2J*pGg" "䚇XwwYW:'x{شڴv/]; 6~ܵyN 71QBRw␼mce9A(RYj c1/bm4r/D;W,cz +z1Wj:rlܺsMon S5tsSdzS2-HeM/2si<|vӱ1[Vݜ9M6G&-3爹1'U kCY5AgWyp,f o}J;qo>Q2:OvJ.g*JIU2z!y,=9V;~ #?C>F^G.LFf d~Ȃ'_ C;n9cO,sY:v+SJ_X";"C&;хe/7 hS,7w;C؛9@ׂD\% (h봗fa:'V9A.4.߫oS<>aQ>s8-rG8byNNBOONp7 IccGI3{"쑓nQbrM{G#j#3zyc83Q2]usfvGS>}o>Up%.qIҔjnI~ǑrRaA3cQ?Ac߇sG@K#>V>VQwpqtr|սuefN1qF, J?~{b6^Dm2S1D_i4P7oֽ%LB6R*rz$U\)[Aon?0˅_eܹ{LVC. Ϻ 53gq^c{t5lXgHo T = HwkТ[ÒᵒZЁ%КĜ#v%)46R]u'79ÔPidC9IvkMyt)^g$z,'{}ơ0ZLEN޳OH'GQ_ xF5uљiףPDBB6! P,B8 (( " v%%,CA@3ZGs_Nx}w{uw:.4􀿖1ہZf[v}\Ȳ}H؊>4*(m|:'_c6k;:YC]7t¼Ѻ&jѼw]?&bIXWd|1s?ed)j7l8Y!;v~!s9,W1$W 4t{֌4NjxːF93l gW +pOU+ < w1* :m:j<`cY7ܭ*2;Wf/Tk\)]WS&@r5FaG>,_- _S!x&dK$di+hν v^s u(4-hT[}1L4eAqM>x^S A| /#Q3^~>z€cP) < [Dz=w]sXY<{ "6$ +k[U0vr/¨7k;?#^4s@Z=-#ƎRR|{}%#I%9xlSi9*DĘ j49V?_r@>MpP}4]ܔ@[\a.dL('$Oq=Ƅpq<Օ=kݦ+WrskR-^A7S+F^r{3Y*1+UH!8j \0Φ`\_zAk} ؗ34rA4mřb0]IPhw㙺4*7;kVlijCAϔSl!OtO%l1 }jdy/0mG$4Gq uF)aPf_R +>J1q$;ib^ǺH̘$Q8ǰĄ"<³]Hp2@ߪ55{QoW 9+[;g0S[^*PV`ҮVXX6:e'OgsGr؉#1LH`fŜ9Lɢub>/t]P0ߣkHǞ~uX"Sfwx`Z?cX4+nGRб;n0{ 6ɷ_N=&iCT̓ +{[\J S5sӢ4UQm[gY>Gw.0o×ipC/spZ +4plml\9fy؏L?CrJ#n Yoc$SI zWz jH@I˛+w*jv[YELݷJ8RVɈ`6ZwUlzQ +} ^{_Pmq<3̕A_9\Y6Y۠C+0অۅDx> ۩pԭ$3G߄WiPTgU@̸0M޻iz屉AP@e[D- 4;"aQvF4)R!( +.Ih-1sz(jj~Pz;s1!p +7xr|( @VObq>K-:u K4ԣkh9YOś69R{nDaeJз!bhH4%il3mo+u/+{f?COtuNSXK~9ed[e>N,Ib ǚ7ʹ{0Vا8;}\1(@Z12F.u{P#}9-G <fYtB>E\̒Br$UХP[8m_"1]J:PL`s=}mUx}+<]%gƳag{Ӭ)0eŋOߍLf:խghyKcNFcRdC9{[K-v-ie17]<^$d-N +1VV-~V*BXSuo$Qw*tV>nSkƨ$ّ>"{M&#W?-sXDQhOC6 +z +y:%[Hc4@c74jqDUsiJqm৑'KWywF8 #c|1994-h=&Z_][I]X'rOƛU'g/mad"O EUWÍ$|8Rq:>/8 oU$ &ny>TA4QR[ +v` +xVq#pDdKHA21+_Z7y[AYdv5ZBk[f89ClCCl9[51(ww܄s  x&%,"_R +ez̀QSizת"W`y%@<z ZPOEyߦ-Ö%=ѫ_ +=(B%; J2THgnQf&IU Xᓫ\Lx{Qe6&?Xyݗu$uS&8Ĵ:M55e E5c~;"p +vP7%Ҟ"0j/)*L>4,/NFGhījhN{A_Kߔ +lr܇Ub/Pc[j̟x_pp!I& O9ăl\+{iI1+]_o.@ju0^aJd^7?<_ +*yuxѶo&2Kˊgc.%*|t"<[]H7mP h@JS5vV ּkVbr?+Wo~<6}in)YR:9ց׀ %)O3aZRP9DcvaFY"CJ~}>Ɇ̘sv^Ik77R~:|Baڳ^LihYiYh 4U{u 0]CP. |Ծ7uG8?6d78Um<⃓Bo8Ts9u!YkOuuk^O/["}Y|n=?47 di%\sXc~E +}D\C[Cbr9=?,)-# nk[ )3JADMJ{"V^~.ufji] 2yPeiׁAY{'<{sU5k/6}iۑݠp2rRNr|%X^avyjv=W ?hzNWJ1g($QJĥd#͙=ogp+tr +Ζxsm ӖHVZw#Q `s SlHs4\FVimho7fFzj]E%[טg#_^59r~Sn#ON[׎g#q?gXF6oS:Awt~a8Vl KPDQ$uo Tr|Dur?Бj-ɓU[Xf:7UEZGkU'*{*~*A~ .>*1E5iܽ\$.Ad)!IHjLƛ ۨ.=uxIʝr9F7HL)<JYOm2` mF "V?;fhS9\0S/ +C5>W{^eByDzټI!Ɂ'Ct{~}Qzy1DY 6&bE!zD$#.!YϷq᫝ykfO9Xz{ ưhTy0C^C6xYKȲ88x_HF\n&{0MH,);s<ԇ>l9?JS`ǥx\$'rHyi\7$m1 OOy u}ѧt{#m1(֙ZpqCjnUQӝ׶RX9wS#0 u"4Y>/:Ļ#": vr#+SF+)ZI6RҎWVZqC,7+6ZrBfyizj_\zKG}O֪&qsE7i:.~VP) +տ;= :/i3s@ꍾV/5i^8t!8ќ$D.܊>֛lz:lFk6DԔ[9D +r! cЁ\Î {;tч]{ +:6rۘyC\mThSJ35"rpAV  +D@@M (BDѰOx +TeZB2>k;Lƿ:L 9/.(Çԭӝj<1FE2t +?l^xJK4mve8恩> OSw湃oVMFc_:Rp00ELJ _}bKޢm̭ͷ?`57/>Zi{q$NKiX|Fb)(^YKߪQS_{5fP jLؕjT,5F9FݮI i61򥇩>iob3:8n5hR3w_IL]U`sqɈ1;ɞ%๢cbZ<Ŵxu=dJs`4H,SO FqQ.b3t{|unH` 9a 0sAU-ͮ9j0"vnMl'vu\"(='iwX +waV,FʱpK[uށ8AY0X/bvob,7<~j>q.a`=ꣃU@tvqϤ9]ߩkܦFylOb˱hNÊJ*Ivx/چ(O0*l^d"u&s*s1]ւSzAfщyihyi=#9j.u#- >pG|k$}+3~F &&;~`"n=+ŝvsڛZfPu9}Gv&N{u_4''}0LS nd+TmB8G>X R_`GJ +%R<!edaRjAn^) (S +~eHAsZeN-%pI%؅h*ByB.SnP؃ءllSBV^x ^r_ʧ5ƯYb#-ܛW| ?,1jOΘViбوY؍(ӻ '2ҁH|j}\ =OpL@TFKe8#q$RgM}d%vDbxB} +BQ+R2=JY(c?>5 r.E_gݹgEۓ;R7ppޡl0xs8OuGf<DB-r~ D:ަrܙxa:-2/겁s9Qs&~zaRyY_=T@ec<EUgA.DJ{Ep8<=L +2݁r>O~%k^H}HI7ZmI,'Y {g\4ù +^16o>ۧIG5exYsI&G$ OϤXK"_ {`:g:W{)L5oͬ[Qý#TgA֚ʭ}X{) pV/Zߑ)shvM^W^`$ +6^WWU&ȺL5g2](օ>"gR5 +|o2Ug(!Zos5|[5~,RBߨFF iXŁVUj!drI"eɷ7vכabL]zhŌNh+5A4 -P;z B!6hŝxINd,fQz1ҐQ*/`UcyP@&gQE9Zj!R%mڰBGNcmc+'7Ѧ;lӋo]Yi`l}Rz:{LE2e 4泄 |YWƒoq/&Lb1]`KBZI;+l'V^ZDlvZxYCv4ĝUZ#SGtF9:~ 4F  ^Ssd#e,]>bwZL.3tЇGTRUqJ\^qێms?f/wN~{x3$/|>6??ӥ½>,z@+zpRd:ĈB9&i{ؔ>ooyzPx5tCc!t1BV,FF)%šPV^R^ݐ7r +b!ܸ]od-D!פd4NV'i[VRKkˠQjQ>3ZH2ѷO ;8~~e`Q~p$ʱ@M' $ճh޹ef"9me%V`7,-Y̾!df e)\Bn2|;= ZQt +=?vJfKC/o5riʫ66>L*$ɱX!A2UPd$> s~O[8ovrR3L/ vYBcbm7²cSg`bۊC:د<`c*n}oPT]mv}K+g;*y˺kU9 k>¬|XBQ<gp[gKX{ݻ=;U0cHoHoR!SGķAMpDQ.7('LE<5p';]vFEox(F-͡*ˎ@MNU/z1 [ꃻbgoHkol_A +|%4I@Zo(IJ' 6'W0?Ij`$uh}7HҼfb~~pTWm?~=0:'_fx/A~tLb+L kg1p: os|ӏsNn +ivÈ>r Bq!X\|6.Ī</q\J0$K(9@ P_Oֲ^-*Ȁ`ۧbrgzNs MҼ.ٶl6Al"(x/c Qd|11&l +wZ{abޤ +CF)Ҝ9윂0X&a>SΖH+AYذX7 ?UM徆oqnbv_:޻zg{y$juإ?,\7K'hu?R +uܮkjP/㦤[eg{g?-w+u:/:#|%a-Ď:}Wp5#dY_?@jҌfbxw]#$o~X:2qe*;*QM.{V @^u~-cdAt[\/Yw /k WKj$J^YcL)G7-m@u~Sꊻ#:S*7\ > \kӵa2> ?k_j`viUlXcReqnxL6f>-gd/c> +4ꭺl>3aP'/O!EgCyžE1"eAqMf׭;()ǰ3Rltb\F/!v.O͓. LSJ/ ӕ=J{ЍQArc~h)dü^[!t7u) ^b[V'H3 b9,cv +P|;H̢?C$9O'5w-v͑]ݚ!yy4^֙@p =ɓVҿA +& a89$QO8u7 [DIrd|k!Bi7v5\m|7-ȿ=LacޠJ[RJm9]*,z-۞̷HbZoqҵ8̻`X2ϹHy˰KlВ#Lȥ$͒X(Q"(uMFa]CοJǝ̝<9:jsl$8uSoq`j Ǜ5$*whF=_{Fa;Tz~V_36 ԣڋ ],Җ;' "R ^T7_x(Ȯ ^5+ hV)Ov5V.k}eeSHOw ]>󦈾'1VCb@F*AOPt7@(e_$~ǵƎNj)#Gq*ݟC%)6P5ԛflV +|mSMOt0IToԧ=zȚ4k7X~?l] 4 .d]|BE H?6&sj^0Igf\Ey~,%<z }eEb!fnuGvt\c+rEgQu3EQNF07v IҍFLuwoSz01[c_a +UcQXBanϺ4mr<b4u^mfÙSw8W",FZyg +o!+5ܑz7&y[\a9QllmX{?p3d=֓_-EݺM$)#)UZ+~c[R-|ξ__e h~d`}4|O`#yÕ%% h A"/aiYb>8!jGL\\6i`VF#?&,l.G,G &[0ȷ9k.mç]u[M>hc>L}$hh\BADUC +%PԛI*KH +N0BnTvZ +g[Es|Ns3VI:;yvALv\eEdM4/vXk{Mh/ӚLE=jEy~#Et{Ҟ*/8ڄLTG bBBzrs MixDk6 " + i1.fQQˈb8]W]udq{_A^P2)иG +DBMؕ&55x7΍Th>98mFJf~܅9ȴM@1sfMH[)Mxc[S?4|h4qf] +xߴ<1-x (7eYtѝ7X/_磃&EGh?}|?WPcTsI+Rk_:g9f֥̋lVS`}lpog=HCAz];㒄;̙4t߫7$ӍIPy*9Bn 3so$lw7*.2 Ek|;)=z1X`704LGO} hMק/~Wg +}t~q$]ppwmn ܝ,ZLmَK"0rzys]>ᓐɘB=[8 +^ґ}JGl(NGJl)vTGG'3ӐNk)Az=5&BuH"qP>( g,2*E ]4÷ݛτ2+^fP 6?M7뗛Ov`qù2Ly?_ǪS@s?Nkc .u3'a^ΰ=vH@[fw.g_רMÕXC)zJNn~| +WT)NC݃X18-o=976|w7 Hm^9F\)}\˺y5$!ٺ(ȍ& dJpp-(F"NVݢ1UHD5z R73g(E)3K%+J'Kټ%JNź eŞpV6lRp[?F7ьD!0/ןp;kEDs&v9ö+'wvɢ[H{t@ c Љ`q^x-'18Ώlov&B/ 'L6)1FGVӊOqh)FZUo@VΝT+T! Hg@7%ٷkŏ_95$ G?`OO*W)D?=*t}V{r*$ +344{,AwP)֋2h+E* +3C(T=O}P2fR$v5wK-#娪m*Ӿ W CѝcZL һ'n,ǐdU՟jKHxz冁,,#*<;\A1Πر@oH…huV%K/϶I7А ds6}'2 C9x@J3pe#8-{=M~ݰXtĻ'YgmoY[Oz,P2`Bz_l5UW$˱JiG7 5կ4$& +21VQ?^"9ʅă# C$Iޅǚ]ÃM]ly!E +>e:X3G?>6eoW/mDʳth^o7mF.J| NZu7c6fղuߚu8ei3pf n)HcLߝdVÿO5a_ 7?WqQM Iӧ>(ngkЗi bxUYdt,~\? 5C.u?A\(L}(o)qtv>Xg%5CWl=&@Cߴ,Ɲm5CGNm'b gzy3pj7kxC}[{ce${|ibKLnM,9%Q2gi\2{8RǏI'qc,^"b +Z>Źcj~ߕ*A2pJ<Ө:ԶVDwQQM1P@EE@" kIH"D@@ S"|s993=3&|>ާ;Y:kFGu"G3& ϱZohUw|om&辽!a r~ʺ荣DŽЙ"9@[_i^[ 솇4 ػ鍒6kd"cKh//bISAf!%Z#3=J>l*X>ߗ;;\dpH6^Ă\>/幈e B +sU-/==!V-na̛1o]<4N *1{rm6.eaJ%/Y*Dbs*;?'I7DG&YeA:tБDc +˴!;Y4#8ik\GC-gE`C>7BN?I]qxB{֖ ɪ/0Θԁ-C\Q/Ӛ>qU<..;8C.+:l^B3ߢ}{?XlI%Iz=: I2o@ke!0!:HI#^Tp.ާ,IV(tw%ċ`a7YWhAT8VEe]X-& DcpG!zq6#Wgaz/= Tc G[\`@gjJq l-2^sVU)aR3Ztx _`dJܜ;Q6 8Թ~M铩x(>&Y]-ib~nW^H=:`?rold"Nv9IDhHw|rǂHG(?_3>Te +.ׇ ^6n?{ MGƮștGajݿjZE[=, ~-ipź,{U6;`OoN LշЦQ7Heȅw3LsפWex'6616wɨ.ȋ,zŁ.cIJ~8I>BFﵟq|zIN;OV wSK-ཛྷub2?z(>ZWA3,s)"ʃ stA}UduêJȪ#򳊘jTxYT`BRxĔ&-U-*Ԓē:5f&8o+Lf{1rZWd:4/Nˋ$߻>Nt6xHg٬-ɐnAyO> :lWMî[ܰ9 ٌL=ugSboi\x\ phU䢑 +Y/UV'Cdu\V B@b]\Ma0"Q V” +Mߓk{'#3LWf{l˝]VI B{g$^e{Qv rr*\Y==Cߌ^w;<3Ouʂr6}d %~%dDKD7?Šu'ړ((u=8Jo4XZTYJQfњ}$¿,&TZ|iS;0le/ƫ=| /nj8v]޵/v.BJD.RtJtT[F(]eHm0Ʊ qͶVs֬9X*_{~>_j4o}l|f:O<:aTsR(ٽvh%rDw#a ;N.a]P +ǜNOH|Q4JጚW֍[/}{j8~ylmz)P'Wfu?ˑP}["-n5ZgeK?_[ l܇ի=7Sf_tLW p_8}#cu@ f9??\n#[@m:@T`_'q8#/Hn\8z22܁Na;؄z_;ƺh縚gQ(x^kBCJ7<eߔ`{NA/4/l{HZ{d-}rnUQ! ht':ѭ}~;K'}گ%k?_|r~f@,:9iNh`gg?t364U'b^ϋޕv +[ + ĂDU'.?-g顗{#+$xi*9BYi͑?떍i_VKt n0CagI\:C~|I}lzC* ywLo&!nS""mQ_S%%T3 +u27$HQ E iz%èXRȣ[X?0YCEJ&66IjʸBUl(ܕXĵ@*'H҃?vmi4@߻L/}0蚎A;:9Ԍ7mW_Ywe߷4ĆXNbY$5苙j%PA$9*"}1oud_oF}|vp/vTn2}'Vn\WLK}\=1Lq@DFDg-c;iL#o2%or铉)S[FC:-uaM}7zZM̠r;S+䯬E+&c/$Z] N],%磾yyT?bSz'pn!_FT*)z-g0OCWr_f-ۂ,]s[L o]٘϶/?si_ZAY=Z_؝LST;Q KVbiOk#PfUfƐ?'^&P%7 @ԝ!̙ #0 ܜ.$bV`cKtn^rנLB12Uup=ߠ#wdQxZ+'5Ws'f5..S$P0CO R |HH_'H$q4V$L"#D'it;gk9KԍU"D A+{ oiem|}-ku&9bH`EiI:r%hUm[dB$o^>T%j<'bnz{D 8ep9E[ŅMs1y78*xq4+Y=:#Y:@:1w+~XOp7/꩞m<Yb7~z~āK+g, q9jk{VBynU;4*NzsvAbDtN*+"j[%Rܪ +0P<&WݟID^y#D2q +jٵSQ0$䂛gb}v/3z.&ءk <;kgMK y+ =,v5 KHim +s$bZ]BFy"Px'Q{}4ŋnjY䮚7olg*kLМ&ǿUnk.6vKQh˻-xOIdz~Uf4\nTxUL8xQ7`#S|ȿL-$1ī$.O%y2'[lz9B̦pHԞ.–tEG[u-<ЯD*fi}od"xcb'kG.0wa.>BOkw |0ɶRֽt_F-z. ~]r:6f[k|hrrSuoVCɶYЊ EC\7Lh5]j)>mMWٔ av2wc̔]Vx"ԇ~p2dT鿦pzr4R{>VSޛ?éՁXSƸ /a_@v?TGdȠ=^|4j-,i|e9cv1%2^P{Ts8%Œ˜Q(J%R($R_rDrq3dDEt֥ vR*o;Oyzs~3ޟקv3Q‹Ll + a;E>"ߢV$ 'k>6_fY][P'^ѻ 7KG,E88=ͥ2C^L3u{+sUxQ͒C&f(cLTku P.EY1b=b>Qx"v5fG:8ǣ?~NdϼJ5Eխ},rOFm;e{w9a7 +7vI'1[Y^珄H~-=m)իE؂'V"?A!?ގٝ /wm4રsQ35TJEU֫Eb24B4ض0 rjq>73>LC + 7tpPq'oj5p{c8GmHSvx>y@]$P![cᎽМڳ ȍ,4'xTCL`#8ic{0G=׽x-*܄5VEꙖ,Ƽe;,O案?*hWA>hY WjMsO]z"O9.&dfl$$)V\0ʰ+|E_2\1S=ga|;s݄gee߾|Хd{m]in2fWJBLq_8` CK_ +n o0͛X2+rJ&}^98\6h޲cn1c<T|~?m&q(n_10%!<{%C/v\4X쑟"NB_nЁbds'UqE!m<]96-vh4rxQY *S%]ib +GY2бw[Ck;@ZbMpE ]KWӵ2큀~rK nG`؊զ,n]d=4ȆOD2Q©K;ZyP/TjvCzғ蛔NU +|Ba=gX6acjUo G.7IȒЬBB(yrF61؏snڪ}5bKù y<2|m1t"&cEf;1}͊nђ7:qe}N +#Ti{ Jt4"iqIt*6l"P)\zs#|Lk7 +>8țxo =H !T ƶCC[C[Xr)8emz cdw19m4 8 _s#$^H4(?S~/@&u6N~V*= >ƫ<; ):$$d{I$,"*R- +ZdMT@Jąc* +, +OmGj{ɜgf:p^H~{wix Mv[!4Qȸr]pXr'&ٹ<:/^ªef$){)1KN륚&eKK=OyIc;K*n.Ox!!<~ č}A +{Ls3}?mzV]nb/`{^=/SZ7܎tcrle|#L56gO>I~V'kmpO+s쇲-un:Ea҄ +}$'Y Nw؃GD^p>BI "Z~GsUnݻxe1gs ]eu[a:73$wE9`.A4С$Q<e$|cH;mLamu웁#.tWtTuWƃg?2~co_gNƊhlb-`:H|̑4Z-0H&Il3)"@$)p'{KjpE]bфfZ]09'(t0HIa@`c(&a l{܂$Ϲ(ެ⁊9:iT̒J+6U5nS\Z@{Plw\5G|;*)WK!7w23$}Q11E-(14}1(1*_?:E {E|8pN#h˩«Уǥp|nnzy؅\S/ .">,W;wUi,_0ÃZ缷4L<3y݊8;VxbmXvOҔ;%z8gq n5,6"InĜQ&]P+!bzx(J#Ni +],3>>vkǿ-еE*v2t6ybkm 6*PŭbſΎ?s'̲xSW|W3^ C|/ģ^|~RA|Ex+& U /Vn>M~ԣoion׎r^GWRq/Rh]ТlQFj3Q)*͎3gim4&͡1ڑw)/,6wus-LnP6to/c-kUNlI:gIȷ/.,v.؜z.pU/ u:omQUL̗`Ixh?7ud[>bbZ1M%V: +t>X ՍбKu c dme'!g'%px3ɹWŝ|qQw8v2elQt.>ҳS87fS5c]s1 wd pi t΢I.+7t_҈wc^Ŕkk,N@XDt +g=n}JDa UO0-DO5=XAfTqX=0%,D.*q>5ѭ|(g#xQS.:;+70\qP;e:&aQ-w;<{|Atql wo,ۈe0kI4ȉ@EGwD⸔hTOm1MxU"yo46LB|ptLWy\yDz%,o~s"NiSru J֌AS3fJw*JJJ:Z+Z˲Z=:zzyM~>/Bm$M> v)W_<9_fN3l$[?k:JӾ=sM1+߼LUO4L<֬ԇB;}1aP#3`c1YZ1ruKBq[%F!XgZȡr6֤>4IC18sj2,ov ${ $ذN$LF"셖w^$O'ZUTy&p +cth%ۨp tpGׇNFgv:f$bl yYSk cVV`ΜJ[T?-N/KG*.9{2HkT%NI*_ZAӗ&0_X;gnqIp[Z&RzKM7ڟ1HS&lo98&xJ:!9m6qZw}i5+ +~_^L[KsH܍܏t®V9N_>Eݐgܷa_kYǽ2>p7^A +-(𨪡,`B^UFg+342?3'S{֒]_oȞ;7gNϊK1bBGcw#q7i&F%7 s%L|uArw<7Vdpsĩ'pNǃ>_IMfc["|f4u>E5UX-Ji>P w&?y>ZEӚ'Wx ^?[xu`C.9)zJ˕*?c? +6ՁFM8C|:^@m[=\Fh t4}t&BwC0W=G"; +/Bu )JwdS +i)E ?7p 0Yx7 t +-@tǹ+˭AKrU 3\ڳ؇ t(Φ+Y]<)6fDî#[;4[\3Y }7  y޻pO=WiaUnTJ>ytRpV=eWn +,섇4x0NKWޯ?|kDyc"czKplt(m>t6oc-YHavmfY0/;\T?YW;xzSrˁ-9L.aizO<+*TT^Y,|aDLmj+&rb:z-ߏ8|"ٖŊ^p&-G~r +Om~EB0T]K0$kxs'mHaĒ]ТN 0] +lIyCY-QI"p uT:l.T绥˧j*GG:=tFot]8gC[%4]?ӥا{]u`s,jjzE'T,6ת}AV*4 IEl?'C|\hۤuyC;w/üRq6gF+\!yMY|(ے4aD+sk_ j+V-:ο۬yz`x>ذQ18hW0j2n +jAN\)uKHC{p)m&M I3eӫii(IkDƫ_ﯥC;1n]T8 +{Wqy?RBPcEEZn4MǏ!wXO[|2bGd Sc/w浲ecm/n;a + <%hfεfAju N^"X5O8BP歵4+ ~XvJ$ÞpI8Fd8fAF$袅]R!n֗`fxhU;%LQ,2/JW +< ޓxNuȥt)> ]#'0n"Hh&fpͬ\E0–FhN'ѽT4M29Zl2G +\F^jG}6he`Np~:fy> ;wŕ٪,md'tZ]ۡ?8mGQ`SC @;>#V'oE~ +K aG(3<eCͭӐQ9hIj.a17 /[|"z>e+@_QSLi;Nx7]wfE]Pr;ChT#HB65[sx7ِb)^pe/xnWcu2Tk*t`Ԏ; gx+c&9f'{QCط;&x.À^##r7 +6e?@@5fsHv\ݕzY4=M.W'(;n_ۙSY- /0 ԕFgͪWۜw{"(zw??vY:X: X|ǵ?ogF@s L^˔_.,YcB6݊_ey?0?$+C75r5$>Yfu<AT$}xCY ["E]cFZjֺn8{v^~:^Dur>ۃX>.EKOaD|xAXk04W YUnHn_cH)KanЫd}Wm V#t>U(E u3o|9,GcW}`vK6}ͼE1m$}ڃ|{ʒ2=kR2mҳ .tFfVt>sD%-؝[dh7GհL&}aoOV}]w3 ^]ojq1A4MVGc!+a-p:uŒʒ rNBW/f|}~~qYunT;/z7I+i >wwhKLJ?3se"{2RYzﺑ_kEC$셓=Fثy+zU>$= >GJjOs+:rszeg'O*/X IŚ zray xҔD2wm.Ǯ'YЁbGtA2pď\5H|Ɲdpy|[&7Jp{Xl:BPXgX4`o˜Ϧ)ꂫuuɫq k u_6p~M!$'N >jev5Dib=N<<[u_\M}ҟim"B~r:Üj‷IN| "3!qQxh](Ra "7$`Qa0 "'p;};d'<%8ynNT?%GԤIP5yOmW*74tiGc>2_mm j'в:)Lw47/Ӥ0PXI| ͊'rۊ>n4<8|K;-)K"_xc^zfǁ~~smOV^:>sa[Oa a% yHxܷɡǂqkGٰ-/ZX;@dJ$fj$[9k%0٢ӭ4uROcbFѤ;ȼ#cא`.|l;[-j1g|}`ws߿\]F6 +w6:XԾ:CaqqlͼyET"gJ*4FP,ChҠRL)> =Oi'eXWRlAQ7%__w&8>4ƨBg pz(*;aH%86oхe4CGfuÉW2`-c$nk]&#gz|'"|RhnEnR)捓(A +`9k~S7)1$}1Dn7%^aZ4Տ!@՚".z%!hlDa{7ğ5^ƛ|7V×e?}CF3XާΕs '}uR@CU>~{a&9ٍ:4%1ǻ&58mLf]Rl>_>tCl'iV9!_5Օau;2澥ߑE!s}9^ݷ86-e{fY2K32WLsu]9b) 9?v 5WƸ[ByŚ g]R:6-C\ !-XZE{׷%۫=Frv=,Zhth7f'4]`kl$ܖM 2bpb8?a36p\GWjrYy1'4産ިG}v[̣l~,oc ?޳FT۾ФLaG,C17MQK1j'T^D]b0$+%2~zn)~[Da\ȚKlP*g|\b?9wtm__)s;޺kkE.S K?Z#gq0љv{4WVٍ7 Yd}i?_% +f,[A: O)ˁJ=5RڨGiLQ;m"5eP 2.a4nE + ԡ+D3t$\>P'tPW]Ңg-TMDGZB% + GТe1>3bR<!"gb Qߑ2@dGM!yePoP'PWH;i+в#O~?a3B$iG|!jQg/z2sAvse|h9ǃs=v4j-{CBH𔾈}naq8(ͫ7ӌ4>D +iHZ 4'4I=CR{{󞥁‴4ޯ7EDF=ƀ8^ +$"" T2R7FD%D%htWQX;bPe93f~޽ W:A(8ӞJA4{ +> N*Fbѱ~i o40 ZI?Ҁ< +Ƕ#J9taŹB*zSKprx+wG+ނ4TIܽydp3Ya q,Z̋U+XAY_l[` MP`v e]U ؖ8S $/Dwݖh E W&~S_|˄R{<83Ăvs"cp3t{_w仧YE&J .ڱB6pҵ + `g{3bN6s²^1G|{7Ecf{vi~qvQxOlM(K>pxEACVyqqu%T3sϙ> S'69DҌk#Lfvxly0y x/Pc5&ooީU fPI pbȁK^l,3 +דu)p H kJwm?XX"nc_,+v7 3ۮ[ T&kIVQr{#: |QӐ ^Yf +sp*7ÑiPE.~#yr p[_qQ0<Z:cO:h&^+d!}afVb8Zp 4p/' ͳw<<q #9g`ѪȍهXXo9s2 }1x=)Ռ!bҷ!Igyp9خ7Ya]읯R<NйuYJɓdj( n " '8\ -e._C-Bz RSu<;{% +=ڑɐNΥply^s$˔nq)i 'f#żm$yVWLڸثC;a|v b;e3C oV {\ܪ1BݧgmV3:5-KYqR|g p|\іf/.@т/o&:mK_]oZ՞7+A_D(ŵ*F~ť߉ċN1KEĵ";T8r/mlbtcUYp~W#>Hu'pN[#]3Kǫ*FO?$!Jȍ3[zAHR+pW~yp G[C"[;k{BPUyePO#R,ŸUFɂ~}(1|]Ĺ3ZlJh8>x(V+ODeA"@"1}AFU#!p,|Q *$z#~\2!I,1{iZ"(;X.kH +mdre ˟CӸTWGO+lAÝ?:sCj-FIjU}-nTkK15<7\fZGGKö)uelxyI\7[p\')Yq\)f6ORM?|E9J;~2#u~?E.`72RlYeb$evZY\yf%V <ؘ[Ħ*9Ie{~дm=vuv;ߤp|* e~onњשvQDj5uKyY|ccWd lh9xN oR&$CwGCajw?YNrs'QHJ)&.r/!b\FØaA\BuK.=MmڿZ:, |yGO&@?bGJMPÁv14?!dيb1bX <T ,$(lXz2OSj :hU̅<߾΀ b@9&9X;,(GD9|΃eNv+l_jM{ 3N4=H=Z*M[?Jmܘ;BC@9r/M +qJaECU+"|NhouQ*UMȲlRkۦY/Az=b UsxnߪPĊʆd xh11j 4ߍd wExlޝc7aӈ|$]dU^!HZ`Ug!jh:eM +N>dtk^ kR8035DAG-VQ,L4}j;Ϳ/YwԄ|J<\3,^Ybe BK^M.8NiehQҒ[޲Ya?܈r@1Gwq]P +oOjߩ3;Pw[9J7wiаs-qg Nq晔Hn WK^U[13*I['Kk+eo! -^fTMAQ z.VHANӄGᦝm>r QuH GDÛ*EL"#|_R*ߢص^I*m) Θy}檡f̓!,ILʟ5-,ޡ=Ym5}ZҙKwfXl͠e΍ +O<Y3NNeM\(k0A7)%D:O!W ID@贂 D0>G2.3yIKu,808t>}Vom7v!;wM*D) O>gyQ}aNg+5Y='iq EQ%`4xCकٿe$TFF8_ݨHc2lU7ɴG#й Ŏ}qĽ){=;>_^ x,:f +5# +"q$@JB?lG_C|N</E C·-\-#3-R(Sx)cLwk/bKa}^Jǁ>w +%8'.VGe]ljƹ2M9g:r}qgQ ܆ѢֿqgC ZR) н v>V ~w)t+fKjzYY=;zf.<kH ~/pD +3G=uFtn,Vo +`+)^V+OMȭLT-jG-tgaxMrTR] aqWo3t4FMMbb0 0gf8̡{FRJGwb}!qHI"2* g_\3+y~iv$C g9&,sLsDrlWCZa##|olh*$dh3;@_ƫ4(+FSFh^wEeK}nV,A n(#!"QDE,BBPEԀ ATj1DX2ҩ1X:~|f?0$tȈ2ǣadͫGFե[ghԥ3͆v([OU)f-+1-fvwQq2p}vIVt +GO8tZ>?XMy!S.Y*ʅâ1[y:hy_yܵO6CP]o꤫" UzHmThД\0r!!=NPy6ʣX+ +S )AK +LQ/-)0 V(ptΩ498se Jgd7FW +Mka{tg B7I#4x=itv= K|'@[--Xl{7X`qg&GE3rϒjH2iNJ=kґ`~ݸZHZE2\kzBW+Zj;']]zOֽ)KVI_3;O0CG r V6 0)h>ݓ T'l +SKLlivJe_Z >OkѽsSpi)b͜{iDŽ t<67C${2+C&J`$AaJ[ۯqKx/Є|Vw(mw),~7,4FFP#IA8Tcs]J\cFԬ*ٸt/|-t-!γ68蜄 6xTLgbj<"Da}_"ϥj.]懌`LL`݀A'o%5n\*nѠ0(KZZ^ٳJGmB=bPm깜~1W+a +7OIp* + b]!v $luؘE—1|Ԇ|<0L!|):=^x_SZ$m7ϠUQB9߆-7a}Z=ر)wb1ť-,&N\h8[ur0D_"􉜫v?T)́b!Oy]>'tgz<~ǜTt798BdZNiM 78Ơb~ 4W_: ,Nzv_e}Z,f~oc[YԴEg#΢x]>ObTso#ìFЩE!Qn]A=\N3RP"u)ꡎ^ P(z|%p,*9&'x(V.>8~PL7E(S0i_1epyׄ&Xy +aG\C%jq]q %oϷ) \h)HM?5F1 |[䘁>qrV'P]3<| 5F /2\9̭Z">A,Ǿxyk*dS:247䄮98! x +L.L{f]+w4i%q 07qHWFhEڠav 6K"/F@#Ys#IlGg^hB#EZ[ͮTlNea!ՠ5׸(mĶ 'J9`=vM|%1=aI.Ø8)geQi@鉑zbd\= b>oM'g9HsCy2s^ Ut`}tKtafc_U_*gf;zov\뮌X8?{> қ;=|s|>Xl21ZmnYtO +dZ\Hs>:Xmo.@\hS<37}V8ۆHSAGM|v25=UZ 7{*VZm+%c[K|`y:K9^dp:&+5'㰞[R˂-V--)|{p+ag=RBcG{2e#(sƚd+"mm"t~rBv p#˕K [;m j4sӊQuIhx:-P?j4E1\huGjezg.46ޒ; o[Z{ rʍBy+ M-‚ve52_:ӖW815KdM2~̎@/pYģ\,C.\ Vf7#)7 n<L.k6`YYTs7[*tG$){MH*<#Inx}>6RZ}lO}:Y.@QYp%<[40{yGJ)yiχ o..r1ȟqZ=z:ʆ$b=>3ѡ}HqH31# g},Mb(:vx7j %ϨneZE[4|\tޚ2BgQtiʗCCT眍|Eo"vzS7UW_R'҆]fW9U/N򑡪]||ri V6q:T!nN^.i>N=\dݵ̿2ܑY!+}kJ}e=7`V@ۥҠwtaqkqhq'Qӥ'J <`-Eh4W*j?UYsS_u.> GlIWn%QSS Gy;݂;s昙z AKBͱq/3&Y׾*~>Qut\y<<#H:<Z+ +(SDʆ݂޹ۼ_`]kŇfmLüȄNMz'opMz*B%_Q49̿F~{MQ3# +AwQxg=kyRE4 yyԂ0WȰ?2H0/$pPތٹJ<|&qIg5HC&9nݍ|X`}>˨XHy [ώϜio+wi<AUIML* \fQ-St՗j[P)zc/jN%nd.s0/+NA˶}rr7ܓEJp?g9)2`Hh ނ3"`+z$bĸC&Fg Hl:-K_?᩵DQh2[x;@Yu"0:v4gj^ts2?Z_(}P' O;T;zVHSۼOv@v)Qcn.J҄\Kb;t2s'aqLc=z+1+?fȰ$fNb_j[wBHϤyryq2S֤Nl/%3srMiP./;B/0Zh^6ܑ:{O>$5ŭ4MJOߙ=i2ެNFyR&V)C_ +l +K4)v08WιK3aO?b&`'3_q 0g( W|LFAp{ߊW'At{F'E V vY g t(M\9 O9Ej݅`Yeک0ӧ;'9̚Q'r^U HCқjmlIU] Ko}IʱHvOYBJHO$gZo, W$8Ìo)R!*@ڃ49_w} w/Kmp`<D={^lC3uz5v]t]갌Lh` jE}5Ʒ矿S<\T ^Ἵwiqh55@B.ej1ҶOԬDreֳ 9O'BDHxB.$ rZ'ȍ "h =Ѫk]sOSVc"9 N + $$4kW1Q'*S7KXt뙷_:XIΌ@‹F'n v!۬f~^CbOk}KGitNA57krXxKyl{/מTW64 z:h=Nw  ⫂ҍHm;C7݈N0Y)+!= Xm-/6q}'R:{w0uY5^ǃ ֞oHjzcNID VkHLmYIzwcQ}<^\Sϯ\n&ͻa׉C-1ťBИ*5ѷeƀ-({">O"Y]@Z ={%)a3apo /t[/-3F//`;8; rdd#)]'Wl猩Hy\͋1q[qtUܟi/^ȋTxj8J@-Dv>uA񻈺^;]֚By^XN"8 ݡKKrSg\~{ yc!d!l\EXEXԼAalk.WdY"oTS m` +efME*jv7=2p@|%Q. +S1< m4l7Ib.|rQạ<0cZɷdeUATd  % n"X jD#bpuAPFAQD_utZt񙙱4vJYCS= !$+TQSAHJ{wBŞ])d$y0owKe]<7m&D06!L0cggaT]nknkj]-XmٙtyǏfk9<6! 膎ھNj~v=kнԕz{㧡=ǡya1}ewFf[Ә-T#19jgtpœj`8c/C MjT!Hlf +WSB6L9V3cQE3p5wgڡJé:3)ۻp2l1N['dBc=c +qVYyhBb529{!:ɠ9>}}!atv\o3<?u\}KpVeA5v!l`.P3u|`7t;|><~r-,5:]7(S%?%Qj@7Sտ[vCzR-qvI4B)Ϯ5s/ ̫SpA'Cʸۂ/9{sUe.4?/8Q>-.KFG'=1Q.\Lʛ 55GYSS+rFPxwNH,C+&/% iq}ݢ}g}Gߚ6YB>(BIZHHSn9:V_FcXC;rh/%o?1tG.JJXQ.d9g<͊`\8nw}+<4-i\Sg@(Op64jbCZat"L:Qf +ˑ ( FrNo3F= +w:y7[x1sR#ϒUu zsWzt$n*iJ)ƶ47\CC|mc)PϫgU9ypc:Y~%qa'%~y*]0a=v@PϮΥsըw:OC}I !׵spl&+7;MN3BJw` +gGуyk`FLMqYÈY&nLOB2v#̶@t~cgt[XLY#tY,6Pխ018Ⲏ 8c51Pj_p̑Lw!e&Υ^"d%1*s'e_qNn:fDDt +L ۤc \LNf[&$$2 7YіovyHkz_jx:Dj2$6<Jl1)-x>ѷ{:f,NTk@NΖї'~ \CyvIq'y_^awAwA/(qei_p+6 +GM3#8/#ɚaƧ1ʪ kH8>f\S1.Ƿ<3CsD߽=)TQ9'4AEV9exxN~󾕳"An@X{bS>PdpSzmqٕ-G?o1n|}qZP7m 0X144PEqv#ws碏RWgڔO]q>|4JXռ|&q^g +/󶸗RtwQD[>اǒSwKLOOr#_% W[N_nS[=T2_}V|׳G͇7I^&LfZYFM]#m݄_l+;ny_>}K5MvUDҰJsPs: VzeLKi֤T/Yft:KuS2r/B6^k4ЭUЬcP똦,N V |`Vw:VMA2 hzTȈ?Pb(0OSS8a2UQ'g 8ގvoHI|-i|Bo"ZL2[8eH +myEBfO zg}zzVDk\ss=o[B1ĸX|OܘL9"a!f|e-(F I:tת]]R>bxRxT$ +ӴwwSEmB:0K +UP"?Ͽf'=c!uG+;3TV|T;[O&@L+u2A:pu)~u}ͥ_b +EEgtİb+B5gõg٥ϨnojL9l5#M0*ԃ,T6AX,H58 +,Mi=ubJ:QQ57&vB.^J"{2d{|Ϛ?ϯT/,ԇn;fkMJܠqElұ].^jS+9r\OYKls->shYÌEɤw޲R'{E3bdyଡ|IUq7YwS>2u=B<-fx#ybq+58ZWdc})sLr\H?2s,P*Nkd_oU3O<"r,?Os2%0(sޞ{LqrtQH;Ota3d☽ă6c q[tB"MgFpeg+nUNV) 0ԕ" r%vʟTzNW}iK޳ucN쾛}UDOW v8p3QX~::6H%[r5Ƶ%ZOW?Qdzw ^┪eПX%Ke#RM0:`,+AX!Σ<9"d?Κ~rr 8HQ-PDɣDGytxx߭T$iJMY=^ҊҌ0Z&x6zLnse}-[Xσ\m6 Q7qovチ5f2gJ!OeuB>`SAw(yb] spYG&?^< 3 0 +{̧Ӡl1:oP$_P_GWɣ: $,F;Q;KN [X_'8_3l,'qwv# ^۫B\irgo>w&-+QkP.[ٟHzwz1G?hS?Z\ FؚMs:3/{$:#Hs;~?A@9AV9ry*{;'BBM –aaѢuyWUE/>J 뱘eφ9鮄 I{- $i{m}R}%{4b1ږGio! >]S6ax7 Z9rXչwFa0GngZBW/G=&oQӥ(@95Յ/}pe&[W2;猱ܵ]~'#Cc(#m*f9ևu\o3IkU;9Cʘ D] &M_{r!6$F&}?~oWŠ?nTXlLKU3z3kЯB_+} C!|~L&?k+\hّ +%Y#}} v7M5u(K ΋^"EO۟=C kj_Is:}'Ș̐uig'xTN᙭ i3|!={)Y<+b}/!CJnܙ=-d5N@'L YJgApAΚސdxPp:|=G?u߿o2jLøiV3. a( @a5((T"RRUTp)dTW EAlw+ +y쌊Z<Ϝf;ɽ{_EX!-ۚiV;}O ?QsW) }͵={6#.öǨleok͵ٙ0f{kfY7tvO{f^>uvM-!iC ga5! V'?٥.B6B"Wk?sڗVfQėVP4{DY1Usںل2υ?]YZy&:!̏j~ !lzhpn[_2-e9Bp"y 8?`6ANGto"DYB5B~ +[k1M33Q_1!jp-cՈj/Qw!D(2|2 ,"'?S䞞M?9aXM;9jX۱KFCYur/I^OC,KtžVB,zzxU![ ѻB"/-Wlaij5T-!VbS.*mmʨPCB~H[g㗋~uU n4}|}=!R6"\m@i3Dia9,RInx۞-~Wik?eroG_ge"/8>K:!tyuT<Qjg(SYC RhnisTb*-ѿꛂضn XK׉iEltɐo (&'Q`g)KRo~Zwk(wrJ&e:yu#/}@^ *!fgXr!CQC O}ck\Cm|UکC2B.o3~.B5]r:3eN"mj]ҢfhKP`Fwy!e90Xm#V\Q9_A 3J"'aq=Oۀ->sY+lW2DT +XYgZ9 Yh}_ kRR$wN"){+cPI "$l7oi;HnFPKGHiA)+i`$RI>O⊬%0yg)ݨP=uNQfPQ~[0y4.1M5>zL6=]YF3wuإ8~KeuYo]>jrfld ?ゥ_)CDzX`=Y_$EGtt9vOi|8st0((8ףxK_:]a'N }Z>YvCwJoaʧoz +YdGh2M_i7m7Pooe_# ^(3bq[~~x/7:{Є &u!~'E5 +uycb:}~" &E\&mNm{Ig)bĪ}}.cdSBs:w+ +?tyQbyUAPʤ)Cvοե>^ZhUsGzn17)&ԋń|Rf>h`o^bB])iC1 xtʀ63[9=[38Gb= V/gK 8E ۪>+[V\: +u}T.qKԻ ~)3yJPPL'es Myؗ1aF3\(X=36ht]Pq[ b_M+͏B [DA D!C'#_T8 +{e:Rc1:l1%w2Zˣ>x{yZtd͖YPB'0ѥmO659@o NL=yGab|/NHB( cq=KYhj\IDRLv*6kit+]IQB*'K%MNGTʞǃ|=89<3ϼn73[f)Ln3⺠'MF׹Άn;U#Ǯy#V'Ití4lVTܖcˏ +pE5D>PĚA[!cF)Dര! m`V +[NX *4j7jw{z Vޠ*˚S'S,`7 :}?jƨoD2m3hAg &ST^f B Ǝg!feO$!󁆀6+0uw97!\v/$s,ZAx}<%j*h 5/ǣTĴER3H le +mênm~b@Z @N66^Ef~o5aD< +18By2x2Uv+eǸ»YЏ=~-GzN+$^5$Iq 6a?=lu1!;lKFLN𡳟ey ӎ0@*uxt,z +tC?Hy;L1DԿ-L9-j]: WSen!Ûgfqr/mv$}b8zr?~zg/Gre &qpf$9+?Xs-ѱ''9on%N _ιHOpKc:|bcc(ض:6%꧖_Yȭ|ɛ~?8X»ogϚ*N)abg'6'>l6~Vx½W/Mh3}ڷs Nӎ&#Ep^ Oo8X,hQ_XwFQZ`GxPA9-Đg /zxyiQ!/a̾m$iùm3oi~zc6/ nl1 \^&|qSYDͪ{w;\kLއu7nOy*˴55zQx ],pi](P<=|Aېg"cASlTsy8huVdg𻹟CKqX3\6kOzorc.D%A~C~EVI'r$o&zyDNGT?S~r\fUQ-C0'JNW`w]îzT뷃~Qİ0,qp9Bm[𙵼5FC#4­ gn +[=f33yy;+w37DN2)kI +%~E)WOC^"QO~c.>`kܝէq;J' Y^ଫ΂Y2> ,F?darXݻY{71a6TR+JsN; Y!F}iݓ8CJB#f/M +#K7>rYkԍw6 D ߗOo\ S֞ǗrYL 1:K_ŰDlc,u?y=R/'R>Bq0aPh%=4 w~m{ I;_œyXqxXa>[ +Jn=@ԅڙؔ0a ;0F>pٞ}| C=(cҼx<57 +KkU":6r(}c^c;FκxC$ʨՎ8Mgo$߽L:d+TB(! / W(`dk@6Dt@PW)ͻw.U ccӳ*,!щc971 !zj"zq&*x˾=mL1NZ4?`[Hfyi8K_f{gJSuӮ|;RS{nabq͟ZŤ|B7)%Oy=AmHW&墛Rk0 x[jYH{0 diMPp.?&Ys /0'o$?y#^A;*?=V ^=rV)4 f#W,L!˞f֕et +dډn;q-!+t==g :&k[e/PzUL< +)b7 >JI;d9finRq ^4L<kT3@@,(o* !hwq ЁaB1Vlue%%Kݨ=\ Ec=jfOlݧ2㏊\dmp˶EQ؜db4^b_HFjӊeW1L-ZHRX#| qkr| iׅxT U3[Ur5$0ݶ(DB&>u 1[[Ĝy (% +[gf[0+̭l+ɂ>!(aO5jig2nU#opeWU^ cSQ'QFvτClɤmahEs,:juV |-R o9urKT+9xyTM-n^J\ȝ+Qd3-[?c`06-T*fg$$ءBL{~L +/i6S1`)LwznTuF9˜c0J2D +GdU!4_/j4 >O9R?9=Z;9pǩ=9EVUN^Y|߫l) K 'N]Q٠]o#a0=?`>޿ ^~.di۠5ltح WG~Pt;r\ +Jޤ}yV]ǣ@|3ce{9s<{SʩS*wTDΣq򨦋.i0 "DDsPxEoÌguZ:W>6оg#ηmk>?%n3='~mzׄXۖw&ZԕoZ,c֪]o<U;. #$_%B)eGy?YR$; `{?=w2EK32Rn3խGiD[~vo{B% 캽:ngESKl{]eKX92:E/GU ߈/|(')^k?Oe !M/qbI[Q7Sk}-B r%3PL 3MxeK _:ħ-t[B*VJF_92Piu]`{DTQ(Bgg V?u?ss|Bsg6p'x&uLnWNv{%zGʔJIB<0 1Iv(~3FYYOWD%n&JWMȗBpWjvt1*ќ(FHݦo!n?XB ,tsנ\^Dt}(9Rs ɡ;`ٯC޾)}XyЉr\p[捲{!GA]ȋEY +!0O$i&dT9BЋO|T;wǽ'!g +oTBn|ˎ %1tJ7nYlv^G&Q]\U0^Rz8Pq:eIC(GP"2Jrz /njЏx-,滑G^zt~n#_GGoRZXSOS&dPF4 ů3j`6{էOȂr +)9u`}I2F$FU1qbo]1MّT1i +:/ώ`wk[5Cy[CQK~z<J&Rtw!(S*)(sR)w):@y/~e@FIi@鿒2L)%02!2i@i `쯤-~J"D,'-;pik PKJăy]fK-TXkXW17K-&Tۆb?P}3]'wt_]8σtE6v}ĀFo\[ >7P%*c1@ͱwj rzp~s磓:=BL܊FŘn)/_x#6XS+2IRL9wt;*]c2tikrw?uzmW:5n{jf{KZEg<2\X&ۮx-6a'L[,8̄o;7фw{ S#řzblf7Y(N9u=Yg7KY(A/ۤc0GW~"E]ʺJA7\9@Oؑ7S %GŊYpGԃ.';sҨ5FdT)Rk)?:C_敤/6sD |qA8W֘%0 sڂ2Sq,+N5+̻Kfܡꐤd~El!ϻ24F/9Ojq5=̭oziǺ]9v1 wPza}a\_ + >swݏ}8 &e^ ;< +sq<  ]F MPs%Emv!!?æ?t<VE|fIG,<3Hn)v80*b XƁc]m؎}n>y͹yWD`nCG4';*0+Vo0K *,}P}Uo "Ginnz8ϳ sOsM SO :lpwLl!>yf1zpw@e2ْHjB+⏢EL@q;#آ>FĵMd7w`VΗ} CrC'qs8#~Yw1g 0CiRRJCe.KecƻQ{i sbAsUq7zr WaneF?FPѳmVlzF& O#ƚ//#XQbjzQ] $i3}SOscK-G(Wy͙pM:b1-b`U[D8%vu?RH+wT`wY'1+@?utz]SkoڧIq:5CVG6mA瘾xS3d'6 qxp84۱U?JNۛc/fQ2&)] eN .>|NȲ~pR ˀTe޵ghjDѣgt`2+u@.٤p}v6psZ f8eg68yL0HHh ´-3?9ƍrSoI仭/K8 +pb22h֎]6 U +gg|s9d9{mX1(w8ŧ, \KcdM۝O]CNC;S[M'a&e)Q@euP@{-R7x2C%~.m&3㟬amppRc-m95<ӿZ)JdE>U%DXFG*wj^åe$T2sEIqy<]V=lf@_{M.Ko\*0iSm* Z9#[sՄJV:4M2; +,$b +ڮ54\u7 +臂%9 +|5 Z!Zx!Ӊ!&L ]H.!ͳ u=曮ǜ?csLã*z6s^7x1#S + +b_utguEu\~{QrmO~\ yI?!x߭C%&7E.V/d*髾իZׂ5?9xJ~*mr!*Q8̮~>pŭcb)qCu M<r ¼WVn}jzzp*+t=tG-6Ӏ0,BAQT:*H&ńj-* 5 EQ JBhHY 01dTAq0͹gw}?P/??Lbr~4ތN[)&:Ӳ 7BS42M}NA&qB}*MdU勠)Q[ypۛRD%Cs)Rgn06qӶ CTԻ6gi釗fON ԧֵg.ۿvMzV܉t$G7~0I! 4)GFJ3D$Pb"lEm?1%ul~5 AnboHX+}3 <_b; T3 cW@V"oUJ\~ɺprܭ/ ٿ٭߹"4tmޗiPl}iyd\ًQ{\Y9~|֧x`+/9s +ե~G=wǤ(* XV3H +Vi}{|R p.hO0iW:-YOՌ P5@ZG7C@kG $Fy [aJS7  +@o^d6g}9sb 3 3?H!k3H~(d_%bd2\77Dq%5e,9~(tP.E{X֩>k{n/ *1Va&dӎ<J#P?as?wg*/\T1k/[r,-ez +t r3T+dF|M) +d=R@ G"i,?YC/@v.!؆dGBVEC29u{s=9콵gt3)zx|ls۟Uu=7Mut0[/x$h8a-6XW5_|56o͛2nnJdהRC? v*M\ILAncd!zR +΀,p9` +`\k!_?٠PTJ D&S Y9>1NTݘ玜܁{oɧLV{5߳S9tfcViӱn3otmTT<;~QxWŧ})LzJU?KN?!D؊<&X>/Qʠ~~?3 4 HmMS?>5~xqq:qLu(ܱsSy7]62MSfR)ʓc`S%y\OGHr]eT 'fAGvh7w1;w7 9岩LOD9z^o8t{svudZ=:y"pl FiUVK5&~Ӥsڠ7_Bk׵"?lIINR;JW-}$FWEW%!:Bs= j޷^o) _p2rtʱi7T=;\\NWr_L0v!.YoEJ Ɓi>P9Yl6Q +%6ҊkiXg%V+ܔ)& +`<67bHtGY:-,b׃}گ{_0Qbz9ld/wZi%4TIH;!Al]tYֽcLV|Nٲ!+,o#k}֋!My{<t#\j0\)+_Pyu=[lv7S qʨJKm yطܖva&fHִ@¹I&G~]';GvgЃT<~zKEHe!kAYRg!2*&e)}U~u~~{Lp$SzSWq(CDJ3TC{Nx +65"EZ@O(ČͿ"$5@4W+A}x;rYڶfw"/uح>KbKkvM>}'ivI |޶v.oho7?2z6e(}ԏ"Jd{P- NkF9("TeS)͔)醄!?;n*Տx܂z2t.eT^*LI9,rTc z1cN j62\H@ڡre/T7rU*>~޽gy[{tt5W)l{ {Nrfʈ6s2ML ǦNEmr̦z"'Gqzt%N\7R?ӏR?Q-Cqo }p~-͠C+ӊv\ fS݆+*թdJ<_?͙s*ۮuk,VA{'ZfT=+ylп3f88ЀnG&WG1Ǯ?NKvm>~Xn?\݃u+wzN.\^./ہy`ng?EW9ֱ| jۜΜG9ƄgN84fQ&o!Ȣ1rA/n_8\ ݔhi.3[ #'cz>pGwN]Sܑ48=.֘ L]g fэ'_[3%ui ۷ӈ.Et6aw^0B%0[qnt}XGYY?;2]S]ZKe4j9 ݐwr܀v#BOY?eYވ^$Yb+Lվt;q?6EIY +Q25jEᶭ:Xc=~y&Ԋ4º|{:v`q9h>B>k8)"g|H1⳰P'kWCsE䅗߶rc*O2]H`<-N{cKZ}1QfY` ~rbp_ T(Ί){ :TaF vy M̌L;͍ųûVo Gjʶ GiNJʐۑO"z5lIq=\dҮW$:7)Nۆ([D1}L뙝d(FK_eԋeɆD yz18ok)' 6^6@MIo]8Y2譨E%33W0qr,7 *[ۧ,/"tgtB>]['18_7{Gp&O7PF ^QM%Xq]P,34tPHB^z EEA } ]Q@) ("#8g^&ٙs;9'wwێۨc%&FQ;J.{Yb!᳌{EXz3m+ X,frZvY.Ot҃I׿NJ;1- +'"oDZ^1I1fSM>l3X>k) cM&uڡsrSN0޴mPgUKf!`ּ=`)Si61¥LvD!#ӣ{W2Ӈ]"W[X88AT/6:϶uv˧4 ڞIPDɸ2Θl: .s,Hc-nl (AS|g_d[w'>,2a,u8a׽J^=\?)Gc~W'7x< +%I""o֭";ǿ2ngv;cWA s NEx#e:% +^=wŒ3D*&/$'GLmDŽBwH6b9\=[LW+1#efGaw2\BqZtN$?mIޠwd}!^nU=oW>mddn5|,9DȂ|}qM=oCׂ{TضV:%E(py8R*Q3;V }rHDdG`KC%B--a j m*'s%%pUtc+%ysEN< vЁeYH-/᭝On_((d?`3oy5yw?Lza8a2T4nsF)x2K=̵46vh<i=oIFr9k=w:>{sw/þ-n>" +]RȝRj`^FIRw󏊥}I=eK-g +2.:QT4}.bsAvIkR[ Yl*pVNU?^K|5g*GZ.a?xj7|֞ih0-w35gGF VػV5N=xYƣ)<+`R}g_r +xkKUv֓4^3<_;"{dcfR4%yt=챎> ":A +^ҽ$?Uօ ǾќS̗u +S9)1W$Z׭J(ekx0jZ48 sU`a!?.矵ԘsNENI8b`*Z"Ǿ|3>V[j[L+cɷe2Z{P؊ u@Ef3AJ]!o3c?-ӺV^-N n,}*dcoosZ +'/unٲfͳA();oh +ʮ=V7W/cmj:4f{IqO,V̂dD0̑$ܶȜCviQ]AMeYvAі5(!01MVe Q,:%b@46_!0vۙ}}ի{9hf&ɴtOJާ~3%5^.Yh|12YՏcO22>JFbNrd>ݰra#َZv@=qZ!Mxw- \ +ׯw38qz}H)=^E9(Vhw—Y5Q.hr-\ U_ʎ\BR<#7<5n*韙%\]<&4[x[8'9c1UCAg[l C .(>vدf` $0۰x?{Ox"$/Pv8> ͳ|I rJܤ3MRnW^;ujgV jMGᷛ\E]mWÇ?U&Kr<q%.1:HH-+86',p4vƔOjh:Jĩeg ֦m8XP/͍Y^N`h`bD7m% +x0pq^TpI9kK^y&[؀!'xp )aBSP"$myKLR4 +;7 >7;8;:mz:1f2p*3:,mU6I]SZPPr|39QqUۍ)^ %lLk,s`1t_0L} wK3iZρ9t/Z/at_cJ0&QF20!gpqr|0 ŭ]9E]..[)UuNMn5B7ef#%7KYc^E Jv +wLnDm%|CL+hSko,r0D=7h9[95Yhl@-MW~cLt?ѳc5ވi`ݗ1Fi >QJ:DK\> +2AP?8 ꇔ0 ŭuOlog+(Iw[Y4O'ޝeʸq٨K'_Ķ}N寑(~WXi{qIpjptEKPi8Τ|Vq\!Ĉʀ/*z:<:W۴w@<(-.9< fKO@CkP?9)Z MvS*_YdCTF3vޑ"Eh0Itw׼?Q*vsÃʜͅL3rɱnJم@O~ˁhGL}.0Fquy&2Y]Kվ[c) ̥d>ZhS Zy`j~IcTPO d#~)`B +!yZ͛)Rvտ*N[z'bX=7sbm}gCdGn;mB|:tScy/,|"_6>1dAhVTasc=$֥/xOjW Xs+0 !K!9=;2y?=|oϘOEt[PS54{҇+5QZo){uh.nXw=Ke"ee8/(+5&&IUfٗa`Q(]b%4h "Q +6qT@ "n( +>QкNe9rΜy7]󅠕{gcF(TJz_ZȂmgC|%\nO͘ZP[#)2(q"v縿[j %{eUl?‰VzZqP~F*e9YNPR!5!jWjp]m~PA2n BXmԬ=:z5?FH:Ey\obr%BRP$T"$pCM_)'_@΋H8p*C=Cm0f<|]Ns߾?L&5.9  zacӧL +nHmLKw6|KxKsy,!"}?qLvPCOu#$wz,j\OV42W8aV#hLG-ꚐACJq zKR՘^ҫ0I2m4O!Cxsot/#gCېoǽރ ]_J }ҟڮ#YJ60pa9a2=jB "D&\?& ~#Ԟ!D820lawS g.GŌYK2 8{Zybxc&l0Ċ'3L`z)_iYx;2|p;ݔr 9;|L?5V/TC?So#'grp C?nM?<C?iM$^Ѧ;t0ʫЫv-lAȽap-?Cn~}|; Witn<$oc䢽w o6Vq=` SxԹ>_qC y"k@ BkJ!'jVil@iұ8oA(EkSuUOU2H(tSv.Ϳxuz3/T•, ~]t: 0u0M2<)΅ -/s5FhRSQ&?OJ*6ùn~ܤx6ˬkZ |JzÔ/50EN3CAZ:Aޗ9~zˏ鑩g ?`1vEخ( a|nzk A瑉 :Za^'T4(⚛uCq<[SG/03f &Kv02-ƖL^dKJ(9َ}KRm$/^G03w\>]s}_:ezZ@8%X=KP2? +zZ[R(o9$Tf|24|XtW`Ņ9}΄ DOTh (ڎ"I=}rHƄt9x\G)yT=YLyeaJ{d`/qNxr2էqd̍Ɉ*kBN,=Y]of0z 6W , NvYD= +m?@@y=f[9#6 r'SZ2Wp 2O7Ww:"v;<mQzl>oOz~SFfH AYj/"t7?LCPL.ـԂ6 jWYz(q#fJPNucc jz>Oi#{?AMCSйv]A-.E5U QHUiߞ{z/ٶ2(Y[-.30Zpzؚ}j=0-Kiط[k74gBr)=T(AAhΛE:1?8Vq]CtbU`~Ko\cG_oگ?ڣ{k{Oz.]霒'$y{S+nn;ZnmblPzV3 }UÀwOt2c@qV0`4b(h0'ܨp2:62 kp~p[anK Ӿ&T,hMz1MYs < Ar impC}eG qOLCt nSNLҖ#JJњϺמ=XxHND-Bĕ:F0D"H8L"ER7-X ZpVGspM[KRe`xfK!mBOn$rK(t9%=_"9ې:'Wb_0]ܶzFN"9t=zeҸԵ$o-Tޣewr@jn]B>w'Q1Jmi6TFѶiH gf2UBahrJDmPӴyaTU_ p}LO?9K6숡sCL93ObFJMc͎7kd%].O˶8~-=m&W3*Vg8_sl`EH;SC{UsJFUk0֑A L"체}8B%k_'{ )]o26o A V)p:q@Ŭ?Eu.oQ0gaN2bD!䍝}['ޓi|" %k5 +G>LzZcM=p>6MQtc?ñ- MEr +HK~{5}6óo%ܕبld;ޓ+VKmJc6_a8>RЬ\ rwhf!(gCm6Il"FgLA~#\wSikprD|c =XۓlUξe%;NAuSC)qsу55G:S蠘2 4iVXbS'nkpSO|ġ7Qښ +QבNv\U1?/允՜aLܗCj~GVUxO" L~8;'UcO*;]}9URp+\?z|Kzp݅|f/)'躟߸Ot5oz?E:nw0ZP5K=Fù==}ˢc%̣\=JMa}d%Kdo +SvYb&\"c$RY+m|5_n;~͜{yQɖ tqܐm~?ɃBK?&}ҝ@5V} fPfӏ%\tZ=:w~G|%oCZ>^t>|uqKf4Uw!-bXq^go7I{l(ȬϝÀNWB&ԦbZRy(kB2T%{r^KQFgrVN8Y%nO +qCIq!/2[?M-r3So $¸@ru[HNS(_ۨI]irRøDFU֛*(qG/~l)onٷ 6E8Ktj۱o N"f!Ns5lk*+(m;84f2B$,tqu0NUⓢ9m;~.6 !r3doL0^udY;5{2Z>sԤQl Fc:o{:՗;uI~C@re? 3Gt5DC{caZA/eq +Y:q (WI%a6s| ~J+gQ]&kz6Al3qc߈١,o>/q w##"x{bgJ?ƺ}\%/JmSKSK0`<:0  #˰ oCM!sX$d_DloĚl#8E-:1#oUF+TC*S1ئmk l̔B'T묭'[5&~OEcp_m=WYu=>TBY42ld=X0mzM-5+/`@&Bt@^ guCh6!Oig{-~3s^Vj2]w]|ˠ7/[1͞ZjfӄW\<_.<^Z`345aM#0=IO{d_#/Ad!CilnQr f2r30f#`56aӒ Du3tCB$VqJ.$+;pOIU30 +b<8OU08r^GOyW1?h2A//>O|~f#|S[;xsE9!.;|wŋo_npkWOGnY>l2^L7] iDAV*zF*Wt2 +e <~[u~||%z!c%>d ~?3r|2(|(Lۭ(VO/5m!{b\!k0§9q뗜Ў_iRФ4j6j/{*`#!-!⓯"/,El3ٱH]%(ik)AҪNY4Ic|;QHǖx_FEXn_43@T>mSO 3-}:%(in[Z#+ެz[:Q5s\Xg N#=>-/$cL +?Y]$ ͌3ea]i{Zoi絮 >.lXrߘ"(XdEY-6cU b6e<0"Y<ڷ@Z\xH5u\ _姂@_,n@}@&Sn:y%B-j?f4ݛo[JsRSǺ$c15o1,%º{8q̺rvVda:RLchBE>PGx(Tj&+ +~CEQ?s5A xB TV@"s3瀽:O X1 ~IiY'̍18B~,6NP6T ) j)_@B`d{Q!u6E =B~3Wkq ̞3eKܶ6 ⻻%#8_0XGEnSUq~nU9"χ/+.뎸sF + WP/@oY!hwVq(`.+r +$raCv:S,čU%fIWC:Mf~afR#uπ5D=U:s 0q;WW88v<&l+/V\pg:vm@œR)I2.Հ>׫._sh5og]ߑ[|wSjNpU}EY%5lo紿q@]r'q(t-[DMTҝ<f?JZ(iVl];IY{-}YJ7wڡʼn!Wl2J=;Vc$) ~lPް`ئ֡~Rc3lsxA3E75|?隇UBթ1 V_ +Ӫ Xs +b({cUp +%䪡[*ÁN?Jw{J0gǝNSe ~'#mfLZ)iOl7 8llq 11c#-Nǔ-[n6haF(-[$$"4eb'l}?G vՖ=J;dh.k{mC"zgNճ|GښGjzZ]bmp +F^nrST«jעI]J]t]-R狷8śf=V>rd2c[dh6ÂAXkf h*5 /'a@b0@d) +  ¾GtW/pJ _ENG2GeM>*;s\jHp|Z`cnslڛ&wSE )< jBW\?&7~QIB[;n2}04V5hVĠ_ = TWr*8LwvS:[M42-?mZ{@ ުrl HJ}P<€Za}~lNE0OpFd2#VfKb谤l=8TmjZ6~|"ɧ:tݲȯ͘ "7~2FX 9I雷nU_Y9џE:lƹ5[ޚe8 Pk(zNŧH2_FEzmpY4m]X?p$@sOåAP)zVf_ App:ը:l㕫M A͞;û6;Q%Ɔ-E{Zy3ۇ⼄OVNZyyNa\1kE9_'v#MAԑ'Ok7I;e,![ /(Uhb{x (/f7Z>5d#C:e@rv|۳$G}iv5[6Q[o/H#vVg|XV~ +:qZ'~K(-4\dg3Z9izP{lgZCj'y°&wYј#ѬXUY5鮀N-C:G[sWWN-}>YLy7_L'W3DHe2IZ ') w.)BP&ô^J10Sȗ 7Q/C(@t#/}+i-?Iӎr1 +"Bj[rەqC/mKs۷z[ cD>6NEe{%W#9#~_*v& ;0t1E)GO r8ѥCr-cbM3*emqST*79BP2C$I$Aʨa%D%ޕ"+e^HBk.ikԗq OM1SRm9 JOxH1MLSWQ3Ia߸yT=Zf :o.Wڅ09& KmA)DE~ +\; !2g>^ Gk4);E0v LQJĉ.#>0F8S1' +թX)B?QOn M?/+WVC9!n<6H,˔ J_*}\:Nh5^p[L|Y_<,-˒LlX~ǟ'>?"mo=Cg~ b:'t{-أ8n?r~ jJF3я1EA()]F|aZ +P+}t(k =~Sl WN*y»6yMךΙK.Eu4OGdQb/_ArYq!kLaV?3|i O)g9bWWbAYjWrɵwګ54aAUh.=ih7΃+H#OPE_`4y<s5wJ-~d&I,}Q"lUȿ'&Sx:FcQm-\rtN!ObgLpn 9({oC;_-?=y}bw":mL!mo}@7(Փ9 4ʾ5HaU%szHguިoZ?;NӾOB `A±8Oq8 { "WelJb X(%՚5**.r54R_ԘVB4 0+YTٌ] ~偯M)Y~GיQ[6N+ã9OU_+蕋u#>9JYoNF"/^i?|Cz)Yڗkud G>[J !5yڛu/@P,xU.Xf HkIQъ:BY xҔvgriuh[ILOӒ@(޾Xaõ]cps쳷/3ypˬO[AmNT{Cţ{G^c"GOA3>JD;Ust0'qP}غ?%+@|V 8o6+'pY:B\vj_( >'P£{S[㛽N[]dJӜmv|ۼƩn6tYҵz۹.2+&ZɞmZ6ҜY2nK +A'[>cw$[M’%" sǫDzќTG!.ooA3'0죻ys#^% [4.ܟOϨv|B:}!m X8>43CŴBQrS,l<,ipzmj#{LBD9ymi-'W+r_9R)&]M%;d ;r[ BuΛSa +s)Z `X: z/A Sw00KLu&v=٥0GvI-Hgi{їh] +X\[f*Ӯ:a-rTGh'Qd,Yf;`Y2xi L}18C};u>N}T<}g='ؠ7+ζY00ʓ%_(9yVdv@ll@NK6@x3,giEzhW>FziM0q@0jVq :755EZFrAcX,o- 8l!0#(TҀ78]Mq_<Ы!g|zC櫡uI-1eyDY Ct tOA_мt]0) HTGrNWΉdB$);D$x8~IK߾+r f}.NITQ ~ʒHy`axޯw~yvi5>\ hn{\łd]OycE=2DwMdo3kkxdymɇiijfx7jC-KMhk6yrRIyˎpP^juԝfk:왅8S!AlK77ɕXe/$R5gz&L0s(]ލ}c:9&GgO=d {g 7[ĩ/Bقݧ&?`jt OԓٷN=G?rln\o25TU>دNsҪszklBJQI_HɏYc2XMأ| +H>(AOn8>f3ỷZ۴mU*vΊz:YBܨnCW{'+f11f9Oji"6[nߴ|x@B =Җ\aFuMyuݗm{fVWIx]XRSM>sW'c^v^&2x]ÿ|Z+f[|J^%D d X4>˲qa8XTr6M*G_Iǚwzϵ2oҦJмju"Ԕ-){}{Ce;\}'o[Wd$VGոoո,VXUl0W)/o'*l`vGN_\Cȱ8%[߿cr>Ag|<Ƅp4!28|اd".@,P5vNjP mY_ @lMY,ⶅxOӭjr\5fz RZA/-Mmrɭn1s\jts2HK^鬿6Oz6Es\ܼhf`@^p|R)f\lSHT6 'Zi==FN K;E:.VCMĵ^mYW{:}:O ǺpM1sw>g5~벉f"eYd2ů=nx_p(7yڪcnƥ*S|~hݗ5 nmozό}K\c=[+܁cBm >F&/̔L ,֋PHV]1Nێ =k.|a^sʳ-[|zM+fsbE; "Y +/c+ez0 Gx~bx+ekg6ϯJ0yzQЁ:]K$?Mdq^."($in( %%4)-(4"T@ "rdUUpY}we=ߞqLf2ys`Fes.Fea"H.Ae-ډ´K1w9s7wLkA㲵@du#gA>T D_(_)VS_w=3W#؈>p[ǔr荋ɍ_lsiWݼiU.Rtr/P1^Jv&5v(4k0lN=#Vcl(O;vKgՍE`r]:h0HiH{ 1Z +r= +` V \(tpA}vM܀r~5IAANⰒS*'O5e#7SMFN? m~p)wS=Bi{M >㥕u!azf{Ltם~TVcze_8B7'uɎVҷ䵥B(MK_x<<gao|bsHA7L_ u% Q CQ9C(іE/OO>-AYy }zh(>ݨ? + +w11{Oa?XtyYi8JIhf%OSXlm0Mgqӫ`;\v#cwߴp.+v?cDyq=8\ySr*#ͷ&g6x{d}bfжTxY;O'ߵeid5v׸K.R~Xey5|GMˈI-2P&h y٠\+Hc>{WjuP +e.)s~^0F7P(-4!T?U?h3oG\$."HV=aȴ ͇wY56Pw)YuCBЧa<ٖ19+ryl.Z4o]MwSR͝rNV$xqlsiv{*XvVsY;@}]R]tɝAH~n-pPO):Cݼ vo)h2P8ϴ|>" +$d[ :ͯ 6^׹i-3 WPw ݐxw?Ay0^3KEkZ.8h{w7. {-GL W +4 "l,m*8FQ͠dDF{$NLxw ef'lJruuxLsA#ʄK"1C+eǐH=$`B|άYZ*'d.x;3@^`P{D%|m^!Gz M`^B}A [!;Z +>mUh.:TOWn֪?bhA*KKg͹fZͧ}8DUO!].|܋閇o: +ؼ_֣50aaI%'pD[ȥ%^ޚ]-qs%J:"s8L'4;$LStGFgϮ!?;'R @J-(![Hxͅx@}MCw :CXĠ*#S6_iil\N 4͹$l=E`hh|M +J`P5ւiŽ5΋̹c38,ssN띡ˣ8ďTҷo?:)6fMgm6u*vc!]ajY-d(99k/ G8dž?3(m~]u:DcsNj,cሖ D6VjwCSl M,8S"`~=s' +4σT4Mu= +}|'1/9bĕ'q=;CۄĵmBRۣ**n Imv oڶ + VYKIVkut&[dC\ud;eTNeM#xzveYھnPb֧Q(eI1 zfu7'+12 34;DF ۠"GX8Nc03 5¤0 n*[ W-6s))9WP)ʘu/3*uoey~ =hy"m٣\A'QwY~7v .Շ +8g_[,ع?+lV4_RvPE]p `f5Iĕ<ש#Qp㢇bM赬kԅJ]/҈5qݟ2_Oi|N<Cuz4|_GqJ''PۘsձI:gejl[g3f\&(k`™!o*xy뫞FDx?63p=&]0b QB?~sD#dp/Ţ(*z|^;?N$vM~F3hη'݁W0;`u9ڞ8(UkAd@r&xXCEe#`$Lug>Z.e]_"ZnVEeD|^FTSbFG/FG3\Ih;XƎ13tH>V3[*ǕŨW{Gf5"%:_xn_|2'pQ%dZrh{.eש0DCt}D4F0pسޏqcKD>Iq= F̂pC\B936u]9_@MÕ!طf@h;9ƊFS!/<2rz-KY0&H1Dn˜&(Nd WHO$'X"HvDCJE$375HML.ߣ]oyDOeUKf%F̂7~.H_O2:HXb ;ZXbՉ|FV'~/x=k9GYٌa0b.kSrIt*(B2ec:$YJHkk6;mμZ瞿z~!qQL` ~i_k*ЅBI$}UDCsnT.†_ 2d:ItA e9|KP7`ggѶp5z 51=YG(I>d?ݖZEN@as-U6;*%P,UQjf|Ui=-8Tu+6iLDFb~R_OZ@j(lDXPFHL>t¡k;њY +(7`$g,j>C~i(`ڑ\_KH]f3נ{"B0!n8(#Ǿ bPT8o{J]1o0]j:nh|$&*>إQ֊/k]+}A g/SfDe@L) uGFh15B7 M<R}Uh} ;CN;$LEH/}>1i9F1aП21fQJkTBePYK} 3WJݵ(Е$&uG"UTϰ͓|K)\UUYyݛi_VD֝# kX%쉒lμ#METDN:S9a9X1 D뻓 8ҭ: 3I)Wm@XMS28itFs!F>KZgQm}tQ#7o8^ZMm.5ȰNK~݆{.uJ]j#iPyCТt 1eLdiBHz.%Q䃄DK-N-'d#" M3S!iȜed}j{0!aχ:h#\2mR!oB\@`Gоl7լsu!S} &w6j + M$ڗc&e:s0&w X˯MH[89E:5hj{)+jaoza^孛+dQ4>mOZ'U!,ZFz6DG8$8NLCl t]R}%RH) +T|%an;9cQbV=˵qm6ikPc.Nߦ҂W=rZDT./ag^! b7cܦ[k\#/q}ha}-ХUJv{).]gLwzmHO P/OOv)(AȷR' +GGO*hOdosv8d+U l;P/lP/|}"Hzu ڲT>^N6g0SG$Hse)rYg+Jdaimah6cF'뢣lF950H͵uO?WevEkMyqS aUQtqqMI'>Y#OfxbzDks4f횀8C`zyx؃+xƓʒ+{6uN dv~=+<t<"*sE>8\Ɠ>e3BFͦܮ]A: {{˧y8 Eh[滊DWHvٔg|ņWW!֞n] ytwV]_ =$ܐB"N!rr AgïhB1GS/zߐ薈> vAR_l7 x:Uf1ch_&H"n:T󨮳xEZugJ_iPܶqI6Y3:$~V|.`)!V̦Q6£ńt1ν==_R$ Q}fM5l^+sq14kI~ 0 2D6 i-]]AnJd[tҞf$}ф~L~@nzzE׍,H fZ7.-'jq/^:ͅ!5u7J[R)T,Cr +h߬^^`*Քz ˇUgtS;:kN:UD6 ]t{WK)?s652_{ /Zړ@J*^= Wm &N~@US|U,p6ZTwhlA >@1dWnZE"fӰBB@Ke<㑊B]vO69Bj\ȑ$ytvpLR[:wul{yNFW\UFؿ!iʳ!5/ڪU&fݭt-ճ3 2?tR_i]-f-> 20̟Ibӯ{ Z.X@J4Y",)\?% :9؅M1^/@Meg/uQ s&^( "8TNkEPRdQnqV +$GyYY +*/ Z2ZBw6PXBrs?XZ#l™ue +.5L˵(5QY%Mep[jyj_qq3TuGqg]xV ⴎ+)l8\ >[CQB?6;=IDy(+T:P agc~N&G|M^&$cѭ)`x:bBkL&qI1^}8$w,0Aci}8Pj䀧U}שv +՗(-Ջˌ/ +*lf̭ +}{#G׃U raC\XlO4*1}hb9.3@&u߀&nPPR/ +6Z,n6>(Av@F!k^&D1obn72o-8f]'']Ա-=CXf^CEϼ<4^:uWq'i|M^1)e#Aڙf!Nl#IK58qWl\Y|՟H/ʿzO9Yց"iK6ȇv }hBKv7sw"] ǯFSnWN.QAt$=А$-ڣ$a$ّj>A# !񾆆]ңJ`i=E:쉄J#nEv#*|SKx~V#zQ%*F IhL2M\&7IiÞ]R0d_59hhAzP%ԷN'3JLP}k;TWJG$) +{eu(*f|@h +7 Н~tC@{.3.Ǹ{"AG˾<#E {:$x'^ykuDkG'z~D2M;\A֣Q0TEa|cB9ztB?) x[#BQر)z|Ld~y9g(8jQ/0ݦFa`BUx0~nt A8bBag@DP`QX`h|}])?#I`|L@aP:D3k ԣ?.恩 &a s ֎5(Ա~}캇&|xt]Lovy蒢Ѝgrb_<0Bχ1mf?:~f|=;1;SLZXr35=w<͇pOLTEρG Ad{5ot6ߞC}yX4k Kj֑OP&?wVSz_ؾCe ӱu5e>avT99'23tr@0?giӻ.K2MkbiMۦÉ$u˳1 3D&nh9o]'Nu23> 屴;L{"YrssWEؿL'H+׷/yvģ),S^}y w/]]Ouu:~ZBV;S3٫5JQP sav!^2}7n,Zs8[ݫƍkemQ?d]<GaHSX\򒏨!ERsYe\VR?o!b$Xk.8=h~0]س}]P_ъWZ:8Gđ7W޽0EwB]l\Ke|(u)\tM)l>Am9>/.;m(jhET<9"æ?ǻ77eNPgթN%f12.`.ƌb! +Ej'GVQ9[%ewjW>oٵ*y:gy}?8cx~o=әOx칳[J./QzR9$AocԞN<-xs sDPjIM2אz6o7跠X~Eɠ ieU uSq۷hӑLƛRzOe*fi&k9V ]CcVʖ3SM&w8^40>8JĿlѩk[u鼁a}F)B99ce& +1<R٢-OGm^ktLZn~sbk8,c?mdأ-sֲIv%cSjv|SKV1nmnM7#=V8y{e'o%|Uy}ʕhOlNcy˙8M7<5澾z@L~o0=6ptAZ}19:?@䚶kvm~t[K%͛|}NQ锂YRhU+T L5 c6=D#&ۈ6GY1=j"cUs#'*tyc< uTB,`8Pb̆*zzQ|:#xR+?W*"e9*dbR蔿 3K.]uDvŵVxF8xݡ +';vmk4i='QI7ؚ[\aǦJdI)|Sɩ?W! [ MFTlZtV(Ksyo Y:}Ro&uFOKf]mU.MgC<&> ,ɩ dDUYwsv6E[ʓD&j;="wsd?.塚wGpD >Y5e9kYƾJ)+:]?ɞ&L vQ=9C:Us#OאV[Ip8p.3a_*J#Eԡj^P^aԜ6 +ĬUDVJq ->Fhw CP +: d-~}*Io$2f9唃Hrp7:IMr 7Չ^nn +=@5C0&`y)8d}I O|\zC{"*cuڔ13]mgE_(++CO^Yy~CDYƏ.n +%G&~o%Je춠z vJ7eeZ,J7$+'pN/EyClK GcBo +aLV^pG^Zm#6#|p3O@, pFfJ{Gzj* UK$$!!*/Qb ( +D^1< PB!!#" DZKj}T2tG[{ܳw=l$7HvֵڷtFȎNm˻} !V^QS GrWkڂH^^ ,{!~R#}UJs}3:ɵ%Zp|+OSLRڼN&B/cw\1BT~Lqf譢B`c7:] +*`0b8btl QkQzז>O["7#^HIfٕd}ر4{eXLraiI%?鷦EIŦQa_haOu> OI#j&l}`s:Nc^d> ^"Lz +ю])ZMaƯ;zsꏫy )͋=8'NFlwL?92ä%>Э~,%сw.YåMg$A=-0PoLḗOԾ(g|Ҿ C=Ϡ#=WC,EZP3 {)jrP_ ^jVI"mϫUе侈;Nܫ{s4"^alLЪ oV/JJx\ϽJfuv+)MVJޕgOz8CvgBF֯}FQ-JA >p֫/#LRȫTr ǝN{p9q߼ Pɇ(z@/(% `  A*/c+l24$6_lZ0nV*#S_96KknTdž'ݰryflcQ.A gF8T쟪LNH_*⬢T`WcQGn\+n ZI +w Jy!&q>=!GMx7Pې,K|P]+[՞h? 1nB-2u5o+~w|{#MQdWm\QLZ>ŽhN|z\=e4aaVMWDSM1D-*^o؂ZK􁭈L9 ǭUUw8NðS8N@o4C.X Y`gbٚo,0L@`o+u#?tLB*[ߔY0RvsjaO=T@tydh2z#WL "~nC# ILǐ59cGZ3Ȑ&I-ʡDoP 6v䕏|+a2 EZ!8-0n6F!׆Ez!#GS1DM5 0ʱVK/&uMI#n@:j< &¼0L0ey +0^170;o\y$tRͺ?#^EqbS x#c4viL3)PI5z~Y/Fc7̯b+EZ#bq&c0^-؏t] +dVL0|،|21F"Qp}nOpEmxI^nU.źaݘ_MOmrP-֍?{1=R10Ŝ݁ 9MbJ[1f`xt hpi~ +T} &i!*N&m:/&Pv3d&p'0}q (62|0„ BASag\0eK;&-p^:Y܌|_Ƅ@Ѝ޿sIUir59Y:'C`XTm|$7q N~g kOTỀMT~@}OS 7 9u %ψ0BS3e \ﰾ&/UQ=2SVq^շ&oQNi 0BշE9XhCS>AAk!Շ~(>Zg&ie)4$л~ȵcPש3e% /Zg':n+[O2,Ӯ)|ͼSaJ?6]Iݽ~SDe7BBP n $w hrtK:jQɻ^0ΆBqfrh[΅uOe_cOlfgN5d?[Vn*b]<cGdI.~Y;_cSZQ}T.>/v;B|N׶'鞵QLj;yp7.=u#FIb}@ji%¹~p ۔;:~;&g>VzUќ9b.)Q/bYүYğUmZ̿T3Wv`H{a;ab~oa@B"ШJl,nŀwV]OzHhAgbug )y;6fvWg!SA3RÛ:26i& >L1B+mrE0fpAϭ]rj:giy1CSSշc\oY׷/v̜x5dP^%`/7,}|eĦ, +5CiW&5PZ +9EG'o'ϘӬ%$hcp -go9K`JSR`nI #l.ӿsNWοĭ~&:[B^߭rtwm;WRbX +>Z;f ^E2* +mll]߆D +\"!_+/~8]0L{+؏f(lKo /Ouا؟!{.cziuNZԩo+, 4&,fD:uLG?FŽhK, W!o +&F}7"}g h{@aW f .AZGC)tփLK7" +I(_'TiDS0ocޢB|T9/KҡOmjfZd|qJz>]j̏56̪O6dÑ! ?BUCsQ%pD\:7ZʤK;mg/vKm3NE6' (5GӷzI:E5_Mx#;)W /y=Qrj[9:pزePÛ7&<ߊEҁT!tOoBLhٜۍEU^2onfRS +9E;Vn7(_nq/?]6̟|'|jkv_Lob-Euk:+kt{v; +$ZU Hx%]˭duG:+r;2!9i[=A^ͲJ.*hGyjA e8wΒgilJ,h<-;f%5q"UQR7 +#޻#T-Cx}!Տ4?q;^ǙsXf ԎqlOQcYLM#XJ AgU+݌p h(q6-F/t#(E E@%guoPUehKZr_%D(b߃r'W  Il ajuC-$ē:85-[Uzzܟ}-,絗]~?ՅZ8:4J+j 'Es9(Ǹ |}=-^E6u@x`4G<`GAuP"E -V+H]e֡PZ$љP$Xq'ݛp⛡.on9T$ɲ&wOE2r +I<[& +Vt.޺~x[p\xkٷ)w\ odLg.$e#]XR |Gqk1IpXbNG}}9d@Am "EdBECu J6׳VTP 7hJ|i5('P +HFZR IH7ָ}c5]twI,:qQkM8Yq/.퇲g$Œ7,7Mľ8q=)/\+ \-S3Lv[kl4 «fW2?E]ز,T )? _: 1ҴEҨ^(gT=8eӌ?l"OQVس<}7n?W*pU}gg Fǭg #L9|^+Rlgw:3l?+a1+ aM=%+ ȹԶpO`NiH {, lYlC,@y` =:9\p]jp5oYPᛏ5ԣ~GI8iqцjmBի}4CBiG#v8_ˢٞS7Q$63m?]>!9o8ju7oxpլ og & zp5\pġyȼyO3" Kk@~80MP ]@m zzm8]Iz&Ɛf{@cŤa4P4HXϚגxh%YRHjδg O|lur/og ̾QHY y1VUяYϸOAțp޽`F:w$Ig[o tE,8],Ү + w\ӰוXw\67ߙGs4NǏX[S'\:(~I +].SDMj]Ԋ!(G  AW4IǪM +Y unŠR +=$uΏ {ŝ=\CkFYÇnuN eXaB2-0޾b߳}8J#Ʉr[%#dT +7u}=pApK E?U2/hOVQրTsL=~>?-ܡnZԲl)/E}Zc +^5E+⍅nEԻ4чY71::֙'riߟHtN9&ȋ>)v_&_+&[y4qt9%JzJߜwƭ qT*W[iܶ.VuVi\=eXv)CiWۑ_zɜ2(H'629L(';KFFQ)2ȉeid-;V`}|[(*߈Pᖮ*UE`+kq=QXhlCFUn{OE|2)3?v}#qc\B.M"TsYcy39AA-dĀoD0J-56<_ BND<^^L./AC +CCr4v~M? }앎~>rJxq'EkȸcW'iU M^C?wV-b2pxpXrȧMs}h +j +.ygj/sSOL(gU-w $'7GݼVEF"C卅`o&߆I쳙n!#Iևμyϓ@]F\]{~-d&u + +#> 8e9ӉH.$/D N` N =JP;:'nNN̈4y~*Q5u3uuk,~Dz؁s?D;yaEDk)\{8胜gYXI-Z1O'$=PN: B샬k%.2k^S?οwV7y1o4>׾N֙G3֢s+bǃ.G D)Ջ"!~KZ3Aw__ZFbNdL*>/@ݢ>:sz"|0E fNG?z+~ˇ~y;^V?n_r/>G ::nOF^`}Ћy D^V( + PA6jU؅C3v8M(p@/\?rgu/燗+~ 7Q'u6Zf:1yZ4 k&\mƶ.n[B-{ Nc|GU|:Z +aq,]V˳HѲ~yv=E]9h} nʰVgMP@w)VED(ð */wghfzT_1PKt\G&靇Y>l֮OWhF47@ +m~`A@;/!Vm<~qg<;O?u=gnuLbVg٬ CY]U=xrni>4&ڍ=ĺ蒊mcܒn?z|/ycE{ydTUxm~WO?I]&ݟ[ ~CJ~ڣv{Ivw5Zo\Q[bB=NS0vo[vEWzӟ<FzsҸOsoH>}mneJCƻח #=FvpFע>wТ@4]'?u>)CnzI}ҼOѥ_z]؞Y3mk]fn-=/JNXV#햔NIG>n'_Й^!+t:컚/ӛ Gm%h~Ӡ\QM[35\:hIH# @h J ] + 2DPRlU0{׻&{sJ|maC捑[؉-U[d/DS?kKjDHt =:f1r5FKI8%ߠԷ$оUPƛЮ4=7cհUp%-z =<_{arñT5w ury|qN^ I/CJs_C `` M%B>c{Q%YVE70A)6pW\~:-x ka8dtTAm;[E\۳6Kطئ_[S.T=andڔbas.L^>3u$ ,Ye^+iG4ROb+[C-=*@_h+تA,fZp_=| R00ty~9]<"Ӑ`SN]5]->gi:WW,u85̴܊k͕T]u\t cBB#+s"9k(Ks3@sD7gs'?+}&FkW*l¨mzcbIVcnraz~C#J`dq oD1O>~8% +\81ާAlހ2 @J~!sSr^`@Nq/s&Y;}ԥL}v +bRZk3ӧD]Nav{6o_#mM5v\rkR=)m Dז8_989eӽ 3 rj9iZԯ+$wԬKn=92R3^Oz|44*}2=nkƊ$K̞m]Z6[rr4%hQu%}nR*tW|%0K}Hy]" +o)ig $T !(> ⡩D6ȧ{@rj9ɀڴy)3e`.Ve`.]4k#8urUq$EPp0wk.\.#eZf]!}-Y+x(G"wk;/?*gUP}ikok9FϲǰW3H!YW 'jCKC@L1= v=_7m4ށdCLzrj, A^_cU_`jb7lڔ UkKS0g6Zci-s.7*17 +Mrx~G$T +ŜR鰥=5|f}!(ؤ$bX7X:-L%?HScvXjn_"~vy1Wo;0$8"I|#Wu.[QDPJ <΃ r)c?AȫnrʆZjP1"3O1~=r<*.4+ Q{<%?N[y_m:eyDfįf%gMsJb[|/*"xd\e36Ʒw >eUajn#ӡN7+/|LXo Km=h\?!zl ~s9խBʆfe{ɾU尵}6mړ]AmiȬKM֜m%S[],DfpK͍y/g`Vҝ, \±m1> -ZoL +V5-zwM,tD!U,uF"(h+}#y$m86P< CUfBPC^ByP#XUQ.j1PB8!d\'WClFIFZ~F?Zar#V5yHqR$CluecQgdUiq[e&.c]{(a|IjُiE +}ylXg4lQ3ϿGIOT{(;k&s:{sC&ғ")v-O9"!IL$J4Ӧ?jUƚD:sy~?U80GrQVR?y r#ScS0'd&<>jj{d lKM7NJr g5oI"]2G}R[i{wWȴmvj堽kviI}'6dβ)$.ozg:yceM趔!ǝ&汇 +-c(`;?Ǖsp(qI q~2ˍL;KIY[GFu ɵ;xʝYn[?s},g^yycNw3?th!=spmSl3lXi%~[e݄KZz؜3xaÌNS Z{i\/]~*.J1ilhBa1lh]9O2Ȋ;̃و> igy,~֑rSk ɀ&x9{>x\fq LyɼNC}"b9֒*'}ӽTnskO2#'/d"'U9tO0;xl̞Z9Xef )ϗ_"+KFKc亲Ob-'d&n! $W,sE[ʑ*N M)* .Tg‹ߙYxXlu:Lc]%1>,SAVXA0n)]i$ ".(7Hk y[~JSwvWb Ʉ[GFP n$<]OsE!/ӏQkEʉtIܑ׺gGCW0, +ĝHuH]>X;.U/C>p֛~P鬱7=|- uhluu(R;וTX ~2ixIYFFKM dXEyE1SnƜ^Vڧo{ӯb~+tUbB1hl/HEFU@K\(,$󶐬xk~gi=Id@u5\ee.˽ 5j)Zjn)Y-F$)֋D8p')g) +ԔW:(!ct3y4뺌ztGtl6g<ԋ zN%>tp:7G~aqhzHg}ƛēzr;*#y}@L.n!%:\6>[7tד-Hox>tD>tqrv }yHrh8t{j+U~*?X&i=,t22 &-D.~{3{~|hNo%_'/AևBA?ЏI`\vuT/&5@g{H)( $[p2PD`Xxh AT@LܬIB+u$* DF \}؟W[MwHd+nW*V@돇:n} "`:6'XP b_JQT<3*֎Չgf =Z?}Pq@{<~Iσ2RZO֑8gX(ױVYp:BmA=7t5]$f<]G2?0']ƍwź=XZ`oL=p"9ѭ.'*寂PAW>\rNIETsU}StNOwGC/-F3i4CKCH=%9ɥ$&j+(SGEv/t]Nfs:= >7GD_ +I\g _t0 +Wp |5@;/ba?x?ÿSu0Go0^!A>n^\Cyĕ! )q^zG1]GG tt3nh B")g*.?޼$%I/އ}e9ꬃz9%,$Fq$ΐbV2a9]OѫpaW>\"OK1Cą$R#N1kK IEw ?T5;$i ffvK4YEO_;^A~6fX;АVcf5%'Y#˪;uWC5u?kW/ct +\uF)w$ >g=G8 x7tYU> aHއ~B6p׿dctܫqmۡlo 5jAr-9~M,#M\@`+y gn7'g5q~|C\0]tJy 1j#4BS蚹j F:u`C\bUز%,М:xZlݮ唭ftWYycըNN\r~NaG+.TyU@a酒VQؗ/9y췢C3MI{,d*ҲyBnVpvܝq!7Ә^CAWA]3_8O(~qnjq8n?i 5kÍGp܎3DQ_>H)| |_:DHvSKlȧ0`O9iaX#E#1i"gd͘[Cy3_JEkin춴()x'zl!(42>A^j \8_e`t[#7>8W^a +cXDIr'uDz_+ZbFҴgt)ٶ90׭lV$׉;kpK޼䜚>ssǣΰ 8.SXi8HGVHPwr# (BE'ҩ .W3`451(p#b?MsH׻+#4qެ&yؚS 豰PmQN*{2eRɁ \IjPESU]dEq|6[L[=encG%T{¥~_YwpJ`.χa#E㥐!gy25z GS=;,ذPwӑl^e9 +b5yDH=5؛oYC of?M?ǯq_YzUjm%%l]>2'_nwQh'qm=;lcʚiֽdĎgn>̈Yp~ޯ̛؟i8csaeyv +#uG:AXt*E!uԕE=Ae% " @02ȑM,D# C(;U(eFr@ ԊhRC??0~_KK 4VQԁI4S5[9W'Uk?X*z$m<^'Y%'B%IJ >`L%=DieNQ;ݥϨ^v]q\@fv{^֬?%~ >ߖq1Љm.fvU[yrYnr4wߧHŚ[򩕞^.+ve3SnŷGm->YPܱ(;:gf$5K_9VdW m:l`%}8nKs5\^]Tv-"eTfE1[|ut/'/Y=ٸbSQXCc3ZNfWv ՔA?  +%4},^^|#<}füE(!'UrLgT?, x} _INd`|ςSNL;a?Yo-˹| UŅ]^,WIO T|{DscW\3iSAEny&MTXӴ|y%MJO]GN֩߰{?AVG'* -Tv9 #1oJ)~(Ѐ0&F8!'00䮮zIfPR[U,J{:k ]s964\d(j#;/vDm\P64Zyttj3[(J]?Qm( >Fr1,} !jh |X~0~҂+1}6rh=^@~O%Lnh׳V6pCa Ek +e7p7%+HF$*=`;mSʫ[c2I]^b5[| #:e&h˜@qㄜu Dvn6!5u45|2yrR%z@rr!+Hxx'GK$='\-iu礲K0o)3P01)`ALA6Cɧ^59ɼ>8^N};7;9>:9:9術Jx-Tvc2;3'&a&?&|8[׳sсmWDVC`{COziF5TA5wP͢ 0 !olIMX.~(Ѐ0N#+a&r]!OTz>wر^B z f Coy|o|RHgT?24@q@-гy݋>T:$ q0 70ڂnJ90=@h},Cn}b|(!@r?#`JD^6rc6.:в w ^z W*%NDAx`g v(Ewb.>![/o{5{}[OD H ࿣!fw}j1]?ˮv]jvn$NSӔJ5* miܒ\HR]v50{b᜽^k߾yy//ZoR^>Im4cwrco%|[1!l I3 ]ބk`|Bǣblܯ02Z1<_vq~|>7AOy5{>;E.BK t/֢Ew=㨃E"ᓶ]>JGgRdƷ;+A߹RuZՋo̺}H>#m/]NiD-AD=z8HH:K@@} ;|z-lrH7:KL0 +õtLguCKIVAy CcL9qCE}=//P_/P?ph_4\ /Rx NѬ3 /m'D/ж;h=>w@n PbTs9:V딣 /y܂/POF^`@^_| &5̗mu]1m 4oS1_ b/ӄ_.=3@3gwg& |}mj!Ӧ@x F ӷCxkh88(8aq-L8hw qRBKuT_Ch uw; jORHuuurx!7rrozr6׷~(+qEG$ӿi H2K"I/$AD-ؿUjj7*j~_joGjnV)Pb`ѫvvD'tnHGx9)gvxu0*]$uwB"qiA^=tjǎ NL }Zg,6Cvk-GҘNau%ݜM\tw4b:o0:ߵ~gUVӛz'ږ/ݐWEO9NtW;nV_G_rE/s)'}*] }FZ*mr͒R_;=Z(|(u߶xMNg[[Lrf֭tU>^zi+egTlJ٥BP_TYy+== 2L,ʦ>I_-wllcj8+dܵHSeo4]Y_bGLѳax<\@ +A] +Icߧ9ifmzS: G_5o SiZ`L ]qfC go24:iC0QJn$/kfgͭctd7_y7cuD+wrˣ;,z{nִ0ތjH֠qնi1 ߑ8GLluRϛ&=:e<9Ap/۬ӥJts.ƍѸ57 }MT`)SayEW9[q^;Gy~Sc/EYrr5raUZ S:\ +>1xF%0Xhc먿2P|Cjkl]۶Ϭ_e{烦7={rs,̔>.gLB~أ\4C*0#io;ݛC"ė͆b_<ub FIqt-FX҉I/HD'WI>X _$ oqY+]޷`)6©~#wM'cMDoruڔ̌H8IvX{Cg;}5KaBlدmr7 n|ȺPw#:v< jz\eeE/rDo vLвl IH mA/HW(h7y +&mܓ +cS_,Iȣ=ȾDȩjVA* ̙ P3)jg5Of45cw~:xC=/V[v҉5mems)qq&scs5ΎgǝUP⋜DP $0gfhDgyO]5Doȗ_5) >ʟYc۔ۼWcj=>lq::6מ;'Ҳuxg\sܘ;>!6~N6w25}:ĭ4{f<ѝӾP*=MWU}/5LڒUKf-NGg"at\~(EN (P3 34`J"P#}VDh ^&Դ:N9_l3h5-a%hۮlp_#]4p uz+U)n0qV>yph^kb^mĘRiomlQ*}>PMgɚO+Gu"yaE, z&]Qբ r_l S:᪙E"07XUEy)W+!w-_rǤfYYfvjʼn2rBzxtĒ&4o]nzCsy&"]FG ?gT&O#y O&R?S +/A: iS]&´wm8y_ik;:x[~֢)x׭je25;Y@+`LxVsU4_ԡbU˾ьUQ=Fɇ'z•FE+)R[L!g!$!q(b!P0fhdM%E KL4ӱ1]Ŵj8ÈWͪ Tu]k{D45:]UOLv<:wʖt(jUtB;z qɎN](^EGti_Qq_spԏ~"%V iC+muh"!$O"d)CH&"PIBq:/"΋$"ɁHr sv.a7[J>/[*5z*`?%&Q0ηX%hyht]^ul0uys—9t#b\9 B3zP٧C[C<' Xh. z&]Z8>Ln GH뮇z->] eo>do rAA}Eȡ++B}Eȡ9""+{a}Nǰ_x ì +6S0ONZ:zJǺ` w9"AL*÷Jtl0Fl0R3=a|Eݽ:)P $0gfC0 +Ղa8X^/hMQ?b>3NzB0:F<:y0ϓψL<8ibT~,H0@b1o, 4E +:u%ނJTBQ$AEEXUbOw40v{zc?PxއKWN{oRc?dn,)FgNNNh&O8b?| -^Bԟt UH|(%>Gɍ`P[|( +k$K=W }{Y $Y D|>ˆ$}C[3Pt3X\MByJC/Oa +a"X'}r~ uL/Bmt'OSD}@ngL-,d#Ab%Ԝܫ=Mt"Ȼy;-s .;f;3}>= 'hc~B]> tQgjx$~I,Qrben^- z. tPh'v&g 7 R}h~f6 ?흛nl*6 %Ȼmݥt3GE7s ɖnVV# 2k5mB3tiu!VӨ JiuO4BZ{HӨOj὚&ɩO۶m,rY0r<)r)akoH<h[A[gG[hs4+敯-NҴ9Rд K"غdj=It3-ikBڙRMSڤ#6io5ksĵ/+*uZֳ}ٵRڗkgJo_V'< gڣ[ȏ+{^rş}ş="PÎG$ փ݆8Yk泪Iu\be>G_v:+Cjx+ϋFz^}!x:âyr?:Jח8}/=tS{rSF]_=Is3W0 HO/ɵo_i%qwm9fImfӺޔ7$0x&7jF/[r 5G|-Aş'mHsuɸVgαvu]?SOZ8vͪ9j ).~ K[zǛz/zf;C~ƿNON1-?88:s6C}mv?Cw4+.fFNn 9A^ +eF{o*D(2T{YdG{3wX%^n3$Irl6[^^x52Q͞A3S2Aw5z}YzNxKƺv? x ƶ9/zzO>IP dXlh4![ޕ=[6}hvyNꧩwҬ C4ko!j_X9$10EV6;QjKT1g_J)o +]q 'ձ-r<wz">u_ݸ6F4j"jl E_*iSO1G/!YFdR̂d_9h \ܼYB䟭x2&O2P#&1l)ꇵA^ +%,V0 +ui:Y: auf=Y6v:᱉:)m]C૴v]~imѓɥٴB:q]\;7ͻk v_:hk[Tsgmw%l*!iF_/㯼z2;{]j3hFhMH~b)MT?hIꇪ*~~P, +@ny* Ӥ{<.t=-/H;w΢ۛ)ΰ.ܕiZuRY܁9{溜d9ٸ򉲫6vkvk#~-cRur$ieNM&;LR.i \:i¢i¢]*xyQ Ӥ00[@}Ws%/,YNSf-7,\ BXsɒHS^O:9T]<@->denhO8j6cWq|= ++[7o[8YZ_#sE.theh8Ψ)- 94Qb//A(`( 50[-/*D5P< 6vuQxT)Za1߭_2NyYQQFY[QyH$Vk'hEicyEi5(eMWƎeY~^:]Vqi&]S<А*Y6s !~q*a+yG`Sq&ߓè#0>7D\Rem[Xm忋͵9 r>yxyCes%\(œ ^0B c8uS׍wg|"Nr!Nra"X]8AW?r%{o=^PWuK8/ԁy*9S`B(:C P H#myqNx,1rB=^ȡw?rއn"o^|=лu_y Oy@eYq)9UP1Ac +Y*jV oh 3@J@t[,AM_35 Q,/Ǚn!hyqgg}~ jnlqOGwSŤ|-TTQ̇ZuĝEY>lugn*ʇ}ꋲLPVؑ#&ֵP֥㡣z-~_:rNMqQXMZemU5U0{0CL:/dY3~kT3ka>G(wx]DK?7䙾!f_Q^闚-Q#rCY4?yU:qz=@Vy/K>ޫUYW+ƀSA^Nn`q΂g'LAVuSzO z>A~/~Pc写܀ Ȇ}F^3韙f`d/mV?sV燼ǹ q`07 abbnПn f:Oآ q'@z|RĐx 7lj;hSُۍóRQbanAJ>A}BW p +. u jy&d3C/MNh ;u7^91fno27aaO>!^ &} t0?!uy/;!lDj63m;wSڄ~΁=@=n +|37@7} rN$yA 1CP|R+ZUHM3sgq]ä7x#)} ae)Sr1ٳf9n@7s)C>A}BZ g^@b/>.j 9$6Xf;s-tk4[<V等 \]puM`n-7 䭅A]6 '.V5 EbjmŀC.N! +r..dÐ>sn'K #;3CAޛ[s8ϼγq,M,m^ԠWC%]$qYזr;owoZ[Bxk[#ՆQt۽fa:IX135-0t.~R ȵwB޴;H-4]ntN^K +`t^z{xc?L%W3^VpD׶wFwWOuG|z/A>mT lStrյKE뽎EY>wΚ曣$[gfT~5њ=7%AsMsРqK/yk֘m5"3*P!%3'o=0bF_S|. +|ʼny +O vW{pL^?X|9)n<ޖ +KSi]G|* +V ?Sۺc,/s׳£{U[;pi"-5w~ͳ#7̸3#2}e3/WE//|ihDr:xW.S~ˁ ٔ>dŤ3y/VweH1龥ׯ!uo͛=mptmݗnEtmnb^֖˧&ɧ{SbwG>c |ѹ0Ÿٻׯ{-׫*.3`Ռ}х/>7W% a YcD1=-.벍!'WbХnczx{7"z^J 8/&S!}jOz o{oz * ʵKI78ql^~yL +ˏ 3ɷ)- +˟;lQ#;0)՚k}W_BeGzg&r:HO|櫓[`S~3w9Q. +l\xA@|#p3THC079zbC9V>î䎘f|KWF޶>0ݳ4>:P2ݗ'/zWش` XX11긨~4~X,aȨ~*6LqqPp9 kXn-/a6TzB>!Hs]mE3N2k&ޤؑag +ͨ:VhfSb=BR=|Q -g÷{lYRTTJ&-uT?uT?TÂ;}b +)1m!G@V,>o-3ePk{Srb[3R߽Ψg8ڙ,3Xf249b˓44Sx?0S&-/ +siݡ-Ca̩~;E1fS|Jp%uu 9[^ץuݰ5v@Dm%ȡk{?rhGዟ;E9tCW?%n]u5p3w3`L(bK\:2)oY"_ v 9t!")B]Eȡ9t!ϐC9Cp?d/g{_F C*%G1 |8|rnz}^Xu>x ևzȡGGz5ȡWΞyV$K K`),EHt~+:TE +p9ѡ<~eoGG߭m.Ee~پ3cG^#3Ykn]*TL-]=$h'XPsW 7W, Zl  6L۵-c?_Z/p xxӰ'Qtᏽpipu^u | 'Kh+Ȇ)$ȤMއ4e(&q[ʢ +bz\0lt5~wxJ7g}7ya*76d]?j=\wt␨)N^>4HiD,YÓz4g5~LT]7*+UNS\٭$o ^==FN3 n&z/'x6}]YkŚ!B~qZ}u +zއr꤬ /LywCу) +=.Mg6HM' >R zTً˝DxqNuLqu/́+|L!j̗vDGkpݧu*i$QP9F *%7O>N )A >.*H׼kr+v)˛χwyliFbA߀7z|qO ^M +}<Dk@fx#VzIv_϶oG'f%G(7 >|. q' srCXA8} O?so F7z N|8 dRRM]HA ~j$g`41  ~G9= +O|8OH/}Rx1GAb o<]A Y, +;_[ KT`?-O=;z=s(x'pO ^$FNyȻЈ3dQ[d6x3N`=YGaz%hnl?~rW ﰆ6?rl wt pst=4|4MlC1x>:PZĚ^Ϣ 5\Rw~rXRk K@ +%pqY ^:iK6 4<Ѱ~g +3W/_(:^oiQщ\{hӴ67M˶ƚ7iZV5uqԴKzI*o0S7%פfCJ%"\u}aabÐ}t}^+>;weY\v9+]mҋK km}64j7 _PӠ: V%{$*S<c߇UZͭꗞW:g଱'l}mv}DSK¼'5\+fNfm5MqJ 5YZ^l`oИ--fZZ %32S߂yn6^9mWUʊEԨ9մ ,Kk{u5&(xns!kGIx잕|zNogqB@7c;~'ݫ*s +&|c&8_8~|;3.F~+ G] :58,Wjّ/}!<޳7=f -3%yx@Rt +{-1]%Mtʶ +fE^SjtBtZVFȼ9kT}ۧͣ>aȀ~Yn~uTˤxoĸJsڌjS15s2wW Zuϯpde޹=|)4a{c"F,ۻ%8eHzą \6~e>5dO_M]Knۆ8ݡ"W:xGo y#huQ/X&F^ţPe + 0[z*ZkfiCPk@b5$ [>] k|e=Ƃ7%j=Ro4P)c?8-1;ʷoƳY28)xG\~mn߼wwiQ3]A.~VͲ[i> +jt}Ez䥲;20'lh^Hyʄ%58I+w%,7X(B&YtIOz@vMʥAM- UIU7cܢoi.qiꑮ?>Os򇣓+;6?ckO\x}35u^YV hEyc`"J(Rfp9+mܐd֧fVb85k`>?l eكY+c~WכzYwscY7,EM?W2sFw&{.7dl[L )FuT?`,cy0+W"?$`tqh^co0> +V}U9),+*M܋ o3w. N)0aw@ōs4=9ˏi\$;Jɞ_$υ&W㸻A<)3ӵTno;H}uT?(EzǁYq[Ta LNF'c<*kn,Ks~XѤ1RZ?0vWՒJYRP6ՒQWK%ԣSH=E*k80gBeOB)F'<,}hɲ Fюc׎3ӎ`%֎ c}hEot䠏BYHOҴ"}׎@̋gpV>q P> X#UΖ =RuC?C"Cr0T C +vA#zPvsA"c1Gh3Op~P' g/4 ԑ^i6POA- 2PAMk81eD`@L9h=+=PPCh\oȡ~hFGЀqq`.(`tU~Q\^96a_?Qbx> + PʃIX}"/Ca`(,#d12-ŲS.}O')</;,0U{7wZ4y'ܱ{5>qG8k?wr@&,XCegQIJtLe Hk&~#=3l0 ,r{// %PT($@tI$@YD 1MRE0X4vrSݍxgva}yss_D h*HUشxu|F6kdr2*RWs\U;<:ξ!7ߩw7=RT\_zOB/+%ol#ș[u鍞\{s=^@Uч8{(l*$tuf`]o>Pi&Yie7vS'}ͪTW곚 E>_RfC]%|{ ҵr\FWtwL{ALoKl:'z =@IæLWKLIZPl8L +QL9jq2A+jPWOo.xs] S3E 7EϨMGNGwąuEopDGߐkb7 S:&QmV-V+y?YT)y7XzI~-n$z={I##zP||OS<iYNdȦLj :qb>!!}tx?=R>_:3u섪_=7qF|zW . ċoPiMq6ʖAL '>.ϻx[C8}x~: =-zz==#|xG =@|\'l%H7}'|%oU ayiV_ 8EQу>d#||7=oA XS.{A4| ʟwx2.X-w 3u8 ]7Jn==\7A\q ?  .@y 13Z/ v;Zw£T7 +o+uC []zZ"Gx13WҏO}BȽ F4z*HHOnqc!{=g*Ps7norpɩSs'7sL7o6ۏko?~Z1#於 SWEd&[~}]OhAiT|תOzXcylLҦ<+Lem} +w}{`hkzEߟ÷lwZxf[po=,D")F0Xh icsT/ǩ<޳|r9KXX)Ζ N[7y[lz1sl &mtKNJӝA4< .pEE_DM_߷g?7|軴fYp~S  @}~3f`}uꛙa%.}܎vu$m;@w7]K^ +lDbע4[+e5%r|5HҴI /zbTqCWQƳ1S#6y`2bдȢ7)X~}_=ߞkz!Jk[j7C尚z:hN$7W[u:o?m]P2 ㉠]A;< zƹܯGW)`s$SLu$!Ey6R7łM[zZ*l'8LtH]$&RGMw9'!/78vqiиIˌ r4r&VƟL^]n2=VxcnG?5yxe +]a?ʖՅ2/z6YR/Y1Mi[jl'8-^pb``lℵvjVTv<++?tTǯ3s)3s3x^1=*#1V1]@wAQ9V)9ѩ,@An "w,wN[mm's~s9?|}ofŌ_OugDLy]viDNwb9ׯ9!5}}E̝xވ Of-9xUԽ233wtE{H7b" ȆEG CM`Q',LZYB`vܽ0 dLu :T;o>5گGiSy3]֎<)ag='?իDU/Q"{t}kM5as}Xyۏjgu#4cL )[FՈ= ܽ-ܨk3fju_]Ka"\ԉy!0 +{ 2go^^YqFcBgXbNyXe̘ǟs8r{iG؀;j<~JNǯ~"$W6,W/A}JT)hRWV|M0R*- ->c?zNO~6ȘЌ:' qF(𪲨sҌ&Q=ӹL3ku=."cg:o ?/xrөWcuO:qs{ґ0kL 0. =;QecLxN:Ƅ&ʃY3 +vEZS5<\gQ=FE惈syX>xW:WnN^ 2fo3ɵ:Eҙ>1a |a}P\cp;n +='Bⱉ<؝JIx(s0|>[o)xlCe;*ۯL9<&eė=~"Tґ\gm}0!dYYpVWF9~$ăRn,; .'>]Wge[IK`2;o{ Mcr-d>4)#t$?"ɑn<~5yٱ`:T[rYD}P/<.Ȁ08+nuV8FB~"ȮeeHWg̩pSflj2ɳx8pf/2LcTc:Ibȵ:-Q9\ ;bټau7?o}ƼiolU~m2'~1ޢszIr{Hr|a#=Qc?(>Wq(&t\3+9ޅQ~~AGy4D#wxvkZ.hOrvoj2A|V Yk.GP٨B/-݉ܦZC|CC#8sˡ-g=TsĚY}U>9߼̘khBz(vq{^b߾Ðr>|(߾t2HP䯺G&⑏ԛXUi.zͪ]hNS>T4F*Sg,ZϿ:sCsJz*U~W~ F|hwUku(|Az*|k /y<ܞvA^/oeo^1y9o ŗ$P~!*.N*&!nw[[zb5Vc샚8Ld!B|TVE@[C<H|`VqQPn>ԭLEb6[g{nמ;esu˝2$>yBr`qL^x~rɺOdMSg!wX~ '7n@7~~7~?>n@}b^ H̐@<` ج%! 9 \CyR9~?ЍH_! SGSG9Qޓ''O R?@?/o'a _z)J&((}Wu*J{:EqC&҆Lx2ZߪWYB.uh4p;t>sNK 삗v ([R2q+)(x4d +MNrZtsjoagлG,WKa&>5O QOC}aDZVv =fZkq~6E/T{Uu%-/`x&rkzWq:?RL}WYy1^Ԕ-ꝵLW|}==ZB{}ɖk6[V>"A؁᧮V|9n~nך296ֳž_m9T{ts->5 'W|ӈO5'6B'TfVu&m\h˒H [o3&ǪB7\ش>|i:{ 6>u/n7!²kvͬ_$[c׬}'Ѯ93OoJx!ݖRmN(5(?Hl70Θ{V]ت[Zs)_0 >iħBVZCԥ\,)Mإ(%ϥ|e.2 +SveN[,7y7îe_aN}+jdEy_o05'5;>A= 2Znc&몘yǎ.ΟS1QZ-Iy${b|t6wN=Z +yj&þ[RsF97N#>SDX1,teٗq=MQuplN!MJ߳l9ie} grיŬ'o" +3{3!?޳3܌Ά^N?|-;!=]* ({MO5GvPrۅCS',)teE~ۘ%G:4Y!@WqKj(I, ,Y^ǝgg8~R#k0|cϊ٭ұCȡ}<)*R]z2Q<:2ّӗCgGs_R/>!S'~:‚2a];k+:T6jz͕ѳVPbC++ +Ԟ2U +JpSG +r赁]U%%_Qt#U%f* +]gARuK:w蟐Iw2f{?7 3Y_?uav:U%SNC/,(f,\4.O,]gui9]ZE]Z*ɴ<Ly\׻{Rvl(w s6dΆV(7NÔ~K+\CX1,zzaQ0Ӆ +Y”D vN$AyAYvȘI!sYfBy ŇB'ŇBÏ){L. +]ZS'\R*,ӗ +˅s^#+y2 ex{RY=^,Wm_6 CД/>4m̕P|hon;ܔ;WmV J%\`81I+k0/(ac v_)-Y8FİleCnMG }J׌KPʽ\jbkVfʼ8% M_w<眕idL'>7~<5'Y0?˝,}x-Շ>,yE8|XXo=D^,a\sVo~R̎q92E˷S8A?PpTЇʵ8Sgta-{)jևf}(p %,Ї }(wü%;BN%'ʜv,h;WɻN;j;95o6I}(,ևf}(jև>G$J2aR|˛͇Ce}wƟ;o|e3{rj/9yi>Z&tȑ)rXzO]w$JR>dCI>,[˛ay>^և˶K7ʋ̇Pqx\ocsaUC7wF:69119L-GMWF2n]QCdKׇ"׋"}(/҇PyP5 po<>ҝ~8ÚևeKa2㞾BI2;&3etȑ)rh9քMt[q(w)]/ثPՇu|=trM>MӇi+%/5)u^_b>x2I2]f&q.5Y_%T:W't;k-5]yo>tCM>tCM>t4}XD/чF}xm-͇n>Xwf>T^и'T$9!Of&>Z&todGx'tWtWtp\wC*աPۨPۨ/T}[d[66o_?_o:wÚ7$d%3e:|R)N.NwMnN:n>-҇EɺEe>l_gk&6,g{_şs?ܙko]a>M3Z7^TmNU"*u7S>K6,{}CѲ%Z~'>}_94^9_3y>ljͷnw+͇'{׋S=  FHfg1ǂub|Cv +?=2̠{(? 3!g2-6Ԇ 7O 2eaa 938=Fޝ/V6ިV,{3)A&~lƃ?'퓿\N{8é1Mn BwcY/3 _sk]waua7{ Y ̄?T^yЗ}Ү%G Y]?sg7?嫟|i-YqZ?vRc8vqq|i4 Տ?>f'wsWm/[iy6^*oG}nk=Y=pLgQZ-󿺪c`oGԏGSC?Mc o~:5O\T%A?xT)*.zhkˣ9V맚{ΔͺFyt>J +3~f n qS_@}%D g yL݀6u|AƊwʷzJji}7}HnzzA~?ЍK~??:J?}2O y M'/֠3T_!}wuZx wݐtir<ϺB69瘤yy7UG ߾^!K^;:яnc$G7~K;AlЍR~@5 qBd!}D-alX{{ >g-V?m)wވޝʭ+Hsu׏ė)n@/~?~?~ +cM8b%khgB Ohk92w^ːsB+&{p|T6,ةn?݉S0#9E;A(q3Oy $/ Z!>0g7P!>9 xJ͇j?9~b/ %,G7#O}*,֧řTpTِ1DcαZ -ԍ=o.eL_b$2WR^%%+ȽIy#Iy5]rsj$~KyXػ@A$NػԅHdB^'΋D2Cw5yq,1L#^ 1N! p!((8L/s4+b.# Rh:źڭPa Y6]ݦ:zmzԙ=6yy>|?WQrIUƛf- z;PԔ7&r9{#o5gRqle$V;d{ ~~/GYwص^EGj;yvQբFCtOf17+ROUgPb;dy0A['>o*`{|4믊lOTgOo(l-%5olw*58wWo";7?s|(UTg̎>'}=[>u!wgS;_L=8]b-bn7=)i}a Ѩ4?M:YCKƝ;zA<5 a3|U @_ys3󗼬4UN$i_"GOȝQTؕr=+ݒ}4GuD(ur~=K2$+', Ii%)oHF@fH~w_*H=WuVڔ|?{҈L'rґvG7޴lR HpE>.Z4`K4w}Y%7ßDէifpe9{<|L򧮗=A96੾AX7m<>*^ʛxWسlڜbq̞_5\vCa7k`0 ꌭ^8a+z?K"xOI|Ruƥfw.2 Qg|DEo'$?Z?ظT)O|`錸`*O`uH0[&M2+5}gu%E|W2GD䣽Wesz isJ 9r->H}17= /?O&Xꌠ,XLx. Sg|@;XTI><=H7!giiyH "<4"y} ״:dWi-|x2*3˖<{:$|;oC@74S_ED gS} `]l\xqEc>C{u++utV!8 9/#?!0+o|6$]Cs70WYf03|W,oge_5<<:[I,| "|_ӨGG0v8qxuP< yq6sW @ƃ`)0W`fJ_ycSܘO(q2nx蟆ix>—4/]p*<>g+?!ı=ȃuqWW"%P>P%L`|e/ot92G}lw 40A'>A'6! < O_E5x8[|xNԇGyh*GKΈ<ȬA>0>S0ogvҋ/}Qk:oqЊ(|N眙:MSuV]3gu-Hl~2t +v(E獡Mkd[Lpғ9?m;PL;TokKMAmiCP|0Ԧ^%)LBaFa! #<;/{agd~)`fP&ӓաZYRYWCz2x棦1NՇ_{$ Gz.zz"=]-==؟>-z~=@ у{*H! ^hudN^y[x3A}5G)qJqt8\%=j؍K|у z`m O%>>k.Z#Z.izOcsZ=53?ýnu-֚`rf#=joI d#{`D>暑әAY\~'[Bv%;{ywϟ.О&gô5w~A@#>`_Kp(zQEb~='V~'O@EtXdO%GxFc_j#Z-3T'xp/xu ?Ȍ›o``?>^`_/zωr >،؏:Ԧڈ$.@w5+X߀غ86#X¦Gß\TDß?! >]=<#azP$O H\H\7 6Go [վo)VqQ(k{o +НQS |bUh@H<vPGA(H\ o@=|3|=)5j3 aJMw?$|>\)=Mk+zCMڟ!c젯{ q߂Ds_ ߁4PM .L5w>/vOSRL"fl#sEn`u{ y' ︱_uć MlQ'@H~6qbH)xx .y?΂;zz`?u{#O A1:3HoGS(Hzg&2QD1Kjx W"oϥ3s=}›fEzI>o$O ot4GI,04"L-ut4hsH*sDf0#Fn: ۷ުUXGmoU-xV鵤X:-H%i^ +\\G"}@';M-&Or򣣩9Ch504d*y'Wd᪵1WBw*+8r_k3'WYqR}ܔ._=QV7ܽKU<. + otpItZ.,N"IP*.ڇDȩ;liАaeq ;yؘq?u~[C/̶5guؙotӟmN<49ߘhWlrDjZm{M2?}l[b}tiܙ'{o~=.zJ']z,o;.)>?"\X"E笗^"E/JvaN* o$|Nc$mJ`sc\r0 ߚuH >ȑג?f͖%f'lZae@Z;/$ZqUVk{vX7'?|ꠊ̄j 'ń353'kpap95gpV*.kfGIBazgZ^iE#cn6fxF|Hצپ +x`c= {.8~8Cէ* Z8:;{=?gWVY8t+$ݻS 鱤, J焳 gE + Kvav0P˅)]$N*vgºGRʬ.*ߘU8oNx<;M6;Nv}^ 9Qs'v4.zO ?y3St^z)$d&^SˋQA&LȋYb(;ىكNb*R4^\YwB)<yE tb*R9DYzXaBF I9nf! +S\hz%d330_.eSm* +* ++ +ԡ@* +aFJUzuL2俻,Wm,,e +lKN K>etrVڲ)P6%"uXryaruXy +2W!Tw>tXIgr;R6Elޢ2g\zDfn dZ}$щT!u ++:k2_⇳Ag'}GU\uiQuiQCuf]吻TY4U#{X)I2ߧFÉ CWժUvVuX;k]IP5-pB+9auQuCmԼX;5-LāMŅڝ?,iEd׋G^Xuz7Sfpv:TCu:TCu:TÕ.ѼXLjEmTuؐݛ+zurCչZQ}%hYv-\t7pG_6m;yKTuvu~6uX ÆluhhVƾ̋ ɦ/_b2t|շa=MfԯE$崙c3kT~7oG/yxW~uWuؐ 슍}X<2ߚPlaBF_X.,rt}L.v7yڸgH!|ihVf;nc:4O0Yr&u:2LuhIИv6}fM\zDfL3eZ鐳FbOCNC4KYRh:4yn8PM_s,ӕ/:>W-{:4ڝ?,]'#e12Co얱Y'S&!L'갵QCZNnkp~pu 2|p,co[ѡrHsVȥGdJyy;wfg|כֿmr>vK=ڮR:tE|s銨CW +@;z=x[:q:k'cm/B}zȎ^ I9rfiUyiu +LJ_ >!3؛{^SuCo:|p +upQӗmlzvǘeO_Sznm?¯7{>l A!r#^J+ߣ^ApNԞ A04ݎIJ1+Z}oƭx[N~wd׻\?G\}{ϊ/q7N_?oJǐ"|l?9kThVH\ș |r(TA`sg;tL H% E;ɰ]Dr<~OZ?g_B7xo߾XG9X=Mۃ[9~ vƉ?{7= = }A*=uΣn2q&QrqVs]GpdfpȻIr9Y{?QG&n`?Ѓ%y'H=!\S!{#W/g>FOl'XksN!-F<9ڐ=>~L у3'o o*~A,'<&ɺ:0??q8|iܮw>|D?99w^=Q6OoF`nL?Ѓ3'_cC}Yw0%ʾ x )~Ӯyh +I!9>`??hzz;%z#bS]fVW7?촎=A[6Al,Ҟ/{g{s}YBAj/LxO\{κM;уH|@7J|~wk{|a΀{&V^pMz|+Yr/þtN?kWw?HzL;o~˙=VR'Pt.gp֦Kni:͘Sˎe$8i)\9)c1r1Ʋf%"(Eb)cbAPuu>EM"fڇL4ESUi#Kvyr])zc9=9{SQ#?a|9Oe뱺f,̿tn֭JsEEWCWԯjȇZI>?il9Q1t;?/&9Z< ji]_Dlj=nS['1\i$WQyk?ɻ|(>SqȇQB5BBT%껢5wZgՓU/PDz(Gsh_(/29UZS ȹ5GN_R4#aE5{?EUӌkw4Ŋhf1f)z#C˾9w9cZuy4;`O3a-ފhx +'#~'y;˫9_wi<~s}V54mY{+ynv=a1v13e/kDOF'ZhғQpNN[f=onuڗ?pƶV~4i!ը?ۍϋ~JL:%J @C|,0.695ebY;z{ƝLa`}1Xt"CO<gHNuy'Ví Vx;&~s:f<*wI<>a`}1{0p ξƑޓo%hZ98]pO +& =~W1_ƿʉs<0ua` Kxt/a(,&<0f_at<+-y;X$=͜B-5t Ծ~7]`e /׺Y7Qfvx,ڑt^EEx8J3p7ۄ0F¬E<x7SN@߽xнL ;yXwb_.lۺucβ0pY< g0fal7-R ;|wt>H7T,mγ<f0;FE>} [ċAxmsoG}x8k_]ժxu}q!1M?yqC ,!ycެR=8 %4el<4HHcb6 $$I*bƢBGB +ARZZZ[MxMBX7;L Tp`X<|ıޙ{}L}'N,%ҡD'k4vh(;H+wS<3]:gph{q"xQtuyИKM[1j1 +Ԙ_d0G1ojRzs&WY|jJJqIXȅ[`eXk̦mQ{6|ҫ=^?/X%m;]}aN<#Xn̻یbsv^~h=x <$ˌMкqXI'l@Wߤrj3umO=XAg"zs zΠ& +j< A">{>:\Cs9;ߘEc_s9v{ԁ WHt̴z`7zE TEw'AlYgRb_wlbs7f{7+?v;G@A-=M|u ey}聭p@(zPUN <A4d=N{^x~21s~ ]C ^Js.v':GB^|HF">/zˠ]ɪ4d}Z ™}~pٿYm~F q:Տ{.89>bڛ3 a<9RH=Uor͍3̟8@b<~{{d_G<'A8)$>F|s $O@R6هzxMsGxvzk~i;?y?1eh})|s[gZSxV6 9Kn[Լ{WU|e}I 9#yFwrKg]qPg 0pc_֠,99JoE| :Bt@K|KCu e䇫CdNOMɟ:5F1ͅˎ؉L +`+y &Hq{0ϣhIncxdBk۔$}^6Oc:oaa\ ?qʅ +Վ8~7x=րk޺s[!;C``;ٖ@m˨V2_'{<@Xl8+'qz~8u2quذXz<҃b.J`~Y-'m^!·\ y<𙰍'r"~?;e~8g ٖ!2j"萞}0!&Sۓ"lJ]RS@#ɮKżK_l6su.3fLy-=G$‡?KuIU8+\),JUf7 ̉3H#8ָI殮|r&!qr)='|dr(B[7'O<ԼHz20&c2C]N+'D*~(wMamIzU8pt* +}ҩY7 ̶A^x$&lsb&!!'Bo@%Er"jsnjXnzZnz~n+ys/  H"Շ`X5(T.IXUV8p* +}ҩY7 H6a0.xmU&I1*5 RNT7@f袘zwQL:CO:ŤCQL: u/|*c&am2IX˶(~Jb*l9&LO*P:6+b\%}dzUyPdzTiTKȫ. jWJp%}.ʇp{! /=jMF#,", +]+ ~aNDze +3j/>oUUҡdiz42;bztyt(׌S0OQÜu M'{G%IDΙ-,FVń~*3j1&JW:t#е߄ T19]ho%%A" It$!~1Դt6? jՎ+Ii+綳?;qs$=V2$dIl`Lj~19NuR'M^,\~ CfٗcF4 mtBоОh`l'-79;YXmCl#56$CbQ/㨗]){+cC(!2J'%DL@qG5h-:#3.QI3Yڎ Fhro,C98yS/c%ewuܝ4?(0k)f-C86'm#Σa&t@G LB}7X?y=iډۭpH#dz +zJf872!ۓxȉ>"Jȉ_dyC7)žhj4 I3 ,C;>uO1LXvbKCF 2JY:V3E'wĜh!ypXh\Y:CrPTV_}{ wF}7D ̪nI`Y^p|h8>9b8aA8G(68$a׈ܜWף+`0?^ X=}p}ZٞL&ٞtlO8DiyX +/h(Ep(CqK.C/8ت?>!z&egg7WupEB98!ypȏ"3PPĎ5p( #ᰬ+4k5\uhMyO{x?V ]_/N}%4`npX',n>(C~ +PPD*y8.fep(oo_}ȕeӏ`_s=qHXCFp~!>9hp'4 kZu֠L*5OnEp(`*/òj24(`uU+I73On.`zws}st#o{?}9ND.yg~_NGv+QJ#6ݏOnw8F4aM!Ǻ*:к*8po.öƽn]uoc{CW  !|5Syp'4-ԯ-فҕM\E>$-Ϭ%*gV+--'/_3?מ~Y^O8+pG@X Scs?\ds{2O~$=OqK}z4G\ܥ8FT7Lħ{3!*GNԨ]AJIUEDtOGcy8k +n=jcdž9΁_:6|+r*]3קw*F:=q>g?qձ<S_Ba)G>/'^]G5hRSt})yN(UIiRŽT>1|vjMqknJceg9Η^RIkYR;{N'[y*2!Cr[y_G~83vщ_K_s=bwĶT1go|?wK>{pY~OZ';d+:ksQ^q|D|ulFq886"uM<|Qm}Zaćf4lR|ȾCżxHC>x=M5{L765wL~{CJe~WwsyОgl<\W+Z?-+@IQc3M=@N~L&R>7'^q1W_7剸(&y3= r~/׺4 =B<;Z:S#Ǿ^[uU~8/z]T<0w44L;r7<~bt]MLY7g7*N:C١zP +Z9ߌts8`mDCվ94Į}}P^ej&8*+"d.aג/I6wMTC(G&v3`\?2*F%UyS: U7f1lfqطakǬꞒUlHeTGsrs&OUP=//ߦ~L{oh17 #Z{oI)Z_IcyNn /Rֻ_%8|X5~*-Ky gR4) PP> =>kbӜw_Qۙ?b8Il33v8:1R|gU/<'MWg#͝m>{1j56%iSXtRf:6}䏶43m'-g*!$wɲwsΕz*Cz!>dz5"TfU ԦY;ir?[L#3cUr>$G|({>q˹<[.jɇ9{L>ɵ(<{`ɇ&L>U<_o9(\JJȇn?~GSS|7574b%t7,s~F78;9e PklE8g6N-`7J}遶qBubm'u"O/SN0̆a;L(Xw%O<ӗ턩ARQYh&|6UU?CjCFeHaց;L(Civau<|(>xCi;w_䉄n?LœSS +: hhQԄ=bB5a+7{W,Yp2y$T!NPf#CE6C }:Q3M3Py\U{d. {l-ԿNޢ>#O藧]ԅ.:[.*ҙl;+~j>};gT?k`s{ W"hXxW^TܳƷ6Ktlͅ1__t -[Kct얥:ؒxg$%x4+W+KSj'ӔBoFeޚܟ,XQX|pQ̷C=pݓ/S1φگţ{Qչjv]|w ۾sͦOY|x׍^o/{w>o@C?~3#-?x߉N.9}n;ysϿuAwջ_PmJ,D R"m$B*{$)Dd0,HZȖDRC13vيJq?yr?y]Lxڛ''|r<x^Pȶ8tk7J[ +J>ZM+=Qaw㥦{͌Vwmg#;:'K0y^/2;P8T72sTar)2.޼d;DZBUtbjWZ%FWqiN7`\bo o`aەWw8+(]S[WOޠ}!E:qP]{k?I}|$h'dzN=nTWF)&fU5gj-ugεX;nynۏ>}w!ǑcNט\X\ٮsq9k|$ E + .|}MQr䣷lUr=w%q_:$K>X?d4t 'g2-sl^|v)<| +\ ݊!1isnK^wm/;J;t񹾷Ks_k׎> |4;7ut`v!A&Up~̭,YXhX/ YgqpqHghJ|\Z^B +*m≫H8(+]NZ&|FkͪrK|~~jGxe+hۿ@:AK .dE:Gبc}ҩ6C5QSSۭX/6a=>MKxPz6}yv×~A߾i =|sgDaweTfhe\hxDwǾ?GT[m@qC:<@w<OzV x%z<N$u}{ѭ >3&ҬXIXؒj–\Mv狵PG1 ͢aYM5 \!lm@/aG ZP΁qUDcRwg?IQ?@Y<"9GΥ_ <1%D*21X/:"X/܅ǝyVҌhNv(҃yzc~}!,v/@i qY$mA>l`:8ro] 䙠|8aq+KpDjOr3KPqиqocAN[=69miq5y(G?A'7UD~1ik(i6QG"s~GT!9UM"ƩSm GÈ26 |#.íIrhb(~3\2JCоFsR|OװT 躡6]> 74 +# $Q0Md噤mCM?+~!D6*&cavk +:zLlR[6k[1^W,"?D&W7[ЩC$kUT;-=Ȑ{hp SN@^cN#@2{71?klr%-uLt +)0Ku;(*ͧE ׶J5ajˎѸ Z\ "#KLrTFnń:TRNu:%)]HέNi:]Ԭ=cͯ8s:>>_#[oqCnֵaKE$ + ?epX߾Kw_.Qk$:^ִo0ѩ"-<. r:D7;.]/-!KDz5h.|_:nC;3?£wjvmJ"Ꮝn!r쯖ۉnϺKJTM@)2|J&C#0 $ŇxyC'Jfb&ZKX۴Inuw\3Q:m,t':Gg8MDܘG¥uQFe^ի'xHu5kQ͌Dkژ]ru9~M<p[$OܷiKQ;{h#Sf]כO+w_c8h^D]6ui}#h)yhUl + 9BnNEd׊%ZMCO>y.o˿K_k^xz|}gϚI+C5zGZ3tjGO|CO>yU7zĎVثoyd|O?Q1vV"/{]ݹ<_[ G_TYŢI30ϕ ţU$wNNg S |r.Q6h,.FW%ffjdl(`O, +u{HY&msg)e1n+N)HPi%yK{L+5ORtD߸KcH@c3.OĚ,6BNJ21F5GFm rOJV]FA~,u+QDķl,OdO"2tƛ- aȯp]Q)mɏďmM$MC :VUXYŴz~"sIA!2*c(\^_y+cL;`?Vm^_=9Z{S`ʃ׺X "JR.xVDDTTA HBV("$Uݮuw64SUԫ_pF窞wr"A& {{J˔\v畣tW0 ɟ nxڮߪVS7p>Jv肪EKmAU<Mo~$d~un|bB q4|L˿-.~Tz +L.Ѕ#v|ʚ: {S;><؛=.Īה"+{nO]89ZoiX)Q(~z!utoe<x1pr2"}.nCdX||KlB}CsFA"`V_HȪPO--U<:Z _'RI" LVCUrr.MRw=@##q_>y_{Æ;vS +2@.._(F4ܛl!]2O!錆B!Vz.B뤬BִG6k+Drґ}dFR| Iq2\"a)9^EV<5(>MP+|B6o3>P\ n%@(KNɗAca<t#'myƜFEň8Bڬg^wgY+DE2.x9]Oɋ,5bq!%Tc{>|"v/n˝ q u{6sTya.I BWcz<;ɭ|%8jdYV[c|.2?>k{`>e02~`aFpc6z!\~J})B,fK"ڬ47 XRRsCyvw'kbvbsTWM +h~sX7~N^ٵ\>n}¼5.TEYA#8 KOkFߞDbh^QQ~1.mj{_m$rHa5{U+ٿvg_sT/6O7,f\_hSu|Ѷj,1Q6XL#]$/MBBc~hVW](lAV,DOdR4a6{駰:I5s`~uu,|Qٺ;/!wRÕƔ:R>Y{.r7YW8xlS[K+m?*~qc?3U@ڒFRSU蝷G>{نscN)*Ӑ)}4vΆt JC{ʥ.>-ZO]%Pj8MO@v,h=['' +[WD$y޳HºѧqYS.N +n.UɞEaC64zq4]َ #`m6qZ1yp0t0y;!CwF@{K}y0G&E ^I_7p-H܋(ˁfBjN#6o{NbGb&w |ދ;Etzkr7@/fcpKÂsAC'{rNnډI!R4'xk}9K)/X#g{<5 ː/g-:}bG <}jͣu9p1<Dy/ES/{R5mwGZS"49^/PfEy ^OO'L~$7 (Z<"gOd`#ʎ3:U љ043 CЬ;}|CߞRnb:(XIHKIIKjCH$] ff\1Hha(%^l=[<}_c=;G}v?]v[D_x+A|D::=p`чagv׼W5D;㹆Քʁd~qpZ@4zً'u<}F0"5:-Oip^"(W +v|_@iB}C̘Xi*'ToKGK7tj\:؀mu[> N+MQ1pwkpW H_B@/ ǻPj >{NS 0e'Kw$+r8ImF~a _԰lK&maw䈎,fvmWa{\݀q>S%։JhLc̙GGWG\"ρ:um/קUPMj55#q W/_x{ *?$uStASoy/rﶣΩ)\䪋vyYf8ⲉF3.c 8ky if @h[ nexsŭZ..b49=̏r6%;Qyh.KFA %pԻwn\ XP =XsL9 :s1P$ϣ3MrYVFTpbq+/ܜ:V3*.*I/AlD%=$N|%b"K5ܪE~_;L ?RFLO' M$e;?[9lR w4=D={mq(M#HU<2:o]{cpz'\W. V8SDupf].B\"o^WVO֒9[}sW}x >Z_]`$J}4;Mf%NyIie9Y sCRg\}ߑllY5'^LU*I5n[ ̇K9,I<{q7,v7uSVI~ۯß ܍(D mttF.,S-8TeMء#)UgC叼lXQ`49+8k^hF~Vۊc0vki{Nx$9ON[> .":O.u_8-";eN{'~M]Di&q Y>fvF~xh[{07kgaTNi'\aғ.Ce筟Hx)VY#y??9d?G՜ÌCT D/o) ")>).\ۿD~]~h)}=Ԧ9LIx?.[6uMXBϫ@E*$s •-h<@fkbJzB4 qFmK]x%GRAsN*\NUhެjT**ю)o< +l? urʱѵtH:wJmpl9sm JHد4RE?-#=}bJ<ރzy~o),4qOsIĹQH ۚ\=p2x`̻Q$##@xc.v׷mx,{O iz-ʯk}Ϋ{>2r?W9 +iɮ Ҧ_3Ht :N.ǻkO?[ s7sOyL'ϯ`\sîd{Ҁ?`pAvpCdŁ'[VXX+Ta/@S)0څ]n(z+˕& <Єt~[߯?` Β._= +'$ v`M C{;IǴOl[ `_^3 +62JRQ9 ic&l{Eδ#}-,lSs0i2*a+!o5'gD2 +q˫!";}\^fmhv-=sU:R>MwnXB$;Q[R0ludJeC$:>ie_|HdܛQ +q8# *D0nk3\i-n.>E2Np07BYrzh(AEH-* >s:IϦ#MH IB|'*!.鲇tHN"]ۻղ~wA1a_I0(ҽmLhN҉X!3遘\Nnb@w*|9Yzt-J>#4/'u˵eаQFּ t^l2kfR?{Kqlj}f^ۈ~KzHM!ㄦ/nSVuj;X^8ȳcWgo[F!U(Lb Ip8 `/ >`%LhG[iXLnmr[- }6 |[m_9c[CȱӅ{3!r"j,]oJ@oQFT~\7U_š- +]xj~}SL i<s'!!oDM@á8%E/Nr 0ٷӰ%m:r|[8e`. (=w?rk:N) j5.{hRܸ̔]ol1bPɂARf=BW˔y݃5T_e|(F浫vN)pKO҃-_VF:vWUt2=WNcV%,<3[ @̜}B߇%ʩڰ@-Cx.$(\ydtw0R& |WDǟa-ЉÍE4c5\Ub(54jw'şCa+ Ʈ[mVdAl !~7?+BpjP`[lpqzu~ʢSg\84C?'ugc~y8շl[ 9@H(:`J2:ї >#|^(H+e8v"KV?P8ZZ3sxqrX7ByX|?1p +\VJ=Wc{c"W,L3ƒ5ScqJK +9АԊWRnj4_w}j\N<5]_Se33#fyQloe)JrGx8I sw dx$߮|(thK-^^)|=y ˷O~';nx^Om|!:(gg%-v ?xS"7[)6t@>D7FZj|my T_ўkGUiⶣԧ]:3&ebPggYW\xXQuPYauUDEleSF]:BטBH! 顅b]=u{qƝ5~CHd#N`ė_+z` ;t؞S{ƹGCӖ)1D]M^PuM·,πk7g]ѧR}]$iSѵykB[9f؏ms"DyMq?<蔸km/a1*0WX=Q|¹NHTJU ~)WroZ!#cbԭu!qM(F*棍|#J + v({y9>ԓrv蔼ГKdcr[nHr5ܚ +ԥEC l#ΰ r ,4wšP12J40KFop4Skfb؟ڼp ҈9 ,a?yed/: fSg7Ŀo"p4 CC OwjH?T)]-mZ:Di#9'tz6ت]/88U7Zs:5Z1酢#M b)WPRվw}g D%B1 Y4$K" Op)H6zfP)n +6UJ: H,\\GľK y:r 0,( {tB]FA:4{u2{ٽh6Rxm^nf}5O[;DMpi$Zy +)ƻ>;D+3Hp6  \21&/o;oýȏPB*C@کh^N~|T9t.}ieN _r܁Kz{ױ>4R8ʥڡ4&>v1AXKg;X_葀e Z$4e΍p~Nj>4-a/(OY{yւ/+-$`z$;$ e_UVqhH2e]tK%&ԐrE &jg1!]d*]犍TjjƄ=6HaR>xs_o7BѿgK6 8gj[ e?~ChӦಈPf8̹':5 =ω١D?8 D8Lz>YxI)\ಚmQ8ɽ =d!}(+ YH e$Tko +#ȖoevKW[ Ī nU>f"o(s,]Љ`:0e?|vuc*Kۏsȝ+ AuγbXz؍Z\ k+4b-S6CT9N,›˲)Ƀw޾/V aC%Ьэ I)dmfxV`U׺$s̗ƱB5 ~X {'&<Y]ka? \[{'L2u`fo"׵abc]MH6A7I8J?u*9+ˍظ6%\-?^]EJ)G3VnSԶ ٦٫2~xtHQAGgrD?"HRuP5R?>4}]zd5Ǩ?=)t?֫4Ċ~(*PA +HP) ( .Q@ln!’,E!V37*isr/߻wׯBW%|B.L +=lų^5-]YoܚSU_m(OBh4QZ)z S^>ݖ4R;#ү_'Ԯ =L;Ɏ%h_y# ۏ)]3R?e,F5}<,,{ ocȣ3$ER~v[LkS΃/*'`_e ·_yЇHgCٍvT$ntѼHK>A3=yϫrqHoƁ~rF cxaQm?p> ݸMjGnMrۆ[?wlѬ= hLl߇5S]Wb˼\s#=rqk[ugSmsN@j&K0[A9dlG|_a6ڙMW$4޽xO[ڟMV4{u&3³:&=ΌQ!;&*t&ʿ3MQZY2'_HGWPˍo`ʵ|nVNoMƣopτv|; :motťKdaYE?sVz +s~0qW;냟rGt9hH4A?]9 &ck)j{FK?2:>2]"9 'UWc1GhJc.)?o`@ +o?V-~9{}]oUIqpaC-tB++?^?Pֻ *6܈(m~W]]c;Cu$6Z:'+;ԽGʙ$pPi uLWnzr>E^̊\G51E-韄gmdpWɃcsA}s'8TzY = Sg }[?\[IGK9'"5W Zpą㹨"1^$8y@I.^+6&meAnd +b ")z|/sY"~A3H-5TX](T>JT\W5ns$nS 2Jxd ή|ae*/ɢ^Ȋ-CHYNfBn&L %2ؓTع*/zX_-ga7L$9tq>re`S5N|%a C27N4UǁCV VqLnj<}R5䁭"@S5}kj%`CiQG [=0 j}9 'FǞfL+0 3&*Wax.2mu%kh:9z~b܃/1 AEǯl:.a8M +5uaᦢ +OpN8X[p!ȁj(u/skRƹIlWck}0kM]qux|g11s'T}+XaG]G'J“%E~ؐƏ2X c?\C4ŋ! /{a  %I4倳8 q,HbDCҌUĹ&#eahA$\\B7p3#Ž8w\NK1g3(Աưmٕ*;nSyjW;VȑeG%6A5N_6/ss.{ut }JxAp EHuDЕP' 8EGe`@B&sxB}~ 62jLg#8*S+(Vʈ*"F-"VpJQ@PYH BBȞ@@A N:u3=I~~Xt&|.y+k"0AJߝE(mڎVq BO$2M +S]dJt a<ͮPkF'JOkDU鋘 ǘp$f$Z9{;r񈺧,UOvQA;V?Dhjw'4=˦m-gEbUӘ#k4npCC1[<&3Ӥ +XNk@%ی)LSsL>PD'*;iԈI1;E´[8OfLEZtdsoczV:XBc7rU]xc;If?*s0"#~7mm}=zYuHvv&7@{. a*vNz߁f@cxt]&ʱ#pP:s*_mG0.T/t-pYj14y^"C?xֶjN +U\t6E`fv>Sܵ5n 6m-\-g=+ ,㼭_Q_fZf7jp/jhٽNE疛h+v&\V?V yxCW׆\UC=Y][؅"MQ!=l+X}EKdYx$k.0I<)Es<8QilK/ : +ɚh`JpاF889:9LY s4q"nUW"} *׾' +SU\peu*ݘXc E [gh.ơy&Թ|ew먾 +bm-:ۚ&yH37{ӑ5,ӂ4@KG6h:ʞ$=玸8|@iqΒO;NT5UYـN|s]qd2A8UYGz$p@Hŗ %0̥/7< l ab'0#JՍg14ԁȮѕHoQ:.(qm+\Ҟ:.Ou6UDDNTS/'?N) +!- htY(Y|k19ϑ.oGNVr_Lo:OI"a?MUANL-C_T|M8{VǘS-eVuMfgEgMFۚfXNigze*z2&\P噂/MɸEV8LS٭=Х^ g:]x7T?21vK-~g-F +@v74y8_يSWI>X9Qbz\{iso@_q5{@E%MY 22)0ڣ/bB ~}u7Ryo 'A;oO^T/a +' xܭdoã H$2E$v!@]>$T <:W<ϕ5RA^)_f +q^P^=gCyn=ſICONn=w G yxxuΰ̽P]n7J~s;U ݼH`1kņTDe`ņf=ݿM6go`e +?xVWmxp$N:*3Qoˀ}-Ro-֔`pnhܴVSkd.\(KEGӔ7x=M']؄5sET"jW[1iJ 0dT k |ͿԊoUf \}#!0yJ=~i!0r q \9v|3sIԭ`Uj*o\*ƌ+ܕnB旽٫7KE4:xI[i'5aϕir.(QX(H-QLh`\)ꎷ6~<k p0}؛Lم|mRH˼w*v[ݩǻq>#A]8KdJ]3^W;Й$E=X;%V vZS~Ny +_Spl%SȲr [ho(L)Cퟱ/f@cxF2{6b`mfAiev"6?#M)Oj]wuXi4ܳ{`\Ot$*;4XFnBB8a=Ϩ=Ln8J $~d):F׺m䨒p; +w_ )3r[JG竕Vx2eb:veЎ%HZY !w9:͇ޫ#x-|ʆΪ(YBy,u5(ߝAy7"dL4ϡ\U#H2_i\-Ǹ +SIdBu_7]UƶWc=n?<2a`ń)y*xr@Xr#h.olsr{w\#M?AW :$\oUZܣ~>yиL+iVZPS\SM:GC2 v9}"fighQ}.Ic3wC0;|>X~8 rv=YGi&EݲMw1fh"c3*HH LC;h,5bgɜS'&IoA/2Ũ]T]I!L޳׾=: iUVOd#(>Կ>gCo>T/U_](5=U_9 ZCkf<`#hU16s8'ʼnCp c{\b₲(1l +( .{m P*"9tiSEUoua;s;Ô"mՆ !p-=ٽ&x[e#-S: <>N6hSc rqj;Ipެ9鈾ARq3iSD >?oOː=ļ[.N]fg#/9D#/zlWӀlxP4P>\KTz!ZZo-^{TxNQ?n}T +8m~2afxnMxd&S=04"gڮGmx3đ>ֿ>C{)xo 4mtt.hA;lkwKj#B6c,Iۼ:,M:PK]K/o럭K |871 tǚ>MbMcKNA DEbWG߻~u:}DS_7vA;2։ͫO6oΤ[Zqw[7^D6D#76zǎzX|f978/TM>P'Qv?sl3;14=!ۗ΍~M NLw!v.x0nRʾax綉?\ A>lvݲ$ԥB0m.dM;|B q냑C:k .QYsjAXM"_Oš#pS7|.2>P!lΆY_?#h;iͯ 'U$vUEsPTT@p?ÍEA5Jy2Wfᾑr=oN21K\H+'5ұ&'mU)oH2K^h:l tPrH;,DB%g2TGeZ4mJWhs;$BZ\1^d*Ëfldh<97kGB G姓^cR ^|q'՚ w-d|($tB2L" +ӳUSp0O'g~Kj$C | &k LRnm,*߷C(vHJu1-@y\gR6G5Y{d^[s~ `;l?0_TbkgKTIqM0h44z9,82צil ;Ը[@b=4\qjU-RWGn?Jb (~L3tiэpvW R^3ʧ 1`JW,<%{Rx*'\R^br_O7Ǔf{oq^b8x,GWƁky!5%q&ߍN+Ly-[>{pz;lGs=RB)= +lk)T9[(R}p=99+ځM'1qY3 + ,if 9CoU#\0#ת~seI=oyE 88f*pvelJ=嘣9á&\p2+҅M3{ΙLjv:^}"&|N qڮSy0J[hA=2$Na܅ ~_ʸrT76Zbj(3E˥prMU;i.^$7WcĄӰ" +rp0T|'Mg__@G[D'&/Q+-j }^;߰=2نDZDBfr[.t._CK|̑4Z)EnǧCˆ +)ap";!G"-gVaGGcX[5:M !UI+9,$T|lg,Xjz<ϮnG:q4fZ0v21uaLSٟ M9C>q {Kzm8*Tzi0ͪU:Zx䩵q+])R-!u?*xz"[uу nXdM_ u40KkBsDCzc\,!p)6St>5'G4}+j:eOrP'E~VcSO"yDxl=|__t\ /A,^b٦+ dV)+oʤO93qHPLxIk/[1a=y:XW2>Xvβ>.GI%Ϋ+|Y70tAqI՝mKۛ=tO{0gr =TNԦa]TmZ.[c<pY٬nІ)I \l8< f|~D׀\yVoAi +3Ocە``oHWVe wI_F}K9xĵH,&ݥ|E>=A,_͂+:80-0\ENx/$I&`?3I,0'@uPwW]P!zI]@jߵ!,_ߊ]_S@ +bÒ3 W߿OlC~t[$5t[I2 e+g84"IFf ҹﮡ375ʡ9D6P`dxDb¬CF?1lA{YggO~i3]q[#}in A-E9%4|&lG6J?.f݌^';HW2I?gнiDn dF9; O[V;=OI̶F*dW;>7fe,NuO]c]LC̘]7G+Y6;H 4&+ +/B$@&es$49S^X1ޚRbDέ 贌vg<=ssXQUL)}d=R.&pQ>/[4B]k.^ZZ†)wjĉ%UZbg AԂ٣<8JzQv O]ys1.nJšP`iS'M^ ~eu'J/Z]$:eӟ+MKZZ8"˵-^ n-B*4zm{[W5x@Ϻ*p5˼Yw9o+y?T,&!20e>kאljn$V-tb3bvULa5]M"mٺyB? >[KxPY΃^ ;K]gpyͿ U͕Hs;-˕)9 tJ)SZi+'#>p=]= +4hY֌|-Re"C$h9g!$O_bF5Y n$xzb3ph.)ؔeT1{gQL!Lؾ/pX~˛SlQ_J܂si99ɻ7=u95o@k(Jy۲ moE(Swݝl|Q7N毳GEMbd`Nzv5//y0 =/OzJfQO(Cq{NvީKa(^kG8`_$by&/S%Go#Ҋjl+IϦ:bSK5vsH.G2Ȅ7eab{C߹% rc.Ɇ 䦧Cc?1_P= eR*DS84e&El3ߊt 눦zFbZl0諰Kt0|ߨpP)oBخSoUteIhA3dűhwx߃țWB%WY 8 W2_{.kpl1̓rsPy q f&4IU&HŘC~S$ߖ Āeel!R;ͭ;e ;#Wt:^ava gG +󴳲UeyM:*x>Sr:5!j)>ģzq魕o "v:pB Y%*U\b E|HĻ s SwLh h- tҠ3ޠo 3ЀzvW!?*&:-1%m}+Ҫc>FwHg>R돑ݣ?~ލsډ,IMz } +٥կb[c!Q|n_h!A+ߊM ၅TpjiYz,w~j8'7DW-QwwfQWJq&KA_}|fgG,NC'YtaGagqH{װɞœoXT= L>b{%Yģd(2| 9$vb|2>hEx +p?ۣaZt*? |l٢.VWyS68"8D#N fM2x/NӘYz#8}cՑϝx߿I\G0ۛv}B~cGW.4fZ3F<ZgSd7 +~H.`]Npi$SC9#b : o2Ywe5u}<`ޱx!];r,r,cy{ +Uyr}CWh`xPsS rZn=?wUO4_u.}_a7^DŽ3 ÑeVJ>> ! 7˃\A_k{-y$d>jeHs0tcWyPwmY ^HWAV/ⵚBNEDe*QAMpK@"5IwO=3hyqE#jd5&>lSˮ(MݙMЙ;~L^|Uq/\3=6W(7_6>3=z>@Ѥ>:>vHg5]յ̎|v5y>n +ꡀgq*UgPkVS*䦻d|O]릅A{:Cd}O<^rӁ*{EVλEKp> :|NĤTitӜ$ ;⨥ ir4)Q'ak;aʕ"gIHmR˙I* ]+:ɐѕڣ)lƵMB7$3]&9N9p lm[i Rph͍J7X do{7:j=Fm&S} OnS~g!Ap;+KACcbD$9P1'jzĆۛဇUaiu>`%EthjPl"b (}t n8#)\;K,I.Jbz[#+Ŏ^$^~N?[Tm.TpP0F yn2 {ɹ( ^Lsnz z,seIϡ$D#_ HsA</7xSY6 थRR?p~gͮIEڥ*]ߔ! /ϣ#Z}DWyW*xɇ]1#M`dJ m8!ㄦ +b2-轑^`w0T%)7\yÜ& \88ߦÁ}L|N4 +:GbH!x[niq5[Uw]AZjj)V[8$Xru6BM˺MR`$vR=VSp!] F1ܞwNnwXGR &xjEX⏰,.}z19L`'kȍ\m3P]ڿ8E&Cߥu[4ԪLp +DM@aj=Zb'ų Q`ZFӉJY +^BK&;&DJ% [o-T>"Vh,Ic*`{Lǐ<\!E4F+:p-<ǁGReKa+J$^)h6箿f jt,cK'Bsd0F²q4򕻫_Mx"8HN@׈F~#3B/7^ԍOE Y +MxTHńL +8mqRPEMPz82z#|R*O2+j!? ]yB-tN,wa7뀖K/E:uS^B fߔw/z?@1{vK;-V|1!Q_`iEFGnBꊐɕGoD]NmLhVȋ;Z<:ݒ46]r>Lx{ =WƦjpW'L )&I{l_$,_)T.Ħ?HX\)b՜ iR^{ !cnV\ͩh0 +ZNRa-Ϣ oz+¨[7e j>R]@oIpe+r5&f5j4 +tV(WI?EfP~9{9Ud۾&vYt%a:CS>^{X[%ܓ?|J8';H,A!ؗTbaDԬBL,vQ\i~mb</.:c_RfT_,!'zeEObR-J)̱MW7ԨBտ{l} |5n=$/ 6 2GW^$m{H[\PkI +RNPwȩGۣmDGϛX?yq7&+͘CL$ſ 'b>O3Kkor|a7v}'q`NPӺ.7Bᒺm]t^`O\tCb#݇A^f +zZbO%:mD Uөq)ûwo ѣ5];*|E~nRFpr僶 +9B=zC`N ~t\ڀq*GBfep(NpHI.؏*VVVoiN$JZΆ\z8MDnW7Ij-EOrq]Z+d h8̦Y;9UW85ofuAJtLYt?,;Bw4hTT M['%-Rf,~V([N綪F}j}r<%#ƎEӹ o3_!^/IׯY18}[.jKćWKqVC1=?*I8&DQ0<|"k<ɉ6J'@&X]U˶;r .M#7pLضc rUwʤ8>$ɿg&Co+iJu]]'Pjq]t VR~$ʰ_i݊"& l4378Kg}ʚ >oyNGbfU4v/O1,C>&^; >D. .Mb O.A?75gzG5 g98w:<ԠqaH7,%KcJoP҇O/\:NVLNx>믮4>Q[T 쳎] xbG2 }U>?FO2͡]|\@ A +On_:1rNae׸P~d^ws6K(>TSJ*ýBrU8:8ݔ;bm`(I_0%}M8 8S9U+ZYۇY-../CW],׮ao,v)\ˠ92vN)Eԭ(B&16)4G|czHW܁ފEƥT_PcVewЉ4c<6skr#WwX^G+Rzݣj + HPAFf@! SY*8DeP BH +I$@G^RҊG lڠH ˔5.+^ko]ƶ^խg.ߺeb0فӡ[еiudl/5~ؙ\He8ӡ) C?31=*8@{~zdvecf\=A;Y-SG\W-+v9M \.~Zi'&3К6#`qͨśG|zfA:}v3u5kHO.8 a9d7WJ?r?7J?< R[_dw/m:ζV;(]HUw]w1&tNc;K+"ۃorJK9<~k廗7^K˧_bӱ[܏tKAEGeZ 8Z?k^ߑۭVXkiOڏsDo&[G6FU8k_] +lЧ\g;4H +{\mc6IBN atK0RT`LFsݡ7w,U?A~F-pL퍸|rd=5rG,pn5]TE0pikh1 J]Y!/p'LlKJIMPHR&)>Bm(bb38RDJ{[ȄJeμAiS\6̄ʯYؘ6$5~fnS.>CWegPg^&ms1딢jkd%?[fT]RمFNTqB}@Kj:S9~u{Y?6)Unݪ:B̪ڈ iIZQk]3:1H0^QMiGjKQBgP[EqijU( +("Vpd,RT@d} '7&7 V*9=\3{&}YI)\sO/&DMyM^l' fL+u,RmCp8VM6#)4ǖ1;a_ U6 +^ښs Ŵk;}37DU>OjfŽ0.a<ؽ3ׁsr;Ʌc-^._s`Й5:؜(g]Ci&2KzJ[y&lmaHVHg_ZaJ5pLT*:b[Lk5eWMa.љ6h9 ~y8eǸHǝԃ,{@^XݭƥzdX9bwܰ8`89Ցmw^ u]<6)#.U~EN,ײ,^IJJwHg- 5/fQ< a4%u""--[B_J\cFsQ맳-<r6_(rMy2~5P]B/Ty9}f S9HOFCL23[V%=4x; *4-`C ,D*U-g}`ɥͻ܋Al`BB%E"^<΢h㼓4Nj]t +P0GTIW=g:$v2sȽO[ =f,cKa$fMj7%!DPu{aI)9%ڲk1p8a6/ +Ybihh[;OW[ݠ~sƷpG̞Џr$|Î:'4za)jA|&y$|YϵIjG:g^.9".(zRD  0,G|7Ga/`O{& SxEJ^gQ^_{8n)x,|iXKC ׋*̐zPHKN o=0<ZLdWb-,?JnS6 Aߐd,C4\ 7w1gi"sSz I55uA$]m8-EMJž%Ғ0ո4Q,_Ѷf ^="Kѹ]Ex^Ƭs:Qp_o>oŞ'wfopI@r*X'\A< …<s :[cSpoܣBNa3e?@**4'Si kƱlۦag}jcس('wC}M;bI,<ۅ{T^[sfb#_ I.>2JWn:9B|A8ECDH<jFvUD˓zHzy<6!*jOmeFc+ZE €R]GpUE7QH@v$@@BBTEj{rN{߽ʑ~*Q!R8S '>_[-*!$iϯꇮ÷ͭ zTh=OFpF7r!͠<wؔ/5&$hQwޒthp7um:4; H蜲 $sqnYpm{Q7sBq4eύVDQ4&Qp1jPUG,3ޫ4KQ>UYϾL&=8ꉑOx.|p?C s_Y2>L/| 3f:w:BniwVl;]AYO0\dj}x߷׈*ύ[8h} :0uO+]%D +ᾚUW#4c %y=C6>AyV9;37@{3n c2%agߠ?Na{S?䅟#ѳ hU$% mzͽ~]l\gq|þNtQ5B[8p^Ǵ3DvI2HWs& Qݻ{ .WPz HˤI| sدj2oaPf9%**Erv1Rj]TE[Dyg{m`jm#fqs}z|}ͼ o^dSf/aԬsv#Z>=Jb::'Y"x܇\~hMcud ?'5h{70P%.:6I'2W.|w[;j,3W=?o?o7֘uzW'虷bk'%Oc; vV3pEҫ?^2EO> /k4hQZ lI'-T(Tj5)aА3!lr`S'@#/;gŲ*nxҊn̝֎9#'wv~ݡ3Ψ-zpT=;N::RV'Cӣ!𽮔7+?:<bf/r/|-@~*6Ѱ%܏&:یLʒYL;+Cg5y&)!2ӥK_v@ u)zxeO~,wLf}?2XgL^GxC׼MyHyt/"sH i $(& |N.؏87DEJ0r)Mc?'#ꘉ@E_+M[%t8;I~CvDlDJί#x(ɷPEu}=ܐbS:ɸ`] +sT1WU\NGOمOHWl.&}̿,xBT8;qˠaj}LHXՀ翋KBR1J%Q)`aViabc +}ЄN)kE'x{TRAZܨ ~ 73>Hb/u9 +7QB!W/ACc!-o0Edo{{jy.$zM#6ϔ(fˋl""H=^[P$hl}c:HȖ!8ilҴJYqIJUm38*MPDSt`[@ fɝ[b'wwK+Ʌ5b|â Ҝ h3y $g>E,tlnK7FNn~9/n$3v=E$tUJn!l$XM&nu V,61HfpW/B"բA +>˦.oD| 1 IrrUI9kλRuH̊.Ad\~g',e!u0ʞP_`9I.[?L5W`a#Jd(Oij/Y׳ZHLCYHheU-k}]8N S^QMi#:tD8Z(n 8U +B +zb"@&'$!$ャEYm:cթKڹxs@/w $ǛVw2'f}Г>O*FGbʆ3x9VKrh +O 4>7<>~S1ALxӘZ #>g6yq~\T#z,DcnfmgS4G4RNf5 ݄yvHWCaۘzܽMRsfW!^f5wȢa +{ޅ۞YUֱcϸf0-Hۈ/dFk^(͈*Gjp3mZ XGAi5qnRN5;`eU jia]_~F^T{> ?-߁] b l +VU+mD0t2c%&nyn_hd T$L,0rUF$x dI)(X_(Nѷo.O`.IG +hl9B(hsՎuJS8FRq9E:0\ Q5DRV̡%0ЂgǪܚ(UoSqSї0l0d귖'!`>ׁU>1qDTH$'}1/Z'$oJ4@B#duJ ʅ|T6 $_O(2xu !x^*Zk%L01S>s^\y;8 Ky6nALmg ^vp2r֊(J1<a0E;Oqs}D=$0]~doH$/kw)7M̒OOEl\vcsMf4]UZ]<'tAldphھ-cpU2|4L YZc;4/qJ yL1iyRZGh I V6+K L#G|LtrԢxz C*׋Й\v 79YSg]29AسG΋Gz[ETYF;SKՋgVփS-\q62%W^}j <2r _\WgXg0F%JY1%"00APAAFAph&ФNg`` +S +F 9<|s=\.v`-l)EWr ~,,.~'`%J.y-V}߫ա5ʤbwDū̄b'1cz*E-|jie ˵M,6ķ3Zf=p;g'כR"+ +\|eILũզ@8桇OuG:N0WlΜT^#6B߱q9R8 Auv'zpQZ8OMہ!AتF̕gLp\mdJE?Tܒe_=I +m{DԻTz=qKtc\"t[:d΋c{M'EX|FPzg$ KiԙFwJX(~IXJ|o;Ii*6?ܦ8#KtoW8 T;X9_Ӄ튙>2@m|s]Kׂ'-<*wCz$ ;q=D2 +..&ݐ%փUK~fFhoʐCkA4g5.+_S[Rb_&_$ MEGqwIiNp +|=,N\)cuȔpýmwט]b"߭g/hꂼ +0c1Ni/ݪ ߎʟ䡝5d& |xV[)4p$%5dxGCϮtl],))I)$lRl! KTKvG8hΐ˸u.)o F7]1uN<~Ryuu3Z1:=Y1R +- UE)R۲Wؗ~@/U{ffiM~y:OW = \=>T1Uk{sR5؇L'gqͅF6Gq}H|% +{]C|o8/?B1N5}52lF%2ղy I[ ßp8 nShYEM74X2</ݽ $Ω _MH'U5zڽ^ L[6zV9d}@(ߣ!.{F O':W8 {oBmSA 6/v#k?or׻aGп +#싑ѱEcu0V_a'-);pgX&I1K9Z}xd;KyUr.hAoevC{9$q~)} Ic^_{_9O'.:aم=j4o}\ۺRd`<8>y]c5(%W7lb,~eN:ڇ[,٩*-.nOgNQ.GLcg{,bܑA%&AiWQWz}/qw?{@PM@_u]w3:YVc_|/^G^ˆpC;7f6T^nUp/PcCd'l)L,%)qҮ L*%vO7yDE?:q{šթqds̛u,6ЁO}.u@Oק.xKcz}+AG +{tZ2ޜx;]tEdzjV@꒔;?z+盵'+&āμ0;Q^q +␾ +𢈀EiK!Ti,DOM(e&B}dyj _qB$—"!TTÉ"U\KfԆƴA9M*zVW.&dy˞e!ڸ+aO8irVY}??6Pg΀jVQ7[6yiu9]jMޕ(|_Zn̓g6I#p>rp](ɟהT\s>Rzp `FFj4߽ܟr\'1HFVMZi*8QGL.P=-6k ypqwh; }WSވ;* ;.4QV2eWH*Q Bsq6 +qBC4\\O8LśyxoBO^<^‹+F"xPD^ytE-2.J.tSH*Uyg> +e17!B}8tFba4)ۡKu֭`~hOW~:;?2 <;:gһUb44/q(K ?ڰĕgb= +#oK…l%7M{aIF^YrT{1oN<([8кxk/x<Bhh߮lP>V-z*:G_}/zJ/@~tkA\=:J>&23$ӫ +IA\)}~9k%QZN'JI%Qt=D.{UgR$TywUn3T&$X!+)Bstx̄6YS&_xaO>̥; 'sE6-95ȦlMx6Ru8JcvpזV@TS%!z gbWm( +eFQr#Dže ~)NkF΍(<,W|&\7Wh73m't&HHj)Mo^pRzp-}b=K4qx @v>ѵ NqLMokw=olhn$L1bu:Ry2ɳv+iHY?tWyTwSR9PQՊ[mQʦ Z9 X+:,*,eQ!@V @B@!%! ";jtn80{3 " +wS +\[y-*8dIux~Κӡœsk)QJlbPˀs3MNj=U\y醋(LK-\{s" +qxWd>BE#=@dK|Xotse.Z4tVJ1CUZB.XՎ'H" +?P@=f1O ?MW̺Z,tsA'U=&SEM{TУ4≏*7,g$Xbw#JޏE'PFm!O47}sL?@8v)S; /v_ʑQW#|lZ \5ؼ +X]V Լ"G3 :W QWk:s4g߸ф%RLCƮo +sNu |aӫ)-ckm2s&{KcchoG JfudVz>?[ePGQ!w@!64A9#ұ\Cc}1pl0(YB]\#}<2Lqs:H%35 I?{x $ln}@.݆5/6b9(#_363u}Q딧̺Ә:c!Cy5/-z+ +%KfˬEk( :Q%9Cg;Á|2AwO}1Et5=gX=lUOyS..I'U;M +VԽ+;V\UԹEZK{EI+9THEȠ+*"2(Fɨ2D@( $2%(00sPmk0,:sgo`?gbH.4ܔ2lX+ B#9j7Os cs+ࢸKӛUF`WәAՖ衬Ki}8ݯ]?9S6M$bl*Bn4jP<$/]S~(*^ÌE/f7@~S@-]4sQLxaM7>M2:~ +~C/+%35e̮Fon6{1ϘҀw.d/m.a[4:`LF`y6%Zbaf_f__  -lA͕PF;2|,9Dtim:f6h\ok(4ܧ}fw4'~'/Gʸi31އLQ#De;$uƣwrDVv>)_Wݤp+'%6ۨߚ \hnZGxK5Q˨V;:Ѳl|#Y0߭:+Gp_o3JV<0HOujjJqd`fn\y\IPoAۻPr%[zV'%\m!"mIt;avU6YN:pխtM䓸Ήvv7p<'՞]&MSp{/]|q <]hwGҶ9~qO6ijԼ`MpOasdbzRRr4i+HE W*7Z)f]w,G +S(?6La4 +vǖ{u[gⳛރ' +Wy |d&c']0{zhOy"\!t>N@6xŜcG (EN~SyT55bY]?%lvO4 +kصlWѧ` n c?rI񟣱x9Wz1#j?F-" {bބX2X?E:'мMh4ަ&"M9D\d"V|q=8D=%.m-ż>]%bavb}-=k񱡇˴ q󘃁j.6!X]G"O9 NZ}nx(*?DM8Ivkq?uːʠN'Joԣ|2z-a]GmS'G&pJ=:QXro=BɃs<~],/K-p7S=-͞ obQ;Rv?Gxk}Cr(Y{B"ΞAz"3 ;nNlwvd<' -OGjN dVK<mْti!n,'J xs(WӾx?}k)Lϝʻi2JPSx=KFam$ة:DBRg<D?Ur&"/}=)*?X%C>:9+|9%(cpz Īx/A]$n}Ruo&Rp4 +ͲY_<WwXTw}j5*EDE DlAu#*" QPL #ŊQADye +UBbK̙~a?uy+{kf׉L2S_iцw/hV ]l; ̌Ucl`t3\y-F,&WAoM^kY +߬?B3 nDpO[iGV3u>gԹm4׬pngϏZЊsqR1KBEh].__ݖ?l7W84xõx{\dmv!Q=jS鞉}sdzݑXF-v[ +]-݅^>A_9]d]}aoޓhZ9l +^%K@^yy9+ +vLVy@!Q2cVXxm] f[Z%qp/?E e|q +QNv^$)T&B(ԄJ 7Cxjs^ѯJ\׀9%ȜZ S.ԭӭ!U=X2SL?4 B5M]ɿ/&A$VXa}4#^b-rY|tA3|1SavMLT0A%RiLoƉiL!A QT!" T_^?uG\Γt)au2n/3;g A\kqM u :aܰ'HvGå&WCl3q DQr>EJxldPK1FO[0ZDvT 8U,F;8k [$t@6.r0jFh3`vVVgR[ sy<},l&; }!D8BQM6Aa$TgJíph(DֹG4kS8qP)꼯NHaܽMyś، 'f;׮ +Tdo|=:K0)^1tBK`؏QOdѽ<H Z.*k ^HՖ`X" +q7?K_I$q@5\hBp2%d[RQnh2 +4" +܏<#j2t "!ELDN'˄6<CQ*xT/q*mq~s0A4ZQ@u4/ϖ. h?ϕP೧ĄX_:1\ ++G4Bx[s$tA\e)Lw%1)/>= ӎG)2lly)sH`MR}ÕnXp69A}t|Il7T2eq92ᮗ-YT;p Ε>C5haq& ^X$S5$NP0<>(?/¼)tJy8nL|;dǩ<S +u@$}3|_Js)R5'dmeGg# >>9c?~s0C>r8mEN OPss_*6-qGŦP0q:th> P[PLJܨ +/p k Q~<,ȷCdz=K+âtW@'g j|~zwU9Aܾ+SgF忨s\`|"'ȳ=iǧ`1k#=P}Vw'Dn}}hEC6f1j#& ^;hU~ =ȜDYE0\zvphz '?Up3 +(FH2 6fŁ;ؒo"K20o Z Ed1tEi?0 5j_0gDfʛ[Q\yOJk7_8x1e`Oe'pC;cdaQpu|q_ :pClt-pqG9x^bDZ7,AwgEH>Rp`So Aʭ}x)=&:E; }_>\eY`>xO +IHvTz}(|, ;'Su55`j +unܰ"p4{Snl-sre5nvG:.E\vw|yX\K]ޤN))>b"_;b7z`N,DKֽ'@_tcV;|rR5gKR'F¹[rwٜX(=xQXuG374_f CSL,TSwQTK|T5e. K|lK"0#wtc$8"tY0xWЄS~D;Nb23% rfX4:}*DYїq|Uf^%m\hTUKVC}8kHqvi!*ma,>ջq|s +w𪨗ݴ+]luZ]ܒdk\ z$9žt'U?^ +ta|3hOM5-BnM=i.d=@w7LbO +ù/ `?LZߥCUG0_>3 t$[W݉HCqHN!'L@&4>O<­߇KePy-"x9!x0W4i(gmh7%f1-6 pNKj* +ϦKA&5vrs5z{#EH0H13hkLc#z|e_e qCsIOȝzlG ';EHHP&Z""$#KS` cwB@ʗdLYqfra 76kv `}hz<A(][gTp& 3YQT=xY_)~ c?Y,p"ip{Pź?g_1;_Wo.k-o*v`*A'H㚵E>z]CWV5ftw]= QMIzG}cOkJfxC''IXNI4ZoV}%E4ʼ|gۄ/g;kٚUUGo#_lHV"z2b`,h%F?Vi˒BL%HE>2iC&Wu3u[68򆐕~2ffeG`eowZ)$W=z7f*roZnn6i!dDgGXK(I(EZNS(%e$:ErSeJcsnyf8{>;}}|hS;5+-3}29> .]vP"Lac΢p*LyU)/Wo8 +>yXN2s!t6貍'',,*NLasoT]$eŘ`WMЪ_zSsf}_{3SnA<Ӳs14Y)ȤKEʹ$5 5-z41qD“?f*87*^UνpUW FDO!1^WWۤƃ6)?k4ʽ6ytP)x>O 79Wy{8La(q7q3 ZMe*RJo(VQpgT v$Qlhbęѩ!_>x6x1;MP̓(|qZǀhx4j氓zLF֙=AsM͚u]ޅZ:w+jgTT3QӞtjeSӳ[S(QM28mbq;]ˠ+R.R^{{<ҿB fHz|"م3%t/y۞žܢoӆ38N֊ GaOFb_ E/V1-0<5;9n<;jvG'p6\ʃ%Cl=N_z 6oƻW?oqy7_qɛE]])W᭦ +K"u>]U3I"i˨l+bkzkϱ9-_1K#1n턮u0bA vׇ4}El,5oA'?SeW>s~un[.j]1 =ܮIvAㄴO_x{A8=| +'GGbm[Kq57G&^/uAWT~ g1AX|{σ\]`gmY]>Xh +'{ެ;<߸aSܤbHԛkV{a?r_㽒lVw{HuMEf?M=uAwszY$cZ Ě QbJ| t/kYjd#3̬̲IAmțx<(pϏM^"Fr]pĽQl"p||vO:0R˯O;ey,<w0 >Cs7BK)o ;.J^W|^ 'P]'GvHk6z{ s#]o}Vlm2_C5NX\4W\Qc]Zj܅zKzR6Gu"ʠպfreȗTF);R^3A\ct$gxjԲG8irp:w'XVK'EݞDE-82|u0U`}\l+~o<$!+JC_y} ~~U*x~OFĚ 8Z%Oq +ω5O=Nar|mqd\_V2Yk;ssaNMTK}*!`{Eף?#>v$F[l#۳s#9}h ^Vr|j@98d +V=1zU/7?>h>4S<\Tq?2`>q}&bgȵpVKےLa4jFK;ƜGS qd~)qr;H6ͰRܷ;6 Tj{9tBmNNW?򰦮<i਌"nuVQT.+ EA MĐ,$:(G [PAmFG~3{9w~mQyDgyqcqG6[}NnՎ_^{ w-AY?~īw#7\l75z +j0[[^/ycl f{!cr'z+Oag;緕sIy Wa +ݽSI t.cmf995r-ֱCzX>i`u2 DiE%|>[Iw7kz0u/dNw+F(xm@ܫP8GҀq8-/ɀ)5-ˀ-*PNv-΀3Ysg9#SwJL36"a-.Obٍpju vQdi2-^tYܱ 򀐩MaG<<_`Uar l0Oyz_wK6?E qX\Wԉi0wZdQ*ס(f <V7"~IU2Qƾkiܤl!^t:C8Ag~:_sW8֡3_ogkM:=Үf(c 29!Ȁ~@1ֹIi8N˸R~wu;:$i3i06H$IUseGicJ[: +;^Gu x!&0HԇF2$d:rΧ` +!?M{BjH 4P^cf" + yݡ5q!bTKWȄG=I~`R7ͷgp]bN;NSD0}^%1lT1x +z; ]HCqM`TEcJI VHk'Q];~>/`2:sAD2;.e8PpΚa)kI.&GIapЂMqAS[S6@I{وݷɼ +7]F3xc<{}XA܏ +IG1S@w^@'(`2±]\CcE94|,Y:|H…\$AO|O<E@W)/:8l=_?(N ~ݺi+vUN\֕o[f +fBFJZRŞPBBpjѩFȇ$ޔ + &7EM&DQ +t`$\sJzMœ{epv̓; -"BT/ \WҀpn*Ɨ/F'KɌ! +v % izH> )dZ)xmRK*h[N@r +4H@?꽢ڳ,ַ ܋y/puK5 WIҠ͙uq_`|vbS[>/4ukpcKPX'9K\FG?UїS&RS-'mvOJ8V@_3H)&dVa>k'`Okb?'ŷ4 hjmiy˸K-|3<J{- ^=lw={1;v?mYSp4jXziB_@ac6PL{4 HFn +LiܱC;QØ* +}-UQǭdA4%* \=߷~uT&ŢyW2q"NCuv:\58(21L|.kumӁ+{ JԶ qHBH8VscE0s!+ND_RInȯP3x9^xW|ToPӪ/LQoJ~ŎVUh1r)F-_tSzR[*7"E '+qOKq7N%߽^źXfa%9>/*Db=3?N~u*a9ı^M:5Ilr=v~:^TCy@ٯWx6-bE„e^QoRwj:L|$Si.*9]YL]{źY.%3I .m*Sr"BUNeކQ8iMWRiSTf TfJ/K!B2dؗp89gN ! Zi>Cu_z~'kMgr!3!,y2Uz3CZZD2t'%qJcäirZ,zDb92 v:Ǡ#njG7V$1l/ +](rG2(ݲ*a$UO ]4JsnLPcoAMQ7#3wQĭȕ YqMiiGp(ʕl4\HȜx^ %Zƞ=T @U:CRkoZJHtыO1FAH^onct8`BD̑ j@It:AQ~xֳE|`*< f)Vγ~5mJe̬]2NS9CD.ǽ|遏t ETMd*K4vni"HsKbNwsd _ev\R7fX9{]WDL7aR&P!|63V 0/T_ UR&Zg& Zgz(:G"gF\Q;7s;;jxkwRrl?F7 + b"R!8-MёJT#@4i;&d5.#]i}FOGW"/.~ +{ʐI +!wҡjrư6Vz?Ttuyj!n9)/?z٨ k0 +!f|XJ(6+5 3P (iЮmL񩶋xGULT%E4:"%ɆZwZ<@<u&"ޗk> c:8CAH%6:u\6qxQ;%*u|QX>'S^A\{Q?f+pȗ=3هD7 DA7\gvgMCmchFhRPk5 +sx/̓T|xص2}nS1Wz&!OjLt}<1O ׽s@~ TXlDin9Qmal$(JDA6p_m +'s{2FZ%ˑXvr߀1\6zY3&nY@ m0P~}ֹt|;f{4ɦMlnNb(KW3`~.q*5= g2AC'{p%聈pxƳ0u[GI臋w+ +* + +@_3pJJ(A*858PQC$鍒lz(/| O&qYhX{co Ϝ1jx\8jJhE{xaC{YQ~R4t0ZOt_Nx@p":tE}8͜Omc!SeèTQ <(11ۑ]IQO-oBI/|T~ڻx)ƒOt2bb#AajJ=%umy;ATkj]GU Bk@h-/Ʒ}RgZjVyף efMw>rj>Z㞼EL3"uǖi^Fx9tEQ]'Xheca;},+)8^CA5+= %iO@7/L3oEMKcZ6b(]lAL5tnޅ6zcn[\ybZXPﶩL\I0z7U#aʣh"*"*(-HXT (IQAP2 V,j TZwE"H((Idl!Ks_=3=s~$cJvM@, |Ǣβ8xmOWw!M½K)3]~qnHd;I}uY"y6XǮUSjRxL ?N//ᾍ]{:xU#Ɖ+5E_\3ףvߵMNHgO\X-ջu703va ihH4|rlo>Lj]~d&<{y{xge"ڭ9`8twlGs{l7 ɾ>\J#WhhJlZ燣o.hXߑMS:%aZ;j֕ M-mo3cD}vw'ZwglŮ6,Vy +7B7w_omzN3q'BPڼ>ߐq|4[Yo_1UƫDWJ7\ng+uկQ%`I'F_躧mׇ;tIXg/81s𴀭jO#4Cˈ& +뼕<<&ȤݥH=-n@->^M L Jw S +EBpXp߅d}k||$An|2|AGBoMh׬qlfδ:4FŻ|T8䝯l 0u[&!f5Kbd"HR m6L3oh  eB|w`5?l`x*?so*hE&.>' z/MhZߟOČvFuK%nn=$xyOFCt 4dߩۤQB*~J2݊H1+hd u{51lHx,+Io# °Sgus=o^Zt +'DAf|eq^йU^*,qnQ;Gw]0gh3ҴqfL}I}R4,/Cɝ~yMV|KXs M , IJw$Z9/JOsGK^2#oK +}L:lOC__9 Jn"ȵj5u ȺF+MՁo +Ա:TKFsTu8CP(X2WG|16CwܿWJj6ۺٓ~t?2br8t=%]~$aGt͹ {5d~̥!JfS1e!ݶUaN򭟿dбa9rɠj2am9uPeEx AM;(ZӮ; ܁!ݴwXY +@ZR]>bu ? 30$ ]MݖZNdqJu_9},ݘHwo6n#t#>~^̼NE$bnʂ mSגX"Wmhr4Fyɣ~JfC `i b5ITxT[xN=WjgSm+]Bݞ|fG:< -z.?Sz"}, HBc@[Y􋓭QWyt+CM? oX0(vc3ԡΛ^_<_S{PuX\.fQY5tB1ĘskhgjAzl +E՜"i]'ÍWoM$6N*jL֥ZUh:(qWpCq`e IW"(TbqE:|[ͥV[9n9G{8{|+[>l0Zd]gHY+k^I~l|%`1~9 /Ţe!2)âϖ}`<^xA7 >d‡C B@(bE,h?_:#GgeG✁{Ej*(?XȄ$26Ҏm0+:cME qN8AC;ۏ_- @ pygG#A$驫5n9|"+Nˁt(PYbAGq`Q-R'I/Cb+Jk|\ab |Y:$SSD? *fiEc14P"wOU9M18MR-tЂx%&0; pPbt ?Liu zp8n>ֲ3x#7o?7 +;bZf>\1(Ay~+LT} &GnF 4T-0PHZ|*?/8`ߧv +|#80pKXf}}zp,=g~HL>tgO(*}сG{vtms#{q w`uL9AưSL)MMWbRW5pl7`4y?m׏P +5jOL5UNH|)FSx~DOU8D\h#4~a4am :}88Vn9tma>(T`o`<{.x[K_K( ﺕYoaW~$YOsގh[sg֚w8 YDhJh8VE}ƤjTKi<u=z}3862c,T0 璮v^3~N҅bSRO(oϻњ}88V3|@<(g;rz<"vL7S.I6`ftv'Txl6 +8PmZ UiLP[)9w8eF} AU)t$gYt M[LjMe^y2ARsHnRb㷸4#w:[=t4d'od,=~н臄E K͘ #-tHOG}}# 1h~K@ ^oc鄔85/)ͨy1|sE< Mxn=L(?Ё&/ʦ9~ס.6 *xe ++ ~*G"7,TudCSvZ}xmuY=+A7)P%$xl& +o-J +" <kTO/|Qu9 *o&.y ȕMXڈkioy z9{$TVX:tjK5pb -gFZuHR%&@>wO{[';'qѮ GLmq/Y=p3=h*Orǭ ~{Ud \Ju@eܡvK#&t4'MsՊ[s'}IV#5zETgS%W"o1%~ C"7*"(<ח'%EpZ")y%z.ygGk3gOCH*a#/I(l|ueKc&\f=ta$Xgڅil|I'{@WVӊPLȩ zn4:.HsnV%C %R,PN/zL+Cx01NOeip*M̅<ե,KgXȻ O1 S_)\1f+̴~z4 ߧG>E{mIz뚊{'焠Ҥ;0V @76H΋,zllF|ҩ Pb,vd |p"c >dy`9x= 4gdaA&.2ٰ8s-ߣDmHCt^(Ԝ6RtC_ ^l[Bo$T.YL*MD$K.iUDE\1Hɒ0fwITz۶gg޿1=<A+nEQyŕ^+ņT-bFoMW}8+aDi|G;<oP9dǿy w@r=Y~=Qi+9uƕdm&Zq-m4y]ZO:CE]moɚV$L7/` E76"wŹa~h.WT~LBeʺI7][Ƿ@x(pq%gNN FZE"Ny{h֋%Pz;J=H-9sx4^+4),H,GJ JMsfZHJq2O@a>`t QRa_P;ع bOQ@kS5$AlñR#m=a3a=6J(<ұreKSWL|O>DOT9n htmݪ ԽKOIzl]v24";`p4n'FB,{NB蜼Og#/CA\e6n%*/Sg%95)!_Unnp.\'2̤Qe|Zip{E;K"X$ ۓItL[IH},g~ xϪ7JhrH쐏;|}eUml[Ω)2t ooଗW`v* V˳di~xGXYǂO*;b#PiG> ɄqkvX1&|aULJ>j)'9 +xi +? L@(ct ~{.r n^ nE!A6/Ӎ5E灋Dc:Q K:EQ MDHy׶+\(gSߡ L o~/e`ыP6߂$"cx6_ya лq6+xƣ^yP4 w1G14K bAgbm%kIiJjc;"ϓN:8 +fqʊShD F@vLt[?xUSWLfRLmϥxmdNs(zfz Sק:=~Ct1SWuc7*wzo/ldA-Ly$OuYY̷GiM:1଼ld: 3 Rz 4cCUn z pk+Cqn -$`us ]-pG.|=UxSX^ZN]W*lc^ ".Vox3VIvķ].87S^ϘH}<%ftʩT)5sN9ٷļ@Mz^ ]>]j˟GԚmNR %.;%;h֪y=uOId1n Bs+P{,sf4t!Հ=xH. A1sUq-\O0[HiVtSfu#TtK]ܒE{?)B$Dsu#aMZӆF}/on[$[.;i{.A¾(#v6 xN{:NEA=ha&  /2wyɢ|f` MA$3қ|N a8yφʷۧOx>\C"cJ<uxF0|R94֧ WN]O6U`6zfgР1[Wm~Gk`Fb{qM?;`:+f̀oIx<`l9ϩȶo|-cHO HcLkHuX,*EP$ +"bATʰ Z "E[TRd]2nZAVT\,VZ JK + (sBof_{gs: Z\- + +@_- +5Ku]Ǵ}oL#"xL?2+Ok?rh'o]`kϟVmm/rlF"cq|sVj_|P"k]tp)z߷u1~ rokrYYGVJj^ĝAv&^r17> Ix|^r6o3U/c|hy7x_?b%[:>L`.lc%Ic..L%? d8;>8`X(!xΥ%;p`l[(`:;Vܘ+LV%9^nu ypɻߙ OQ>Kb,~o VDЦWoYg|/)rjWNHÉ3{pN:%<}LW` IW{ !ܟeg#c5ⷥKc˒Gl|ϒ9Ȅ'xb<z){dC \~ NJ@wCR|vfa<{ aR_Ň_Sa7&?| _D-@ݥGgt-fH/Yz]}1߲xBv +=D&W,? zXQ]ᆬ` :h4hDSyfOkR^ g[:y<[ڼf9Í1-*]="O!=V: y"gk"ޫ8H /=Yyw0n-oW>G1p<6zft@.u_7WӧuGS< *:.^!bs4 Tjľl>YHÛMɴslj>ʷM} v߂gbyqA?:7q}Ngs`%X0N7Дt>eV +WGq^ +P\`T4- _+K## ꢬ7eTo|%g˕M *t РY *j-taPtw0Ti,:[; +=2Chcn?CnN -ruM™zP~7*ͱ -*&G61r\D:TaY*v {6Z6mACo5Ҡ'Eܚ4Qc{Mo)}vPlv]pw롭n.lm?XOh,ON盺RkrϨTܛ|5j0GNS_YCoƅS̀ Psn?"(HN9v첿oF 3d/26ۛiq$^y50㉕y_a=ʡ1Zd"9xkCf>쮴аԧcVBM|$pȫy7s#WHn$$ډc^& fKH(ZAʿwK睨=$J }$GIm|L~@)y Ώl׌|t@}x"]HCr]W!D}x&Fم]ލNڲ Q7 ԛ$dmv ./fBPc\IH0γrtXRUWH+旜b)pGQx{Jj'n>˶ 0X΃s;prg 2˯IYjpf哾I\ONt}v$$% 7!H!)dc$_;gǵ q1vz·'S!?,N[a e%?/]"'MY`fkhf[2ڐ0 7;3ݨ z!XS# ]ě'h0W2T h׋hPW'a>D\y4[n @PuTz=/}f:n3*Qf\#&1<w֐۾&aԳgؒmA?iq2}HwW7m&惭YL}h?A~Qmp9W z*c6vęF7I$k⏘:fMcτwAuZ3}z?!9yG#iֳHЍ })$C5;BRE'k0OԠZV\ 毳;6 AtE0VX>~xCc@{"w@Q;^zYڗ`H V. SYcWӓ`61Л$k]Z ޜQKGY;642X:F +c;g?ʹmA +RZ9O潦'ą>6+(8BCf w0c}xO/X0[M׏dq;/ogYwLrkyzܹm,Ą_ev-)AKHMfȎAr|GARPמ%eU8;#(8rh-Z(SU*7_qSHMHS~ч0k}Ļt? +g +.㥣;^8n ~lIj_rm 'ꬿpH͓yP=q"N^803gȣipJHj49ם=#gPBE7$t/~PWB[|A@7mVi@-Mp{-ޕ+{zSrXLqft%8޶;jݔd۱"j+ܧ74/n /NGa÷+.J߭ܡZ7W( ٢dܰȝԫ`E&nݢB,P6D@n*ΪQU8 ق\<<ľO:;KA^U9Ie #l.Ŵ3̎b9NI>6MPe_AVigJXFN #|$%n~9"8ӕ8.x굸,D>5yB] ?3JT5]O_$i4̹Ǽ5xZ1Ê-p)e_AxTY55i@>x~*SUQJ2'y&y"& rR>rL")/m1*O'}J^m)fgVD|AW[o+bp%בEˢ A:q/$#G%@P{-۞"jT 7~ +^䕷ZEJyl5r +liJEO pу/ Fc~ GiѡțW%T9IȓCJA#uBA{l!*` 4'caSBT|ej,)y"n>,.$P '^2s_.lR/V@Yޖ,ƾZ/߻:zp`Qךm1;uv %}sF&PT ȍ+o~p y[֠?r+ao+X*զ)sJn^ 6evZ5RmR|z@r~țv(J[$m!-^bz;(J,߁*19f ]=O('L^L~F}bn56~ӿ)BXy}(I}z'߽ﺶ316 %HH0]qM^YC&AEE㌸!D@Y*eMܦ"Pd"Q@C#1AVPDAeM@X"j}yߗw;s-˵ptEِf ݳUӀЯRlRIs?a+Q^!퀪g/IpuMBx/^hTP}Ej ٓ?qi_Y]`UE`cUDP1D L.3[>LF,BrW%{n`Idi2?_\9J8!Q^ +>UT7fjƷgt_yZ?|ˁoƼ&)_ULfX#zf[qrY3Y$cHe풽Qy4 + m4\΍ +wyn]]ɟj[aOQ"_wU3(곹v?av CJdc|7x/m R +BD!䧕8V|\F5-B^%-"PcB +H:z~0suw9❽y kF}=k d,:^Y0YwH#qpN2).HU+8ɽP 'w,x$"|y}ViK2R4(w,AZ==J-8=ToDm*[PN|.ߞ'#0\|6#kWz[P'N^ P\<駽q&'؜xk~I4޷G'τB|Fr|X]G2QN5Ǭ 3e^Z_3 KX1]cnY|dIv)XRedrt)J?v.zXVGYf z'*g>.rB,ՋPkE״əaj꿼sKy`u!8m0Y:B[U|zN}c/O4Mߞ61%>iKQ3óTl(r +NvVXgLę3i̎,l)y +*Œ͗:tnżHx.ٰ-[l̖9$Qy<`R^KsG5[k' 8r'=B8vt~+{;{~a.%+?wcqcZj=iyջ&kZԠ4Jej|X5ou[C+NZRäg()y3cRODp.^SΡ) h@*S ?b5V>2 ^܏c]}|~^ޢ1|%83cJ~gSv;RI^.vŴܒ0) +EqxDF(TzLOR+.#G."Iy8\"W3SS4Fwm3]~}&RѣԴY0o>qYS0͓ݢ+R %TZ1Js2l `[PmZ 3Pžw_/R} 8'NYĸWwGy2ȴ?|^4;8TX᎜Ky^`ǙT2 W`knb(ٻLI2՞JiT{>L_Zz;^t#ڋ XE[Zd(eF>_0/:bb>)R )v[+gxvN~|59Y,ezx3+Α;cy:A0]WCy0[] +XDZw\5V)ɜυj~} =Fd&u/3]W{kԗ UHetX_/OeXG䁆9h/2 &Aߧ#r{98Ϛ3|ryyIpZv8AvF={vZ_Dd>;Hc_q@7:=#l>(Ky4Cau5c˭e& Z]@9\u6Y*xG&|d)[΃G?xE{'' %n#A -z ]kJ-gvK`Qf>~c +I1y?d2{5 re]~Uto'}/S%I-$3;"Kq$1((`}kvQ J09kBc( 0D h <ijB{xPԅ?/xv "tkÞ֪}cwx: "T>yRRuX)-JP]Q&XP#r pSPN,25?ǞMYlkSɈ̅$x=\>OF"yM$%}$RE?pa:zlS6&E+DW[S9A: +<,JݖFA )>`g=OĝYo@ق&> => ", Y$RZ6LFC9:JEh&kj λ7A^:HQn9/IL͢O$޶cv gFHߤ#AL,r-"gri1M}ZUN!AQTX +\ 2ҫ!p2.L<\ȬBMشh_k}Aä y뷘=͚ẀCL +%(Ȏa JCoB7 AK]~u7Ј,V!jTWs.poOlV(,ÒaՀSGl!~3o-py]/EvM0 +3CELWLy;|Rtyd|XKZ >eCCV,criچĢ!0مD7&5b~tEҘ)ˊC3(G:DaM~+Z1]umx g F^l:`Y4U~~qh-$g;7:QwMcDT6; ?nʼ|M*3/h襷=ۋzHc[~8|mBD3Sp"gexb œ]ՋH 8f$Rjpp>dBoa6TJ58R"߂>hA[Cwmċ\wkPjL^{5*.BA|1-Cˑ* ۘ +omlk4$VW|*u;F}8$&p[q% ғueNWFh4ī^JmH~j:"|jxGu7xä^nc`V Nz`ݑ0rO?v=T/kqO)P~1 ͩw_?LCM/H79IqD#T7~5'Uq?&pNK3$EG< 6' Mt ~xA:bRbQg?.E@:c &Ś9*l@T>;29hz`7/?/ܩxtm#BfPJf> #$}w<hLUf`sn"JAmRHތSc25k*ITSƌUC\׸I| P~J&~|ۗ=(& נ30={]X"+$>ay`RMH N,\Qfh~nӀ}2B}ͼP0{<:܈%e9>S +AhY4r%JpVLhX#A $rÇ/ "''`3iEb9] 6',s泷VVE=r"^ O[*p+tpX4(ȭ5gN9ZJ_+o'4%@McgNA G)<$j_=qݾ(03Nɻv S\FN&"*^Al"6dfW,?Ι_Od\$ oZ#0Jg(͜Ir r0rߛv>N[{ d`{sf kZ䮛7` +З/ + +~NmOq'gl~f˿pgꮁjEū~k8o +]ynrFpʉh%Q|#t wUUaoй:;e'<T{oq: ;oF|Q4UZ {mk WreI~H{ ܷ!7-lv@~z..W$Zy&'%I:68{dqPZ$qɅ.:HfTfG +cB$6i@xB3i/QykuF?S@aJjuì HӦL@\2# ±Չmr.:"j3'g')wz ߭zrҶ|T.dBm*GJyԫߋe}צ΃[ο,˙YDPӥ[ ҃k*gc@o7]TkxdgL #RK%҄Or$TnD IQB-Z`nS6dEۦq}13[k}~Fj8a>Nl8IS9lm;g_d +4ʪo.:Pq|7JKQ6r^% $*S7b +8h 4 +L lj{ -?1< Ğ"F +6G^͆ D +# 1X VƣݛN݆w۾t 4Jn wll+#}әM g&3nzk]84> +uk FUry <k7% #QmͶb vYM0:!gcT6%P:H;zYܝo?P:K \;"Çuz"U9T+߿9e6x hԢH$gW#쪖Hd`kyز!1?ü 7|ax"6h +9xDwAtn {:?˟sNn衺(IBkHȳcGQ66!<o]€0ނ4*Y48儬>čt(8t=QDrO1kQjF&n>K.]BT&XӖmW8ooU o/9wB=fx 5|δ4i._`YM˧\}L~}/x\euT%}|ZWT}ʈ@Y>d&)Y0̂Õ{I + |ۃ ڍ%Cr ו  r>O:B_.)KAk$/:6, '5#6hjDK/֗mlr$QMZB؆1fQfo|kiM 4gu84bal$_l\"]fm-1/lYʡ +x ηBȗI?%Y u2M;߿?ۉzrqd 8ba6hҺ y}锐 +ĴcV" xD MvYSqIok{͵F37vZC͜嫏͢p[#BOJo">{b*-B. y:]G tP|q&?n\ Y3}X-IŸ,[/Lʰ4Wb_fTN]N٤N=>7QFhqAzZߴNh=RkeuQ'e?N9袗ڣ˫){]v`"VsuTkšVS"BYB4Xr(1ſMᯝZpOsቤ&&aʓ"#(H,u0ASQߨ6O=Q1[m.A10LJ`즿S 0y5k-5}jxP~?6aq7>G_g&@ =QRꩢ?+r\"J>K.S!^o^L +}[ _od3uC.f526빻 T==q[K6y -}v"e=#Z}'R,d v^O}ysDG +=)њK*x{i\i? +|E擄wh; +1e)ƈa(୞´] xNêu8n>M韍#?/ڔ#6؎zwuk2 +>V[FFaM>Hu0{ hG.8MqC㍻tVcxSB_Y]QMx(GSs`>z^Hx&U)8]Xqᜎ }]MAmmj=aIh[x0uWe.D@}EMo1>|ħSz^֧M!e)|btS&bj1^fvX(Qgio W# X.rXA0]qo B;rp>U9`?Yz8p\a +4o 'o2Sc&%m?b=FOEV<ny0I gv󻺫 +Mb>z; +窻?GR/FP}`L7w{ӄ:BB*GM*#yTBgjԊFS="n (KpRm%IS9LĆv!-q77ggb+&d)Qc%Jq!!kkcϱŬVfR?AE?r"!\D.$RRKI&omn~TpJ*(lU8M*lOMSrVI,ޯLܟZ9} + 2vu8p~f0y͛bb8?巍SU%qdqի*C#jwf/g$d.x} Ƿy΄ +p=Hqe H/2{6BlKpPB'Ԍ sZEK[9/?^f,dJMW/qN̠sKx<8'ex3!$NHoĴ1R"jcyX\q).dbs~gl}Y ?>no㜟Lss!4lÓ!mpY3D|QфGʵ`zro Wɟ'Zs& bq/t7 3G: +;A߳4̳it_ٴr8 &F_ +`E/Cr8Û1Q1r`]XUb{ hGKxuu"!C\| +y, r~ccMmbhAU.awPf!_㭹 +(]RyuQvq>}>I1yi+}||dpe֙b9q"U*+%)=̋mfƚM6"` 8 ߛljnuG]VMDܿ0_\ $mqoFoΊ*N+:_6M:T==$#*+x3f0^3D!T)Jyo)$FJӹsƌy?.Ic1`_UŎ= t zo:(_jb8_u툰DmYѾ7]Sjz0ɐTJ )<ւ>$}C瑛Ijkh. y(ņRy+9|ߝD޶S)AQ'{aiko~i;prq;̻ 91' /#]&M(O<_00@Hȯ`|oз?R7qo(z`i5tQl韆.B k/% +᩺ۘXT$HՐFPϻLBOO(0GE:b@W7;tly;t\E.V6ngx~G .a^oTD< G29޴ZNز?!c +|{Zy`:2\$pz᠛d)I֨a8A)<})r叐2n#GyVIߓ b#qf|cďF1u'"G24'S nƼk7a1naS1j7^4s!@/^[.(a0,cEٲLpꍟMXtX %P CûgZ` ["[bՓE;b'/ gLJZI܇Sþ/eXŝ!< E=fX4D^+NFh1x)#1:|+OȖ0 U:Oo\LN?s.&.:?.(kW!!j7eto]}iI˷jffRT[tY.sE.F ܺ(<ʱ .Pu>Oh)%(S"gAfeZ :Cd.>$̕đ JB` !CcBo pvs bAI[_OE.\K|R~鏓2D)Big"ܞ2/k/+}JMp\}>sL'5\]ocYp~Riq*\mEc>E7f' VL|=yS;4_?iKn,ɘ{.'*I\>֤F9lQ;:d̶^_]2Wm9$oqײz^d^oԸ߷ L]b_gh +]_Ʈ‰59`!N%P+yUʳݢ48䦏/MXGn//vŜS/og%_vZ$v+xg],0P +RT'lȰ3a;wxP\ٲY<G-ȟ8Kt.d5"gwNZP.O.^+D ̝=Ckki>+ڐ+j#?4tF9?~ \T9>6Hݦ<ˀ-{Ξ JQ+NAP0ɥ9UiNV"]l7RS05RP-p*sĐwTBr u +>9sdyѠ=l9#u ?F y 8vH7>;Z6?=R-B8z!:Х^HϊR'|n+8cW/Qɗ=7wQG3W;ӄإ|feܛ¡xz:rDV7g`<.)Atn&eCU&縠.M6` %t7j*_%(HR4*R:& gDu29*NIN1KdR.#& Bj&{գsz{_xo}@lM=B8F-۶FgQ pp*iKG7xY WudKos3d(]Ϛ@,g :Y lk*z|2~+s-w$>&~7!4QoOȑveXS|8(Ļ&Vh̝?sNⳘ-?nݺP ׸^2#{n=|ٰ۫퍾뺵u(F=x](F|:=[Юˇ_L㱚n+wԴg|7L3:}rtl(7gu24;Kzds sSa")&w?c[4N-K)95{E*ᰴ;s1o]=-*@8YnQ(wdLrwƍ}3z1>&nS-_D* .3e z+{.6t[CV1x>G S>'zZ\ͯrƀ>8: q&DqBf>(2HפBdjs%uiQPBoLzd5a͚v!4Q7OD +H~Lcd%LP6F*P+f)bRƝvlէ5Mn_q1.&9UA&wL眻}Gw"|-ѳ)o0wۈ[ ^Nx9f[S3swnhImdtRA$;(7CM0|cs_EH>D}sl +/MZA.W5pa.д>-#| 98P)J̡ZơSf5t=]kuiL;9r)]26:c$4"ot~ }HU<% P>7&\K|_b +l hx):/ߙ^7z7٪߯ +~Uwa.eƒYʣR{hU!UA\sS6S(yŬn<;z^pˆyKGdy#ȟ/ +wB˫z yIn>g/0^khK<\{o:|̃JRA +j%p` ?[^SHA;?-?Zh[&7ۄL4ً5]]Eu`yP;|)oMGҡ]5\Tg mVÐߔ ByL$Z*S%C=d _&,m 2姡!CBH`λ|F;ǦN>dY<>C.Xxt_2}qwjOԷUF`q͡mȲCjO$lv~vK:Ν/U푑&>F+"ڵW7 +t߮.xkX?&I?1<&,6҄G![wE$hZi_'0edև>cquKCI97D> wCȕdjϢo )z꽑=Y$'KPP+wrIS=}g"Whహ{ґYmwsQ&= D8Iu!]|1W.jCުBB5E^*s_Jrp2X+̗'$8JA9C TiԒES$f𽙹PBvEH-0'/01!~h7}9iQ UbVHW"A,p)}8q{ \@i +:Rv8YOÎ_ 4 ]0:khj(xxSbE|LroLeog"[Dz ku4 ̚BL8ĥ4x}*LHCW9Wi'/LA c4&R=wTtOjyW.q™=o)j2gv0&%7֫_n;K"a]ɬ\Kup-W2 *H„,޿ǔc񴋡RLdL@w1/ '(2%6c9dq,滬)zR 7иR4|&="?xiÐ43romDȝTCov3 +~s_@KVTΧlggkǵ-t0ICj8PPmQxdUC/4sY67!&/GFDScOiqdw$`?k@[taͯ9mx>r9;x-QK}Yׄ<;Sa<\;<:c]U'un[n`bS WByh&XdgApE]6r't;a6(̛YI.!C$8kXh&p_AQl"2ZCHUf!d0qxA5VHw[+O? +Y4dW#1<8p>˩>Tu~k"~{qBː~T%wRt("1o< R]6˗#+Zrہ"7װBNdzBij(x̛Od# oJo/s8$#HN ΊbS~GoCbc~|2yBvAnvWorlVUA"* J i} +q?U@?BOO|qݝAxf^BW`>N%l?~DgC/;FCSlFB2i:1h] +y[G 9,V{kǡKmawZWr3Oo@#Z<G:sǵѦ4w8` +Ƀ +֞ +2Pjlsף??8#+Q-k}regJ?BL1pKhX|L qM/;=1-G4HyVII;Ovu50bYUQrR(ҤkHI t-5H/+**( "*tR+Uto'71s;&߯=3\YI_iB'sRIo=?]cp^Z0Q# wҮb +Fs"W"j +^bwg>VSnBeH=moqGzD)ղt9j TZ7xA8VVTEwOE葩`DEt^28ZR_] s|.yHx:n򷝚J)~nL&RCChLWX>Tg[a'4l?zpv&І UwCRͻҢaOw`]-Y S AT6|Z0fCB VC ]1L>q-2  BS u&3WEq ]ҟpV?N/ZR75ڀzXTȔ~HCZE.K_C|͒~lt|;ٶhC*qoˁ* NEju|WzCW@b6Lkl7^/ޱ52jMmOt棧# \UCYTO-E)n@3gdCl+p%FhZkN ;L|FQnR3P!dQ O?y +,77TI/J9ϖpl-)u*O5@Q ZJU3բQ&9TJˆ'4Y#R0hv /A=xGr}GD5.z΃cWݜ%*+:IsrAޏ5>Ugޥ|9Q"؈kIߟ{L,^V>(n_wx8Б AGj&}û8e-zuVf]rTF9د}y9P@L- #?(a\$* +ℷɘeNMzupt_"q٤Уq4&6Nɮss<( +wچ_j")`g>MO*v Xu쭓h~k`ͪyrҜNEA%v9 eL:z'3Rn|3;/yu;f:EVzߐ r @19LETp@KuʶFꞅ1!J>h>jd>&BHI:[a. h3R|ݰbg]c)4o7 ҡP %v\-'q;HR@,yFjm$+mNO]3]&a:ɢ8x}2-a 6G糟_L3bO693E+-8AE!n#cw)^\<_p[&6ڊog[-M|a넸*8Hv5sEdPs;@g.LmxuƪqH.4Ok

:=op7Pe<){ ]>McJu" +/Fvpnl0|c1{v[_T~y:/h뒾 y:?AANW&POա~`bd8 ھld0 crӕYa]x#ctqPټ8iw}PSA1_eJEd'SR͡Y%{E$_EAs,,p2 ŮS}mqDo{_z^6G_'kaUb[1ɱdix댾I;-2.ћ2*Me <D]9L Qp,MSyI{'8o ЕneoKq؇[n z>,5Vh1XxŋZЦ/`n8b?h- $ޣxV4F^ƅ}\ 0/Hi/8,.²4-Oy ϟk4C4gj{c%}?%${Bw}G,6y8yXM=:֊bd{IxFz̜ _XEb;eo&о DI~Q)C3cEY]X~<%]Ib~.pS5J~.rhwg[y_cN}>@-5|x!5o|gL;BO/V#k69zp`6m<. #6Nm?6KM<)FF[p@=)|pߨ0::!8ރuP1Zy#LH) $ok*HG/W!cq)Ž$jqIMh$=9`SW<;2Vm\I}>I[U'|Y*:| +v_#ؤ~S]6 頏w~y4i)yt,2A//V6$u!ŢK@V.' 6Uf-DP/Eizחa:ra@WxEqq`[Ձʈu ݓH ddʂI3fL q=e.A}AqÇ謓Aռu"8:@ہ e˺FDg<`։JӇ䵾>Q/, ZI6F0xv$^oÌP_ |wmł`1S [ȃբ0m`(UV̯~A_bV| 6eÏ)%ETr6E1^,V9t P9x-Y_ pj +(,#41EGrWVw}O]37>3V9["YQS%\㊉PIli0^E]bgqKop 5%#~"uuc0.tÃ|$.RMf*LZ7mrvfG+#"Rgskxues+XDlxoas|<IKOIc_SP_y]4NjmS F I>}}GEgT 2IxRzD{é6b-k%.vƣunAe/:'xP ]X(ݙ𣏕^AMiwt%mkAŊ(UQK&!p +%" `ʊY/Բԋ +r(B]9l'3 Mf}k]GpU^v0(Є"i5-1qZ3!ZlŽӺDp-$\┲a#SYT>#5}L߯yDW3CfrBg@\Z0gx僨X#^dNNHVMl/>d%$oh[b6!U洐˦0 +{RF&j1Fd^pW eN{L2ŋ?vuS8 x;Za]Q3AU [  +U:m߲sЩjMtN_[/\ρᴸņ$cѯ?1"~oD~ O&I^0 s2IjѾӁU+<$Ie|MgAޭD :h4haN\`ޞͩ;yh' j˟ȡVOw!7퇸8v7A'KYL9rK"r6OB\HA.Evgj+OjSo¼zHOuqUr8n|WbܻPKGWPR-r]$>]*Ε_o7k.zߩ4ga7-BR֡eV +z0/y(ft쓛C]^-ZԽ+ hA xG7 tBwV4_AEW-GdblCr^TǞ +Rar[N#ZPQb gS7zu9d#g2dWd \\^ ʣQ}\$Rnh(g- ~ֲ$֍vuds*Ș)ۮTBn<['7^A'kkF{|R\]yC'}ot4ʝKl15b8HtR#k%fq8?EE6I~R%}wJtm&y؎ GAtjsEX|ݫy\uFP#1vzB͔CZ$_$O])W9'AB2zxuHF;{il\foNlE{SGfU_LN̏1C-*OYjf;eHzAsƨK.uˠCCeéܷlDEW c*B%M]qJH&dCf;C+ Pғ2e'Ms[}_}[k}oRœ^8^}08<k'0FȲ2GxY ;s+jR#/ɷQ`&)+0 y.-I;lA?<߷|;oPVPfaAOM +x3C3QM 3ȟL02RQ5O:~ w&*J˳tLÉCϡokbGVk5@㯆yz @Sf!T"F}2ũ~ ;#2ݯ8c^e_f>9lpb4)~%"p?QBXo ?Y7o<̕ PE1րYTJr74_g ڧR6Yqe$JUl|P5C BM|s­_;kjďkYZIp2Sl 8s!vw&^\LC!ع(7^ݮ`;=-I (cqmW$(w ,#'I R/z79Cps!#P7Ӭ0|f2\@nӬhܭ/P+o6Am sqk3F#ݙ#'mqnƟ} &J< '{6^Y`(J*uԐb[x(DRt B(&J3; JQ!9mnr>49l꡾!@:Ur0[&=a<ƽt#O&?$#RPkϥ.z3/W:};^eHx9"Ȗ7>'06Lì6\+HA%0m9~dfWb>ySA=7P9% #TŖq?- "Q2y3s!ueo{)rw􍠊O1݁{Q~3vq6noNP9-m) BۻtsϞt6 ~!MKS>W/ 63BPeVai ^$38e"&b2'6c8$Tn/Z),U.Eٕ]F;*8ffؾPbz'0txIV^ U-L/&j9ggf:Hzf9HT1[.y?k E횪7<#{!Fe}8G& TQRyԊᒚO??/qϗ9eܳ?{>KVsCn}huܳvm."zJ |/"4cK~V51ʸC 冋"u=PU-¨G.uZw_VAmzԃ:d:j 1c&\s7u[P>oo|,Z y|dȩϟQ{$qD=7cYNy#\e )#E{S_7uDp%8Ï܎Z-yryRŊ|8>xyh>9/u>_;Z\CskxQ6}.0{*kޢ?FE) (* +J-)aҪbSԥ}o%[)- +W2 d;LZ|u>e2=sɥu.ջ +&7n—YȰ/֋µ\ y~ gn؀'?7໫5ʥFLۯShV&NVrxu/}#|/.zRR^wvq^KK:H8P?K8t+Vwp(tP3GP>N+}#1wV=v>(,Zr^z!52z)BDv\ٗ4nG (C8{)(O>{_֮j^\J$MF#~6%:sWn|μ Q `jt }W{*95/&~LX]jrϥRnuuJ9]/'M|\}b>_NŬ9}`KHd+ρSmf;o_gu͐t`6x~yk𢻗c=+eO\̻ҭ޽(y{5 ^]SX= 8.Ojްu4rj-YR p_wxyN*\|^|n:u;wn#ԗ`?VJM;G?\R}ܱK5 gEm Z +Ekjw xLEa7;"];Kv|n1ſ-3Y6su*!m斤 +>9[?_~?ru'\݃ 7[)x.b-v.2"=nY`UiyD0uq[ 46F0`s!U΀ЍneY[u9O"Q7[o~:Ų@yjW=/?A σWE넞@шP!"{߻F`Oin<e]çnׯ<|Ev! j{[ׄȍpp7؏%@ve'VwxއV}%pv;79*?ԝ^'I0P^9ppػ {nB ,eC{-sF&a=hM-(zj J5f3ܞXD˨nPКK* fs}唿9Ń󍋇Ž`Cw^Z9 !&mޮ[kfy^B+4vrsv[PM%OhL :8} 6b̄&LvҼ&(|+ZX 5} =9YelgRNjj琈&f-mEķx=$P4-$ByQUƙ dXK}v3NiW4[fye$*8pUmF]͈e*\*EؐӪ\*kkzпcxj\_flnj-A0fM|4WxB%u[dZU+x|3y|vPU-*= +o.> ^Vd7'22fJ0;"~J͋T#0Sxe"ٗ𶁃şc׹^>y+^}&}SWw +x 5P[?Ƥ[ușAͨ;#Bul}-~zJȌq~z&,f&$$#duN%6eiǎ +jTq,I(}ɔ{r8aZ9Ce +;crq= = +8K؃ +畅Fj5<C2 +&XxCGWvQpgma}>@DVSq [>n\cBԫ o<"ɏd J$vJ\VY x {8~Ql p4^HTݤ_H#,do<&ʠB$"9xI!LJnO-H~]r8_L4AѰJsp_9Fm4x}͜ m8<7)<ŠO9x%ijkrt]3T: \kf%AgOTPiA dVAC*89`U>|-h"""!ff0 ںG_Z |>콏W0"l hi^6;Ch#mzh9~>8ݎnp(i-VѾy3/7r,x )ܸ<yM +d~c:9X([{_%Yʒ٫x}!Q7nA.2B(-{4دC5Z T!"_alGkh8wZRl˽M(Sgܶ3 +~pgʋ0OIB̉Lͣ !L0sMcՎ%tֵ{EWݰw@kTr42A79v9S2Gt/&>rTs} $\KxV tXTȘ:y +lS5w:bP f3@óg+Ԁl&4N57IiynӇ?xsHlq} iPwh󹨫k<\!l?M6K +} >Ͱkf|sXË́w͙\LIӴI:^6cxpWgx-7ݼ"V:DPyod@zAKb*Z lEvCi /$`[A3q0#/4QU/SH},=` ١ W:_~ 9GgP +}"0Qrc4.ν99CMBev9* RX"3@”_Zat2

1 pv,s|7脯Hk[oG?JGnL[ڤlF߷V K~| E#]1V,4B4e,rA|pBP[ʪtYRNRk\T%5z/|п{$]k>. +̏'epyV7LuCs ըUCG\),WtpKВBJʹHxk(ǜ6T3f~s?CWFB= J.Ƅ{8mQٯ fɑͩ٠/61#$MxlFBde*|wGc4˞En(Ffe]aAPSmN|Nvh^?F}|˧tָjXq9{OeAATۛʲ'U @U%V_Ԃ\3 vp  /;%\*թFaojf6PGO浻*=ָr@ނ?C4w'3F7a-We.=,  B}y2bm jRjgܑ{פC lFl(h =[0byh7ɝ}O.&ӎᷨp.'}_q"{">(~W931%Ee$ sfv|nC;M-^4NmZw5 ?ҋ%s.>Domj|a3c 7~{;+oLilMǞP Swٮ\4ÿx#܉sw=Hׅic|+s[ʟ/;^^=&'cipb'45WT([ӠdC,*VaVC%/:+[m*xRI5G.ë&:bWn#ĸk U`i \F@dԍ_t]-]Z|o:8c7UK_NOm%l('48 //b;KN0%8ftBms%6UCz5/oIy[os\qdZ)C/u{Z4q5qKp69sY&aO8vޟgjG,yHWLj˽AunG(7W ,|EۂL襜}.r*c? T.'tʧO\N!*g 6D/BB +iZR ]epSB%0uPPUtW]>*гKPAXG|lEw+:I\p &D XaN ZqJ:N 6Z0I[?l }sSWKyY~|/YJ/c*SHϸϵ|CYkf+{ t_u.SڹScvXJ UߨU].4HG3ukyBbW} BMpYL[qLlk.K e72< X2|3GI,3\>ۓ_Im:^Dj3ߧcww07pN)Mk1=_CfIZ=i?U}ÕYۨ w|N(yHiBMFxiEq/UՀoK2V~ +t뮁A(÷+e9bF2uߡc_/~nMӱyJG^nI/ +m]&b9)chqsYM5wDשbޛMq|y~QnG~uh*W?-=/E^Cs nph]1<&O u,~A5;v;6lLH!YJݾ\{JJZ9x]Oe]N2.#oL!"h䏤c%PYwFrY}H,I_(t QG<-bQTy.w(I|w C(|!iD1G}<$=~/SC9=XVWH ^BCJÚ:Gb"08*:hd7(@P8( ԽJآ"U+*.ȈPe*⾃L]кQT\,7Nrz='3ޭy MŠtչK\_UxKs?Nbxjó{~اC.~̀f>Jp +q\ΕyFzmڢ~~| T[K` ,_гw7uSS~QkÅowL5=G]=Bp={:(۸WB6wf[w_mD/Qc<=axENG'}Vr#iNB9N;aԚ"_-c:Z=}/[;2SCKx"Hg\Ko4[ϳdcWlm.)ޯd= ,xzV #L  B*qz%cB9{ L譓~#}3?eŹ1|&z'{L-Co~Z!dp`k׺nSZ̺&?װ3NE{\ 30pd L3 IapC_gaܧH fBxm0<Ŋ?(a617w-1K~W6a χo+iavlKo xܴ3ae'xi?_#}EzAfK/fmk#ny9>w,wYT9 4.}?> EJF8|W,J;$~:9Si8E~N_-J68T@_؆=n3 +?bP׸i?xр0^TՁ,T4@ۓN^`|/s;jd g(p$p\EGՒ /GsB*C+^8JE继] # ep$M\)zQ h2t9iüj8?OY kIZTU)$ެ2 ΝlhMK$v[:"EZKagEũVAPP'p@ TЏ!JX"QE>+kHEWF_g2$c'Nު)e0p zwNz7HqKoxfJ}<ԩ9Uṩ!-ceqhlX +Y > C˕nWZd3D(}i +tm:(l pM8ɶJgY^z +!W|v.d2:!H g8zھK$cL#Ƞ3%V.2]'s[7>w8-n8G-n|2IݐV ^/W'fj1s?LR s6:Þ]WCם "^W@QC]!(LQ Uj.H1k~: P6" ACP  M2!CwQY 3 +atGqFG jNTP:s=>} @"} yb>-RmSPՇmM#\lv#KykSֳH~=?%~D D:mKC|_/\J)VȈ?5юWvnw@6h_/E}mʡ pRwND&_ѴSMO7|e@> kws$x7GRnY*ŷ܃Wtԅ0dilkb FS/7>>ꁻԏ*LhISp*kca8z-.SFV62Oj&{[29ܝވŞ')ՄqLF.#mP][$x2 7KC 2bGyJ0dX)%oԝ+H$#H}fԡ!CAU,jEfp3X.{љF$[1+\ψ:ב_iq|/6ҔLk+IzVcIp>}ǩ pu10#,gm7EO蹺q~!`|)A8S%Zzux  +^eLnx"?4fF ^0?w&ާ˜O'=ہymmz +)X_+\5NսyO9ݱ <n{L4° q{o"D@pr>gS&pg=  +\frB!?Adz(j\㠟<ߔKlM,?H:f@uJ8B'x$)5V|JUSp$ZωPy^1`uiGZy;Yϯm9xWo:j/_..FG*ÀnL]iJ>|Rmoz{ ,E54tS1a 'QțDr2  o'\rC?d5e'5Q]$mTR{-;.h=Ԛtn3\-ghX:,1b[O,kgtS%c)tO%PŁ iwrљJ-/r %rufA,<ג/^\qʶ";>tN1|u$uPYyd49dcb^#Fۈ[C-6Ǜ8ĿDu0x ~p L_{u(QnhU(y揝g{O=_\|$A[u'R%_±ϻqwYTyuKN ()b=K{rB0g<lJimW'rlHZ#+0EWe~qAW?UۥZǍi7ŻEWqexNr-el\=Zn.;YUᰣ5U)3%DEmhB\> KBF4s$?;S9 }xOYכ7ݴ%ۆ׿Z/l-:}9oZ/\U/nb60uoK,c'Gş9V1&iߎH. v4I}\Ч= +LûMէ?K}?;]")f#]7:i=ji?!c NJ&a 8ԩzP7$B> Xfj/۪{ '#9|Y7MpM?ǟ7ٙ3Ib0^9FHÍsY'0,pYIG ֐{5֘x*<2kl + #ڕ[lMl;stt-BNXtx[#N:GD5t8wv5ܷoŪ x-UCy(Ho& ]_V^7篛bq([SAf#̅BwPE 7ޕ1ߘ{`>tcȁxn^ ð]t-83Y^8rL0y(@BK(_u +ɖCgLNi>δOb(qxҴ &J,>w7\Ԍ[–оu ttaM~Gȕ zB) _Hw,S5B +xLCy/w Ky%[7+H_7L̟9\Q~~JSWxnAWlX8Db[<,oV=V¬HΝ5H끹Zɡ/a"x~><+ zvRs$G;XCy4[Xוfs4Gua:IF]sOfj) ^V<sVb͒ox D5b䛗J%ߺȥ,˺kFiwhQ]k^@vuϳ 'CKyBA+>x,Aͳw`?׭Ize*7eB>1!B-BZѿIweX1BipBsh9zmAiX'VGGy=%I\zB_mʑRBS-x2JWm! W桪khP/7>@/ۃY})6e빅L8ۇ}iA&8|pxXР蠱ߐ|ag i˦IуCw0@ [d0<鄺qq58"pqoWs5G3Veq 5t%nKVz*_nq ^MgSgIM}1@bzR60cM30Ex/sSݮ"K͐9ذM0ߋZ8N)afD1qƥ2dž8!wK?Yh>o;k`,Zzra<*OQ7OY2}:[qx!YBppuy2md2!f +uc"hBG/#D:ޞ lq<Ն:t*!+rEZ$ݵDpza/ RՍj+"esqQf+NrUH9 +ElKF$$ VuB`BI]lpK{ T7A5 "tprb^|/Z/FH!$~ȃ s5HBk hۼr˞J8\NJ ||+E [}oM0o8 +Ss`ϠHR+=ZpUG(k Ҳ~;CKܒ*W x_iDŽcs'vAmMI0]NᅶkT=5'=dzGxAV,(L[zF NHYJCtKY+Ⱙ$ + +[ů ]Ϋ~FAqSGSD!ɵ}.SN=#8,cϟMiNr;w{4:ZIⶽ۲K7gPej +lі@qYǙo]̛e_u}s0sZ^H +h2'l3aq'C29k1| ,E nL8vq+K"B +Ku~Bڥr(r$[D8& )=PJ :۸9H^䰃=(U%+Ε{HZ$FRɖw3낫5m=qWqSJ{D^*w +}Q[=S3Wb?Է= +5aSS oP2;C˂O}A{Q*6ٱ3}r4Z/xeT~hke!୧ჳb?zEZ80fj2ojgZ"EBQ4i(JADuQ:YJTRBF\;lhAS{?lϳs>x}n_EqBsE>~G>zd=rUlICvoqRd!U_$S" % P97u=EAOiw4; t~Q#p&sv GZ1j(@{d>cYiMe Q]1kf19]6p$&UR]9x:nnNnmu] +`6LA<}J+Dy,mϤrO3_pjp0uE=OsN׺7 #*Ĉ.22/}A-cP<%:ɸu+*b4b=Z]h WGzU㷁$;MG+id# :7niɾS+_S3bW5^70 sromYS؛Xـ~q~ +V2+ʻmDc:eF6A!Ʒb*];4uf*^sfrp 4<՞9Nf=r%]a[x*PtE1FZQpf0܌t{ &z? uU o?8S Ňtkz\ +_q^A 䣟,F;{slWԩnCOñmVC.IVCRL-"@۰ל 4}v,nME8ܮ>k */haUCn uO+Q-.>A% Zf}y[F$2$`Ѽ9y97&:L1A~:!:K3ދ=)'ѩtRA64ޭS(?ⲡ띕SGf+7oo]‹ b9/'" Wa:|'oồ|b} dɧ=;NpvE~RU_jgb3T+w hٝ/AadniLgx4(] +MͰ'>@?Ng8ދ/ՠ3I{îR3=R?$čXzB0AԺe{Gğd%Ç~'Cwi0W>n}1>vA7XC y&QUyzU rsQTs,pԇp% dX;Qڼh \MrŁSaE嵞IYP<&8>n:B, +b:bi%L6#pcCZRo{A8CVhps7a"@%n8Q.-Ʈ$^`vazTPN2qTNKQYD$,LU,N2#5]pbIdh*g6`:ENrcKqkR5F-<]j'v9F&*\t_cEvfش +r{iWo$Xc a^(ܥ*zx*O|,;YZ}$(O3?t9`ҪX'U`4Y@)?fAQƗjsp'dOSօ]|3R|3TJgS(CrvKn`؞e:*6D^5# +cHD"rS 4'vgN*4&.3Onϫmn ׍sXL1n UcJeȒŎ["IV!޿u4:c =}٤|~gwBKp~ z!Jο3p,(dZtSNrނD<thȗ$ݖ2hi]a5{[kۛ2'Q2ɸ5Qp\3c8SM,fƉ4*r4)r)]DRG{JtBEMb}=sz{Xb64q2ULgQ!'Þ| +=#|,xpa-1C]: yn39.7iXOD)wwj<SsyDG{׵6;@U3}baJ=pF8]ϨȬp1?Xܧpe8S>$V-`8&Ixo̼dkB? ˤq_'$nzpc*`,S{x8kAC{ G]CsÃBcG2B!D9DiʲEFl_5 S#]9m#ϐva!^aq١Ow,01 3±)&z3::$1}z7DSߕ$?=wQm8O ' b{ fE֪c0jCҩZ5x%ikLմ-[Qnᩏ`I)%\cr6f򎺫轤+ Twd'#_K| 9`A1"q?̾HUz܂)%w|Q63~a3c jכ T1po6[ip?*[-Ш?p@KYuMkUpň z[B҃9ָ zslvn7ax:f}@"ͯx;N|G"=GHHnN#D_[]GPk'h7S}P(d}@y{)IS5"^LVU}/GWl*-/`NO>GˢfI6.aG- [0Go9!et>R?m宧E~ye+5r6/*T<ѴFZBz;% eP76h}oW:Z,e} {M-_tbFOWs1-|!UgVpf_=PپxW8xL9껰45LL? wؙ7s +IW!lY,'T$bnB:ntYI +ڹI{D7,>x;XS`:t/Tᳮ J_/C*{utTˑ-%]jqYڽ{U9} W`Ro8w/ pGtw*jNoi IHXM*aQ7EZetZ=n8PDT}R둢(" M;_d9wwOVc+fK?>ؑ*:MP͚\<8*ok +MvCQһ]*5$QvL}7MgnT4g6Mlqɶ{=CAl>+6C 9X Q^d S5}ڿa F⩭DfYݤd/acHZil 5Co-RXLs)$`3ZȺBC%N9 BI8nO-g9WʅI~;c;j<^,($#uD1v.M)?E 4Qa5wY<=bLv _0Px# oTzG ʖGt*gNcS @E_8K +)=#qu,wy]$7QUSk'&17} ǙJ3`qoC^K(:,HbFq_( ›#jBm4%0܀OIo#̍]RE@4`[ePBsL A$28?|(X͡.8j8}yM &wZA!Q D$c$ёPFmB E'R!|[y֑'CYqdq3p)*kH^Ymn>:4Px0oS240ӄȪ4e/p:Ϝ iOT8Ob5:FJ~z$Lt-6e2y/"t\<(KbC/΢\Q[!#HKIX;橪mDIqݦG厉ӫj.gx@c1X1˜ {ͅţ8'̶}ż3?xq pՔY`W/0 ,ԁLVa* I7]w60@q9Y(2׺%id!FMårgC r죠7Y/Y0o!A_oSMW!IuMT!au'^j]Ce߭X^<{ {"EkO5~ש舰H=Ϙz"Uԅ<#q/QgF߽L,WSbdO: Aqߧ;H''\k&Kq%Օ~Orb#5 +CP" +lIBO]qEvAn8ms>>qX:C88G^_v48-x w4?i:l-GfeENY@'Ia2Om[8h&{qvS "r˳[BB=SD) "/_VItt5TY--PgJ +՘+2UH/-N~TI3zRsѺ6Zq49=D dԼc;*R ²33Qw< 儾UM\&凁G_۲Hɶ['‘8 ;ey6-׻GD?++O<גYC>p5H =ܔ࿏&ʬ\}U)=փ$we5#0?0_QRjPOpKgs9V; hWFҙyPczm/q$p}76+S;ui@_`MCcQ~IFf>IjRgcO4tZ(Cabs:+7ۚF8[~qhs?A\|KGIDw>6ט +>LW~b&9{q}z,|FgS Y~ ++1^(2zPgC Q TQNytNW1P-yᘓͨT?[nc^>Nk \O}m ů$A~Ns2W| }ٓz)<<(> R+7)F۠W;Dw18&IA2#C"vķOS=ev@(p)`~;kpmv|n7pxg -Dwlnr07?l4h,Hͽ!ryHZ"ߙ3jL8<i/;|JNGg3{3hqpi·eԂ'1=o۽(BЊe:/iPQoyFu5Ad'}7HmJ7%Jw^ՃkW|3[>}(txwf,:ih[n +Otܜ +fN;bWK%jh@Me=>cdͽm7EM3z'\%rj3Eftrxok@ry/)/~JWc{0d23Q8 ƞ>0#/1ʿ@x?HxN/^Օ G-O9|*nrh^0?B'_-{iOSNV/{;RFoJ\KYr U=W6WUi*To0{Io_ͺ Dh̙w*p[3]˼H? +_[ўgEuNxX @t|g縗NDx9kG q]9Z}SP5a*ؙMȫd@ ^v 6y"JܧDt_Td_DU8[!_0* +y4xv9[Ǜ-BRG2觎a]A(9Ƶd|qmN5W!Iw0FȝL-OFˁ=5&&rrxm]P8ഓ ߴɖ=#$[;^2r>74&ГW:%J\OW{L> }x _`}A|׳]'Ti$˸@O #{L嶄dp!e_ +ʺT ó&ljpޙgr7O~zH8; 煻RtFM fZ5AO6Y륫RRЏu<4k<7s;ߝFחsV3jw$e:H@c\\Ұh#= +(u0x| ˻?3C_r26p+ x{qɨkK/;* ^L͹^],t{4tCtՆzdѺ[S!dK0}O~,{:tA )2>7USԎ0=8,@VIP3an!U b/r + 9xW3xם(@}:Y(oo5=GM Kύh˰/*JPi!Z;L-CWƈydӢWsЋڹ/XvTT|斡wH8sao97Hm{KG`ir?J3JKQbWbdK}|_۪σ=x%LOuRt]sB*c +ϖ >O\Bȳ#)_Aʢ<8܏Ry!"BeE2-¼Tw rLx6_TrgŨӋs+%о;Ԭ/EE͑r/1Fho'Zĸ^A^.2La zv([D^ŧwey*ĺH,Q@ȫJ!/{&0\9QzU/'Qڵdĺ + CݰF{)B}kN%F{Tf#I#C"eM+I: ic|8 b̪>l!辷5?3ASE8D/ k, ux=}K>' X7nZz4$xyg)\?C/ +;(H`& ^.;eΫs.>gu2K? [}x"Ѵ !Wsob~̌?;XsZ_⒤+u# rш#3.*qtyuxSkxj.|œmq)]wJaM档(s:bjT no[􆻃MfCJ19c wnLJ|-urĹN$ުP_Y5wc/,wYXvLːTfԢ;Gi_'x gȫ8~,y ۡ/~jm[oMʳV Xt{fg$!c OEo}Rn!G`ep)!N[GˑvU0 'sۥuqCl렐T&K1bM]P=v#jӑ "t@A}mZtxuQȮҰ4zGAA%I0! EAD :.XG:VUuFTQ"KeSTܛ,vN|~8ɽ{{s΋8ZE(bR&=%83ӵԿ"D Syțo)wDzS2odye(2 yw6_~G3nfC[DQØH_EZp%_R8|hQX~\`0ߚ.>솀A6-M,TE,*8u I9OUH}f4^nLC,Fnea~;ql(wzy3ӎt92\CUbx0߱f{gPAzЪYUlО>H] B0H6BvhpSCe9'ʋq$ƐDOxUAvD K5aQ4;8$ +VAi.YZ3H|sUL>Ze~d16$*ͷ!PP( +YJ{JE A-[Ob0Jq5DLpmLG>Vo:_nGe0xʌc\{1$o36Y*G79A'Rc:SʭpZd:1_nڬzJNCp\DC^ e4T#cwVS' %/L;TH>g ]M6)8Q^2`8]]<Uܒf[x +/c.GT;~Pe|񚥎!2-|x/f=={a YuVhk><-9g~X`s3Hڷf*yט:\# )j-& +M:JU@7U|~|d2oH g~ | /UQK0vs]OTҾwuGz@mW̷n&8K +s9ud%^>Ic n2 ~5 X*ܦ_٨X|-aQzM?Ҭ0946;Ӭ+ѕ⃂\Wi,PЙƅ + Ib +JuxF>x.kx~^F&KHRv•M^/p*bnpDuS"AtP%oY3)3X̗o?^^3-qه JF8,nSae2?8LfX7meAڴ(QCRV-Vn(࿑~bJ6I$#VίZq1֗'tyR<.P{SoC6,1qam@.)[< +_G,/s'QL>8~n%sg0Qx1v53kR6s]xv:kRC2Drr|Ɛ+s^+*sn8=w TBS[:[.mo3 X+Ǹ-Kz{X6t5\G_^W_4 8DyNr5n Qg3ŦP(nˑy) ՑGc۾1vw0e H S7&xW}5!=ЕyW"^k7N XZ]L';ӓr4v9~^y)HY~, "<[ |Vlf{VDn0[R~r=Z(Tܭ<,[;zqw[d%t+m]iJPأ?;]{뗎:dqi=t>˺yi{^6,Cw8DV!i#}!8DnK  <\?j [ ŧxLF iq*i= ] +\E??%% np뉲seuC6D،_n[hoIkwJϐdvy`~ȅKOg0m^ii9~cwt蝯?D\O> Y?BZf?=ʴ 38֡)9O ɨXDY>!R0"*RhgƖmIIm[m:R}=ϼ;u?}_=n t{ Y:Q}]}bGYr$xėԻEnD$A',XED|.'nq5 5<,8ƯۥQù^!՘>(Ca! ;\˾?3;_~4{{K: Om]kBei5{ͩu1ZnYkF-嬙< vEzڹuB]D:'Y5NFqˣX៪|q%~FOyoqt_ƼN z5 UEE0܂DeO0 OC3jL1]4چ|QMfƴ]T/uy"7v6db7 8¶Spr}1}Unw8&jMYF yj2\SqoRI6KTc O^Vֿ~!Tq"8|G] WHli$'%jWܔymH( jd|f02]8,ns^*Pob1:89z39;qbXy)} ++Sб5?%VsK ZKcy}8 opjC(C +V +0pF ube:[UF r덱N'ri) 5h޼J 'RXq~*RCOd娼4x~[R'/-s%[eUE"e&첧bCp6Y R寧ynZ\vlZӆi,|$3SܶC=דóG epGc N7kl :?##M twC.^np꬝orT8W;%ŖnfӢAe1@RшQP~m +EWK}Oђί54_Ÿ>]6:2᪞ͨ#6 ~zމjklJ~r7<4(oni6ɵEWWq-+w#1!fњh3{M8y;?s+>A77gM1H&Rx|b1d 2+Ƴ] Yj@z,,#A;-Ki4~5qAd1Df쭍ԇɰޓv'O>6pW5=KuRt!Yc_c^~ꆢMǨ*QRC}zi}#wv^ GēMEͲžv ԙh)ړ m@7u#bd}O|{sKwd2Ia#nBe7CqhfWHI7q+R% &j ڬاGgmn-zj13;5OvvS(O5/<3~y/%VG" +hU4,ZJUTRWdVЁjQV5UaXt3I9߽ޤ^K\O~@u$>H@a|3~BH,o )u4vUBil/x&Pކvdp*==I!)ډCK~!%?;!FLv}ݫq)5m/!ZU%} 7Hz"E{(9䑐ŭ,vAf-D|\ϨpvoISV_jPStI`S+Px΄\Ir6~ #--Y[%C=ӵO3eа|{?o(I}_ ׋x@𳱤_Aa."L.7:Ɏ'$*[!l?`BrL]^u)\-#r]Bz)'{c +;[yҗJΟ sLB[|l<dСpy.kKij<=T=rzlM_"&-p>(p>X1g9K`C%),RŪA,Zx|/<^ +=nRSp|* xw}]w2]M +~YOaW)\z|/Ǣ(fR3ձ(WX:7~PoZ+F 5_md[&n"?*^0JKxz^a6B嵶7<16Fs좏aT9νbN\sw^ :uD +yMcZڄ-VvI`O=O#z.zf}i ՜|kzݷGK$AYxifJ鰋@CsE,x+y0}?0I9=pʘ~N̩-t)pt@TC +:*ERș*'w\|^"h\^͏L' N> <2;Ί \~.n0ρ)WQwN-MQ~YOSFxcr;a,TkR]*73<;:* +߲ AMy\u3:b̾XG0v[11÷Q}AȰBDhx5{rfk:;F+Pm6-9 ktۻ 0}v%`DB(b$%FѝN8HHBuL6(ܝS֥yA`h;̈́ʲ+]=F=56:I-u}93l|ya!6^@i67Y+uSY._NJI?ӹߋxՑPgt+T8ERٍb_Z/qÿFok&k~g'IȰ 2aDf:*$ԆDEdھ4R1&etHN폮_ڱx%kJ;WGma+vZ d>f8'ܾ@iߍK<'%x %9?ԃ8ToES\Ν!_k=:t!IdC5ņM*3MO*d:~3Q2%!d&v9u7dːSF->ȿ +}"m5w73`5uam;ՅCu7"Qoۃ&< kPMp*%6"7So$k:ᐮyIPܥFaj+LԆA8ټ?u2fŎf'bE/,N `5qQ-d4(\GE#AZ30,żSdz?%E2}.+Umj$)}Ep~iw~cz{Ήǧ?*L'P@{V4pm +e摑fpB&0`9_$j"j^L ZV^J/-Ȟ&N(IFB)ѥ28~"E˽nY>Fxc}4>%"}@=O~?ݪJ&~Sc̃'E#谢Y|)3qPT<CMDD  '6n|t?yCG,[ ^h `Ő}y1C7'1J$7r䀽+LZ7%x[\6{^Tat@"t[f$@k3G@}sG]meލ4wkx:+}6DK|Ȼ+x$ͭ+j&up[J%E{Rk.tq6?y@S11}($_Z?#dlzZpxMwO^HX` A9K$@cyR<6:*N?֗ \2>^]Cw[B>aT g5| +\p:Gb=8+"^ YMR|k6+ZwrԿй4M9Q7{Q$trM_2Ƒ8LA v'o[#p:M#mndXbi=@ץ-}< =;cQFlF?VU"_d +{͕L"].9 Ϋe\P%~[ B5kX S` pK`ƿ|&ڲ<= #?1&D$:j`HRV3Skb k Ǩm")?'oXXs'!X^L2sz'Lђp֦B_ێ@,~U# ~4>P%qWst2ilV%A*t |z;wN3WeBni4~W揜?,q>䱑^?d@4nb3UfE,R`A^$\W6Z \F^A||BVl_;ƣ* \^*]/f 9Lݒw^F:W6& +r0onjwR+NNc8-溩.ll "bj(&9<;t-A$z 1 :t;OREQ[)Q &PTUPwUHVa`ՈfN :!r&6D7L_Fơ^==68[H:%p]T{=s"KhQh*,k;E):1$2唔ܒ%![ѡH$$1Zn2Mf,us޷?<6X}a/&-o7x(%Q"E5Hv!_0ަEt_&* np8~Me}-qCAv7KCc m}[LEXٮFkc^W`#!첅{_T.u#޾mH y;ҪCn65jzsc9}:4.Jb1ԖTFAygK cR^#Qs¼NaCxOۺz܆|mԫqF:vnE|gn_< mrsw9.\w&lM[݁PQϪKᒽZ›nQ뗖 ?w[%B1N moO@m29[cgCx*b_{їQZ)=5e}(pI\ZK`ȏ٣G#;K3Ob"nzO7H@|×]qk B]jٝږE~g\Ξ'󹊩m0.C\k+ c#b|#pp)T1Pscx2&?kqkL@Lկz@}dRt*+g?|pcBt()^$V91+(0HG + + :^$>߫tϩLHƴ=D,:s1l.w-mF@a:J:6F碇|tTS8nt16Ͱ"$l֘:1R6~]qmfsc4n $HĞk-XeLL[# sN +Ӕs3L8:M،s&za>0+ ! mjv"U$Ӳjb.[/ҀgIs*f发Sݒ;G3({1Fm.hh/25*.% xFArgṙ0<]Ysr\ynL3GF~O3ognք7p<Ǵ|H x4xT!9WekԐzGǧsw_1Co7M9<ЕܞN6ӏxUf2)c 矮/J3P"̬ aD"˟ gX s,O[9f͢O+դg*ʧ aeVDcY*f!4Td!&7fzR<*9u9Y}_»\yR¹[.*DГӣĈ?ͦ +0X0X<8U.MSM`ș`xe,2V(ϝ .Y`xz嵨퇆||ץ\`VoMsm"yM+롷PЇ|)e|= +y%952չ.U<4m @՗^ ?ujB/\yv_un~帧Xq.b`q,dP! l^cL^Y~6~DL3h5Y-k5zjc7_.\9bw.5uYq55q0?/]I1ݸoG9mmt2oLM 㠎N)qAY2 5;_u7y޶}&OJT'胙h~1El}w8 ov=;YLMHX' ެ=߄k^\x6ykk=qA|B[zePN + +^XX;]fOGzJ|˜q[,˴i)MGVM;By}{DAgYlkuΚyLK 7k h&vt;r>?A/rmᦦ|,mDž_O0Mb<Χ|t0i?NaC;(K@l/pM>Ju {A}up\/#i]Z|En[koᓋw0d2 M0uֳͯɢ3ݭ-q[3}CJ"YjS6KhzĆNT_f#5G%/,pƐr3zRۇkY6P D)\s*s \mV׈.9&/ vVb{a46sݽ{ +&?Ov/w.g1W<9CtYFxXWl39/(;m6_j.j#+14&D6GVij̯K-v8a4:̩pܴ +ϚH.C>CIjAx:A4쓂 kiدjVQGb/ +ŵ{HWx8s9o;^ [b~i{3ַb]‘8kC55"mߋۊxP m;ZAt =,І~Sa6:'m3<=сLLT1ݾnӤ5;wӺܢ$xj=mL?@^ t(: b[&6y f+?Y7*V0^.΃voj/h@ʼ~WE_S/sȧ0O/ʽI!i̬I>IrCirxkoZA :K{էh+$kI'/}EGiSݟO?:]\Ny\cзX]^sZ520Lձ r^>zw4x752='-8G&A8&C.Ť3|ahG;P1<%sd+<0U;3]簒b3Vb3HIT?*κ ץrp{y=8]F,&ظC¤p6B+Fe @f`H͕M28-OHPR8ֽR(sxg%k`uSNagx3"%f;ǝWnSk֫k+2,;&R!2^LebBrJc(Qcǹ3 "0/ es^uCI+5JQ$]d(Xe!FZrd9"_42QNhDFd0$RcDZ6ŝHhse%yc܊<2&C0F.X Yl1+UŃۏaèLPİW78#pSp1$Cw_oz~| Լ"Kz ZRlf I2At4X8"( +īֻ>Ý.?|ga-o-ms)xk7|AW؆+0XYLþXB{h 쯔8gq}~h݇. 8tCgMGy&mò+(\XcX|ʲAz84$)ȿ +;#o5Y}j*G.0 Oڮ*t[\|3.Œw'zɆqNo1=-qyzjB뜏B3 beI8w/w8}}a;]x>|k*'QWQ ڼ"C yI;Y}2ut'6(*iS87}<W£8i;! pp)(1sUg:fwW{]G*` _|ȏՈ*8hx#Dg񐑡"|Xe2 CyS #`$m`a$δ$;0y^[t^KY[T@)tBY[4olS]d쏙hǸJ0;ٚ:[xc(w =^=Zl~_MN,Ezh}xYAz]sn( n1.5^oȖbjD{[Wk~ͷ_[i}q(o{"/F]GἩ:%uc7B ~B\5Y@/(nXq'PX@Oܷ.ڼ/k~ս&F@g4RXċ*-> +,t})XGxj״&1xi+ϭ_7u 6k8gӳp@G +Tz ]A&/(,k)p(6JK` 3#fQQ KNiN6BH"HAQ/괜$4CNJ}W]z}}?Q}<}'nua6:/` uN|Y3=I0Uךa/&h̙ +9w3Z?iݗ$l=pNl^Q_I|x)x)ۅgb aP1Z>蓨[nsw^wN폚>\׊&w$sp0Bd% 8fB+y{?@h`FF3~\ԁյZ{TںQýKS@#CxSIXø &c‡#I]MxGXH%%^>8ҎP;o3.+4> +@JC9;Mgo 21GaJϼ]Pia/*wNҸ |I Vo0C|pR>%,s(ȪȜzxK9륖A2/o%ntC $u]ۖM: U໋f)P/h%s<$fe: YQ̓/YiA m tZqs`e#I!mfDM1}W({:rZ38^g~7$W!ߖMݑGzugl~R\ fx_j XKDlO ׆9g= < VvltlK\2|cAOO>uk.H{l;kՋ-ж7Ÿpw\MuKug2ʡkspdtMdn0yp:90;()QS6 +<@ +ڵ/+3ʐ7Z/ׄ2R>iE*Pѭ>x7xA7h[aM"D Lfw=0z61-VZ7yrH3͜|;v蝘jg^=b Wp]r?I%OL]1 +IKJ:\pZ,u=^u-JGLg . +@#lR;WPwOwv!J/DNCJI|Or{L]?zRmR<8#\5Ec)c1jq5 E} ;o>6z /um߂gaz&C=GlHM#Z#`Et@12FYHg +&#K:|2I55ɒ x^B3A<jS +1ie +Qe0CnUsW~[4zPP2UtQc +b6 =an G?YF3%q'3>~؉pq*1 @X {fzVb}=02 _QYa/v6F׍qgwiW* : 3 wuUmo.!F{Bq7[vUc$ù#gH֋ޫ)z3Q=02 -t3X39Z/5'?ZtUj@J5 X+&B MN\_DwIHVfQbL:|_'mZdY/ij1bAkhtbB*&O={UӞ_w֘1g$/Hx(D2^cABa8&𬼕ŢJϛ1Jon;є(07Xxm$^~Y4O7Qɂ6B Ѱt@q?qO05L %E_,M{=zh4Xw +,S`Y0esN_g.F-5hy걠b{>%Ю.-JW!s'hJ8' H S D ]BEa)uPVoc7sпeIkTX8ÎEӅU"SN6uWQ~^Pt,'LhVjWw*ν4QqwAؑ`h5t$𺕁Z>YS'X݇q~ߣrs|ϥXk}j>L [ʇmkl#&AZHEum$4ڥ(o+ZFyģr~rz]漈E;5$`O}30`  ukGCbﯗ##uP_ Zw3$Q>>R9p u6?2 ֘@a|ao~u8;5j^ķQt^?,OYdq.qir?t8+P=)~} cbThcBi_3+\.=?dsU<|[w_;ٺr# s)jWNg#Ov b1gM&UZ,,!3}S 5/:p)h6lN&x Yx&uM;l.﹠*Џzv7cߥ^7}f`">D*{U~sT~s }%*JBaCw>:8"|\t\pKyn :U4 i+A|w!l)Y |"|gw=5@%vu\f>HP>bׂwžXO]@zy7qӉjȃoxs݀ ?,x2=Z.}*/u#eq6m; uνVLy`hEop%3Edуvn0̀ ~h y~ >kpy2; Ÿ.kvː{͕>wL":XD?O"g#㚃Y˺y޹*}yf26ԠH>hս:R^Pku 'K)YٲݶB֒Z-iYqZiw]Ni IN*]DDDT[-]03;sҧ=ayym?\ 7.f W,_7Bģq7y`n͘O[bA۪HUbFCU]4T?j?&4|T}a/6{z݋4)dQi=kgʑ[u"i-ejH ).$@()5or8&-N Iʹe)MȯXB9r:`=nN&iG S+: O n!FTƥ4]~c +7wȽQ\Ff7ԑqY`Fkں>w#0ta#f6S~N0zV4R8Hsv)jL k2q}b8cvn چ$ +A=ϑ8  0ċa4,4lf2Sc>ڪ{P]2T!rK?ztvLPy1 Ka\zV'Q%F}ipB 7< BXg$x[>&8`r +y5N~6C19wpx/^ag1o¸HX'ѓċeP w$s3I}8tcHO7wsNc?H* h8B\1B%w0 +,Nl^lkzv><&gp!# [u^']IopePHѺR$\ޘup"R eA[ґ:{v +]ϷcPQ֛zj;_7.;9tz1/(7T=OL[+<߳Ku wZr3^us3 t-@߁6yޟDz䃵n׳MCxPsB,E\x}6nv~ϐyUN/eY7uB?8gNma0ER|spbln5,1na&'G}nkv;?)BMmٛI͇R'<כ8HW#$VS{ zxr&ݸ`u*7/H"XsĘzwK͘_ |R$(-;ͼH@ヸ AIi(RWBe0;EEK 6^r>q>|@ ,zq4?մ뺻N/~kWDެv|OPM\-pub&W[ RzT/k O:دwsq2CŃm-=?˺d^G!(ijPqY]Nz7M=zeH:R\.BUwW"mޫ `iY&LDgs g07LXqjfEAl9x!V|?L4Cm~| +'v c\ jn~ݑ f\EJ>'P馒:DJwkĸH}/^ɖ: ]0Bf8l  +S}]t2 OGoaГ na$>ҝmq +6dc6/VbdΧpxAa<2)bpL+i6vA`iHBV~{a#dֿUؔt|SUW8ߚZ B uנErV_WK|&#mHyi8P-㘃2> .{ۋȏ]l+nB}e (MGa>:+3JkJ;,Z%${ƒWMwEq#܁99_b3]3Q?mT% /mtB|WgzM}4UBfLQQ?g=Z~bƖ>$:! Ak&Q#O58%&CLno)^l +C.k(\i;nw-2?+2ï27Ee+@i%+0yˡ1Ya&#ե9ig3=q"Ϊ~\89pbvZNNz='VqY%#˩( l6~z,ԣs$lOf[yX inAdm 䚕_6co>iEZ{> v>vIϠwrѕ0b"p:;>I>[GKtf!M>-0bV^ssW\Ko^_tn~x2G\ts*Mq+w dYY 7:c! 1s֤x]QM^i @@ D-EA0Gd DT6+u +T+űUQkqGR<3s{{|{y8I:R!91@UI ҡYd9R1Es<|>Qb?< ~J/-q'CFJC>~LG k&|s5N`W躂ӯd:Yٛ+SVX/m'1?XȎ|ͣں™]ČӍ ?A5E YEQ+KD J}~!p[;a>_]s q6s}/ki#Agp3oE0Ua3׿x)<;v~f#Iڣ+3/||nH={W<&קgN^#/Z}/M.9fmnDd}ntNJ|g4֩ȍh +|(yH +4lOTG[t8~xLu/HuD4̍s 靈` ʓBg853q:oX!4+܄q5l h|gBS$ vL{/@-gtCpy\[g!~x<8,횻)p&+9yvKY drrՄp9\8&#&\|#'5847O 2`gwmOp U +6ʎb*y@{g<\pcGpI?E}c,Ό|h+xh6e~̇6[LЉ7Y/Z79aJSm:΅]?O1+N:>898_%Dp8KRMȢU9{xq(@P-̰/NkXaLepCr^Z#}%6A^3E}eѝ7˸3T3RGȡ_˭WNոT|#3+3L~H*.,ƟE}T &*6OۙPњԸ#pmMeN ݽEP9I|3^/56ɟBm6߱j?o4eזQ8d.'˧ d~*ɊITi_OD6~/M=AJ?ٺp!tFF<%{drBߢLbC7nl+mybX( jrM%1pz٦1HٲW&Ǒb)Ѹk4^7ƕJ(< dXFpOF2jߞ7kЯ3~<^Dȶ@SG6hӸ,^UL> [\F![c{[u,,7Y U<:7y|e|_J=Ap1꣋i4Vqh4T:&xV_Ahb3wu_.B#5j&zifW! !+F1P?ۂ"&.zoC8lਾ϶0ޥVfM..zoko/w O+?$ +p^N{4nߢYZ +RKIRxb?ɲj$2jݚ4׍eM4f3o5SҘ%^C1f'TT#3?/ҺhN8I.&7 S/W׏]A/kП]ߞh+j}o؏RAhܺffZh< +duZ +#]M4~*N:S6hh{H!|T`AOޗj BĂp4I2W!N2I`|o$TGiEa@:7-Vg&|xb^% Sl+; g[%rP xc !G^~?OMy(:pEݴnZ +kӮuClDRy8\ (Ҳ1j-U1oʫ3*s~CX&^PcY$Bb%+J@fD"""'aFDۗ{Ǻ\&?Xgs>@gFS2Ȟan5טPdВi!i^:| sZjazPd340C5wd xpbFL:|).Rkjy +|(?>U*5d85wu6<灆8H !NbtLK;{XV=|be=Ĉ~[Dq>Rly^_,IkR("~]\ {C]Ebo'n4;W9IM7$7VH]5diBȻ׆\ g_{)E^H25eȺ|sWs:É:};oóx2M JbPtCe0 ݕB$o>kX}ǓVP6.{T +?2Ro~j)PD1뒾ٽA| }vTp/!rWw1|Dו2sI.ry̽2k+I=8#j>qMT+w#Z^Z>>W/\SqUg!KTY~zӾvS̮  bp-^x2 DL.)t;xQ%(c ]0%_t.ꍀy@~`S g/-&r"$kVsZ6K뵅w$}/u6㱆,)ᯇ3<2UrxۮEo"-s-:Kۜ%Ѿ26 3e|?~\9SgeCZ nYZg]0Ndy?vv B`˭r@ =宿d +*Kx,<^σbM귫υd#gmU"!eûov%] BJc )}.6Q\KnVw̶A; p^wf|LPB!xS =܋:m=,@.z75˓ )@ɮlMnFarZrv>UG_# AXԻ*xCe8=qSބ|)uaڙqa9VǶ }н-˛>ieB2B粳VvqԚ_1D͌W=T=n©UHDa1!5xHdk &EV:N0q`JL LʼT 'ק$n@2R[,S<-L>ZXfS$+"rwu&sٙBH\cAz 5ƷId +}p5!z,_fW|o=6 +`VZKA8UH-gN=ie 6'-[7u`vkUVhU)Y Yh=ȌC^`]V)LB_'e]pgU +"UJlJFl}A˥w_THχ)8"jeVZ6MPZvv'/NnP\E5DﰡK5 P̦ OCOW0"2N'Viv}L/3T/9Vf2t.@H?كEH:\ktՂOanf1V:@<LH6k +[8iec 46;pSqz7"dAЄ`-҈)-zGHPkᄉV] 1Y!MHv;j+9F82ǎ澫1iG"TÜfH>a8| f)֧wXt{^ fYٜ5G"0ʞ5H SV|sߏ{*}cqj@WjS7;A݄t1w4ـNEpvɼJY,Uo*pp4OYD8|U% WՂIkT{6F$CFlE C }]5v(}"%\߹ms_mqx#iTO8txy`.AY,hAEM. C|OT N/psBEsxʫ<|'[8֣H!Cٷ{H$F $)˔4T$ɒFY<)n)3.3jf4:Qѹ=O?_s~50\+f|Gd]bd16RJ:YL՝9L՟\SmܠCxǻJm(_rxtb<.Wйڷk@~E=3WG/> J'> FϙdZ' zv=JN%fS| GWbnT+T~3lj=cK?(tQ _j冔ƊbV8)ޒؚb^|Ώ+TPf@+8t/t(Z) D"}Xv 3pa|_Mo0Ni*3Jx#-03@t{6!p6 + ѡ*ő 7\C5O>9/x{S(ݤ]d>]AUt%.yT۩GޮKFvO q'axe̬&ФwvIE`޹}p^E9-,2 `k gPQC!xse@߲3a"ʛ&"d݄=WYhwMt tW6/ &pp2^\Kt:{+3d=a\Gni" hxO]dG S 3z&Vft=fCsaMB,FІ;\~fb\V W-֪N납h65!gYWPGV6]CV:P{SCsЙ}P4'Ї|m0e`>RPyQ{WS\4Wx̱8_ci--'I&5 +W>z + tcޯl1eMNMU8ۭQUxy"l~ؚ:.LJi6{l?}טŸ{</kC =Ln8.k/I%7%ݺ^A2D~󮢴ctE;RS`&P{dXIl;6+t>7pG<4<9ŋm$1Wz}(q`" rtLKt1ȅUXG]Фh .|xsx1 sioYr S#MY(| (`pR4B\5f_6ڐHKE𛍊sbz5e_؄1*Cs5`\BL%v5*.]TjR1a\'LGݭ9go40}n6ФV m^ʃ/k4pQAs74\ -jSAӋlfvE6}ZWP_7?xݦ|x&4kmu;?d7>-PF6XїYQԻ80tc(_̆E ?4`!aFBX=)BBuoe $ "dOK f0}n+ݧF~ٖE_x8d93ff5!1(tŧ0;VPct[C5RGT_3UY"\AI6vtwF?NMVnO̟{ƭb3%YSuwӴ{0ņ^`:/_ǻ i{Us g kb|VOS4 ag7ֶ$O_(0e$&>N.nE4?Ͷb>0 l0HZuqX*!3} +e({l +$v i,T7%ߤ]s}0 +=.yY#+/稵x +A_T\ +xsz3w?)&c3G:sRsbJ W]=UE絎 rtן4fb3>g=Rܷ3q#*_?< ߮We}w_) _+ѣ>Ym5j^U_ z֝{po^Z!R5 ZMd~?I)Ouy/σḼ!2ޡ' EߝB0cL%o&Xt#ַbx==DԗdC.+m</*?LҤ4ks !y75xOZB.ZМ,dx01KH&L^ϙL?C[°q?j j7DnGڡExe#ԃ,DZ(Lw)D-; +oYAy5S_i|r"|e]tT Ïe54:caADÛ15w#41?qC~;}!PVHw].R`={< +iv V?!NwޠUsK=nS%wRk<5>{b^-B&Gy~wbuYdSRRvE<+wB4ܿNHum5uxD\$˕苹y,u;HV`# 9k };J?kD 3aoJY8g/Em9^hsBCE≈_vKT}F*^ѭ_;bQf*:̈́4NxzR8Ԇtjh|qǡBtxV:Vעv8V |N̊aDۇ7 Kǯs,yQtfF=-vΫ ?y\|/6Rq.Se;;S;}t c: ,T.֜_aX\@=iR}nEoyCtѝ)ifVz>-(bFX@QN6W33D2ۯ ~զ<Vq8uBN@bѻ& Ly-bn t [[ +9EP$PT3~ȆV<'ɽ$YRIr{AO=v ?;|9|sm97߬`ޥ%lRXWv~)tb(M'72b.boUM,3gV6'bǣw^8.iF}M8n=q!lÃlpi Tj8k-`^-ްhZ$լZ^Y$rVc!ި0]dePM*ϑwϟQ,;t/f^`+VH]5ߑd8gyJ+*Hf8'f84" $!g3Wij{Pzq1&&5(CsRބ8}x>i~J|LeEp'RY-nR*;;.q^how[sU/ڐT[w06ߛg AP8>M?Y^4"A67#l-ys 7iT7ыTazR1B4ίO&Br+i;H8[ :Jc|u⽢w8g?؊rJÊiA + nhqKM4݌v6"9߱7B'C #)|(HPw@2jgRa}QmzxMcv~&|xk_xŋt.+`n뭛g.!8l@{c[la%xPÝĆ68zH_z/obDKޮ. *m6N'Qyr$Q޼H^$ גT_(O:UC#'~:4^^6&U"dn4W`;̗&Qj (9/2{[Qgq籶Fdk`44% +q]V /Bpܦ.X2 ,eGlno O?.=!j{.CsOIwآ0)ԀEo~OCK5YJ ։ /A7B')*Нr{=FFqd iYhsGnA'J%[^I5y8_zdLOߡ{>s(> h7! $>q6lw)ʬn;[_@rc G)<8}-|7G%pee3V>8e8S>vPb:\cXt[MY- <ȖOO2LF!Yϔe.UA^2>Aۯ2V[6my(˛ud6pde&I0 xHL݉/~$$+SSPE(_{(,(|YMalTStKlNJI4_ĸ\ +B4Y:}ll;BGB'; ODNJ]ķ\Zm"< ǖ;K[aSN[o E-pi 3wkUx![7<>#5kOx7o0o4qW~1rH'*9apfɍΧ᫒'̾BvG=TaN:# s Vp#m'״Dp:HĦ󷫴k G E}dzЉ t?0Wwp<+6{DޅL?ejBEor7T ;NHB=|[>xpUQpkzboFYaa+\qRg!p(I6'L!8r_}V絨Ә;ejX=Gap>!>q0@H>cEc9Uq3 @^b[ es)juP!_Ȯ5W~mݯDQٱM7*)IS[v$qF1(3$Z9.pgc83~cZ~絾|>:D^ + S2EJp>(zB{z. Zz{]BPcLvIO " pVL]ï)T竱>e1cFsVM!Ζ1'ވzAI .km<Ǹi)ӀQBfzh W;r#u;vq㌪q&dt^jQK;-4vn Wӽw%*jP]S4*\l82?֠Ks1ޗqaSDfq+<ѢЫ?j6ܐ<8#xܴÓ/WUx?>羺S +՘r*{ߞx{]?}g6x_6ݙCi6L=s}XzضqAŢS:kLK$;Ѹ3c}Dp/'U קѨX^FRt3m`ԜP|cč 5aɐdD``0;8ZC} +PpT.7haq'E/ +|r憎I˲El݆76ʺ<5t֝V9e矽Yo = Ʋ de~wR;ocBWV/zRLj&ɋMsp6ai%Ugt# +zk}q֖OBF5#ӈ'`bKB6M/]q\@; -vH547ߩ<!1䬗FWOu\i!чp2dМ.n;AqGi,! p=QIx俛-6JUD[M<8ַ[?b(mhť%L Ԟ73f Do:qt] ݄$W4e7>WIfH7yZ^*( PuU\!aӎT߽P*H_se ZI?TȨylu W_:}x%tKVs;w(`,inHqC٨%) 4?0Fo6ڵ03Γn%yV]WmD/!í -Pshm<%OUT|lDNȚb#g^ =^}+w%$wJ ;/G׬ +_o)-yB +ڸF>TQĶ0=O{uMslݺ*$Kݺ~ +X[dz(8֊77#&['&ͥJ BLwJ˯ɠgw)A~3ŧ%E,俄Ϳi;</b3Rgd؀6i$rK%Msgc+/DׅO|8]aA )Y[̢HeM#Yf끷0/]P<4>xNNz'?C"J *. "ɸVqy+rx/9t)u+;Ȟ<n]ꯋ$Z(qGsbyܿ2&B]" ,\lb9l! +,CA-b]Mq`6yt1Vű6Ae>|?uAɦП]<^S?/|!O>,WmDL4ل W.v/cp>.:?{^`7"( s8ц۳8Cg=D +^_gFc,Amb{AMȑawIwyneyW\#` AuB4WΛba>t`2;nfz\XrS0;M5b?Lm~I3=LRPS kⶹ^7$y> t6`&5ޓ"s(}9߆daO>>I [*.X]ÇRJSV}qNjF2[7p!_k' ssE'VJC +lq_m{ƢNXu. |ϔ vn |S ]ƥY6(/2¨P +_'v x3Ź#<堛GsB,_x|wbOG4.8,AWסGo每|S%4` p5Tȿd4zp;f v5`|TK\-if fh]>QXbPwP8bʓ ^,^,s7tZ=kٓD5- [-].0|AUBU\~3rZu/Ë' rTG r!vt ~?zl?"?m `QSpF`:}=g:P9K{H͵#}:pvf!7 AKљ,՞ ,K57OS,M[D{q tTU2h!ۺE8},S7(};RX E2SCd +{ҀܼlZ%XXL;Թs֣#?c2 +:2`HH3{LD+UXQt 89f6:hXSpdm }Ґ*tJ_vCnQ(kCCJx \>!6EyNz|ޅ e<et!H-L€V#LG#-ʝlDw5L~f26µ͔|؄YI4AzJO4?H]jDgnO=rqfUǁfOw@z"on4 'Bqh +X!PC[P2D1-pYЖԻZJWp,Kej\j|Y]5t9Qtn7G ǻxQW^*鮢V|)'|Nqb + +7EW([0xIb7Ct + u8p6g34>{D)/WjP+FS5fRx d2S3K/A_Fs=o5[^6wv6}tQa:p9Tߝ~haݴm*$' L]T*)`VfOm]jvQڎ)lh?q ygO3IW 퉙gq{ͺ0a_N1)#ߜیUNur8pKRH$ɾe-DdꖤW*šPhR,1ZIֹeidjetmcOǽ癿^9yY?H|| $O8*tc6zn +%x.K[U=>ULZz'S,ƎNxs}|a'!.wmpdBLݍdU/#ޝLV5IϡQ3}~Ԅfա% }`F &`?jq #I|A?~h?}"{2R}x&~h}h :JЇsy74NB':9w0zSx`5\jLݥL b5~s +=Ӈ:-*ϭB|ST^6gtq>`MjP"Uʩ[Tb ," ^RoE?Hx\2G6j#G{ԝosfL>C# Gbp/o/\%a!+qPjebUApmGoHzo%9.pg w:c#Xyympfxcp 5tBlI۪mI?PnDjaĉ)V)QAb'^ʳ@gfbaq(; zQטk&~.o6eEۊKC*+jؕ|F25EJȀTK˝Wǔqɬys|؃ӷټm) nNQwwd=뵰/gw_*V#EM9pujrkd,ۆeiNn,B"Yt4ȘR K>ؗɿQΘpwM X_`6Դ-"Nz#Oyjw0o<;uba6;{M[xb$RB+dvl`ulm5ÅNJ"3F,V|UΖ*\'V~'8wt=j#ppETԅ3c+/kioEfKЯO7Cv|8N)Sܝ/W.փ>k دFP -lr6ؖ!e'^#W=p<-(uw4}=Q78yv_\Q5lߚa$nGH[ 6L;E`hi/a"@ grB:c a^Bt=L+Ї ^QlDYo M'\0ܖ: ɾ]z$U?H.5n:Zo3x@E;ˌpmw)\HSgK5d_hv0=szy;3|P{mDGjJ`-;b̴;*bc' IF:;vʶjoGtTFC'}܌hȜiv-)A器 ׽Hjc#Ah iO"d™'cQb`թ`l8 L+ Nf,r N<^_rӽ8j߆>c-Sg1$O&~?Ӈ*?0vY$6 {5T~Hʸ2"[?c 髁:# 0{˾#Cp*6bG[g ipE;Ie@]dg&Cs >dy9+u_C 5qYaܧ/U9<ٮҰ3z2 ;bcĚJ,5VAê `eAdƈDF.QJujG Owλ@{72_0bC{&뺻{r(O=B~`;w]l$o!q-qF3NUс-)J YԜ_2K98C}y=[bjxrA}\OT3i@r:T<.W)&pG 4<_jz 2xT !7>5G9= OyqPkCՓ |6]kx[bs:,BO2>:ϧnǰ+Rw1"N8gEkYHN qRvh7 Av ]֟7[*5 %ШАgx-*퓣V5nQ{LQocOʉ7)tK]bD뿪/n1W&'E7]FɈuMM.(&QԈפ+l)=& :| +;ڎ>=b:c,6smxuXWp9!V}bӀ }sCgWu[% `id0bgQAgPFWrz<qv*N%r$QM,fPbxGn7h>ry}>$T$ vŌNb~&Lh⺐zBf+@? +&sQ} e/Tp WR? +Qxuaswb8FֽxmDK*@!xZϢr g /_ ҇9ŢSLaq~lE;ݱ?sOJ]gs~}I):KI,;A +ZjF^^s } 9d?(0g:٤&LS@uleo2eTXoʡDOoECM'8Fe8ΚG˘P}y%ua\APVV߻v l.<|F纩?.E5z7 ,<؛}?Kz[u=3yZC{tJ <ඐOSkeV Ӛqo2c+ +ՉyiuШQOjZ:Zމ NOa8J782xkQ?cJOb>, vFXѕEEAIs~49ƒ^ak { i8OFKt퍔~vg!|^ +}:|ك@M5:D>64.QZ[TjR]ꂾH +uoi;ջds`X8EW;# 1q' ]dCA]`?,IvxO{aC]Ըfыik8̏Fmn]YZrغ)=˦g(ٓ1K@%sc4148h?hIWӼQt7𺆼R4[nNcs|嘏q޷CX?kk`gkjkZ $תCI*0Ú`YN?3L,1%ln\?. +6X}yݳ8k]:ezR + YEjǺA8Q,Q*bTBV0uM8gϖ;w}b( +btn +Y\ISLaa=A(^47@>x<iVպrg9M3)y{iH}c)+9Zfsb.pa7/U6f²_#!kx7$v?Dtdyur<,ɛq8osf w^Ѷ@˫灣ߊQT "FZ#{'bZSxkZ3zc?E"HW'k`ǚ:xdBFDs6/@ <#ՄN!w +Tc0(~t0cVJBfFr|I Tqt+J~=]4Q"i`i]31 L̚:pR FDdq=RJ$A +{_Z|FXP)eozl{E!,/[<> ˢ3{~y߬OyA 48M%i ,-pL:THnxZ&~?¡ {XX^xƋeB ++oz{`M(УV<rj:TcYUs]&o*}@TK/;/ؘkAg~#z#g[GoA@qhNt +rn,a zLVGNjLr5b'=:VDVT)0`:[dIe?43].ohn<^٦zq}XX^x|KѡCI0 |&Y_E2/T=-ЭÅ;c]R*)!զssc,,.Bn*I3tQj[ B~sA1ߙ+܆#8AyA0Y>pķN:,+ip=B4zʑ͢zL9zLXeM]⥧O;NA:(>JůUC)O 𻗻U^xqq ~'@dZIpm3tL3ܔ]Mm2e\Fv]rQmx8Dm[0z_ >Nc_E]]T%|} b WF +W*,;9kK|)A-\iy)/C{>F幋{8 80g3<ңלp=99mJ_wĔCjTM}i2C~dY %˳+PY']ˇS)əII`֥ũ̋U9 ?x~!8/{Sgkt*e#[⽘hv-uaq +V5\":ljK;@xfDd(}L1Q| Ş\0 N+Tw~%Fq^PPEat|w'1GA.S~}!\5!Fz0hfq(ļ 8}|8}2L7y%y_n{AH 韀SA}@0bg/s-BI- . vZ;z:1'2{c-̶ꋸJ3},op9NIBBLHclLgOr3ᒿ[^OD嚈Ї8UMlNetnE?Ļ5kNp`VϽ3Uљ"/|<*p??|W~6NLqw!p^ɿrx:!C{ȝ`{j ]_ Z эh܃2NL}Щy #`Y3ttV7Ŭ EʯOrs=t1TV!^u۷Zo:}t#S4!,ݯW[ZNڿ+sqvS䑤)s?:atA>) + 2Θ׍sΘ+AN6Pbb`M8Q`bRQB/߈:6~<ͶD-nW[knPISح~ +M:zkw 4:1zLWgXTgsa +JfIFGd`*, 5.b QMyt&F#&qw5I4F(4*n}{y:]漧=vfLlnW[_aW(W^% 7Mu D!0VW/__k4N|kȍ'Qe#Yλa]m⽹YSΑb2//z|Y4|Y)س|)( AsZ<սK\QV›|9AES_fK$.9c~ $yOnۮx1}TpY"y~>cIoYOPLbao7W~LbΏ0g;'8J* +<iwœ1ew# Yp t nhdvήqUp`Aii;|hvTQx(sFW>.dxхdG2E~̴qv.ѽr Tv|ix44W;Z:X},W=W~5J~[>䅇,L4~\ٴ*BxSn(y oJk1QxW51qf$HCPtnQ91ʞqZBoAP$cR-X׀f|/A mIÙ{^ nͩqb-<#B]k!kֽ%FD%tI6ے:f_ 8&GgO^qt+Fzej]|6&HCy&H+xfBOXM7]c&0 Q0,|؀Y33vn콜D>W:USyj}`55M`X47 ) gl,.GДoM 4Ho>Tݧ[v1JNɾ֤Dץ^ >ڗUqغ-߫&A7s/%/)l$6z,Do7DrڎvbB8+M?z2\L^~g>rq{JLA*-WݶC$:Qw-JjMf_>03 nN`{'~DZ4X>k~iDB(9*^'1H'߀& +?Zb]hԞ![ <&[&.M.B?P-FMgm,2Hֹ4grLK +[hhhO?>Q;'jYja0sɻQԻ7s3\gp3Vggw:rFcOFЯa#lrC9yPP~GyAP + @1ۥUFY_IHΖ? J[şnAE8:G8g(g 綷3jwwZyAyOI3 3F(QKKYٞdD?j,~=~p= 5g/Y[ +MZK7 _v +(Xr +|?͞JBC9EFzSo4fOvi);!Wx:Ʊ_ds a.w#TvqKkZoRw䵣q0NGOK'iZ8QJsiGCc)i P0WWַE +7O{GEuo55F,%n!-ntq_vQ-(%/30 (("h&hVmޟA!ji?Xes Ü/XB/} IA'8b*~ t!;R4o4W!;ƺZˡ$ˇG II 8Z)H uF#Q&DHHTyz#t_˂ )ΡXHk/wF [ng(0ǿq82b9 |ȃC_mYj)]șB + U F7oR+PRyBr>nL8Bv' [qv4t-oa_gUIvb⼷vFJk`|9q݃S<_͙c,Stq;38(xoiljpAkZ֒YRW+ELoO!(<Γ\ C dAz>^ϋ̑/Ʈ9ʹ➂O9̋waE B7:1Oȡqn /D`NZxq?Bߛ}Q,vaM䡗(>";B?I_LJK/tygIRDȾsm#Oʞ+T-9t^/Q!#1qʋC8d]Ƀ7񞓆b2“'>ۍG nF0x2aV |$~œztA-:/-|[T$;mR:p-; Hh +U{n^Z8Teb%J٠ATG=%N@zϑ~UttэM Y;&q&M07 H'yB8F 4fIT13՜RɓذRH98ro:БUHų$w )K;'Iou3fu~cg !:Rz]!r"[~RY%/z>hݫ?dY:PkHrR;XPweZi<㰽(쀳%h_xZNaSZAUuj4=#m2YA]>jD 瞼(s+6Ͻ~p҂'KDJVDE\z}*?qI쨷р6l*3blz& +Zeъn]Le W:j$lg5u\Z\KjeIj/ʊq Cjĩ5$*!'VfOlB.y]SmM%D71`zFf[6p"*|>$Gj.PL$VrFd,}ɧ@}R)4n^hTnsa}=/C_F3Wʰ=㎗"ibH$ugϗ)Nb;f޹skf*0tOL=%eB¡ЅT'Mbc[DYgCa-t넃,Yes7>}9, cZРϕ>'*2YݛyoAD!popȖ[k@UO $&ҝoP`׳ݖ-'a5qۍVٽX/l!f1qd;!hdyAjVv~K 8iӌ +8qTa{p{.> +>K&Lc=O yҬHjO W^unC?z157iuX6Ja~Àak#h_7ԣc[]UNm[y1IJk:Ll۰# 2YQ:O@+,9DRTGlJ(f1l$d;% y1Z^EaI:})rB(lnn;ʺu`e_m0Q*k{W 1x7>Md7dCAAr:1Ee`cY-0W@lW7K^n3jYt_9Mbx백ɔF>qx?h|ZgMkв1)NӲ8yQmNRݼR5ϸ}?RQ a<2w yprӚ~RsŢB삊"X9z"ɽAK>@4 ?^V^)(ŦSk◘"rEL:ogsp&>[%: 2z1؜Z5xM#ѳSF.ƞC!5AMـ/,S:xQxbQȋ<7w7`.d-8ra5ϋy QrEU"y *'3g9B$IkGqk--⭉Fn MTipL~,Lg5kf$! 6#vZ 9W?pEજW3n(}g\0$+(Nyx~VgK2} d/f5&QY_Z*ʐ*L n`!':dI>-zv׷vZxA]ZuP7t/㨻MQ9v2^P&X1;_4BJH%1p袭FG}b(6a]tW%} cJ(e_:3 Ju|Cs801OP=&zlD&3z(%N9ܓ_*ڸ.+ˠm~MGd?Е%4|.[ +.iM|+5%s~:=ш+iڀ9"po @ mg.=n(&w sɎa.m8@~\ +Ux?鬄WpѠ']/P?WI<Mi9(,Ώѿ$Dn .naPTgHrx +϶ ,nkt4[EFY2s>? <~~3{b.C%\I4k 0-BF8N/X!.$8lfϏ hBwP)?)1Ӓ/+Gɧè-rDu7Ľ^ތO4璘Me Y} +|"UZ$x1/F6.iauؑ)xlPb/:Z$l)»=fg6~j̟k\Kh2ֈ<= ":I 4uki[C.OMɭpN_ [x5OǶqv)clPoϮ8vxukB:;, Nை OÒeZr\40ZKȲ^ +xLT 5l:,s~UQ!"Y]\$liJ [/뢒wẖɦGxxs0q OjxC-`Гy =VP:0݃'~' +gm9xr=naG2edɑ))p&*jbia'y*f徦S?zz|n@++xu7DFߍk^yC}Eα,'&j@Z6ud@]~e;b7MI@)~O5b.x. X1^ڦQw+2૲.+Q@^^gJG_YD>/wGTŝ ]QN^uU 4Jf+Od;2vCX|ı>&Rg徇"κ7RԱ.]]fwJ +\<}F f؅_,DHKFʅ_y'|2(gRm dI~Dw[~X YDb<4Y9C\?3xaf. d}>(~}~ +K>D>6A 1JX gХxԜyϚ2u2o[wOlץ*{`SICʥl8`? +=zp7o0r>uLbxge +}Oy>}EB_-E]BzzWd=s]xU{oWasL WᥬVmcll^.= b=h>P)ǫJԬZeQ>cy;8i]eH-ǹ8E8?U5z +z}_!/i1>-}(|S}@rb,Hm:ցO78f/϶). }xG7ʬe%:I'ZHΞ}\(|~_M[6n|$!w8|TOҏ!sh ;<ʳ#v2첻:=Q.SqNP;X4B6tZ/+> ):Fö. e,/!y''\*Ւ%mt{Ѝ-g(Rwp-)6![{M7 +*n{:N y=a߂n + [4 ܊K5/z_z"25QWP>݆-FVԎ Rm;:ER;*k O j꼢{΃=ŢRhPDEZ4" TD<LyeAmi0*jM5ƤD?!RVWuws=>EYتsD IϻT+P}AO:XI?ʂ&|( sZYň{MP<Pzl?s_R*7݁LĭqP;i4b|)xx;/2K8opN!8`S +NGv2r,D8mF4V#R"7oW1y)'5<8 # `2C&N"Vq܎6(lcV8#.%:P$l$\+V83/$Gڰ62F4I}`q:yb쏁>y+/AqOAN=&Eӥe<렬M"=XAZrrخQs@2G3LxO8p<տa܏QjOhyQ'sWgB?׼ '0A 6_`^5H'8Bq 3)D\Xıi +[ G7Efgih3~,깄XU,\-!1_ZY^ n8W̸PwY /aʈC+ MF$n4;sK珝R]JG1;[IW~͋x3J"uLvq02so9g!)&f7Fl%˳ +E#M+4m2n!]p _O\sgQy}m .vص$ [}r1:oXK}Sl}}B;3qc('e,ԍ8g1d;_pO-Vj 1Ub#]jʩ<eϹ]:˯u5%<|:dtwj̉2r:8ʋ֊Z/1K:E?+< =])3udS2@n8p7U +Ut_I70vaB1EOYsȒ+"nC_ўC052z]3'آP`˼ ')2paOJb>qi kt+U- uP~a.Ey/V%󢱁:qfTμB{cᖶ@kJYj 2_GY_bcbwB-&lM?ĀGr7'ۜ_VC2#iFkMwήU $ ⼰+u(JƑĘifJCYv +QyUڶ=?kb M29FaX~48=!ϖˇBm> rzZKš%o Ra)DGZB?6^7AxW+1\QΕ@zt'COxѿⱙՏ~dwZ?fZ.!!-x᦭bqѕ->ذR$Mw'v.8Ĭ'šg$Oq; 3]7`_^7B=ݷG/ҝ<cb^8`דo|G ׻$P7H_ci|Wx)8ٲlY0\i*+ZSz#`h~Tk\Yu`g0͋zTa&'[jd`:StQ-5V@M qk5>RɉJ +& 6dHTFgQl"hg8W yKLL:WnCSjo'ūR +(D/+PQ8?:D+l}ggfk@) +.yZD$HE $El9z_xb W4TX[IEj9}>EaICt*4.egWآ#,ujjov4tgjQ70鱃]:fN^9?I ֏|75GלDDEݛ/k,# +YP ʾ|JI[SH)='ыY/c ; OteF+ju:Bg]ك?g$I#yG +G'SP92x򚢇r J"lR=jWxn~ Wڡ7g?b:8:8yؔ[>+rbɫ-cl+cԤхP=Vx7WtIiAmpd= .3l'\࢐S*/˭ϥCprnq7}-Jo8-^+[|'-ݻ>Rba}ӱA-\e촯< ﻰ3͸tC"NZG SޛbC\6PMBYU&염!1>H$m>xM1dXƲ<墳}5_f/w,~vZ?zx)v>uè.oCQ(!_?eF݀ EǤ5 +lCo+UU7tƣ.wb^J47țav{GOᝯ"p wI Hy0&67D&n!sў`K.m˂:_3W!Z*l$,^OO)P'lj_ u2 +ٙDwl%UʥNR|;*qT|~I߉?r3}:bSZ[pMүz6 2͵߸t 8|7.1NNp q\yɘ'Ok5u碄PI(GIwj8#4fi,C6H4!jvik{k$54-EDgWKñKVuȰ++7۠ +gT)?qT dpQ= -`LaeE!aB4/HAO? +_Z씲 aHbn + #qPKJEd'n& +2RwpFcn2 ]0FvpQg4o-^ŏ^Rrk%nsM;|xM5 +Q-Yvuȝ5;ݯ͌{h_8}9  //qhhtSS&>BI0%~`>GyBNg9[ds!cr|Dܦ_$^fo)Ă{hl`[G-`d:\rkpTyTO{UcǴM9[A><~֚㟈}/ 1.":+MI9l,j+Ԏ.r1_uy{7Yy+#}cx{p +6G"WX]"' +5na\a9]~Y _F +zS ho +y>&pQ21x3/o<3"vCuOR؊Rlu1cjuM6$x5F <@$Ot7R.eVX^Lx[Xqo秲`l4%G.8`+8}rr%'>5)yCx~LE/Z=yݰ']@5᭳;F~q9 :oe"L#M{Eu޻ #TQ-ŦJ'HPvQ!"qn@hEdC4q1:jQL8̹J̏^ww>Ixh<-qzXj_0pp&NЀ:U)wz۶n?rGâ}~e0'-rO]t |^s 𡷁Yy p :a& _xT +pvUs{eR!5"{<$wqDW5\|x'z3;b:uW4^_wh@z?>_R^:jrO{ *sx۝ +Y'KZ\Cr\.h0/'H5fS~Ѥ,tv(}xy?9r! sĴwĆ72}=*ZU _Fp>WG7>Yb?$Z־,f?F1{? NIC7v:}|U1 - B;_d"~}e+ߊk 6̃1`$P8cC!1u2_-bѯb9a,t1|1a 08d,Cd)/#ӧd9ge3o _4)zZZ};=pyq+3}jeD>X 1Ϧ2i#Uft Qa&|fN#4xlX :C#nbyZ8қ¡b/*A2/)i3A%I3MP#;LyeZS5Ea|d:7%nn "ކ.\~0ItcxՉ0%SBrce7Cȟ4!rOCe<R&Otɋ33qc¢NEQ8Jy`d| *xUjs 1ү/F"P9!g~T|@ȝX%xArCь%龧'ǰCČ+ pZB fҶ LMP֜{KpHC>}Sqed~8np..󄜽2 yG!vPUnx>bt&idƁi K<,yAq׋8P'cơ~<q-I{1aсҏ]nh..E/сK1˜;A:Ň pLor0o5,b4Ѷ8A/W3/,WK]Sq.8kTZ'cy>K<(/Fs +ߝ֍N(4RjCp)ϵ8w~.VLH&h=Z!eokX]L!^GoҩWB.Upԕ pn55w6ۺnC~j 3qS+NOS`8[ +Gh^E #]8е'ZIС4.h!<^{O+PJѨJ8]ޒwN d *2U%rߪ >zSUfhE7PYmoq0m$(cʞra031bۧY*ŃlLPV1y~vi-xz;iR '/2C +KŨ uqR:{V)Ws{#E"4%xnt6CoݺuuX}8g7@Ql>7"-~JdK_e7fu!g:L|\u&=ṫN #G;"'y|}5tOyAdn'›k*FHQB:B6 $8]y +]>y}<|xR#ew9Ѕ +> +';h[/Jxg{7>kʷ腎js812w +9))qXFF`m]H+ (IA*#=7;A,8D-ߎ7Cף ö !17Q'{4ӽӑΙJt ceC-ε> /Տ)pgJfz8*Jۣjxߺ2D'%I~6q,?GDW\tGTe6qK"[8c2O5)d~#OZ +7Uř{gzc8dkРAAdTED*"DM<XT]]PIQxx un֭{NK66a5jXSSW]Ѓr AZ|.\HjtڮZh|H8͓;x Y~p} +'d4I6r+|DF.,U1jٿ*(2fAdz)VAt^,VC9BvVkoy [MIuEa{徃3CDe_ek?nE.nYێ6ѓGJVfd7ӗPS[[r:,H:+dG_Ǐr2F-E̼/2_Z H`fbh0+VJ'MyD.4.x]$\o/ w繼W8}X86x_&6‰wPDk3ܐ_tT~f@neG.i_(K:jo>oKM>'p#] w\?3SC#CGL=bΥoe7C YeJ;hf!p|%6>8'yR{߃3UG4 +Yك%}J,1I=^4Ŧ0L~' MNfPtٴ!:(712S]alPvikmKgX FJ & L9w4'X!Kq{NG6SS/m :rujIy :@^vxITPII]5mA@~H=X`}WGJzpu ZGSk)j +Ԙ^F_zE!tkUK't_5WMo51/px@Iq0Cj z$Cn2VF4f(_~ŻTHw؏g_SG\p0ףGW+@αg s0ЇRݼW|c05L9( +}ȲkY|im>x,?a\w +pv {5@ gK9^j7,` ];$K>xZQ8 ;?=I~5F_2Ї+m:o%jv }׃|# sϯxE~eMm A ō:eO40%>3j(`νD \꿘dYVb-bxuT n+oAF_@F-oefW5.alB3V@YS/a:_f6"C(Ȝ's(AsP5Dp|lH@$fnoD6xU,ʎoi&2 A,d*iae(igkJjD-&!`T<. ܡ;eb<9$mЗMVVYG5⬽ 3k=ۭE? >QEmd<r=x?ϙU*c4TG:X%aRчFûD8f1>,[1f)"%wȗg$x0K"FwPJâW;["ƅ1 +"a (vM1 .4Q;.Z%" ƉKOaΛlCU7]}ϻ{_;qǖ;'NM`-&(J\LH??V6[rY6dakF9hJh<3 bL!y̳s 7|tt0.:cΌYw |6Vu;@%\Q OglopAQB|cPȋGۼHʹ$5J·(<4ceƕ z,п|;qu Q'ubH(oX$C ]K{'6JSC:˰m͔NOODˇ>'?ṫ!/zA(=f4I1FH5^Wo;|Z:2iqg6E\+P@(Ƶ{6'P2?'G_L<%פ( YD " oFĺE aHKqf:Ml(]my_ly6!MɝRR9`&Oa?^+bWh D{sݜ_4ܛ9ǬxckO-0ρ] Qi/V|tȋʋbqY<.;n6cNrXGM`1"hU .DZ<8v:]4wN-KJ\5Ч}|yyУX|/YLg#ݴc}r>> XrqKKcԳ- w\ WÁMqXw=K8z<֡4sOh~[ +/?m ڶx _97|;Dc/ҋ_\a\ca e`xR}/xn< +H~bm6zax mM}`XAfy2]JCƖRk<枸.Ln[GpY>ʹ(Bby9˙`ә?ˁx5D4ZGgϣcaܽSM?s>-(bk< k<1;GǼZ6;2tlҿ_xm!mpE}BּB)rtkAf7_@/FUۋbûXbZ2q: Ǜx`M^z!_~r]4Vc H nkٽT>!+0c-SԢwA%OF `q<!`G{<LJC>$-:iBB.#JwUVvT"$m +![=͕$w}0Y{}G9 +knꃪ4BpBkuG͇xƟL hL>Q""">n @|=!)aowAC&4l;/ d,c+{BMH6UXE +]T/|hTZ&UH4/=vn"NY]\ߠm`Zl1b^uz}0a V Uc!($-,⠋|"!-LZSzȕfUr(B _vzoy0!go.oTӚr$%^PjlVu?a& ȇ!/|l|Q?#PG?n<~8MBSIHzn$C|_W rփ?N$_CtսOwmT{G1eQ1zi73e!ߍI6irÛHD‡N)Vb5)yߏalu®7z}|rtY46 Ԃ&_Yȅ(i>ly?Lfn6|cg:$9/J'c&{O7ك/ 4[!5fBg4SkfY6?c0C}a"΍@yAOV(G7ƤXJ|q-Z61h庩#-]Tp轪?Uk$&[QI\Ucz.L/kݙgjQ74rMlw- +O7xpXpwYxMP:_$/if@5~M)!Y#(E5R>"EHl#IVėψ'1^UgȪ6!:^dnޣT V6:tҸzF~< Q^qgov);XT7̊IuQCf3/B桟q&{ zg{ P\#Ux{Fu;Lf8~#WZZ%CcSb7 zb̉)Ř U?JBz満xc넼z Q&%'LC2G BxtjWzWZ/j`OC[u:BZ/j|^@z8_. +)"o@tkٓܳP~p_qF?.4EU]x 3{,gs2*ge9qql{wTrfM!i%*Lj!)}ʯ_?$??W:ᓢop"1fLv([6l9Ve:*#Uc0oe@:reXn%$TZAȌq\b:>NG= EA3m)& 9ZB{_z5?o0dęwMkn%b +>_0Bۂq6~}Df*$)&\4"Bh!\B}H:SZgۘ1`ulr؍-alZqVr>Ok(T=CM:&Yk@z >4X](B~'ςpb uZ':y;z^8ym`iS[530(Y<j!iy} cƆ==d@e3GcXC,O^Twq:R/Ggsm28(s o.^[$˙qFBȜW +TTe`.ԦI#RUj}QB|_5#"dXeZԁwйe +R'gya?+Tox,wF7!&Ljv7Cc&U5)D]>%ځ(`%&{vJ,4 OvY(E.e3Da?^ t` E/. -ax+^QG՘bzbwb׍qdl5(9@g< :hrԁUq8&`!1 $xU?nv> u +./=ĔS hVˑ-hXs=|^Ex5r]q?S+dj|kNqG'9 ?S`¸c:ÚLoJz 5HE:B `g m* + +`k] eP`̙3JiW3y lNwE~iŻC=wxEs}ׯ4hظ!C6,!a#FLL5j褤1cƎMNNI7.55--=} &N4i)SNi23O1#'gYfϞ3'7wy_`E + +/.,\xҒe˖/_bUV^fu֯߰aM6o޲矷nݶm;v]w޳g}׊~C*+;rߏmh8vƦ'Nln>u3gΞ=w .^t+W^v?_q[n߾s{G?~gϞ?W^nk{w޿?^ R!!&+>&{4rYGAI8UkX~8(J.jJM hht>8.)UPP0WQ\䨴_Yܤr%dUӤWZ{< c=ͻZ9U: mzQ\ݡ?؀cPc8ɈoxH^,n[^bnnͷQi+O8h:7}O Ɨ~zϼ=o<'s~}?ڟ< _7-/3y_|_{mnY RPu{yB͏7űX=rjo\8.{t4fۣ).-;˳Aw"6߳Aox~lփ;;ޤ7~7 F v_g}O{c d:?!٤;4Ny߸{{?x,7޹m`_t4u'>DX.׫kd9fSq~RQ< q8E}:nGW"ꈸ_E7P [ T\Y=~PZ-ᔺWIǫ Wa6uPί?P{Njͅ"]T]u5t^զ:w<^GfHkO Nw֞twvY[qnɲ#Y.W]+t7gZ7> ]6*ZWX_|W)k`]kh4ZUu#k屆0"EhZ۞@3.˫.<=RB6{_Dޝ@<}#O{xNԺdmz'i4_5K +KUT㋪hޟF+ C6XӶ*Ch:V͙!OMSt5E͍Vv}>mDm`+s\" d[m +u/9t Y曖'sE V5ǴF ڦYߴN2̀x1JYX[SԆF.4M7D[ښHT-4` lW'DOj9q$ͥh9{M8=Es#wFvSAY/ 9F) fӐe ad/W=*N7b+FքVh9{(nDC䱇gd٘hu"֚ q ̘\ Uሽ2nDè@^[M[h:CCK9T#BZȬ9-Ķ (iK:0$MSmqyF[)Z^DesN4C3g'ZU)Z^ĉoo&uh`MV;:Eb,,]phb‰+_nH@ktW̼3kֳff]htkIB{oL@+^LuSb3_ax d/ oP{@~9=hS3S!Q2v}"3ᯞʁ^jrɚ){FF;[7e%>okfŷ϶,$gjZ!h'{/ۓ_/}NnsGf +ՆCC֝NW]~k?4_H#hSWF;;_Bt_W:Poto낭H?vD4m.dž!sNN12ZF[oҴgئ;kVѐbl-EځYځ/g]EhǕ +7Q-2-+mej(l -R "4KwF;R4祽DJԌ6Y۝Wb˿t*jI4zUv<׳ߵ +(94Tjq7;|!![K8c}93U3/5o|wI ms݀N\wh'{E]>@5[l^Lm~zF;؋Lw/DZ˞Ŵ(nh'{// +~W w#N6 iϙ2|Oh+m1^k^'.ND1;@J;F9v +j?`_bCξf,x^{YY$6Z&6`۟5VO$%Xѡzjk `o +[4~Pr)]z'=\d`oףzFB;˄ { u#V1%r̈́vZ6+>]JՋ5ht0⻯oW/WL Awh ${Pp^71)xrLhx>Żix}x)sH_h%yXC2ܺu̖ۨvOJwUrɻHF d/6hSԃD7Չ^M~_0yxm!'[^ëpj0"05kv|p}h +̽N53P/K_̄v{x!gl4Ѫ>h/Kbj0gRB;L|+ + .𳈽wB+Zly@6 7o; ZN^V$tJUې46v5= +v_eDƾ՚N6{=~UD4S0pSp9["݈NDY'q~֨roNY^/O[1mo\rz'P nmr+xUmbTiκ'fm$pfw C#Մv*7WˆJ&!8NvYIhϤ@;؋\_1)G$Av_+u{ +~wa}~m:9>PE5-{Jh@EyI*4t7UNh{kWA}ꑑ.{U[UG;;|RVUBި0+Cn[&/KB; #S1ڂO&kB;>HmR{Kh'{˿ur~kg:2i-{.׈]UǙ.]ko>ݞe QݘA6Z9Ж\hS"w0/Z=Xt_+]GѦ^^/.N7+7f) do|;;MkN:"Nd0nS?d$yfny?Pv%T8j֏H^B[q˝>h'{ݖg͉*:#R$Lj&?8'{CɹaC8wMfQFB+fo;aٲ7F-Bh,־rIXTzN^6oUdGV M} `/!%'K{%tuRa +^2dU:a1 + m)+]|$)Ex_>&͒NNokFaBCmWΚ/{-n Ƚ"M+!ϟwܥٛW~7]h?yQRCfOhmugH|F0fWJ!6ZF9m_ʽ[ _6Z;O2n]kq͕7R46IKb(2 -|( +r׏|T')hwB˹h +,^p^Qu_*ckk^Ѽ#3thSXKVS4jl. P6ZLA;ً=ו!^b9,D.$_ ~˵Ti~`HnjVZFK-ڈ}i3՞ҿxѪw[.&Uz^X3'75$8rHu)hg +#mZ쀢YkNvmBN{&\]UH1/j?;NFZF?<[h7/2! ,Lt{@ӝ썼/fofsxW_m/E'yIsWTgj1[9M +>M&GY$]EO5 }0NȔ$2uv=*raWg/V,DN `R}9"6|ZmC;(6Rx=p=E͡O9 @ÙP&%56Lz6{ eDC{oOMFmW/3< Ȕ 2 o*t!AC|:Fn w7Ug+hiC; uq0y~QY7% <h'{PeeH)|9\~h>[mgf CQf"~9)7G7Y-T7kC(c;~:y}K9xeoJӝukZ:вrdO98eS_ѰOi`sUjO hs|@Uo,ggչoVc`?^i3dmw&ǯ4 mOJF}lH馅kc5gM}K>mfDjI{CFKL5->ٌ`Pe͑blFRbե54/v;ꆖ⺑wmFҿt mh{7j~ ɉsܣ7] `/D"ȿϲS57$ualh{a/էP՗RqS +5TMS) Fr?bCWӵ)z߆]:Roe7)4w.XCQ]iOhΖ=N2air76ڐ3!ݳ")pʇoVoҐkCuo4+LRWn%\56v7L®hg7mo!ځ:u p/1#7߆8y2̧< @;["w`1ժ+ +ŭDms8}nh'{(wH{[֘W6xW3hJ>~ڝ Ҍ(9tSh =#|0${ +kN;ǔCo4(6V&6_dʆvgԍ>!"$:Ռ DiL>Gu#tݴQ-ϙgկ{s JO::_.6a/QCaMR&+/~E=b=c͊S4TDvR6h?{{> '|vG6lO!-&H=W +4YBR@w2i7B6B{gj0Ôq;"HS%Y611R& FD*t do"PG}g3 +.aC"pHL ʽٳК]ܠ77?yWyxYٯp96)6INʓJ-6"ritKhvg鑨Vdo a4Yyt!\v<7& J/F&'hGO%\ +dqD%+J^Y{`UHTQB-oh{SNSog&h{㫫t5d',8Ynh'{ou g&COD]?MOŖ!2I2|Fbx=ED7)q-x#|,H`q{ъ6tekzeTXۓfxc)ے3"%3(G΅(nVM`pcz}A6C]6Vn77ѭluC;d((O d{g?zLLF; +u|Ŵs +-YRMu,ڋH\J^DRi}C)n:7t5ٌj8 :D6^J/6Q!ԗ7u!rF-|V d/Q|coH9)` ['ˁ)NޞrM +O+9L )'v<}H8S}3v;[Kv* +0Ag]]"UFnǖ!MoRevI4}9pNBX70D^4t6&X -heK8"yVx NA;{C~{”/P]X^L}Zʳd\R=7RM,K] Լʞb -Kvxf)RK x6ojÃv Qޥ2 uy7wђ`Ah'{笒ذGK)s&ZNc9x=sO~jS k]67kGx{tr&;\O/W7 -h$0rBܥsոDK污o4BfA#x=u pG UߘCߠ/䵡]U}VQ&  (W_0\ʜtD~0Y%mh{1m^zd2t@$I*pKwmZ&%S9.Bhek6>{~A4Bz#|0$pqs6BYBkZ:вiG4<n;ZaֶRݡT1SfNiH +Qr6ZEre=-sC;؋n׸v{KFB[;X{bo$[|h{ɷF.$^|*2RCjN>vWSj>F;ˮW4D0$| #UPT]oN%Mu??K"Yڍ[\D)|SjƐ!mh{3.[۵׾쭑ɑ͇/K8Lulh'{BxpjHT( `/oy_yaƵ g3 d[eE-񽵼a`|^NJ3_#{}ϺVëULChޅ76hU/$-ѐ$Źlhi7;D>60.tr?jb$|BJ(Rv5)>>s'H;CgI7a?`|?y{o-mlh'{H X&hsC;\@ЈlTs,7[x-3롊WH|F\a6O p񫬭{6_ i'SӋC7fgx2M>2Ƶlˆv>`TŐmH=znVN +Hb1\GD1WSh޸GQrc^m~ft}er-3Pg2mlh'{;U3]jN\P.i\50G.WoPzMt>S<;[IQC%"߰J9,eˑ6tm9%wJ +-݇ʑ-'m^+Mw1Jt`|3OK4x#|Bu zRft*ͽT32 -hɛå]n-Sg>ީ%B{ɜu`rF~FW]²βC)rGoKh?vz +iۮ[F+.i)h'{se\܆وtoh'{o?)x#93v T:t+$uO&I6ӻ0k/Q w}ڳ65zRD.8oDs ŽjٲvMXKh'{Z邲-n@ђRvL[mÝH-'GQ-kDfb*Ƞ!nh{Fx'xӄue.ӷ2le!eh +ȵjlJɓۍƚTUido'g"2jYٓhsCK?R8`f!܍] B}[^<;k7^„;ק(,ѪoI-oUS06tݑTp\2f7oڨGSPSflvn}}vvD{ƿU8Rɫ$A;^շtGf/g$n֓7`oqgk@'y^{=o r@g\IhcCKh}J}gE2ÿC 867|{rzJEV*z?GQﵡo4VHL7NUR-ktW(B+-mh{;Lʐ5ztG-oh{yE?9NgpOw! m~׆.ʿЁ 6}om5Z2CE_IY .$5&HџPM]ABMoh@ 4 zЊ=Ok^ )8^շHX?vv-u [F=/|}/ }),i}to2~[";k!]:ZNVg$tE^ߺ>:M :rZ:Ђ_@U3Q̷7d^/TM[&E+7+ `/BQ"{+QF)hM6 `/=Fmxoy'hZMnkC;[K),2jP>Vpv"9:uӌ҆vB^*8Bo-dfewgvjd#wL`/2I۪|EdoZ:АūHϑ`Ȣv7ӁfGdQj^l̐菦yvOiP +Tl(RVmsC; I$ Ukt+Jemh'{C (7y*Kh'{Y +NXY7F`>܂v۪ %-j&{=1䶎]Eo5S@KLQd)ҟ||J^耲:ߧԺe⒟N듼7xa:SZ63f(|,7PI͎ʛ>>2{yjLD[ ?Zbo주{WiѦ29l2n-]ƿϒC,R Ւt]'v~F#?zJuDXy]>]F0Bb/4DiXU}jk9d~%Vz&U*v0uA\LhfH~QC;DQ,h@K-b~>~RneL0#u%WQ߿dzeMg<~ns(39 +&EU7 q34 +zC"^{.!9L?SrpTwхYМo濙b 4c*ꁖ[<*ByJT4t-7M9 ˨Tv^Ld)LJ\MJ +mhhO@33ٌg yef?5C:{,?į7V?zǹ0yQJօK7 <o4PVjS%İ}iȤ2]pC^tgPB.lebNQ֍jLйhد:5HծАnhֳ)r +~%!,lgfwoq%~֏Jv +$|yeN9 딃c7,:{2 +ESՇ,M mqE[I[3Imޏ,'}]kسbx@+U3dأ`EDbmх}hcO>%>z].Zbohwwk.0%~ )Zh@M8_s2b/yǛ-wm0[0zThC[ˬJ^WTt6?Pq1 ,`eXoz;LY< zz/Ox +?]Zl]~yǷw6ЅP$Y?<а2C_ݩQUg9B O?ŷfX}Z՝f̩dut[9$(;/e&[̽J-B"'*JYiIK;Y[7\YZV,:#YSx{9Bߴ'7"{&,ܙ|sxs%-znN9/hf%^9D=#u${c r%oۇxTz7ze6Sҍ7h@K쭯+o{zNwV^V2{벻t*˛$t[PP77{mN$.7܍ ZB[V$NZ%%l=5ͷmh#I-Yo~ny}eVOyCjYCSBs%э4i%o֐mwTƄU A*~@+Zbou,Wi#V(0)Vݳ^ڭcO{gk_?؋P%Rގ0M{=oJb[cCb恖{g]nq^S2%Jv=YutgvhmiJ=mhM_^*Qڝd9u[Z]&|Eo +CZf'+ŹW 9oց{ˣlor +lgi4 "{?Co~-4%fEǹ +g^U2O؋zikJ3*d& ԷjQ4ZIhU~w3AI{{`fBF=2{U^oޅ3ͪɚΘthmJ~Jv]ohU/wZip,L;¤jkouy|#7͉ !chDf[Aft} YIu[Zf^œTW1eȻ^Y\q{cم٤ۼ#DH$m_J^l!g* r%bPB-ajqY^U߰-3-qq[k-]c?d-'L\Zf^kdHs40ǁ;]ʖfsӍtthS BVL~˄BM=g^fɪz>Y[gYȎ>hO+\:ОF]|[ۭ\S`'ZBц=k]]ܝ%L$RBr3\ Y@09~w}Yb?}9]@;К^tՓyYgtat|rpZyb +4e @ۿ?U6 î _XD˝4%TT{ԗgc5hPO[vBv0`/+HTG_/ooZ"-!ohq#MثߔDf7&<쳴ا^zܼӳlՁv AuΉJݎfT?Lf 9GKHv|SYIo:Ҡی-; 쫛ޭMڅ`~Ҝr8 SЊ;}U#ݞ nmqþۿLRaErh V@@\f3mnh{oz=#٫:$gC;ًio_RgZ1bi~>Ij3*r@;;g! 7zO)[¿ΐ +/fOή˽ yʆv7MOD.O~`o*`r/'JJ5LH9=}Sw`/!"߄zp. }CKZh,TF:3h`/PtnvۻV7 -h#\Ҽ!]p=[i9xEF2Ud8چv7E~k3425?> doק +tézL\-C cC;ٛ}N +ܭk͉svvSh0ث*ks ޖ!R_8bɷ.93-"I~Ƽ6}Մ7úWMOo70>z=yӒ7t%+2T?ܿ{*E*eC;ٛm`W̷R7O{dKd*z'Kܜ6K'wY Je)>w# 2]. mlh{q{gDdz:7=}Z{[(49R%_B"n5~ #ڭts!r4 -Q7+ntFuvSh{h"(6!-V6rkhɈmlH#uV1">ʅ*lmC;Bs97M?)^-Zh'{oA=W1qR쩷ƆvfGv̂OpF13PkԿ{cli8O|wvoh@'wDxY+twX_4p]^dCC;LxCZ9"aa.7IF70#octWјD2#Y @ jEotc]TuUچ{>AvT-PG[9MV=[(nH߼%OP-tit|о8l40M٧u ݮ[逸+9ǽnlh y7{RIf[0FÙ9YRvv[2b^ӆv`O2B:3v7ۣ%s(EcaeC; ϼ*ph +%BVczNfd}+Hٜg΂I; ߆P= ( +7ԅA;ٛW${C 5ͳ?_ ɞ(EoMGb-%sCKh5&ٍV_5m(FO=Sd?=i,F;{xzZ\>#mh{KC Bf!#oh'{ي޺nՉílh{s$zl[4 kՅV7Pxoz:BVɴ<+{D$f(y!uULj4%$} ҁv[;sh%,(q۾e5ʒzjnT駟φv<Ӕs;YPحo;!N0 dorZN{5֓hiC;؛חз[UGx}|+d/4UYhD^+ޯkug@4 lh'{o3wrj ueV?h'{qۅkyc/"C5n |KioԎiZ ,kh~^UlY +uMZx{t% T!͑O{Q #cnuB%<[xL?_JU̱BUO@;˄Բ!TKmHgDYOg6msKB+?VN9LoЭzgzw%/WМ^C aOIWlE7 +ggķoh{!ʷIUB]u M,2N&'m.3^)RCQKw@)2Vy6)K{gյ9.p?8[<`+T~iC;ٻcoⶡw3 Rݐ0NA)ш9B(:P5L=gal;4[qw[n-3A^-hٮav^3[D'iH yvhKtڛ6ѽ̥OyE`kq 6X ^pb ?{ i.YjtD[ fGVu@:vB;؟Zkc~1 LWݞvv~Byh jW2 ޟHg췘WkaG;hD{յ?s=qJNm~ڋOi!Gv)*-x'Qo"7T#nWy9yq󭳍vt/TPe[؟Kv&+ 3KNսMg!J~r\O\e%{/ܸGz2(/< vtOla>rb~';b.vuh^l }At-i>фٳ{oHàJ_r-s VU/q;pMЎŷ!=iho.hGjOhgNk&Fivv/Yv/옅44 @',Ȏgۑa^"a}ŠTmѽ=_riʵ=itTKof֏]^ 4Gnz N3MI).6޴V)rK{"irp|!|"=M Y}5UEZZFc?iN{$&LeZ{G'iW m}^@nI58mG`ShVխgVzM`Q\7v~zD8MV[ |aL#HbfL_ m'vFwzkPݜږe=Ncx>o^McF;8>Z^4FKxW1 9XǎęDXЄ]C]ZB+Z(Pvxzٹnmo#yi /]LWm$7>,Yƞrh.̊` {Z*nB ֜lؤ~g=_N ea9?o:ƺsye݆~{)4c㙍fnglG>79;nV lN*-,w@v1XQٌ9uk-'Z喱!Á+P1LFr[DFTSPG蛸[]?FB;8o>Uxq uYpVi 3N [eԘ&*4qi|P|V]ڋ,#ҍքmW{φ;mRYF/fbV$>}x1/(ߜRÓ8%K~j7}E;95լG݆ajZ̜NQ/vp~k7UGf?s^88E䑘Swz5d8jΜNW6i.OsN1;UNN_r=B>64(-@ʌSW(~C7NFkFmPBt᪅ZFzw$^LG]qsN|Z?n=Ncg?w=.ق{ڻ!3ۈ->+&G,PDǶqK:NNG,D鬛?u[SKvF"eݨo|!|uߔ *wU jg`E7g`EɨPV 'tjwxLmDL}XCV pz˽H5Ah6b &~ty庍5uf7d2ڤZ:~?U%PdICpZ+有~ ۸f:Xi8ًw ZIh'Y\*zB%{/s^89}ъiߜ5XOOPt$Mmf,oaEw񬜅=)AH3=Ҏ}6)')ԭZHꐕN{k79)/[ vWSjnW8>v p|6k$6Fcg~ a,݇|T*ͺ=%nM ,{)=wD MHe*Vcgzj9}ZB;8E4Bɚ1~}eprzϰUU_cwM;Iy\"r527 ȧ<ߥBEg8f.L|ȳ)˝حDt}G4,5hۻb:S lrY&WޢdА^oNw{^qxL3VFh)/iw{YpS{lB4BiHg#r6&m׏6ZB+ZugHHkvL)zBf5-,Ŗw#o4lEΪ1Q r75?Xi Ʒ9w>sR^a՘mglB9Ul $TSu^pONo(oВ4vo= ,D >St FPί1+HB<]jKIh') +.ZCgt +.h9/NO=͈9o=̫8-)/w|3C?D,dߛYP[[FB;3X7!X;Hg?_,YPذG~{萕NN˯:aaꉜ0lP&M}yymԋ7 +Aj +eIyD^hT{Ǡ 3|jBpi &oěF^<[- rٌ3Bߚ㉃'[ y=;(&,:~OFQ݈i^^v_q-Ss^88Tk>i^}\4PS^՜P>n4mԳ}oF۞$@D1 ޜN^?nJhiwzdAkt'Sw8(vZhK$SMͬ"nw}MFqnsjOl76F$#f?h)/KqhFWm_ȓ{r|ϳiAotAM~[FV/:U}ҍC(ΩDkԐکU6î (OKXP;TE `B}TڢkĈB_¿rm$}GHoEgL{.vN瑾WNͥwx˪-D+P=*'yM7ƌ-s[nLRZjOB+;tY;GW !wZFC%tUsG-n~$M]pmP( Ά86nD OpD{8VqQCz {Q׺Q!3Ϣp{|;]vKE_Us~Ks~9YLm&N+pl*~١90~*s½\ΖY&JuN-煝᪳fp3?Jt7AK):,*`~&3\mgp:uN$6-݂Fez;6N-)1˾~*ݽS^鈜`t5Y#煝S˧4Y `SNWɈJSj:Uyu"PKl庑g X m㔊$TLTB.9-LM'k/3wʀ>,-E +Q'Үw,w^ mJhǛ,ѻz)/|F7j-&Y77,dy;vn.h+_t6NSjDyBOq@ ++u8T#mrl %oV4y[@8J<-o1B _\ܲ{9~\aQtqJoiO>s$SmFj鄎Ԧ|EMVj@{[;x'O^ζ9Yr5ϊex +}!S]Y#vNo +j;}vWgyNoP##8='v,dߛ;]}E^rv؀+&M{m{3VCVw +\X nh[vhHq=֛{aq;kG4IHNޕ–R19"7["d9])/{ٗ`3畳pNT3aU_ wMvNut8-,HpkB8)8/FzKm3 %SKu)5Miw_DGt[GmO'Z ;N˶9sj↹[ٽr7"gyl%f[Z7] m:;OK]4PsڬQb>Dhwp 58ۓ6NRGk-9 '<1uysZ-s:)-v -/FvHiA uZ\YȾ7z\:NN6NߝN7̀Ox m])'_cCؠP"n/T$SI3eŦG<^pS*ғ)l;osVO}a Z _8%sj6*9#dz}oF Vd)Q:чtXx)[4nWL4dx^颽4 }M}h؛wsJ-N 'ZIh%B{_ƾ;˛i\9/lqWc6۟߉7R^9'O9 :፬sPխp6N鰢.%rV{r~[n:)s4+ܠ@C1Sh3mM4Ϻz65n*6NQ+8/.꼊?+r^9ZH2|&$v?B _8mYG9^m =[ }o!ꔳzg\Z7h% G?inWΝ +&W-|qV_˾7q4IYDų@%gW7yaF㖹]Ic(dvv- ԩ ۆEE.y/pZ\}yt%v-?,HP"e;mvN'#,nOB9BϜjũB*teNc 3rFϮa] R^9Egp :#uO*ͳ|M7XXt]R&^iʲzjKh;-?#H+Ug m49;lq Fԑ6N@o֎۰j ;WLV'Uqv[RCj _82.%yQ^m![g,$Qu7u+_8=UhOB8g|h|BxnQh^"m>vHE6ʾnǻ1*<`6N5%RH8>Xtp +U-.\+QC<~pV o$o^T΂\h]>c!*Xu m7ur3{8-%#Yҷ빫;N$WnH弰q߯ӊoHBKyani7Q'tkv1owN&+]9ʤAA6Nj#Ng^w?zxq;p*bl-mi鎹BיN\ﮄ缰s3Z}(?w -/ȧ- +oˡ:g~WVQŧZlxKsw5m%Vf~yM'ͪ :T/A#usj#D{!-Rov=Д>l}> | [NquVKGrݮPjNJbn~*0GX'+:J{nn'j9GY(|ߺ۸XS{n4{ + JT"w$a}Y;< ~Pzf?TNO>VBX`hgCg𙳄#m, 8'vڡ%]igڻ맕 +,*XL#֞p^g~*-6n"ӈpɳNԅVB-zk(] :ЖZBXM8Wj &vttf@czYim&a="ISO-Dr /U8Į *I2?Iґ-؅l'm@OkjWˆ Pz:7+Iv2b NrMi*7̦ɩf0Q] Bf9@9Bys[?- UqUn8ہX1oIҜ^1SdkznIgG r17Θ 9e.o8}mپܔjݩ𞶼o44)́{KM +nnule*otNM W=62%rH.sߴ#exؑ)ICdd^qG|vԍl<=0y#Bx)1P"7hӜ5) Bξu!JHeڏ.(9>lDFud+2v¾M1҇׭)敪kVgnUɸ[hKuxB +Xo8 8262]&u =abKYvv9W;rU;ْKl(#x +dn6 2!gw7wW7 ^AT|Όcξ¿u*`t^CǀΧ,?gBхB\*d8f y-{lΛ'kUN>mOM/&D`꼣e:.;#bM V&7 nȂGZhH:ѐu:ϦZ7鎨+9& }TK e\F7#z6N=Z>2{hu u6i7IiJt5;e+kNӮfGAN ªq_NP@n:ӟZمDq"2QuFgK?qWS~^Agvv! iWOJ $GuUOO.ܬWNi{c캕}yǺ%rMF@O'',C?6{k"+hc!]J]ntXI8Z~{t#򑫱. j?o֩.n6J]N{te8.C !9b\oލbM +n=}%Z^h' +Y ƅBQJ(0@~"_ r8M/9" l߉ +VSOIΝ)czsQG[bO;NF'p Os79t!]Q*p1tm'$Z +N4NnDvB:rӵ|0͞0/^ŽԅAO)7=%?%qEW݀bם+.}  3`{4TWoBy:SKi"%ΡVWŎ.Cbgڰ)nr5LL.={ }5DҴ%g|ߩt.sr6OZΜԩVĺu]tTPU.P!e:o +D0!*:hURùg^c,EJi]Hk4|gz80gGڄ 9sbor{*9@\X.'U=c+H_as[c> zo -O*UL#^zx.gKJ.cyO:_hJgvaHnɈ= 뱩1y|4*/ot-:h>} RkOali!pB\ q6eAc$xMWg,!S>pG T8W aT GåvC W+pnt޴~Wl?TΞӂ•wWf.dmN+݋7 B[p#{ƶum, V7zi.ke9|o_wх3 +NX +W?]HBf'yj )Z\hg̗]~G9bS篺!gr]YdeB'S'yG +&u`oCc +)H~}$BL_.S7uBd&ضe!om=㞆v:3{rvv!3yWPT~Sp~tA,)g)2sBFqg˺i+dCL/c upd@&L]#Z"ZZhgȜ ߍȺ,hhy]]qDw8m(ڏ.D-y>ǫGgŞWBmd&M] hlHJ!AN_+^Kw9_t1L9=Bk|>جLPgp0jӇӊ2ri`v?*aTgV @ly~V)8QjjbmB?F^˼S{9P-}`quT&>馡i4n6%<)oJTKDH/7 Sh*5gCR^Xm} +rCG[oJܐ؊vr4j쟹lA@&6[RA/L3>q)4^7 dmL4c +E=YV)PV|֖go9,&r-߸U(RrW}t` +U/m,[8wVdmySȷr穭+G8SHL:+c3huSHJAWn!GsPڻWm7M[+7S<k&>dōЮ~]^C>)(}:kpQVܩ>ن=/׼sh-u9ʯAJK~M?2kihU9*!u:,owUwjEdn Fų\JR]ņ !>yEt\vծ#8|f(VWf@ MK>BΰKg9~㵚c@kmB._38oG> gE <0%U}c1':R-7~LA_vL$ Ia"SSNs#o!(ika¸ xμ"k_}?pI*_Q3HdUW*7t/". +٦Tn)ni"gčDiQeXί͇\z.6wSoMm +wmzqKSȺt;|i'ozS:UsDmmmfߺvCLc +I{\ƚ<9/݂T?SHgͲUo^@mWEzZ%Z_p\-߸u\b}9=;)<)HM쓗 L9rS2.~U'Pg9|Wg$4f@UD t/E\VշĉZQn:+ջy΁Ɗ_«\*iH7F~qE;U홼|GVG]]}+cF@tGEgWu^k>j5_6 3-qS򻉿F7?Fw-M} +';HU| +tI+ݸTWߔ>N]ywB/-7}Q-Bˠ)kz'pY7S۷< 9x|if1u 's\ hze kmS%Ϻ?.wʿ?Sѡ5[^ 9:+tfLONLM ]}+ch{%'>®gMW覝ɓ@ӡe9Ϥֹ1\Y[~EKr,: I+)GD1P'ZBnpu deS qU'R -{i$ȗO!S;A"0^c'ЮO^t}%bb. ] R?V֏j[2K?n=B RĨa9DnLּS4M0''oE'l*]7mE4nɺ&FOblY-{ BE|zQKZ>6.Dۧ?F)rju~ǿ*Wh#'ձDۧ` ߲h +pAd |NZ!bMç9墯pc +'FЧޕ:_^1+Nm +rH ]]=! nxUZz.v~8o4ٷ<)Tn.)v=osz1܋aߢ.G]>W>j{jls]tN.Bop0.,E8ý~*C\f +SJ8)5iQZ^iYߪ2 s1T4*8/4zʱ:DiJ'Ԭ&>CSZ^9AʼnOa,=e\ONrs/8x.KeDӷH_W? 鬣t|fwcWNkLzHgt9V:=m6=GUeyiHtLO# ['Z[!4|i>2h +:p\̧1.ie~)^w[j3ҬfnHzPMà1sc I[U+4RAn"@e=т\MW߰)k[<޷}+7V\VglV[LH}&xK*k1ͼa7y%0݅ۿ1#i ^mEt^| +t -iH n/ + +g:=GߢlS걧)L *ËY;DHu7|t"rCѷΞhmtoHֿ +d<=GߦmT&R]eW@,'y-ؠТMO:pZ7Z͌-SYIcߪR=g~qX537.iԷl};zj1K8ňj[q<.v8ܯTV?<|SnӔ$kK?hn͠j&T\I3 %#}YmI5PU3kзtrB23Thy[(T4X~`ZyHtiWږ-۳N)4ro7} O%h{߲.`'j -9&%ۥ#2=ղ-i[InWs9;#=m&4uU4y<3-A3,U׮Z{K~Цvzг~{Pl]f?ҿ')2*~kӆ3eBFs̬S'?)J(<іW}s߸go=%#=U:P<[)Y,jѲfuY^N@N[aVξғr7՗{+nBPYK5 }vWMNκN 6E6e?/Na\xPߟ񦬊f'v/|6TWݯ~[%Ѷ{m~3+%kmfz֨hy*_*z~4Wz|2ʽA}L.f^Kzt\x691O',Agc载xu)B[飷jg吗gz>^ORro%zz{#-s̾Mg T-\xi '||}^=y +VW_)>շz^oo/l+N5…RߘfVrm*`zF3/{{o6<^?k#P[Ve䠺_F|ШkHܳV1@-~Nx G4yP{FF@_L8w=GWYwvJJZǛ]~~["/&KMHc,-6{Z8wL!ڀۚ*-s +^ot4.ZO1;w݀NlJR?jEJxAB蟮6=դDBe`ز.A̒]7;CĂrk{q/,$&4eě%D )ąk$߆_o|988Ҽ(3ލ,}WْBq{~P:6K )\xgz@^rRmhJ/u3o*^EҽP'p#養2tUoDȅW~Fڌ"g 49wЎnw|c/cqƫ- "} +:9Vd!d >߃ڐ룤"HShe0W[n/ow*,ъ")e;Si~:TMx]yglչ#˅'%W,^EIhoN M|P?B$f-ܡLCncRiI~#lnScv"tЊf wbXZ*mzӆ`vfbnApas~^QԻ Ig(:munχ0՜vĸ,2+ 6wzh.*ܙhj-\Hۆ6쨜{HC^'}!^_D 'p'HTpas̎S + q2j)NY?{Zn@*zV~+y؄l::xPϿZ)يCW/^~!*_ۥCd*b4-L%ڊƿZc!Ch\GEړ4<0p_bj!fwa%Zm.C$,4fT>'.j1fRC?VRp>2n89-o7.=U[6ۖw@܌aWƵ1.M=hmq9HtĻ*{;meK;;[wْj.5m\X6n:Wͬkݬ )U~;Ce/Y@㛑Ȥ!MTR>0@S6Jm餏@?-.izƅ-{ +]9;D R{a6w~;]n\X,ֳ4hD#~w]Ǖ2h+U'qaq47\u(YyQ Lh~п'6.ŜWV6Ti:>A Vw(YJ-EFWn)lyOR`ތM\hVwRWl'$i .|0Z?4B{L7 >^!E:m;?#y%eAT˶s?]Eķ`3Ӵv.'g(rg߄ȿWP9=sA ݸX|~U)ߋ&>m\ pqPp~-qq7|aVw}bBmS.ݡV +mÚsA-Bq˰*E JONmpi&ܥJч`ASp Pe|]i t;mPawwfѤX TLٜ~ھ}yD@S[Re'%G]ӈHõs.o)+C\%O7\1BNu E'8 O]˫@.3->~s/_NAn&]H7;I'Ob֗S N5-op}_TK03!4RqA*O " +$9pS.o|m9ܯl e_8{vRʹ?hwh^ef$ݧRKo.z މ _;p%goro6׎}#CNI""ĩo Q]eq@*ĝ@lI)ւ^5 tm/;!޷))Ox!7ڜp3~ ~^Ďԑ3jfvC.&zFKWY Kl7[{7GQNOq>Lh`Eox^6LA:np LoUB&W'yz4Xi:NmΗ +-^%?;u/.^L.Oy"\;pք6! 잇զ& 㮿ThMRGa&_NJ X个1M]R Q=z\So͎ dɎMq`8gMTxі^2h*]*Qe?6})u-vZ=RVm8H۽Vj;i^-lhM#Pи1کv4緇[jѷ^n_;|6mo,D{lhS2ue]+]THΆ£J{W^N|f^;`5"wӛ|~6Ք;a3&f3|jGj##F֤ZeOlfdt7"&Htwl>xVڦTۜз2!^MeC< x}j|7w{v^}y†VgZ:7쩯?P`ꗶ*oh'zZ6]5eLuoǦ[om>p6j^O(qi#j+#a"ճjmzP1-t Z(96ysK޼٩mCXkt3令)ҺyZ)گqf:о,?.W|FF%zFHuר@۸\|+#=t + +\S IFoï[y] rYqpw*_uHszpZ%Zy\+iKOaּlWT jQ#UVmВoA{7>h[HX86"7d.NW0$u5m2ɝ0RQ8KL?13j2t/ľ5]NWlP)۲֋ZLaCt5@KvDAtai/yc$OUseɁ.,e@.ͭw<JS]Mp6dmF]C^ .0H`.Na.N1K@Vm=:7+~6yዌ.oq.{tj +txtlG_ot]s*SNupGbj>&9wOwߥ;KDrԖ7`;^!qv!YWKƆT%$0wl@CȾ0^6/>T2c/e|]} C¾uCM5.#&N/cqsꁖ%yxQrN@2[xp&RUøOVRp"4^xaݳ>UZ)d]96?BE.9^U[mS@> O%ə][ʄRVmS~V/zK>s<wLc +\ 4ز<ȹ(=EmPAHHJ]h|m?X;چ/Bcm|nX>iomBknw6DJHJ]@ʿtx- P5MWO1 o)_M흚:@M9ҩ}w?^}e!)6$ZѲ"5VhS в"59 4x0 {VC~T֫=L6\v mhx*VxM8uIK2L^&-PCw6.S}Uz/Erz.Kkڅwi5nBwOpB;Zf?.'MS?5ep8ߩ8S-u}G˾pIڐt(Tr{2 VK|2"-os?R.setK"ULxўֵ%W-i?=.L tzhٝҘ^rdũ;ZffyI.q6'/m玖}ay2OMHϋ \"oХﭮ}SM;ZbsK:+J9YhmG/4~>Д?s/-3Ҳ3Pv,,Nmh٨S̽u?}x6ǝf8!peNWxVpokGK,?Lp)S*|]fв"UaorJ^ɡ"1.@iX r?`Kd@˻Ρ4 A(EcrV׽X(I[&T- '7-&j'[-+=2<.w s -hbS[}X+Tf%^h{A/ʿ6LԲ]a?9ֵAn筯-I 5VBv&(Cӻ5SYioYzQwμVU͑9dT}RuJ{S>i~hD+.}龂h?'p0ꎖXC?iZݧ@ qh;Z%Ul:kWӍ Ze_t8[Vt%fK[sOWkjbEor]qj婾I Plj[;Zb.Z%TޣќE^;Z}HVN1JE p¸wf4jl/isGu"1(Oz9WHdE۝֓Љ~@? ]ݩoV5GV6*<>+~-o>(rҽLN;1-EbfH\tn -52'=+*Y,̭"^Z,rH3ԒjWCE=.m2 SWҨ>۽eBmzp2< LUq7mnoh6K;I>Gj Y{U9)[>d8>7?OjS +endstream endobj 1178 0 obj <> endobj 1177 0 obj <> endobj 1179 0 obj <> endobj 1325 0 obj <> endobj xref +0 1326 +0000000001 65535 f +0000000002 00000 f +0000000003 00000 f +0000000004 00000 f +0000000005 00000 f +0000000006 00000 f +0000000007 00000 f +0000000008 00000 f +0000000009 00000 f +0000000010 00000 f +0000000011 00000 f +0000000012 00000 f +0000000013 00000 f +0000000014 00000 f +0000000015 00000 f +0000000016 00000 f +0000000017 00000 f +0000000018 00000 f +0000000019 00000 f +0000000020 00000 f +0000000021 00000 f +0000000022 00000 f +0000000023 00000 f +0000000024 00000 f +0000000025 00000 f +0000000026 00000 f +0000000027 00000 f +0000000028 00000 f +0000000029 00000 f +0000000030 00000 f +0000000031 00000 f +0000000032 00000 f +0000000033 00000 f +0000000034 00000 f +0000000035 00000 f +0000000036 00000 f +0000000037 00000 f +0000000038 00000 f +0000000039 00000 f +0000000040 00000 f +0000000041 00000 f +0000000042 00000 f +0000000043 00000 f +0000000044 00000 f +0000000045 00000 f +0000000046 00000 f +0000000047 00000 f +0000000048 00000 f +0000000049 00000 f +0000000050 00000 f +0000000051 00000 f +0000000052 00000 f +0000000053 00000 f +0000000054 00000 f +0000000055 00000 f +0000000056 00000 f +0000000057 00000 f +0000000058 00000 f +0000000059 00000 f +0000000060 00000 f +0000000061 00000 f +0000000062 00000 f +0000000063 00000 f +0000000064 00000 f +0000000065 00000 f +0000000066 00000 f +0000000067 00000 f +0000000068 00000 f +0000000069 00000 f +0000000070 00000 f +0000000071 00000 f +0000000072 00000 f +0000000073 00000 f +0000000074 00000 f +0000000075 00000 f +0000000076 00000 f +0000000077 00000 f +0000000078 00000 f +0000000079 00000 f +0000000080 00000 f +0000000081 00000 f +0000000082 00000 f +0000000083 00000 f +0000000084 00000 f +0000000085 00000 f +0000000086 00000 f +0000000087 00000 f +0000000088 00000 f +0000000089 00000 f +0000000090 00000 f +0000000091 00000 f +0000000092 00000 f +0000000093 00000 f +0000000094 00000 f +0000000095 00000 f +0000000096 00000 f +0000000097 00000 f +0000000098 00000 f +0000000099 00000 f +0000000100 00000 f +0000000101 00000 f +0000000102 00000 f +0000000103 00000 f +0000000104 00000 f +0000000105 00000 f +0000000106 00000 f +0000000107 00000 f +0000000108 00000 f +0000000109 00000 f +0000000110 00000 f +0000000111 00000 f +0000000112 00000 f +0000000113 00000 f +0000000114 00000 f +0000000115 00000 f +0000000116 00000 f +0000000117 00000 f +0000000118 00000 f +0000000119 00000 f +0000000120 00000 f +0000000121 00000 f +0000000122 00000 f +0000000123 00000 f +0000000124 00000 f +0000000125 00000 f +0000000126 00000 f +0000000127 00000 f +0000000128 00000 f +0000000129 00000 f +0000000130 00000 f +0000000131 00000 f +0000000132 00000 f +0000000133 00000 f +0000000134 00000 f +0000000135 00000 f +0000000136 00000 f +0000000137 00000 f +0000000138 00000 f +0000000139 00000 f +0000000140 00000 f +0000000141 00000 f +0000000142 00000 f +0000000143 00000 f +0000000144 00000 f +0000000145 00000 f +0000000146 00000 f +0000000147 00000 f +0000000148 00000 f +0000000149 00000 f +0000000150 00000 f +0000000151 00000 f +0000000152 00000 f +0000000153 00000 f +0000000154 00000 f +0000000155 00000 f +0000000156 00000 f +0000000157 00000 f +0000000158 00000 f +0000000159 00000 f +0000000160 00000 f +0000000161 00000 f +0000000162 00000 f +0000000163 00000 f +0000000164 00000 f +0000000165 00000 f +0000000166 00000 f +0000000167 00000 f +0000000168 00000 f +0000000169 00000 f +0000000170 00000 f +0000000171 00000 f +0000000172 00000 f +0000000173 00000 f +0000000174 00000 f +0000000175 00000 f +0000000176 00000 f +0000000177 00000 f +0000000178 00000 f +0000000179 00000 f +0000000180 00000 f +0000000181 00000 f +0000000182 00000 f +0000000183 00000 f +0000000184 00000 f +0000000185 00000 f +0000000186 00000 f +0000000187 00000 f +0000000188 00000 f +0000000189 00000 f +0000000190 00000 f +0000000191 00000 f +0000000192 00000 f +0000000193 00000 f +0000000194 00000 f +0000000195 00000 f +0000000196 00000 f +0000000197 00000 f +0000000198 00000 f +0000000199 00000 f +0000000200 00000 f +0000000201 00000 f +0000000202 00000 f +0000000203 00000 f +0000000204 00000 f +0000000205 00000 f +0000000206 00000 f +0000000207 00000 f +0000000208 00000 f +0000000209 00000 f +0000000210 00000 f +0000000211 00000 f +0000000212 00000 f +0000000213 00000 f +0000000214 00000 f +0000000215 00000 f +0000000216 00000 f +0000000217 00000 f +0000000218 00000 f +0000000219 00000 f +0000000220 00000 f +0000000221 00000 f +0000000222 00000 f +0000000223 00000 f +0000000224 00000 f +0000000225 00000 f +0000000226 00000 f +0000000227 00000 f +0000000228 00000 f +0000000229 00000 f +0000000230 00000 f +0000000231 00000 f +0000000232 00000 f +0000000233 00000 f +0000000234 00000 f +0000000235 00000 f +0000000236 00000 f +0000000237 00000 f +0000000238 00000 f +0000000239 00000 f +0000000240 00000 f +0000000241 00000 f +0000000242 00000 f +0000000243 00000 f +0000000244 00000 f +0000000245 00000 f +0000000246 00000 f +0000000247 00000 f +0000000248 00000 f +0000000249 00000 f +0000000250 00000 f +0000000251 00000 f +0000000252 00000 f +0000000253 00000 f +0000000254 00000 f +0000000255 00000 f +0000000256 00000 f +0000000257 00000 f +0000000258 00000 f +0000000259 00000 f +0000000260 00000 f +0000000261 00000 f +0000000262 00000 f +0000000263 00000 f +0000000264 00000 f +0000000265 00000 f +0000000266 00000 f +0000000267 00000 f +0000000268 00000 f +0000000269 00000 f +0000000270 00000 f +0000000271 00000 f +0000000272 00000 f +0000000273 00000 f +0000000274 00000 f +0000000275 00000 f +0000000276 00000 f +0000000277 00000 f +0000000278 00000 f +0000000279 00000 f +0000000280 00000 f +0000000281 00000 f +0000000282 00000 f +0000000283 00000 f +0000000284 00000 f +0000000285 00000 f +0000000286 00000 f +0000000287 00000 f +0000000288 00000 f +0000000289 00000 f +0000000290 00000 f +0000000291 00000 f +0000000292 00000 f +0000000293 00000 f +0000000294 00000 f +0000000295 00000 f +0000000296 00000 f +0000000297 00000 f +0000000298 00000 f +0000000299 00000 f +0000000300 00000 f +0000000301 00000 f +0000000302 00000 f +0000000303 00000 f +0000000304 00000 f +0000000305 00000 f +0000000306 00000 f +0000000307 00000 f +0000000308 00000 f +0000000309 00000 f +0000000310 00000 f +0000000311 00000 f +0000000312 00000 f +0000000313 00000 f +0000000314 00000 f +0000000315 00000 f +0000000316 00000 f +0000000317 00000 f +0000000318 00000 f +0000000319 00000 f +0000000320 00000 f +0000000321 00000 f +0000000322 00000 f +0000000323 00000 f +0000000325 00000 f +0000016555 00000 n +0000000330 00000 f +0000403225 00000 n +0000038979 00000 n +0000039854 00000 n +0000039765 00000 n +0000000331 00000 f +0000000333 00000 f +0000000626 00000 n +0000000334 00000 f +0000000335 00000 f +0000000336 00000 f +0000000337 00000 f +0000000338 00000 f +0000000339 00000 f +0000000340 00000 f +0000000341 00000 f +0000000342 00000 f +0000000343 00000 f +0000000344 00000 f +0000000345 00000 f +0000000346 00000 f +0000000347 00000 f +0000000348 00000 f +0000000349 00000 f +0000000350 00000 f +0000000351 00000 f +0000000352 00000 f +0000000353 00000 f +0000000354 00000 f +0000000355 00000 f +0000000356 00000 f +0000000357 00000 f +0000000358 00000 f +0000000359 00000 f +0000000360 00000 f +0000000361 00000 f +0000000362 00000 f +0000000363 00000 f +0000000365 00000 f +0000000000 00000 f +0000000366 00000 f +0000000367 00000 f +0000000368 00000 f +0000000369 00000 f +0000000370 00000 f +0000000371 00000 f +0000000372 00000 f +0000000373 00000 f +0000000374 00000 f +0000000375 00000 f +0000000376 00000 f +0000000377 00000 f +0000000378 00000 f +0000000379 00000 f +0000000380 00000 f +0000000381 00000 f +0000000382 00000 f +0000000383 00000 f +0000000384 00000 f +0000000385 00000 f +0000000386 00000 f +0000000387 00000 f +0000000388 00000 f +0000000389 00000 f +0000000390 00000 f +0000000391 00000 f +0000000392 00000 f +0000000393 00000 f +0000000394 00000 f +0000000395 00000 f +0000000396 00000 f +0000000397 00000 f +0000000398 00000 f +0000000399 00000 f +0000000400 00000 f +0000000401 00000 f +0000000402 00000 f +0000000403 00000 f +0000000404 00000 f +0000000405 00000 f +0000000406 00000 f +0000000407 00000 f +0000000408 00000 f +0000000409 00000 f +0000000410 00000 f +0000000411 00000 f +0000000412 00000 f +0000000413 00000 f +0000000414 00000 f +0000000415 00000 f +0000000416 00000 f +0000000417 00000 f +0000000418 00000 f +0000000419 00000 f +0000000420 00000 f +0000000421 00000 f +0000000422 00000 f +0000000423 00000 f +0000000424 00000 f +0000000425 00000 f +0000000426 00000 f +0000000427 00000 f +0000000428 00000 f +0000000429 00000 f +0000000430 00000 f +0000000431 00000 f +0000000432 00000 f +0000000433 00000 f +0000000434 00000 f +0000000435 00000 f +0000000436 00000 f +0000000437 00000 f +0000000438 00000 f +0000000439 00000 f +0000000440 00000 f +0000000443 00000 f +0000015238 00000 n +0000016042 00000 n +0000000444 00000 f +0000000445 00000 f +0000000451 00000 f +0000402529 00000 n +0000402977 00000 n +0000038846 00000 n +0000039288 00000 n +0000039503 00000 n +0000000453 00000 f +0000000000 00000 f +0000000455 00000 f +0000008690 00000 n +0000000456 00000 f +0000000457 00000 f +0000000458 00000 f +0000000459 00000 f +0000000460 00000 f +0000000461 00000 f +0000000462 00000 f +0000000463 00000 f +0000000464 00000 f +0000000465 00000 f +0000000480 00000 f +0000008828 00000 n +0000008990 00000 n +0000641548 00000 n +0000641744 00000 n +0000641948 00000 n +0000382868 00000 n +0000383072 00000 n +0000197626 00000 n +0000197834 00000 n +0000198049 00000 n +0000067099 00000 n +0000067316 00000 n +0000009407 00000 n +0000000000 00000 f +0000000482 00000 f +0000000016 00000 n +0000000483 00000 f +0000000484 00000 f +0000000485 00000 f +0000000486 00000 f +0000000489 00000 f +0000026670 00000 n +0000021647 00000 n +0000000490 00000 f +0000000491 00000 f +0000000492 00000 f +0000000493 00000 f +0000000494 00000 f +0000000495 00000 f +0000000496 00000 f +0000000499 00000 f +0000025965 00000 n +0000013929 00000 n +0000000502 00000 f +0000021196 00000 n +0000014702 00000 n +0000000503 00000 f +0000000504 00000 f +0000000505 00000 f +0000000506 00000 f +0000000507 00000 f +0000000508 00000 f +0000000509 00000 f +0000000510 00000 f +0000000511 00000 f +0000000512 00000 f +0000000513 00000 f +0000000514 00000 f +0000000515 00000 f +0000000516 00000 f +0000000517 00000 f +0000000518 00000 f +0000000519 00000 f +0000000520 00000 f +0000000521 00000 f +0000000522 00000 f +0000000523 00000 f +0000000524 00000 f +0000000525 00000 f +0000000526 00000 f +0000000527 00000 f +0000000528 00000 f +0000000529 00000 f +0000000530 00000 f +0000000531 00000 f +0000000532 00000 f +0000000533 00000 f +0000000534 00000 f +0000000535 00000 f +0000000536 00000 f +0000000537 00000 f +0000000538 00000 f +0000000539 00000 f +0000000540 00000 f +0000000541 00000 f +0000000542 00000 f +0000000543 00000 f +0000000544 00000 f +0000000545 00000 f +0000000546 00000 f +0000000547 00000 f +0000000548 00000 f +0000000549 00000 f +0000000550 00000 f +0000000551 00000 f +0000000552 00000 f +0000000553 00000 f +0000000554 00000 f +0000000555 00000 f +0000000556 00000 f +0000000557 00000 f +0000000558 00000 f +0000000559 00000 f +0000000560 00000 f +0000000561 00000 f +0000000562 00000 f +0000000563 00000 f +0000000564 00000 f +0000000565 00000 f +0000000566 00000 f +0000000567 00000 f +0000000568 00000 f +0000000569 00000 f +0000000570 00000 f +0000000571 00000 f +0000000572 00000 f +0000000573 00000 f +0000000574 00000 f +0000000575 00000 f +0000000576 00000 f +0000000577 00000 f +0000000578 00000 f +0000000579 00000 f +0000000580 00000 f +0000000581 00000 f +0000000582 00000 f +0000000583 00000 f +0000000584 00000 f +0000000585 00000 f +0000000586 00000 f +0000000587 00000 f +0000000588 00000 f +0000000589 00000 f +0000000590 00000 f +0000000591 00000 f +0000000592 00000 f +0000000593 00000 f +0000000594 00000 f +0000000595 00000 f +0000000596 00000 f +0000000597 00000 f +0000000598 00000 f +0000000599 00000 f +0000000600 00000 f +0000000601 00000 f +0000000602 00000 f +0000000603 00000 f +0000000604 00000 f +0000000605 00000 f +0000000606 00000 f +0000000607 00000 f +0000000608 00000 f +0000000609 00000 f +0000000610 00000 f +0000000611 00000 f +0000000612 00000 f +0000000613 00000 f +0000000614 00000 f +0000000615 00000 f +0000000616 00000 f +0000000617 00000 f +0000000618 00000 f +0000000619 00000 f +0000000620 00000 f +0000000621 00000 f +0000000622 00000 f +0000000623 00000 f +0000000624 00000 f +0000000625 00000 f +0000000626 00000 f +0000000627 00000 f +0000000628 00000 f +0000000629 00000 f +0000000630 00000 f +0000000631 00000 f +0000000632 00000 f +0000000633 00000 f +0000000634 00000 f +0000000635 00000 f +0000000636 00000 f +0000000638 00000 f +0000008646 00000 n +0000000639 00000 f +0000000640 00000 f +0000000641 00000 f +0000000642 00000 f +0000000643 00000 f +0000000644 00000 f +0000000645 00000 f +0000000646 00000 f +0000000647 00000 f +0000000648 00000 f +0000000649 00000 f +0000000650 00000 f +0000000651 00000 f +0000000652 00000 f +0000000653 00000 f +0000000654 00000 f +0000000655 00000 f +0000000656 00000 f +0000000657 00000 f +0000000658 00000 f +0000000659 00000 f +0000000660 00000 f +0000000661 00000 f +0000000662 00000 f +0000000663 00000 f +0000000664 00000 f +0000000665 00000 f +0000000666 00000 f +0000000667 00000 f +0000000668 00000 f +0000000669 00000 f +0000000670 00000 f +0000000671 00000 f +0000000672 00000 f +0000000673 00000 f +0000000674 00000 f +0000000675 00000 f +0000000676 00000 f +0000000677 00000 f +0000000678 00000 f +0000000679 00000 f +0000000680 00000 f +0000000681 00000 f +0000000682 00000 f +0000000683 00000 f +0000000684 00000 f +0000000685 00000 f +0000000686 00000 f +0000000687 00000 f +0000000688 00000 f +0000000689 00000 f +0000000690 00000 f +0000000691 00000 f +0000000692 00000 f +0000000693 00000 f +0000000694 00000 f +0000000695 00000 f +0000000696 00000 f +0000000697 00000 f +0000000698 00000 f +0000000699 00000 f +0000000700 00000 f +0000000701 00000 f +0000000702 00000 f +0000000703 00000 f +0000000704 00000 f +0000000705 00000 f +0000000706 00000 f +0000000707 00000 f +0000000708 00000 f +0000000709 00000 f +0000000710 00000 f +0000000711 00000 f +0000000712 00000 f +0000000713 00000 f +0000000714 00000 f +0000000715 00000 f +0000000716 00000 f +0000000717 00000 f +0000000718 00000 f +0000000727 00000 f +0000580066 00000 n +0000580204 00000 n +0000580231 00000 n +0000580529 00000 n +0000587214 00000 n +0000587284 00000 n +0000587563 00000 n +0000587644 00000 n +0000000728 00000 f +0000000729 00000 f +0000000730 00000 f +0000000731 00000 f +0000000732 00000 f +0000000733 00000 f +0000000734 00000 f +0000000735 00000 f +0000000736 00000 f +0000000737 00000 f +0000000738 00000 f +0000000739 00000 f +0000000740 00000 f +0000000741 00000 f +0000000742 00000 f +0000000743 00000 f +0000000744 00000 f +0000000745 00000 f +0000000746 00000 f +0000000747 00000 f +0000000748 00000 f +0000000749 00000 f +0000000750 00000 f +0000000751 00000 f +0000000752 00000 f +0000000753 00000 f +0000000754 00000 f +0000000755 00000 f +0000000756 00000 f +0000000757 00000 f +0000000758 00000 f +0000000759 00000 f +0000000760 00000 f +0000000761 00000 f +0000000762 00000 f +0000000764 00000 f +0000869352 00000 n +0000000765 00000 f +0000000766 00000 f +0000000767 00000 f +0000000768 00000 f +0000000769 00000 f +0000000770 00000 f +0000000771 00000 f +0000000772 00000 f +0000000777 00000 f +0000008885 00000 n +0000834846 00000 n +0000855378 00000 n +0000021112 00000 n +0000000783 00000 f +0000868711 00000 n +0000032469 00000 n +0000032522 00000 n +0000033522 00000 n +0000032559 00000 n +0000000786 00000 f +0000835223 00000 n +0000853406 00000 n +0000000789 00000 f +0000835556 00000 n +0000852225 00000 n +0000000792 00000 f +0000835889 00000 n +0000844455 00000 n +0000000796 00000 f +0000641642 00000 n +0000802576 00000 n +0000834734 00000 n +0000000799 00000 f +0000802909 00000 n +0000826540 00000 n +0000000803 00000 f +0000803242 00000 n +0000015958 00000 n +0000818076 00000 n +0000000806 00000 f +0000803588 00000 n +0000811152 00000 n +0000000809 00000 f +0000803921 00000 n +0000807575 00000 n +0000000812 00000 f +0000732928 00000 n +0000802464 00000 n +0000000815 00000 f +0000733261 00000 n +0000800401 00000 n +0000000818 00000 f +0000733607 00000 n +0000795660 00000 n +0000000821 00000 f +0000733953 00000 n +0000791440 00000 n +0000000829 00000 f +0000734286 00000 n +0000762131 00000 n +0000711195 00000 n +0000711246 00000 n +0000737677 00000 n +0000784846 00000 n +0000784897 00000 n +0000000831 00000 f +0000785966 00000 n +0000000837 00000 f +0000641846 00000 n +0000674711 00000 n +0000716183 00000 n +0000731606 00000 n +0000731657 00000 n +0000000839 00000 f +0000732701 00000 n +0000000842 00000 f +0000675107 00000 n +0000703060 00000 n +0000000844 00000 f +0000712323 00000 n +0000000847 00000 f +0000675503 00000 n +0000697876 00000 n +0000000850 00000 f +0000675848 00000 n +0000692242 00000 n +0000000852 00000 f +0000676181 00000 n +0000000854 00000 f +0000686279 00000 n +0000000856 00000 f +0000642050 00000 n +0000000858 00000 f +0000674485 00000 n +0000000861 00000 f +0000642396 00000 n +0000665501 00000 n +0000000864 00000 f +0000642729 00000 n +0000658857 00000 n +0000000867 00000 f +0000643074 00000 n +0000653747 00000 n +0000000870 00000 f +0000643407 00000 n +0000648709 00000 n +0000000875 00000 f +0000009093 00000 n +0000382766 00000 n +0000548860 00000 n +0000641436 00000 n +0000000878 00000 f +0000549205 00000 n +0000635537 00000 n +0000000883 00000 f +0000549563 00000 n +0000612090 00000 n +0000629638 00000 n +0000629689 00000 n +0000000884 00000 f +0000000886 00000 f +0000630721 00000 n +0000000888 00000 f +0000549984 00000 n +0000000890 00000 f +0000606635 00000 n +0000000893 00000 f +0000550330 00000 n +0000559363 00000 n +0000000894 00000 f +0000000896 00000 f +0000596226 00000 n +0000000898 00000 f +0000505000 00000 n +0000000900 00000 f +0000548634 00000 n +0000000902 00000 f +0000505346 00000 n +0000000904 00000 f +0000539077 00000 n +0000000909 00000 f +0000505692 00000 n +0000523923 00000 n +0000530061 00000 n +0000530111 00000 n +0000000911 00000 f +0000530355 00000 n +0000000913 00000 f +0000506101 00000 n +0000000915 00000 f +0000521878 00000 n +0000000918 00000 f +0000506447 00000 n +0000511854 00000 n +0000000922 00000 f +0000382970 00000 n +0000476867 00000 n +0000504888 00000 n +0000000924 00000 f +0000477200 00000 n +0000000925 00000 f +0000000927 00000 f +0000498968 00000 n +0000000929 00000 f +0000477597 00000 n +0000000931 00000 f +0000491288 00000 n +0000000934 00000 f +0000477956 00000 n +0000485602 00000 n +0000000937 00000 f +0000478302 00000 n +0000482112 00000 n +0000000940 00000 f +0000443462 00000 n +0000476755 00000 n +0000000943 00000 f +0000443808 00000 n +0000473431 00000 n +0000000945 00000 f +0000444154 00000 n +0000000947 00000 f +0000471640 00000 n +0000000949 00000 f +0000444513 00000 n +0000000951 00000 f +0000464961 00000 n +0000000953 00000 f +0000444872 00000 n +0000000955 00000 f +0000455015 00000 n +0000000958 00000 f +0000383174 00000 n +0000383276 00000 n +0000000960 00000 f +0000443236 00000 n +0000000962 00000 f +0000383622 00000 n +0000000964 00000 f +0000434515 00000 n +0000000966 00000 f +0000383968 00000 n +0000000968 00000 f +0000425820 00000 n +0000000970 00000 f +0000384314 00000 n +0000000972 00000 f +0000418135 00000 n +0000000974 00000 f +0000384672 00000 n +0000000976 00000 f +0000393571 00000 n +0000000979 00000 f +0000009196 00000 n +0000331409 00000 n +0000000981 00000 f +0000382540 00000 n +0000000983 00000 f +0000331755 00000 n +0000000985 00000 f +0000372799 00000 n +0000000987 00000 f +0000332101 00000 n +0000000989 00000 f +0000362542 00000 n +0000000991 00000 f +0000332447 00000 n +0000000993 00000 f +0000350589 00000 n +0000000995 00000 f +0000332793 00000 n +0000000997 00000 f +0000342486 00000 n +0000001000 00000 f +0000197728 00000 n +0000284383 00000 n +0000001002 00000 f +0000331182 00000 n +0000001004 00000 f +0000284730 00000 n +0000001006 00000 f +0000323008 00000 n +0000001008 00000 f +0000285078 00000 n +0000001010 00000 f +0000311624 00000 n +0000001012 00000 f +0000285426 00000 n +0000001014 00000 f +0000304571 00000 n +0000001016 00000 f +0000285774 00000 n +0000001018 00000 f +0000295508 00000 n +0000001020 00000 f +0000248775 00000 n +0000001022 00000 f +0000284156 00000 n +0000001024 00000 f +0000249123 00000 n +0000001026 00000 f +0000274420 00000 n +0000001029 00000 f +0000249471 00000 n +0000264620 00000 n +0000001032 00000 f +0000249819 00000 n +0000259937 00000 n +0000001035 00000 f +0000250167 00000 n +0000254813 00000 n +0000001039 00000 f +0000197941 00000 n +0000223474 00000 n +0000248662 00000 n +0000001042 00000 f +0000223823 00000 n +0000244003 00000 n +0000001045 00000 f +0000224172 00000 n +0000239302 00000 n +0000001048 00000 f +0000224521 00000 n +0000234730 00000 n +0000001051 00000 f +0000224870 00000 n +0000230052 00000 n +0000001054 00000 f +0000198156 00000 n +0000223361 00000 n +0000001057 00000 f +0000198504 00000 n +0000219413 00000 n +0000001059 00000 f +0000198852 00000 n +0000001061 00000 f +0000214868 00000 n +0000001064 00000 f +0000199213 00000 n +0000209642 00000 n +0000001067 00000 f +0000199561 00000 n +0000204184 00000 n +0000001072 00000 f +0000009300 00000 n +0000066990 00000 n +0000171845 00000 n +0000197513 00000 n +0000001075 00000 f +0000172194 00000 n +0000192534 00000 n +0000001077 00000 f +0000172543 00000 n +0000001079 00000 f +0000187974 00000 n +0000001082 00000 f +0000172905 00000 n +0000182714 00000 n +0000001085 00000 f +0000173254 00000 n +0000178255 00000 n +0000001088 00000 f +0000144944 00000 n +0000171732 00000 n +0000001091 00000 f +0000145292 00000 n +0000166722 00000 n +0000001094 00000 f +0000145640 00000 n +0000161994 00000 n +0000001097 00000 f +0000145988 00000 n +0000157456 00000 n +0000001100 00000 f +0000146336 00000 n +0000152427 00000 n +0000001104 00000 f +0000067207 00000 n +0000118729 00000 n +0000144831 00000 n +0000001107 00000 f +0000119078 00000 n +0000138546 00000 n +0000001110 00000 f +0000119427 00000 n +0000133173 00000 n +0000001113 00000 f +0000119776 00000 n +0000128852 00000 n +0000001116 00000 f +0000120125 00000 n +0000124909 00000 n +0000001119 00000 f +0000096068 00000 n +0000118616 00000 n +0000001122 00000 f +0000096416 00000 n +0000114326 00000 n +0000001125 00000 f +0000096764 00000 n +0000110231 00000 n +0000001128 00000 f +0000097112 00000 n +0000108102 00000 n +0000001131 00000 f +0000097460 00000 n +0000103435 00000 n +0000001135 00000 f +0000067424 00000 n +0000067533 00000 n +0000095955 00000 n +0000001138 00000 f +0000067882 00000 n +0000090800 00000 n +0000001141 00000 f +0000068231 00000 n +0000086097 00000 n +0000001144 00000 f +0000068593 00000 n +0000080606 00000 n +0000001147 00000 f +0000068942 00000 n +0000074716 00000 n +0000001150 00000 f +0000009523 00000 n +0000066877 00000 n +0000001153 00000 f +0000009871 00000 n +0000060938 00000 n +0000001156 00000 f +0000010219 00000 n +0000056036 00000 n +0000001159 00000 f +0000010567 00000 n +0000051389 00000 n +0000001162 00000 f +0000010915 00000 n +0000047431 00000 n +0000001165 00000 f +0000011263 00000 n +0000032356 00000 n +0000000000 00000 f +0000868938 00000 n +0000868980 00000 n +0000869022 00000 n +0000869064 00000 n +0000869106 00000 n +0000869148 00000 n +0000869190 00000 n +0000869232 00000 n +0000869274 00000 n +0000869316 00000 n +0000000493 00000 n +0002337529 00000 n +0002337435 00000 n +0002337608 00000 n +0000868823 00000 n +0000853518 00000 n +0000852337 00000 n +0000844567 00000 n +0000836222 00000 n +0000826652 00000 n +0000818188 00000 n +0000811264 00000 n +0000807687 00000 n +0000804254 00000 n +0000800513 00000 n +0000795772 00000 n +0000791552 00000 n +0000786193 00000 n +0000786078 00000 n +0000734706 00000 n +0000732813 00000 n +0000712550 00000 n +0000712435 00000 n +0000697988 00000 n +0000692354 00000 n +0000686505 00000 n +0000686391 00000 n +0000676527 00000 n +0000674597 00000 n +0000665613 00000 n +0000658969 00000 n +0000653859 00000 n +0000648821 00000 n +0000643752 00000 n +0000635649 00000 n +0000631062 00000 n +0000630948 00000 n +0000630833 00000 n +0000606861 00000 n +0000606747 00000 n +0000596567 00000 n +0000596452 00000 n +0000596338 00000 n +0000550733 00000 n +0000548746 00000 n +0000539303 00000 n +0000539189 00000 n +0000530582 00000 n +0000530467 00000 n +0000522104 00000 n +0000521990 00000 n +0000511966 00000 n +0000506792 00000 n +0000499309 00000 n +0000499195 00000 n +0000499080 00000 n +0000491514 00000 n +0000491400 00000 n +0000485714 00000 n +0000482224 00000 n +0000478648 00000 n +0000473543 00000 n +0000471866 00000 n +0000471752 00000 n +0000465187 00000 n +0000465073 00000 n +0000455241 00000 n +0000455127 00000 n +0000445218 00000 n +0000443348 00000 n +0000434741 00000 n +0000434627 00000 n +0000426046 00000 n +0000425932 00000 n +0000418361 00000 n +0000418247 00000 n +0000393797 00000 n +0000393683 00000 n +0000385018 00000 n +0000382652 00000 n +0000373025 00000 n +0000372911 00000 n +0000362768 00000 n +0000362654 00000 n +0000350815 00000 n +0000350701 00000 n +0000342712 00000 n +0000342598 00000 n +0000333139 00000 n +0000331295 00000 n +0000323235 00000 n +0000323121 00000 n +0000311851 00000 n +0000311737 00000 n +0000304798 00000 n +0000304684 00000 n +0000295735 00000 n +0000295621 00000 n +0000286122 00000 n +0000284269 00000 n +0000274647 00000 n +0000274533 00000 n +0000264733 00000 n +0000260050 00000 n +0000254926 00000 n +0000250515 00000 n +0000244116 00000 n +0000239415 00000 n +0000234843 00000 n +0000230165 00000 n +0000225219 00000 n +0000219526 00000 n +0000215096 00000 n +0000214981 00000 n +0000209755 00000 n +0000204297 00000 n +0000199909 00000 n +0000192647 00000 n +0000188202 00000 n +0000188087 00000 n +0000182827 00000 n +0000178368 00000 n +0000173603 00000 n +0000166835 00000 n +0000162107 00000 n +0000157569 00000 n +0000152540 00000 n +0000146684 00000 n +0000138659 00000 n +0000133286 00000 n +0000128965 00000 n +0000125022 00000 n +0000120474 00000 n +0000114439 00000 n +0000110344 00000 n +0000108215 00000 n +0000103548 00000 n +0000097821 00000 n +0000090913 00000 n +0000086210 00000 n +0000080719 00000 n +0000074829 00000 n +0000069291 00000 n +0000061051 00000 n +0000056149 00000 n +0000051502 00000 n +0000047544 00000 n +0000036172 00000 n +0000011611 00000 n +0002338802 00000 n +trailer +<<76FA4F7A8091B34CACE2854554EF37A5>]>> +startxref +2339037 +%%EOF diff --git a/Projeto PPB-Ginga/Normas/ABNTNBR15606-6_2010Ed1.pdf b/Projeto PPB-Ginga/Normas/ABNTNBR15606-6_2010Ed1.pdf new file mode 100644 index 0000000..e7367f8 Binary files /dev/null and b/Projeto PPB-Ginga/Normas/ABNTNBR15606-6_2010Ed1.pdf differ diff --git a/Projeto PPB-Ginga/Plaver Framework/Jars_JMF2.1.1/bin/JMF.ico b/Projeto PPB-Ginga/Plaver Framework/Jars_JMF2.1.1/bin/JMF.ico new file mode 100644 index 0000000..c60cf1b Binary files /dev/null and b/Projeto PPB-Ginga/Plaver Framework/Jars_JMF2.1.1/bin/JMF.ico differ diff --git a/Projeto PPB-Ginga/Plaver Framework/Jars_JMF2.1.1/bin/jmfcustomizer b/Projeto PPB-Ginga/Plaver Framework/Jars_JMF2.1.1/bin/jmfcustomizer new file mode 100644 index 0000000..785d2b2 --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/Jars_JMF2.1.1/bin/jmfcustomizer @@ -0,0 +1,88 @@ +#!/bin/sh +# +# A script to launch the JMFCustomizer java application. + +# +# If a path name is a symbolic link, resolve it. +# +GetRealPath() +{ + pathName="$1" + level=1 + + while [ -h "$pathName" ] ; do + level=`/bin/expr $level + 1` + if [ $level -gt 10 ] ; then + echo "$pathName: too many levels of symbolic links" + break; + fi + + # + # First, make sure we have an absolute path name. + # + if IsRelativePath "$pathName" ; then + pathName=`/bin/pwd`/"$pathName" + fi + + # + # Then determine where the link points (via "ls -l") + # + dirName=`/bin/dirname $pathName` + link=`/bin/ls -l $pathName | sed -e 's,.* -> ,,g'` + + if IsRelativePath "$link" ; then + pathName="$dirName"/"$link" + else + pathName="$link" + fi + done + + echo "$pathName" + + return 0 +} + +# +# Is this a relative path name (i.e., doesn't begin with "/")? +# +IsRelativePath() +{ + pathName="$1" + + if [ `echo "$pathName" | sed -e 's,^/.*,absolute,g'` = "absolute" ] ; then + return 1 + else + return 0 + fi +} + +# +# Figure out the real path to this shell script and then setup +# the JMFHOME environment +# +PROGPATH=`GetRealPath $0` +TMPDIR=`dirname $PROGPATH` +JMFHOME=`( cd $TMPDIR/.. && /bin/pwd )`; export JMFHOME + +CLASSPATH=${JMFHOME}/lib/jmf.jar:${JMFHOME}/lib/sound.jar:${JMFHOME}/lib/customizer.jar:${CLASSPATH}; export CLASSPATH + +LD_LIBRARY_PATH=.:/usr/openwin/lib:${JMFHOME}/lib:${LD_LIBRARY_PATH}; export LD_LIBRARY_PATH + +# Use this to run with native threads: +# THREADS_FLAG=native; export THREADS_FLAG + +# If it's running on Solaris 2.6, we are forced to use native threads. +UNAME=`uname -r` +case $UNAME in +5.6) THREADS_FLAG=native; export THREADS_FLAG;; +5.6.*) THREADS_FLAG=native; export THREADS_FLAG;; +5.7) THREADS_FLAG=native; export THREADS_FLAG;; +5.7.*) THREADS_FLAG=native; export THREADS_FLAG;; +5.8) THREADS_FLAG=native; export THREADS_FLAG;; +5.8.*) THREADS_FLAG=native; export THREADS_FLAG;; +esac + +if [ $# -gt 0 ]; then + FILE=$1 +fi +exec java JMFCustomizer diff --git a/Projeto PPB-Ginga/Plaver Framework/Jars_JMF2.1.1/bin/jmfinit b/Projeto PPB-Ginga/Plaver Framework/Jars_JMF2.1.1/bin/jmfinit new file mode 100644 index 0000000..46e7750 --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/Jars_JMF2.1.1/bin/jmfinit @@ -0,0 +1,88 @@ +#!/bin/sh +# +# A script to launch the Export java application. + +# +# If a path name is a symbolic link, resolve it. +# +GetRealPath() +{ + pathName="$1" + level=1 + + while [ -h "$pathName" ] ; do + level=`/bin/expr $level + 1` + if [ $level -gt 10 ] ; then + echo "$pathName: too many levels of symbolic links" + break; + fi + + # + # First, make sure we have an absolute path name. + # + if IsRelativePath "$pathName" ; then + pathName=`/bin/pwd`/"$pathName" + fi + + # + # Then determine where the link points (via "ls -l") + # + dirName=`/bin/dirname $pathName` + link=`/bin/ls -l $pathName | sed -e 's,.* -> ,,g'` + + if IsRelativePath "$link" ; then + pathName="$dirName"/"$link" + else + pathName="$link" + fi + done + + echo "$pathName" + + return 0 +} + +# +# Is this a relative path name (i.e., doesn't begin with "/")? +# +IsRelativePath() +{ + pathName="$1" + + if [ `echo "$pathName" | sed -e 's,^/.*,absolute,g'` = "absolute" ] ; then + return 1 + else + return 0 + fi +} + +# +# Figure out the real path to this shell script and then setup +# the JMFHOME environment +# +PROGPATH=`GetRealPath $0` +TMPDIR=`dirname $PROGPATH` +JMFHOME=`( cd $TMPDIR/.. && /bin/pwd )`; export JMFHOME + +CLASSPATH=${JMFHOME}/lib/jmf.jar:${JMFHOME}/lib/sound.jar:${CLASSPATH}; export CLASSPATH + +LD_LIBRARY_PATH=.:/usr/openwin/lib:${JMFHOME}/lib:${LD_LIBRARY_PATH}; export LD_LIBRARY_PATH + +# Use this to run with native threads: +# THREADS_FLAG=native; export THREADS_FLAG + +# If it's running on Solaris 2.6, we are forced to use native threads. +UNAME=`uname -r` +case $UNAME in +5.6) THREADS_FLAG=native; export THREADS_FLAG;; +5.6.*) THREADS_FLAG=native; export THREADS_FLAG;; +5.7) THREADS_FLAG=native; export THREADS_FLAG;; +5.7.*) THREADS_FLAG=native; export THREADS_FLAG;; +5.8) THREADS_FLAG=native; export THREADS_FLAG;; +5.8.*) THREADS_FLAG=native; export THREADS_FLAG;; +esac + +if [ $# -gt 0 ]; then + FILE=$1 +fi +exec java JMFInit $* diff --git a/Projeto PPB-Ginga/Plaver Framework/Jars_JMF2.1.1/bin/jmfregistry b/Projeto PPB-Ginga/Plaver Framework/Jars_JMF2.1.1/bin/jmfregistry new file mode 100644 index 0000000..2e0c61a --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/Jars_JMF2.1.1/bin/jmfregistry @@ -0,0 +1,88 @@ +#!/bin/sh +# +# A script to launch the JMFRegistry java application. + +# +# If a path name is a symbolic link, resolve it. +# +GetRealPath() +{ + pathName="$1" + level=1 + + while [ -h "$pathName" ] ; do + level=`/bin/expr $level + 1` + if [ $level -gt 10 ] ; then + echo "$pathName: too many levels of symbolic links" + break; + fi + + # + # First, make sure we have an absolute path name. + # + if IsRelativePath "$pathName" ; then + pathName=`/bin/pwd`/"$pathName" + fi + + # + # Then determine where the link points (via "ls -l") + # + dirName=`/bin/dirname $pathName` + link=`/bin/ls -l $pathName | sed -e 's,.* -> ,,g'` + + if IsRelativePath "$link" ; then + pathName="$dirName"/"$link" + else + pathName="$link" + fi + done + + echo "$pathName" + + return 0 +} + +# +# Is this a relative path name (i.e., doesn't begin with "/")? +# +IsRelativePath() +{ + pathName="$1" + + if [ `echo "$pathName" | sed -e 's,^/.*,absolute,g'` = "absolute" ] ; then + return 1 + else + return 0 + fi +} + +# +# Figure out the real path to this shell script and then setup +# the JMFHOME environment +# +PROGPATH=`GetRealPath $0` +TMPDIR=`dirname $PROGPATH` +JMFHOME=`( cd $TMPDIR/.. && /bin/pwd )`; export JMFHOME + +CLASSPATH=${JMFHOME}/lib/jmf.jar:${JMFHOME}/lib:${JMFHOME}/lib/sound.jar:${CLASSPATH}; export CLASSPATH + +LD_LIBRARY_PATH=.:/usr/openwin/lib:${JMFHOME}/lib:${LD_LIBRARY_PATH}; export LD_LIBRARY_PATH + +# Use this to run with native threads: +# THREADS_FLAG=native; export THREADS_FLAG + +# If it's running on Solaris 2.6, we are forced to use native threads. +UNAME=`uname -r` +case $UNAME in +5.6) THREADS_FLAG=native; export THREADS_FLAG;; +5.6.*) THREADS_FLAG=native; export THREADS_FLAG;; +5.7) THREADS_FLAG=native; export THREADS_FLAG;; +5.7.*) THREADS_FLAG=native; export THREADS_FLAG;; +5.8) THREADS_FLAG=native; export THREADS_FLAG;; +5.8.*) THREADS_FLAG=native; export THREADS_FLAG;; +esac + +if [ $# -gt 0 ]; then + FILE=$1 +fi +exec java JMFRegistry diff --git a/Projeto PPB-Ginga/Plaver Framework/Jars_JMF2.1.1/bin/jmstudio b/Projeto PPB-Ginga/Plaver Framework/Jars_JMF2.1.1/bin/jmstudio new file mode 100644 index 0000000..c5bdd25 --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/Jars_JMF2.1.1/bin/jmstudio @@ -0,0 +1,88 @@ +#!/bin/sh +# +# A script to launch the JMStudio java application. + +# +# If a path name is a symbolic link, resolve it. +# +GetRealPath() +{ + pathName="$1" + level=1 + + while [ -h "$pathName" ] ; do + level=`/bin/expr $level + 1` + if [ $level -gt 10 ] ; then + echo "$pathName: too many levels of symbolic links" + break; + fi + + # + # First, make sure we have an absolute path name. + # + if IsRelativePath "$pathName" ; then + pathName=`/bin/pwd`/"$pathName" + fi + + # + # Then determine where the link points (via "ls -l") + # + dirName=`/bin/dirname $pathName` + link=`/bin/ls -l $pathName | sed -e 's,.* -> ,,g'` + + if IsRelativePath "$link" ; then + pathName="$dirName"/"$link" + else + pathName="$link" + fi + done + + echo "$pathName" + + return 0 +} + +# +# Is this a relative path name (i.e., doesn't begin with "/")? +# +IsRelativePath() +{ + pathName="$1" + + if [ `echo "$pathName" | sed -e 's,^/.*,absolute,g'` = "absolute" ] ; then + return 1 + else + return 0 + fi +} + +# +# Figure out the real path to this shell script and then setup +# the JMFHOME environment +# +PROGPATH=`GetRealPath $0` +TMPDIR=`dirname $PROGPATH` +JMFHOME=`( cd $TMPDIR/.. && /bin/pwd )`; export JMFHOME + +CLASSPATH=${JMFHOME}/lib/jmf.jar:${JMFHOME}/lib:${JMFHOME}/lib/sound.jar:${CLASSPATH}; export CLASSPATH + +LD_LIBRARY_PATH=.:/usr/openwin/lib:${JMFHOME}/lib:${LD_LIBRARY_PATH}; export LD_LIBRARY_PATH + +# Use this to run with native threads: +# THREADS_FLAG=native; export THREADS_FLAG + +# If it's running on Solaris 2.6, we are forced to use native threads. +UNAME=`uname -r` +case $UNAME in +5.6) THREADS_FLAG=native; export THREADS_FLAG;; +5.6.*) THREADS_FLAG=native; export THREADS_FLAG;; +5.7) THREADS_FLAG=native; export THREADS_FLAG;; +5.7.*) THREADS_FLAG=native; export THREADS_FLAG;; +5.8) THREADS_FLAG=native; export THREADS_FLAG;; +5.8.*) THREADS_FLAG=native; export THREADS_FLAG;; +esac + +if [ $# -gt 0 ]; then + FILE=$1 +fi +exec java JMStudio $* diff --git a/Projeto PPB-Ginga/Plaver Framework/Jars_JMF2.1.1/doc/attributions.html b/Projeto PPB-Ginga/Plaver Framework/Jars_JMF2.1.1/doc/attributions.html new file mode 100644 index 0000000..9566e69 --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/Jars_JMF2.1.1/doc/attributions.html @@ -0,0 +1,298 @@ + + + + + JMF - Attributions + + + + + + + +JMF Attributions + +
+ + + + + + + + +

+The JavaTM Media Framework +reference implementation was developed by by Sun Microsystems, Inc. +It is based in part on software written by external individuals and +organizations, who are listed below along with the copyrights and +conditions by which their technology is allowed to be used in JMF. +

+ + +
+ + +

+Java Versions of: GSM Decoder, GSM Encoder, MPEG-1 Video Decoder, +ADPCM Encoder, ADPCM Decoder, A-law Decoder and H.263 Decoder + +

+Native Versions of: MPEG-1 Parser, H.263 Encoder, GSM Encoder + + +

+Copyright © IBM Corporation 1997-1999 All Rights Reserved + +

+Licensed Materials - Property of IBM
+"Restricted Materials of IBM" 5748-B81
+US Government Users Restricted Rights - Use, duplication or +disclosure restricted by GSA ADP Schedule Contract with IBM +Corporation.
+

+ + +
+ +

+ +GSM 06.10 + +

+Copyright © 1992, 1993, 1994 by Jutta Degener and Carsten Bormann, +Technische Universitaet Berlin + +

Any use of this software is permitted provided that this +notice is not removed and that neither the authors nor the Technische Universitaet +Berlin are deemed to have made any representations as to the suitability +of this software for any purpose nor are held responsible for any defects +of this software.  THERE IS ABSOLUTELY NO WARRANTY FOR THIS SOFTWARE. + +

As a matter of courtesy, the authors request to be informed +about uses this software has found, about bugs in this software, and about +any improvements that may be of general interest. +

+ + +
+ +

+ +DVI ADPCM + +

+Copyright © 1992 by Stichting Mathematisch Centrum, Amsterdam, The +Netherlands. All rights reserved. + +

Permission to use, copy, modify, and distribute this software +and its documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appear in all copies and that +both that copyright notice and this permission notice appear in supporting +documentation, and that the names of Stichting Mathematisch Centrum or +CWI not be used in advertising or publicity pertaining to distribution +of the software without specific, written prior permission. + +

STICHTING MATHEMATISCH CENTRUM DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH CENTRUM BE LIABLE +FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER +RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, +NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH +THE USE OR PERFORMANCE OF THIS SOFTWARE. +

+ + +
+ +

+ +H.261, Motion JPEG + +

+This product includes software developed by the University of California, +Berkeley and the Network Research Group at Lawrence Berkeley Laboratory. + +

Copyright © 1993-1994 The Regents of the University of California. +All rights reserved. + +

+Redistribution and use in source and binary forms, with +or without modification, are permitted provided that the following +conditions are met: + +

    + +
  1. +Redistributions of source code must retain the above +copyright notice, this list of conditions and the following disclaimer. + + +
  2. +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. + + +
  3. +All advertising materials mentioning features or use +of this software must display the following acknowledgement: This product +includes software developed by the University of California, Berkeley and +the Network Research Group at Lawrence Berkeley Laboratory. + + +
  4. +Neither the name of the University nor of the Laboratory +may be used to endorse or promote products derived from this software without +specific prior written permission. +
+ +

+THIS SOFTWARE IS PROVIDED BY THE REGENTS 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 REGENTS 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. +

+
+ + +
+ +

+ +JPEG + +

+This software is based in part on the work of the +Independent JPEG Group. +The following is an exerpt from the README file which comes with their +software: +

+ + + + +LEGAL ISSUES + + +

+In plain English: + +

    + + +
  1. +We don't promise that this software works. +(But if you find any bugs, please let us know!) + + + +
  2. +You can use this software for whatever you want. +You don't have to pay us. + + +
  3. +You may not pretend that you wrote this software. If you use it in a +program, you must acknowledge somewhere in your documentation that +you've used the IJG code. +
+ +

+In legalese: + +

+The authors make NO WARRANTY or representation, either express or implied, +with respect to this software, its quality, accuracy, merchantability, or +fitness for a particular purpose. This software is provided "AS IS", and you, +its user, assume the entire risk as to its quality and accuracy. + +

+This software is copyright (C) 1991-1998, Thomas G. Lane. +All Rights Reserved except as specified below. + +

+Permission is hereby granted to use, copy, modify, and distribute this +software (or portions thereof) for any purpose, without fee, subject to these +conditions: + +

    + +
  1. +If any part of the source code for this software is distributed, then this +README file must be included, with this copyright and no-warranty notice +unaltered; and any additions, deletions, or changes to the original files +must be clearly indicated in accompanying documentation. + + +
  2. +If only executable code is distributed, then the accompanying +documentation must state that "this software is based in part on the work of +the Independent JPEG Group". + + +
  3. +Permission for use of this software is granted only if the user accepts +full responsibility for any undesirable consequences; the authors accept +NO LIABILITY for damages of any kind. +
+ +

+These conditions apply to any software derived from or based on the IJG code, +not just to the unmodified library. If you use our work, you ought to +acknowledge us. + +

+Permission is NOT granted for the use of any IJG author's name or company name +in advertising or publicity relating to this software or products derived from +it. This software may be referred to only as "the Independent JPEG Group's +software". + +

+We specifically permit and encourage the use of this software as the basis of +commercial products, provided that all warranty or liability claims are +assumed by the product vendor. +

+
+ + +
+ +

+ +VIVO, H.263 + +

+Vivo is a product of the Vivo Software, Inc. at Waltham, MA 02154.8414. +

+Copyright © 1995 Vivo Software, Inc. All rights reserved. +

+ + +
+ +

Trademarks

+ +

JavaTM is a trademark of Sun Microsystems, +Inc. +
QuickTimeTM is a trademark of Apple +Computer, Inc. +
AVITM is a trademark of Microsoft Corporation. +
VivoTM is a trademark of Vivo Software, +Inc. + +

+ + + + + + + diff --git a/Projeto PPB-Ginga/Plaver Framework/Jars_JMF2.1.1/doc/formats.html b/Projeto PPB-Ginga/Plaver Framework/Jars_JMF2.1.1/doc/formats.html new file mode 100644 index 0000000..23c9e1b --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/Jars_JMF2.1.1/doc/formats.html @@ -0,0 +1,780 @@ + + + + + JMF 2.1.1 - Supported Formats + + + + + + + + +Supported Media Formats and Capture Devices + +
+ + + + + + + +

+This page lists the media formats supported +in the JMF 2.1.1 FCS implementation, the +RTP formats this implementation can +receive and transmit, and the +capture devices that it supports. + +

+ + + + + +
Supported Media Formats
+ + +

+JMF supports audio sample rates from 8KHz to 48KHz. Note that +cross-platform version of JMF only supports the following +rates: 8, 11.025, 11.127, 16, 22.05, 22.254, 32, 44.1, and 48 KHz. + +

+The JMF 2.1.1 Reference Implementation supports the media types and +formats listed in the table below. In this table: + +

    +
  • +D indicates the format can be decoded and presented.
  • +
  • +E indicates the media stream can be encoded in the format.
  • +
  • +read indicates the media type can be used as input (read from a file)
  • +
  • +write indicates the media type can be generated as output (written to a file)
  • +
+ +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Media Type + +JMF 2.1.1
+Cross Platform Version
+ +
JMF 2.1.1
+Solaris Performance Pack
+ +
JMF 2.1.1
+Windows Performance Pack
+ +
AIFF (.aiff)read/writeread/writeread/write
8-bit mono/stereo linear D,ED,ED,E
16-bit mono/stereo linear D,ED,ED,E
G.711 (U-law) D,ED,ED,E
A-law DDD
IMA4 ADPCMD,ED,ED,E
AVI (.avi)read/writeread/writeread/write
Audio: 8-bit mono/stereo linear D,ED,ED,E
Audio: 16-bit mono/stereo linear D,ED,ED,E
Audio: DVI ADPCM compressed D,ED,ED,E
Audio: G.711 (U-law) D,ED,ED,E
Audio: A-law DDD
Audio: GSM monoD,ED,ED,E
Audio: ACM**--D,E
Video: Cinepak DD,ED
Video: MJPEG (422)DD,ED,E 
Video: RGBD,ED,ED,E 
Video: YUVD,ED,ED,E 
Video: VCM**--D,E
GSM (.gsm)read/writeread/writeread/write
GSM mono audioD,ED,ED,E
HotMedia (.mvr)read onlyread onlyread only
IBM HotMediaDDD
MIDI (.mid)read onlyread onlyread only
Type 1 & 2 MIDI-DD
MPEG-1 Video (.mpg)-read onlyread only
Multiplexed System stream -DD
Video-only stream -DD
MPEG Layer II Audio (.mp2)read onlyread/writeread/write
MPEG layer 1, 2 audio DD,ED,E
QuickTime (.mov)read/writeread/writeread/write
Audio: 8 bits mono/stereo linear D,ED,ED,E
Audio: 16 bits mono/stereo linearD,ED,ED,E
Audio: G.711 (U-law) D,ED,ED,E
Audio: A-law DDD
Audio: GSM mono D,ED,ED,E
Audio: IMA4 ADPCM D,ED,ED,E
Video: Cinepak DD,ED
Video: H.261-DD
Video: H.263 DD,ED,E
Video: JPEG (420, 422, 444) DD,ED,E
Video: RGBD,ED,ED,E
Sun Audio (.au)read/writeread/writeread/write
8 bits mono/stereo linear D,ED,ED,E
16 bits mono/stereo linear D,ED,ED,E
G.711 (U-law)D,ED,ED,E
A-law DDD
Wave (.wav)read/writeread/writeread/write
8-bit mono/stereo linear D,ED,ED,E
16-bit mono/stereo linear D,ED,ED,E
G.711 (U-law)D,ED,ED,E
A-law DDD
GSM mono D,ED,ED,E
DVI ADPCMD,ED,E D,E
MS ADPCMDD
ACM**--D,E
+ +

Notes: + +

    + +
  • +ACM** - Window's Audio Compression Manager +support. Tested for these formats: A-law, GSM610, MSNAudio, MSADPCM, Truespeech, +mp3, PCM, Voxware AC8, Voxware AC10.
  • + +
  • +VCM** - Window's Video Compression Manager +support.  Tested for these formats: IV41, IV51, VGPX, WINX, YV12, +I263, CRAM, MPG4.
  • +
+ +

+ + + + + +
RTP Formats
+ +

+The JMF 2.1.1 Reference Implementation can receive and transmit the +following RTP formats: + +

    +
  • +R indicates that the format can be decoded and presented.
  • +
  • +T indicates that media streams can be encoded and transmitted in the format.
  • +
+ +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Media TypeRTP
+Payload
+ +
JMF 2.1.1
+Cross Platform Version
+ +
JMF 2.1.1
+Solaris Performance Pack
+ +
JMF 2.1.1
+Windows Performance Pack
+ +
Audio: G.711 (U-law) 8 kHz 0R,TR,TR,T
Audio: GSM mono 3R,TR,TR,T
Audio: G.723 mono4RR,TR,T
Audio: 4-bit mono DVI 8 kHz 5R,TR,TR,T
Audio: 4-bit mono DVI 11.025 kHz 16R,TR,TR,T
Audio: 4-bit mono DVI 22.05 kHz 17R,TR,TR,T
Audio: MPEG Layer I, II 14R,TR,TR,T
Video: JPEG (420, 422, 444)* 26RR,TR,T
Video: H.261 31-RR
Video: H.263**34Mode A OnlyR,TR,T
Video: MPEG-I***32TR,TR,T
+ +

* JPEG/RTP can only be transmitted in video dimensions +that are in multiple of 8 pixels.  +

+ +

** H.263/RTP can only be transmitted in 3 different video dimensions: +SQCIF (128x96), QCIF (176x144) and CIF (352x288).  +

+ +

*** MPEG/RTP video can only be transmitted from pre-encoded MPEG +content, i.e. from an MPEG-encoded file or MPEG enabled capture source. +Real-time software MPEG encoding is not feasible for RTP transmission.  +

+ +

+ + + + + +
Capture Devices
+

+

+The JMF 2.1.1 Reference Implementation supports SunVideo / +SunVideoPlus capture devices on Solaris. On Windows, most capture +devices that have VFW drivers are supported. The table below lists +the capture devices known to work with this release. + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CapturerJMF 2.1.1
+Cross Platform Version
+ +
JMF 2.1.1
+Solaris Performance Pack
+ +
JMF 2.1.1
+Windows Performance Pack
+ +
JavaSound (16-bit, 44100, 22050, 11025Hz, 8000Hz linear)-XX
SunVideo-X-
SunVideoPlus-X-
VFW--X
Intel Create & Share--Win9x
Diamond Supra Video Kit; Share--Win98
QuickCam VC (camera)--WinNT
e-cam (camera)--WinNT, 9X
Winnow Videum--WinNT, 9X
Creative Web Cam II--Win9X
Miro Video DC30--Win9X
Iomega Buz--Win9X
QuickCam Home USB (Camera)--Win98
Smart Video Recorder III--Win9X
+ + + + + diff --git a/Projeto PPB-Ginga/Plaver Framework/Jars_JMF2.1.1/doc/readme.html b/Projeto PPB-Ginga/Plaver Framework/Jars_JMF2.1.1/doc/readme.html new file mode 100644 index 0000000..2bb0e3d --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/Jars_JMF2.1.1/doc/readme.html @@ -0,0 +1,523 @@ + + + JMF 2.1.1c README + + + + +

+

+JavaTM Media Framework 2.1.1c API
+README and BINARY CODE LICENSE +

+
+ +

+Table of Contents +

+ + + + +
+

+Introduction +

+ +

The JavaTM Media Framework (JMF) +is an application programming interface (API) for incorporating media +data such as audio and video into Java applications and applets. It is +specifically designed to take advantage of Java platform features. + +

The JMF 1.0 API (the Java Media Player API) enables programmers to +develop Java programs for playback of time-based media. The JMF 2.0 API +extends the framework by providing support for capturing and storing +media data, controlling the type of processing that is performed during +playback, and performing custom processing on media data streams. In +addition, JMF 2.0 defines a plug-in API that enables advanced +developers and technology providers to more easily customize and extend +JMF functionality. + +

+The latest implemenation of this API from Sun is JMF 2.1.1c, +which includes several improvements to RTP/RTSP components +and numerous bug-fixes. + +

+You can download all of the documentation for this +release, including the setup information and sample code, from: +

+ + + http://java.sun.com/products/java-media/jmf/2.1.1/documentation.html + +
+ + + +
+

+Quick Install

+ +

+Here are some quick instructions for installing JMF 2.1.1c. +Complete instructions for setting up and running JMF are +available from the JMF web site at: + +

+ + + http://java.sun.com/products/java-media/jmf/2.1.1/setup.html + +
+ +

+Installing JMF 2.1.1c or JMF 2.1.1c for Web Servers (i.e. Java versions) +

+

+The install package for Java clients is a zip file. Use a zip utility +to extract the files and then set your class path to reference the JMF +directory. For example: + +

+

+ On Solaris: +

+ + setenv JMFHOME /home/someuser/JMF2.1.1
+ setenv CLASSPATH $JMFHOME/lib/jmf.jar:.:${CLASSPATH}: +
+ +

+On AIX: +

+ + setenv JMFHOME /usr/JMF2.1.1
+ setenv CLASSPATH $JMFHOME/lib/jmf.jar:.:${CLASSPATH}: +
+ +

+ On Windows: +

+ + set JMFHOME=C:\JMF2.1.1
+ set CLASSPATH=%JMFHOME%\lib\jmf.jar;.;%CLASSPATH% +
+ +
+ +

+Installing JMF 2.1.1 with Solaris Performance Pack +

+

+The Solaris install package contains an exectuable installation +program. Run the installation program to extract JMF and then set your +class path to reference the JMF directory. For example: + +

+ + setenv JMFHOME /home/someuser/JMF2.1.1
+ setenv CLASSPATH $JMFHOME/lib/jmf.jar:$JMFHOME/lib/sound.jar:.:${CLASSPATH} +
+
+

+You'll also need to set your LD_LIBRARY_PATH (shared libraries path) +to point to the JMF libraries. For example: +

+ + setenv LD_LIBRARY_PATH $JMFHOME/lib:${LD_LIBRARY_PATH} + +
+ +

+Installing JMF 2.1.1 with Windows Performance Pack +

+

+The Windows install package package contains an InstallShield +installation program. Run the installation program to extract JMF and +configure your environment variables.During installation, InstallShield +should automatically set up your CLASSPATH and PATH: + +

+ + set CLASSPATH=%JMFHOME%\lib\jmf.jar;%JMFHOME%\lib\sound.jar;.;%CLASSPATH%
+
+ set PATH=%WINDIR%\System32;%PATH% (on Windows NT)
+ set PATH=%WINDIR%\System;%PATH% (on Windows 95/98)
+
+ + +

Verifying your Installation

+

+To verify that JMF is set up properly on your system, use the JMF Diagnostics +applet at: + +

+ + + http://java.sun.com/products/java-media/jmf/2.1.1/jmfdiagnostics.html + +
+ + + +
+

+Security Note

+ +

+During the installation, you will be asked two security related questions: +

    +
  • Permit recording from an applet +

    + If you agree to this, JMF will allow applets to capture audio and + video from the local capture devices. It is possible for a malicious + hidden applet on a web page to quietly record sounds or video from your + system and transmit the data back to a system on the internet. This is usually + a risk only if you visit unfamiliar web sites.

    + You can disable or enable this + feature by running the JMFRegistry application (or choose Preferences from the + JMStudio File menu), modify the setting in the User Settings tab and commit the + changes.

    +

  • Permit writing local files from an applet +

    + This is a greater security risk since a malicious applet can overwrite files + on your hard disk without your knowledge. Enable this feature only if you + need it for a specific application and are sure that you will not visit + any possibly malicious web sites.

    + You can disable or enable this + feature by running the JMFRegistry application (or choose Preferences from the + JMStudio File menu), modify the setting in the User Settings tab and commit the + changes.

    +

+ + + +
+

+JMF Install Contents

+ +

+This release contains the following directories: + +

    +
  • bin - contains scripts to launch a few java applications +
  • doc - contains this file +
  • lib - contains the compiled java classes and the compiled native +libraries for the JMF players +
+ + + + +
+

+Distributing JMF with your Java software

+ +Sun Microsystems allows vendors to distribute JMF 2.1.1c with their Java +software, as long as their software uses JMF 2.1.1c and provided they +follow the terms of the JMF 2.1.1c Binary Code License agreement. + +This document uses the term "vendors" to refer to licensees, +developers, and independent software vendors (ISVs) who +license and distribute the JMF with their Java programs. + +

+REQUIRED versus OPTIONAL FILES +

+ +

+Vendors must follow the terms of the JMF Binary Code License agreement, +which includes these terms: + +

    +
  • Don't arbitrarily subset the JMF. You may, however, omit those +files that have been designated below as "optional" or that are +removable by using the JMF Customizer Tool provided. + +
  • Include in your product's license the provisions called out +in the JMF Binary Code License. + +
+ +

+Bundling JMF +

+ +

+This Solaris and Windows version of the JMF comes with its own +installer that simplifies the installation of JMF. Other versions +of JMF are bundled in a zip file which needs to be unzipped to +be installed. + +

+Vendors have the option of delivering the Solaris, Windows, and/or zip +install binaries with their software, and having the user run them +separately, or to bundle JMF directly with the install procedures of +thier software. + +

+Required Files +

+ +

+All the files and directories in the lib directory are required +unless they are listed under Optional Files below or are +removable using the JMF Customizer Tool. Likewise, this +readme.html is a required file and must always be included +with JMF 2.1.1c. + +

+Optional Files +

+ +

+The following files are optional: + +

    +
  • doc/* +
  • bin/* +
  • lib/soundbank.gm +
  • lib/sound.jar +
  • lib/jsound.dll or lib/libjsound.so +
+ + + +
+ + + + +
+ + + + +

Java +TM Media Framework +(JMF) 2.1.1c
Binary Code License Agreement

+

READ THE +TERMS OF THIS AGREEMENT AND ANY PROVIDED +SUPPLEMENTAL LICENSE TERMS +(COLLECTIVELY "AGREEMENT") CAREFULLY BEFORE OPENING THE +SOFTWARE MEDIA PACKAGE. BY OPENING THE SOFTWARE MEDIA PACKAGE, YOU +AGREE TO THE TERMS OF THIS AGREEMENT. IF YOU ARE ACCESSING THE +SOFTWARE ELECTRONICALLY, INDICATE YOUR ACCEPTANCE OF THESE TERMS BY +SELECTING THE "ACCEPT" BUTTON AT THE END OF THIS AGREEMENT. +IF YOU DO NOT AGREE TO ALL OF THE TERMS, PROMPTLY RETURN THE UNUSED +SOFTWARE TO YOUR PLACE OF PURCHASE FOR A REFUND OR, IF THE SOFTWARE +IS ACCESSED ELECTRONICALLY, SELECT THE "DECLINE" BUTTON AT +THE END OF THIS AGREEMENT. +

+

1. License +to Use. Sun Microsystems, Inc. ("Sun") grants you a +non-exclusive and non-transferable license for the internal use only +of the accompanying software and documentation and any error +corrections provided by Sun (collectively "Software"), by +the number of users and the class of computer hardware for which the +corresponding fee has been paid. +

+

2. +Restrictions. Software is confidential and copyrighted. Title to +Software and all associated intellectual property rights is retained +by Sun and/or its licensors. Except as specifically authorized in any +Supplemental License Terms, you may not make copies of Software, +other than a single copy of Software for archival purposes. Unless +enforcement is prohibited by applicable law, you may not modify, +decompile, or reverse engineer Software. You acknowledge that +Software is not designed or intended for use in the design, +construction, operation or maintenance of any nuclear facility. Sun +disclaims any express or implied warranty of fitness for such uses. +No right, title or interest in or to any trademark, service mark, +logo or trade name of Sun or its licensors is granted under this +Agreement. +

+

3. Limited +Warranty. Sun warrants to you that for a period of ninety (90) +days from the date of purchase, as evidenced by a copy of the +receipt, the media on which Software is furnished (if any) will be +free of defects in materials and workmanship under normal use. Except +for the foregoing, Software is provided "AS IS". Your +exclusive remedy and Sun's entire liability under this limited +warranty will be at Sun's option to replace Software media or refund +the fee paid for Software. +

+

4. +DISCLAIMER OF WARRANTY. UNLESS SPECIFIED IN THIS AGREEMENT, ALL +EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, +INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A +PARTICULAR PURPOSE OR NON-INFRINGEMENT ARE DISCLAIMED, EXCEPT TO THE +EXTENT THAT THESE DISCLAIMERS ARE HELD TO BE LEGALLY INVALID. +

+

5. +LIMITATION OF LIABILITY. TO THE EXTENT NOT PROHIBITED BY LAW, IN +NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, +PROFIT OR DATA, OR FOR SPECIAL, INDIRECT, CONSEQUENTIAL, INCIDENTAL +OR PUNITIVE DAMAGES, HOWEVER CAUSED REGARDLESS OF THE THEORY OF +LIABILITY, ARISING OUT OF OR RELATED TO THE USE OF OR INABILITY TO +USE SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. In no event will Sun's liability to you, whether in +contract, tort (including negligence), or otherwise, exceed the +amount paid by you for Software under this Agreement. The foregoing +limitations will apply even if the above stated warranty fails of its +essential purpose. +

+

6. +Termination. This Agreement is effective until terminated. You +may terminate this Agreement at any time by destroying all copies of +Software. This Agreement will terminate immediately without notice +from Sun if you fail to comply with any provision of this Agreement. +Upon Termination, you must destroy all copies of Software. +

+

7. Export +Regulations. All Software and technical data delivered under this +Agreement are subject to US export control laws and may be subject to +export or import regulations in other countries. You agree to comply +strictly with all such laws and regulations and acknowledge that you +have the responsibility to obtain such licenses to export, re-export, +or import as may be required after delivery to you. +

+

8. U.S. +Government Restricted Rights. If Software is being acquired by or +on behalf of the U.S. Government or by a U.S. Government prime +contractor or subcontractor (at any tier), then the Government's +rights in Software and accompanying documentation will be only as set +forth in this Agreement; this is in accordance with 48 C.F.R. +227.7202-4 (for Department of Defense (DOD) acquisitions) and with 48 +CFR 2.101 and 12.212 (for non-DOD acquisitions). +

+

9. +Governing Law. Any action related to this Agreement will be +governed by California law and controlling U.S. federal law. No +choice of law rules of any jurisdiction will apply. +

+

10. +Severability. If any provision of this Agreement is held to be +unenforceable, this Agreement will remain in effect with the +provision omitted, unless omission would frustrate the intent of the +parties, in which case this Agreement will immediately terminate. +

+

11. +Integration. This Agreement is the entire agreement between you +and Sun relating to its subject matter. It supersedes all prior or +contemporaneous oral or written communications, proposals, +representations and warranties and prevails over any conflicting or +additional terms of any quote, order, acknowledgment, or other +communication between the parties relating to its subject matter +during the term of this Agreement. No modification of this Agreement +will be binding, unless in writing and signed by an authorized +representative of each party. +

+ + +

Java +TM Media Framework +(JMF) 2.1.1c
Supplemental License Terms

+

These supplemental license terms +("Supplemental Terms") add to or modify the terms of the +Binary Code License Agreement +(collectively, the "Agreement"). +Capitalized terms not defined in these Supplemental Terms shall have +the same meanings ascribed to them in the Agreement. These +Supplemental Terms shall supersede any inconsistent or conflicting +terms in the Agreement, or in any license contained within the +Software.

+

1. Software Internal Use and +Development License Grant. Subject to the terms and conditions of +this Agreement, including, but not limited to Section 3 (Java +Technology Restrictions) of these Supplemental Terms, Sun grants you +a non-exclusive, non-transferable, limited license to reproduce +internally and use internally the binary form of the Software, +complete and unmodified, for the sole purpose of designing, +developing and testing your Java applets and applications +("Programs").

+

2. License to Distribute Software. +In addition to the license granted in Section 1 (Software Internal +Use and Development License Grant) of these Supplemental Terms, +subject to the terms and conditions of this Agreement, including but +not limited to, Section 3 (Java Technology Restrictions) of these +Supplemental Terms, Sun grants you a non-exclusive, non-transferable, +limited license to reproduce and distribute the Software in binary +code form only, provided that you: (i) distribute the Software +complete and unmodified, except that you may omit those files +specifically identified as"optional" in the Software +"README" file, which include samples, documents, and bin +files, or that are removable by using the Software customizer tool +provided, only as part of and for the sole purpose of running your +Program into which the Software is incorporated; (ii) do not +distribute additional software intended to replace any components of +the Software; (iii) do not remove or alter any proprietary legends or +notices contained in the Software; (iv) only distribute the Software +subject to a license agreement that protects Sun's interests +consistent with the terms contained in this Agreement; and (v) agree +to defend and indemnify Sun and its licensors from and against any +damages, costs, liabilities, settlement amounts or expenses, +including attorneys' fees, incurred in connection with any claim, +lawsuit or action by any third party that arises or results from the +use or distribution of any and all Programs or Software.

+

3. Java Technology +Restrictions. You may not modify the Java Platform Interface +("JPI", identified as classes contained within the "java" +package or any subpackages of the "java" package), by +creating additional classes within the JPI or otherwise causing the +addition to or modification of the classes in the JPI. In the event +that you create an additional class and associated API's, which: (i) +extends the functionality of the Java platform, and (ii) is exposed +to third party software developers for the purpose of developing +additional software which invokes such additional API, you must +promptly publish broadly an accurate specification for such API for +free use by all developers. You may not create, or authorize your +licensees to create additional classes, interfaces, packages or +subpackages that are in any way identified as "java", +"javax", "sun" or similar convention as specified +by Sun in any class file naming convention designation.

+

4. +Java Runtime Availability. Refer to the appropriate version of +the Java Runtime Environment binary code license (currently located +at + +http://www.java.sun.com/jdk/index.html) +for the availability of runtime code which may be distributed with +Java applets and applications.

+

5. Trademarks and Logos. You +acknowledge and agree as between you and Sun that Sun owns the SUN, +SOLARIS, JAVA, JINI, FORTE, STAROFFICE, STARPORTAL and iPLANET +trademarks and all SUN, SOLARIS, JAVA, JINI, FORTE, STAROFFICE, +STARPORTAL and iPLANET-related trademarks, service marks, logos and +other brand designations ("Sun Marks"), and you agree to +comply with the Sun Trademark and Logo Usage Requirements currently +located at + +http://www.sun.com/policies/trademarks. +Any use you make +of the Sun Marks inures to Sun's benefit.

+

6. Source Code. Software may +contain source code that is provided solely for reference purposes +pursuant to the terms of this Agreement. Source code may not be +redistributed unless expressly provided for in this Agreement.

+

7. Termination for Infringement. +Either party may terminate this Agreement immediately should any +Software become, or in either party's opinion be likely to become, +the subject of a claim of infringement of any intellectual property +right.

+

For inquiries +please contact: Sun Microsystems, Inc. 901 San Antonio Road, Palo +Alto, California 94303

+

LFI# +117891/Form ID#011801 +

+
+

+ +This page was last modified on 17-Dec-2002
+Copyright 1995-2002, Sun Microsystems, Inc.
+All Rights Reserved
+ diff --git a/Projeto PPB-Ginga/Plaver Framework/Jars_JMF2.1.1/lib/customizer.jar b/Projeto PPB-Ginga/Plaver Framework/Jars_JMF2.1.1/lib/customizer.jar new file mode 100644 index 0000000..da05f71 Binary files /dev/null and b/Projeto PPB-Ginga/Plaver Framework/Jars_JMF2.1.1/lib/customizer.jar differ diff --git a/Projeto PPB-Ginga/Plaver Framework/Jars_JMF2.1.1/lib/jmf.jar b/Projeto PPB-Ginga/Plaver Framework/Jars_JMF2.1.1/lib/jmf.jar new file mode 100644 index 0000000..0f324cc Binary files /dev/null and b/Projeto PPB-Ginga/Plaver Framework/Jars_JMF2.1.1/lib/jmf.jar differ diff --git a/Projeto PPB-Ginga/Plaver Framework/Jars_JMF2.1.1/lib/jmf.properties b/Projeto PPB-Ginga/Plaver Framework/Jars_JMF2.1.1/lib/jmf.properties new file mode 100644 index 0000000..a8a9080 Binary files /dev/null and b/Projeto PPB-Ginga/Plaver Framework/Jars_JMF2.1.1/lib/jmf.properties differ diff --git a/Projeto PPB-Ginga/Plaver Framework/Jars_JMF2.1.1/lib/mediaplayer.jar b/Projeto PPB-Ginga/Plaver Framework/Jars_JMF2.1.1/lib/mediaplayer.jar new file mode 100644 index 0000000..d2d88c7 Binary files /dev/null and b/Projeto PPB-Ginga/Plaver Framework/Jars_JMF2.1.1/lib/mediaplayer.jar differ diff --git a/Projeto PPB-Ginga/Plaver Framework/Jars_JMF2.1.1/lib/multiplayer.jar b/Projeto PPB-Ginga/Plaver Framework/Jars_JMF2.1.1/lib/multiplayer.jar new file mode 100644 index 0000000..beb8e69 Binary files /dev/null and b/Projeto PPB-Ginga/Plaver Framework/Jars_JMF2.1.1/lib/multiplayer.jar differ diff --git a/Projeto PPB-Ginga/Plaver Framework/TestSuitXlet.java b/Projeto PPB-Ginga/Plaver Framework/TestSuitXlet.java new file mode 100644 index 0000000..ba8257b --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/TestSuitXlet.java @@ -0,0 +1,326 @@ +import java.awt.Color; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; + +import javax.microedition.xlet.Xlet; +import javax.microedition.xlet.XletContext; +import javax.microedition.xlet.XletStateChangeException; + +import plaver.dtvtest.DTVTestController; +import plaver.dtvtest.DTVTestEvent; +import plaver.dtvtest.DTVTestListener; +import plaver.qrcode.BitToString; +import plaver.qrcode.MatrizImgQR; +import plaver.qrcode.QRCode; + +import com.sun.dtv.lwuit.Font; +import com.sun.dtv.lwuit.Form; +import com.sun.dtv.lwuit.Graphics; +import com.sun.dtv.lwuit.Image; +import com.sun.dtv.lwuit.Label; +import com.sun.dtv.lwuit.geom.Dimension; +import com.sun.dtv.lwuit.layouts.CoordinateLayout; +import com.sun.dtv.lwuit.plaf.Style; +import com.sun.dtv.ui.Capabilities; +import com.sun.dtv.ui.Device; +import com.sun.dtv.ui.Plane; +import com.sun.dtv.ui.PlaneSetup; +import com.sun.dtv.ui.Screen; + +public class TestSuitXlet implements Xlet, DTVTestListener { + + private Form form; + + private List controllerList = new ArrayList(); + private int cIndex = 0; + + private int qtdApps; + private int qtdAutoApps; /* Apenas aplicaes automticas (i.e., visuais) * + * faro parte do QR Code */ + + private boolean[] boolVector; + private int contBoolList; + private int contCurrentAPP = 1; + + private Font font; + private Graphics grapCont; + + private XletContext contextXlet; + + public void initXlet(XletContext ctx) throws XletStateChangeException { + this.contextXlet = ctx; + + form = new Form(); + setPlane(form); + + controllerList = DTVTestController.createTestSuit("apps.txt", form, contextXlet); + qtdApps = controllerList.size(); + qtdAutoApps = DTVTestController.getQtdAutoApps(); + + } + + private void setPlane(Form form) { + + Device device = Device.getInstance(); + Screen currentScreen = device.getDefaultScreen(); + PlaneSetup planeSetup = null; + Plane[] planes = currentScreen.getAllPlanes(); + + for(int i=0; i < planes.length; i++) { + Capabilities cap = planes[i].getCapabilities(); + if(cap.isGraphicsRenderingSupported()) { + Plane plane = planes[i]; + planeSetup = plane.getCurrentSetup(); + + break; + } + } + + Style style = new Style(); + style.setBgColor(Color.WHITE); + form.setStyle(style); + form.setLayout(new CoordinateLayout(planeSetup.getScreenResolution())); + + } + + public void startXlet() throws XletStateChangeException { + + exibeImagemInicial(); + + DTVTestController controller; + Iterator it = controllerList.iterator(); + + boolVector = new boolean[qtdAutoApps]; + + while (it.hasNext()) { + controller = (DTVTestController) it.next(); + controller.addDTVTestEventListener(this); + } + + exibeImgExecucao(); + exibeContador(); + + ( (DTVTestController) controllerList.get(cIndex++)).start(); + } + + + public void testLogEventReceived(DTVTestEvent e) { + + if(e.getStatus() == DTVTestEvent.TEST_SUCCESS) + boolVector[contBoolList++] = true; + else if(e.getStatus() == DTVTestEvent.TEST_FAILURE || e.getStatus() == DTVTestEvent.TEST_TIMEOUT) + boolVector[contBoolList++] = false; + + if (cIndex < controllerList.size()) { + exibeContador(); + ( (DTVTestController) controllerList.get(cIndex++)).start(); + } else { + exibeImagemFinal(); + exibeQRCode(); + } + + } + + private void exibeImagemInicial() { + + Label labInit = new Label(); + labInit.setSize(new Dimension(form.getWidth(), form.getHeight())); + labInit.getStyle().setBgColor(Color.WHITE); + + font = Font.createSystemFont(Font.FACE_PROPORTIONAL, Font.STYLE_BOLD, 50); + + try { + Image imgInit = Image.createImage("plaver/imagens/inicio.png"); + imgInit = imgInit.scaled(form.getWidth()/100 * 40, form.getWidth()/100 * 40); + + Image imgBack = Image.createImage(form.getWidth(), form.getHeight()); + Graphics gBack = imgBack.getGraphics(); + gBack.drawImage(imgInit, (form.getWidth() - imgInit.getWidth())/2, (form.getHeight() - imgInit.getHeight())/2); + + labInit.setIcon(imgBack); + + form.addComponent(labInit); + form.show(); + + try { + Thread.sleep(5000); + } catch (InterruptedException e) { + e.printStackTrace(); + } + + } catch (IOException e) { + e.printStackTrace(); + } + } + + private void exibeContador() { + + grapCont.setColor(Color.WHITE); +// grapCont.fillRect(725, 135, 100, 70); + grapCont.fillRect( (int) (form.getWidth()/1.55), form.getHeight()/5, form.getWidth()/6, form.getHeight()/8); + + grapCont.setColor(Color.BLACK); + + if(contCurrentAPP > 99) { + grapCont.drawString("Executanto Teste: " + contCurrentAPP , 350, 140); + } else if(contCurrentAPP > 9) { + grapCont.drawString("Executanto Teste: 0" + contCurrentAPP , 350, 140); + } else { + grapCont.drawString("Executanto Teste: 00" + contCurrentAPP , 350, 140); + } + + contCurrentAPP++; + form.show(); + } + + private void exibeImgExecucao() { + + Label logo = new Label(); + logo.getStyle().setBgTransparency(0); + logo.setSize(new Dimension(250,200)); + logo.setX((int)(form.getWidth()*0.96) - logo.getWidth()); + logo.setY(form.getHeight() - logo.getHeight()); + + Label labExec = new Label(); + labExec.setSize(new Dimension(form.getWidth(), form.getHeight())); + labExec.setY(form.getHeight()/6); + + labExec.getStyle().setBgColor(Color.WHITE); + grapCont = null; + + try { + + logo.setIcon(Image.createImage("plaver/imagens/logo.png")); + + Image imgBgExec = Image.createImage(form.getWidth(), form.getHeight()); + grapCont = imgBgExec.getGraphics(); + + grapCont.setColor(Color.BLACK); + grapCont.setFont(font); + + if(qtdApps > 99) { + grapCont.drawString("Sute de Testes 01 (" + qtdApps + " Aplicaes)" , 245, 50); + } else if(qtdApps > 9) { + grapCont.drawString("Sute de Testes 01 (" + qtdApps + " Aplicaes)" , 245, 50); + } else { + grapCont.drawString("Sute de Testes 01 (" + qtdApps + " Aplicaes)" , 245, 50); + } + + labExec.setIcon(imgBgExec); + + } catch (IOException e) { + e.printStackTrace(); + } + + form.removeAll(); + form.addComponent(labExec); + form.addComponent(logo); + + form.show(); + + } + + private void exibeImagemFinal() { + form.removeAll(); + + Label labelEnd = new Label(); + labelEnd.setSize(new Dimension(form.getWidth(), form.getHeight())); + labelEnd.getStyle().setBgColor(Color.WHITE); + + try { + Image imgEnd = Image.createImage("plaver/imagens/fim.png"); + labelEnd.setIcon(imgEnd); + + form.addComponent(labelEnd); + form.show(); + } catch (IOException e) { + e.printStackTrace(); + } + } + + private void exibeQRCode() { + String strResult = ""; + + /* No h nenhuma aplicao no visual para ser apresentada no QR Code*/ + if(boolVector.length == 0) + return; + + BitToString bitToString = new BitToString(); + bitToString.addBits(boolVector); + + strResult = bitToString.getString(); + +// imprimeDebuger(strResult, boolVector); + + Label bbbImage = new Label(); + + QRCode qr = new QRCode(2, 3, 2, strResult); + qr.init(); + + Image imagem = null; + try { + imagem = MatrizImgQR.GerarImagem(qr.getVector(), qr.getVersion(), qr.getEccLevel(), 14); + } catch (IOException e1) { + e1.printStackTrace(); + } + + bbbImage.setX((int)(form.getWidth()/2.05) - imagem.getWidth()/2); + bbbImage.setY((int)(form.getHeight()/1.55) - imagem.getHeight()/2); + bbbImage.getStyle().setBgColor(Color.WHITE); + bbbImage.setIcon(imagem); + + form.addComponent(bbbImage); + form.repaint(); + } + + /* Exibe na tela informaes como: String codificada e lista de resultados das aplicaes no-visuais */ +// private void imprimeDebuger(String strResult, boolean[] boolVector) { +// +// int cont = 1; +// +// Label texto = new Label(); +// texto.setText(strResult); +// texto.setX(30); +// texto.setY(10); +// form.addComponent(texto); +// +// texto = new Label(); +// +// strResult = "["; +// for(int i = 0; i < (boolVector.length - 1); i++) { +// +// if(i%20 == 0 && i != 0) { +// cont++; +// +// texto = new Label(); +// texto.setX(30); +// texto.setY(20*cont); +// texto.setText(strResult); +// +// form.addComponent(texto); +// strResult = " "; +// +// } +// +// strResult += boolVector[i] + ", "; +// } +// strResult += boolVector[boolVector.length - 1] + "]"; +// cont++; +// +// texto = new Label(); +// texto.setText(strResult); +// texto.setX(30); +// texto.setY(20*cont); +// form.addComponent(texto); +// } + + public void pauseXlet() { + + } + + public void destroyXlet(boolean unconditional) + throws XletStateChangeException { + } +} diff --git a/Projeto PPB-Ginga/Plaver Framework/apps.txt b/Projeto PPB-Ginga/Plaver Framework/apps.txt new file mode 100644 index 0000000..d60a1fe --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/apps.txt @@ -0,0 +1,19 @@ +[timeout_default] +[classname] [id] [modo_de_execuo(auto/interactive)] [timeout] +15000 + +plaver.com.sun.dtv.lwuit.Graphics.ClearRectTest 001 interactive +plaver.com.sun.dtv.lwuit.Graphics.ClipRectTest 002 interactive +plaver.com.sun.dtv.lwuit.Graphics.CopyAreaTest 003 interactive +plaver.com.sun.dtv.lwuit.Graphics.Draw3DRectTest 004 interactive + +plaver.javax.tv.media.Awtvideosize.EqualsTest 005 auto +plaver.javax.tv.media.Awtvideosize.GetDestinationTest 006 auto +plaver.javax.tv.media.Awtvideosize.GetSourceTest 007 auto + +plaver.com.sun.dtv.ui.DownloadableFont.InstallFontTest 008 auto 50000 + +plaver.com.sun.dtv.ui.event.KeyEvent.GetInstancesTest 009 auto +plaver.com.sun.dtv.ui.event.KeyEvent.AddResourceTypeListenerTest 010 auto 20000 +plaver.com.sun.dtv.ui.event.KeyEvent.IsAvailableTest 011 auto +plaver.com.sun.dtv.ui.event.KeyEvent.ReleaseTest 012 auto diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/ClearRectTest.java b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/ClearRectTest.java new file mode 100644 index 0000000..9ffed28 --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/ClearRectTest.java @@ -0,0 +1,72 @@ +package plaver.com.sun.dtv.lwuit.Graphics; + +import java.awt.Color; + +import plaver.dtvtest.DTVTest; +import plaver.dtvtest.DTVTestLog; + +import com.sun.dtv.lwuit.Form; +import com.sun.dtv.lwuit.Graphics; +import com.sun.dtv.lwuit.Image; +import com.sun.dtv.lwuit.Label; +import com.sun.dtv.lwuit.geom.Dimension; + +public class ClearRectTest implements DTVTest { + + private DTVTestLog dtvTestLog; + private Form form; + private Graphics g; + + private Dimension dimImg; + private Dimension dimLabel; + + private Label labelImg; + + public void setLog(DTVTestLog log) { + this.dtvTestLog = log; + } + + public void init() { + // TODO Auto-generated method stub + } + + public void start() { + + dimImg = new Dimension(form.getWidth()/100 * 30,form.getHeight()/100 * 30); + dimLabel = new Dimension((int)(dimImg.getWidth()*1.3),(int)(dimImg.getHeight()*1.3)); + + Image img = Image.createImage(dimImg.getWidth(),dimImg.getHeight()); + + g = img.getGraphics(); + g.setColor(Color.BLACK); + + g.fill3DRect(0,0,100,100, true); + g.clearRect(10, 10, 70, 70); + + labelImg = new Label(); + labelImg.getStyle().setBgColor(Color.WHITE); + labelImg.setSize(dimLabel); + labelImg.setX((int)((form.getWidth() - dimImg.getWidth())/1.8)); + labelImg.setY((int)((form.getHeight() - dimImg.getHeight())/1.2)); + + labelImg.setIcon(img); + form.addComponent(labelImg); + + form.repaint(); + dtvTestLog.visualAppFinished(); + + } + + public void pause() { + // TODO Auto-generated method stub + } + + public void destroy() { + form.removeComponent(labelImg); + } + + public void setForm(Form form) { + this.form = form; + } + +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/ClipRectTest.java b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/ClipRectTest.java new file mode 100644 index 0000000..d0e9b6b --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/ClipRectTest.java @@ -0,0 +1,73 @@ +package plaver.com.sun.dtv.lwuit.Graphics; + +import java.awt.Color; + +import plaver.dtvtest.DTVTest; +import plaver.dtvtest.DTVTestLog; + +import com.sun.dtv.lwuit.Form; +import com.sun.dtv.lwuit.Graphics; +import com.sun.dtv.lwuit.Image; +import com.sun.dtv.lwuit.Label; +import com.sun.dtv.lwuit.geom.Dimension; + +public class ClipRectTest implements DTVTest { + + private DTVTestLog dtvTestLog; + private Form form; + private Graphics g; + + private Dimension dimImg; + private Dimension dimLabel; + + private Label labelImg; + + public void setLog(DTVTestLog log) { + this.dtvTestLog = log; + } + + public void init() { + // TODO Auto-generated method stub + } + + public void start() { + + dimImg = new Dimension(form.getWidth()/100 * 30,form.getHeight()/100 * 30); + dimLabel = new Dimension((int)(dimImg.getWidth()*1.3),(int)(dimImg.getHeight()*1.3)); + + Image img = Image.createImage(dimImg.getWidth(),dimImg.getHeight()); + + g = img.getGraphics(); + g.clipRect( 25, 0, 100, 100 ); + g.setColor( Color.RED ); + g.fillRect( 0, 0, 100, 100 ); + g.setColor( Color.BLACK ); + g.drawOval( 50, 0, 100, 100 ); + + labelImg = new Label(); + labelImg.getStyle().setBgColor(Color.WHITE); + labelImg.setSize(dimLabel); + labelImg.setX((int)((form.getWidth() - dimImg.getWidth())/1.8)); + labelImg.setY((int)((form.getHeight() - dimImg.getHeight())/1.2)); + + labelImg.setIcon(img); + form.addComponent(labelImg); + + form.repaint(); + dtvTestLog.visualAppFinished(); + + } + + public void pause() { + // TODO Auto-generated method stub + } + + public void destroy() { + form.removeComponent(labelImg); + } + + public void setForm(Form form) { + this.form = form; + } + +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/CopyAreaTest.java b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/CopyAreaTest.java new file mode 100644 index 0000000..b750616 --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/CopyAreaTest.java @@ -0,0 +1,79 @@ +package plaver.com.sun.dtv.lwuit.Graphics; + +import java.awt.Color; + +import plaver.dtvtest.DTVTest; +import plaver.dtvtest.DTVTestLog; + +import com.sun.dtv.lwuit.Form; +import com.sun.dtv.lwuit.Graphics; +import com.sun.dtv.lwuit.Image; +import com.sun.dtv.lwuit.Label; +import com.sun.dtv.lwuit.geom.Dimension; + +public class CopyAreaTest implements DTVTest { + + private DTVTestLog dtvTestLog; + private Form form; + private Graphics g; + + private Dimension dimImg; + private Dimension dimLabel; + + private Label labelImg; + + public void setLog(DTVTestLog log) { + this.dtvTestLog = log; + } + + public void init() { + // TODO Auto-generated method stub + } + + public void start() { + dimImg = new Dimension(form.getWidth()/100 * 30,form.getHeight()/100 * 30); + dimLabel = new Dimension((int)(dimImg.getWidth()*1.3),(int)(dimImg.getHeight()*1.3)); + + Image img = Image.createImage(dimImg.getWidth(),dimImg.getHeight()); + + g = img.getGraphics(); + g.setColor(Color.BLACK); + + try { + g.drawRect(0,0, 100, 100); + g.fillRect(0, 0, 50, 50); + g.copyArea(0, 0,50,50,110,110); + } catch (Exception e1) { + e1.printStackTrace(); + } + + labelImg = new Label(); + labelImg.getStyle().setBgColor(Color.WHITE); + labelImg.setSize(dimLabel); + labelImg.setX((int)((form.getWidth() - dimImg.getWidth())/1.8)); + labelImg.setY((int)((form.getHeight() - dimImg.getHeight())/1.2)); + + labelImg.setIcon(img); + form.addComponent(labelImg); + + form.repaint(); + dtvTestLog.visualAppFinished(); + + + + } + + public void pause() { + // TODO Auto-generated method stub + + } + + public void destroy() { + form.removeComponent(labelImg); + } + + public void setForm(Form form) { + this.form = form; + } + +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/Draw3DRectTest.java b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/Draw3DRectTest.java new file mode 100644 index 0000000..d42625a --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/Draw3DRectTest.java @@ -0,0 +1,72 @@ +package plaver.com.sun.dtv.lwuit.Graphics; + +import java.awt.Color; + +import plaver.dtvtest.DTVTest; +import plaver.dtvtest.DTVTestLog; + +import com.sun.dtv.lwuit.Form; +import com.sun.dtv.lwuit.Graphics; +import com.sun.dtv.lwuit.Image; +import com.sun.dtv.lwuit.Label; +import com.sun.dtv.lwuit.geom.Dimension; + +public class Draw3DRectTest implements DTVTest { + + private DTVTestLog dtvTestLog; + private Form form; + private Graphics g; + + private Dimension dimImg; + private Dimension dimLabel; + + private Label labelImg; + + public void setLog(DTVTestLog log) { + this.dtvTestLog = log; + } + + public void init() { + // TODO Auto-generated method stub + } + + public void start() { + + dimImg = new Dimension(form.getWidth()/100 * 30,form.getHeight()/100 * 30); + dimLabel = new Dimension((int)(dimImg.getWidth()*1.3),(int)(dimImg.getHeight()*1.3)); + + Image img = Image.createImage(dimImg.getWidth(),dimImg.getHeight()); + + g = img.getGraphics(); + g.setColor(Color.BLACK); + + g.draw3DRect(0, 0, 100,100, true); + + labelImg = new Label(); + labelImg.getStyle().setBgColor(Color.WHITE); + labelImg.setSize(dimLabel); + labelImg.setX((int)((form.getWidth() - dimImg.getWidth())/1.8)); + labelImg.setY((int)((form.getHeight() - dimImg.getHeight())/1.2)); + + labelImg.setIcon(img); + form.addComponent(labelImg); + + form.repaint(); + dtvTestLog.visualAppFinished(); + + } + + public void pause() { + // TODO Auto-generated method stub + + } + + public void destroy() { + form.removeComponent(labelImg); + } + + public void setForm(Form form) { + this.form = form; + } + +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/DrawArcTest.java b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/DrawArcTest.java new file mode 100644 index 0000000..b986ef3 --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/DrawArcTest.java @@ -0,0 +1,74 @@ +package plaver.com.sun.dtv.lwuit.Graphics; + +import java.awt.Color; + +import plaver.dtvtest.DTVTest; +import plaver.dtvtest.DTVTestLog; + +import com.sun.dtv.lwuit.Form; +import com.sun.dtv.lwuit.Graphics; +import com.sun.dtv.lwuit.Image; +import com.sun.dtv.lwuit.Label; +import com.sun.dtv.lwuit.geom.Dimension; + +public class DrawArcTest implements DTVTest { + + private DTVTestLog dtvTestLog; + private Form form; + private Graphics g; + + private Dimension dimImg; + private Dimension dimLabel; + + private Label labelImg; + + public void setLog(DTVTestLog log) { + this.dtvTestLog = log; + } + + public void init() { + // TODO Auto-generated method stub + } + + public void start() { + + + dimImg = new Dimension(form.getWidth()/100 * 30,form.getHeight()/100 * 30); + dimLabel = new Dimension((int)(dimImg.getWidth()*1.3),(int)(dimImg.getHeight()*1.3)); + + Image img = Image.createImage(dimImg.getWidth(),dimImg.getHeight()); + + g = img.getGraphics(); + g.setColor(Color.BLACK); + + g.drawArc(0, 0, 100, 100, 100, 100); + + labelImg = new Label(); + labelImg.getStyle().setBgColor(Color.WHITE); + labelImg.setSize(dimLabel); + labelImg.setX((int)((form.getWidth() - dimImg.getWidth())/1.8)); + labelImg.setY((int)((form.getHeight() - dimImg.getHeight())/1.2)); + + labelImg.setIcon(img); + form.addComponent(labelImg); + + form.repaint(); + dtvTestLog.visualAppFinished(); + + + } + + public void pause() { + // TODO Auto-generated method stub + + } + + public void destroy() { + form.removeComponent(labelImg); + } + + public void setForm(Form form) { + this.form = form; + } + +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/DrawBytesTest.java b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/DrawBytesTest.java new file mode 100644 index 0000000..81134f9 --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/DrawBytesTest.java @@ -0,0 +1,75 @@ +package plaver.com.sun.dtv.lwuit.Graphics; + +import java.awt.Color; + +import plaver.dtvtest.DTVTest; +import plaver.dtvtest.DTVTestLog; + +import com.sun.dtv.lwuit.Font; +import com.sun.dtv.lwuit.Form; +import com.sun.dtv.lwuit.Graphics; +import com.sun.dtv.lwuit.Image; +import com.sun.dtv.lwuit.Label; +import com.sun.dtv.lwuit.geom.Dimension; + +public class DrawBytesTest implements DTVTest { + + private DTVTestLog dtvTestLog; + private Form form; + private Graphics g; + + private Dimension dimImg; + private Dimension dimLabel; + + private Label labelImg; + + public void setLog(DTVTestLog log) { + this.dtvTestLog = log; + } + + public void init() { + // TODO Auto-generated method stub + } + + public void start() { + + + dimImg = new Dimension(form.getWidth()/100 * 30,form.getHeight()/100 * 30); + dimLabel = new Dimension((int)(dimImg.getWidth()*1.3),(int)(dimImg.getHeight()*1.3)); + + Image img = Image.createImage(dimImg.getWidth(),dimImg.getHeight()); + + g = img.getGraphics(); + g.setFont(Font.createSystemFont(Font.FACE_SYSTEM, Font.STYLE_BOLD, 50)); + g.setColor(Color.BLACK); + + byte bytepoints[] = {100, 114, 97, 119, 66, 121, 116, 101, 115}; + g.drawBytes(bytepoints, 0, bytepoints.length, 10, 10); + + labelImg = new Label(); + labelImg.getStyle().setBgColor(Color.WHITE); + labelImg.setSize(dimLabel); + labelImg.setX((int)((form.getWidth() - dimImg.getWidth())/1.8)); + labelImg.setY((int)((form.getHeight() - dimImg.getHeight())/1.2)); + + labelImg.setIcon(img); + form.addComponent(labelImg); + + form.repaint(); + dtvTestLog.visualAppFinished(); + + } + + public void pause() { + // TODO Auto-generated method stub + } + + public void destroy() { + form.removeComponent(labelImg); + } + + public void setForm(Form form) { + this.form = form; + } + +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/DrawCharTest.java b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/DrawCharTest.java new file mode 100644 index 0000000..39aae2a --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/DrawCharTest.java @@ -0,0 +1,73 @@ +package plaver.com.sun.dtv.lwuit.Graphics; + +import java.awt.Color; + +import plaver.dtvtest.DTVTest; +import plaver.dtvtest.DTVTestLog; + +import com.sun.dtv.lwuit.Font; +import com.sun.dtv.lwuit.Form; +import com.sun.dtv.lwuit.Graphics; +import com.sun.dtv.lwuit.Image; +import com.sun.dtv.lwuit.Label; +import com.sun.dtv.lwuit.geom.Dimension; + +public class DrawCharTest implements DTVTest { + + private DTVTestLog dtvTestLog; + private Form form; + private Graphics g; + + private Dimension dimImg; + private Dimension dimLabel; + + private Label labelImg; + + public void setLog(DTVTestLog log) { + this.dtvTestLog = log; + } + + public void init() { + // TODO Auto-generated method stub + } + + public void start() { + + dimImg = new Dimension(form.getWidth()/100 * 30,form.getHeight()/100 * 30); + dimLabel = new Dimension((int)(dimImg.getWidth()*1.3),(int)(dimImg.getHeight()*1.3)); + + Image img = Image.createImage(dimImg.getWidth(),dimImg.getHeight()); + + g = img.getGraphics(); + g.setFont(Font.createSystemFont(Font.FACE_SYSTEM, Font.STYLE_BOLD, 50)); + g.setColor(Color.BLACK); + g.drawChar((char) 65, 0, 0); + + labelImg = new Label(); + labelImg.getStyle().setBgColor(Color.WHITE); + labelImg.setSize(dimLabel); + labelImg.setX((int)((form.getWidth() - dimImg.getWidth())/1.8)); + labelImg.setY((int)((form.getHeight() - dimImg.getHeight())/1.2)); + + labelImg.setIcon(img); + form.addComponent(labelImg); + + form.repaint(); + dtvTestLog.visualAppFinished(); + + } + + public void pause() { + // TODO Auto-generated method stub + + } + + public void destroy() { + form.removeComponent(labelImg); + } + + public void setForm(Form form) { + this.form = form; + } + +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/DrawCharsTest.java b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/DrawCharsTest.java new file mode 100644 index 0000000..fd9fd18 --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/DrawCharsTest.java @@ -0,0 +1,78 @@ +package plaver.com.sun.dtv.lwuit.Graphics; + +import java.awt.Color; + +import plaver.dtvtest.DTVTest; +import plaver.dtvtest.DTVTestLog; + +import com.sun.dtv.lwuit.Font; +import com.sun.dtv.lwuit.Form; +import com.sun.dtv.lwuit.Graphics; +import com.sun.dtv.lwuit.Image; +import com.sun.dtv.lwuit.Label; +import com.sun.dtv.lwuit.geom.Dimension; + +public class DrawCharsTest implements DTVTest { + + private DTVTestLog dtvTestLog; + private Form form; + private Graphics g; + + private Dimension dimImg; + private Dimension dimLabel; + + private Label labelImg; + + public void setLog(DTVTestLog log) { + this.dtvTestLog = log; + } + + public void init() { + // TODO Auto-generated method stub + } + + public void start() { + + + dimImg = new Dimension(form.getWidth()/100 * 30,form.getHeight()/100 * 30); + dimLabel = new Dimension((int)(dimImg.getWidth()*1.3),(int)(dimImg.getHeight()*1.3)); + + Image img = Image.createImage(dimImg.getWidth(),dimImg.getHeight()); + + g = img.getGraphics(); + + g.setFont(Font.createSystemFont(Font.FACE_SYSTEM, Font.STYLE_BOLD, 50)); + g.setColor(Color.BLACK); + + char charpoints[] = {100, 114, 97, 119, 67, 104, 97, 114, 115}; + g.drawChars(charpoints, 0, charpoints.length, 0, 0); + + labelImg = new Label(); + labelImg.getStyle().setBgColor(Color.WHITE); + labelImg.setSize(dimLabel); + labelImg.setX((int)((form.getWidth() - dimImg.getWidth())/1.8)); + labelImg.setY((int)((form.getHeight() - dimImg.getHeight())/1.2)); + + labelImg.setIcon(img); + form.addComponent(labelImg); + + form.repaint(); + dtvTestLog.visualAppFinished(); + + + } + + public void pause() { + // TODO Auto-generated method stub + + } + + public void destroy() { + form.removeComponent(labelImg); + } + + public void setForm(Form form) { + this.form = form; + } + +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/DrawImageTest.java b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/DrawImageTest.java new file mode 100644 index 0000000..66e09ac --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/DrawImageTest.java @@ -0,0 +1,77 @@ +package plaver.com.sun.dtv.lwuit.Graphics; + +import java.awt.Color; +import java.io.IOException; + +import plaver.dtvtest.DTVTest; +import plaver.dtvtest.DTVTestLog; + +import com.sun.dtv.lwuit.Form; +import com.sun.dtv.lwuit.Graphics; +import com.sun.dtv.lwuit.Image; +import com.sun.dtv.lwuit.Label; +import com.sun.dtv.lwuit.geom.Dimension; + +public class DrawImageTest implements DTVTest { + + private DTVTestLog dtvTestLog; + private Form form; + private Graphics g; + + private Dimension dimImg; + private Dimension dimLabel; + + private Label labelImg; + + public void setLog(DTVTestLog log) { + this.dtvTestLog = log; + } + + public void init() { + // TODO Auto-generated method stub + } + + public void start() { + + dimImg = new Dimension(form.getWidth()/100 * 30,form.getHeight()/100 * 30); + dimLabel = new Dimension((int)(dimImg.getWidth()*1.3),(int)(dimImg.getHeight()*1.3)); + + Image img = Image.createImage(dimImg.getWidth(),dimImg.getHeight()); + + g = img.getGraphics(); + g.setColor(Color.BLACK); + + try { + g.drawImage(Image.createImage(new String("plaver/imagens/logo.png")), 0, 0); + } catch (IOException e1) { + e1.printStackTrace(); + } + + labelImg = new Label(); + labelImg.getStyle().setBgColor(Color.WHITE); + labelImg.setSize(dimLabel); + labelImg.setX((int)((form.getWidth() - dimImg.getWidth())/1.8)); + labelImg.setY((int)((form.getHeight() - dimImg.getHeight())/1.2)); + + labelImg.setIcon(img); + form.addComponent(labelImg); + + form.repaint(); + dtvTestLog.visualAppFinished(); + + } + + public void pause() { + // TODO Auto-generated method stub + + } + + public void destroy() { + form.removeComponent(labelImg); + } + + public void setForm(Form form) { + this.form = form; + } + +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/DrawLineTest.java b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/DrawLineTest.java new file mode 100644 index 0000000..7d198a3 --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/DrawLineTest.java @@ -0,0 +1,73 @@ +package plaver.com.sun.dtv.lwuit.Graphics; + +import java.awt.Color; + +import plaver.dtvtest.DTVTest; +import plaver.dtvtest.DTVTestLog; + +import com.sun.dtv.lwuit.Form; +import com.sun.dtv.lwuit.Graphics; +import com.sun.dtv.lwuit.Image; +import com.sun.dtv.lwuit.Label; +import com.sun.dtv.lwuit.geom.Dimension; + +public class DrawLineTest implements DTVTest { + + private DTVTestLog dtvTestLog; + private Form form; + private Graphics g; + + private Dimension dimImg; + private Dimension dimLabel; + + private Label labelImg; + + public void setLog(DTVTestLog log) { + this.dtvTestLog = log; + } + + public void init() { + // TODO Auto-generated method stub + } + + public void start() { + + + dimImg = new Dimension(form.getWidth()/100 * 30,form.getHeight()/100 * 30); + dimLabel = new Dimension((int)(dimImg.getWidth()*1.3),(int)(dimImg.getHeight()*1.3)); + + Image img = Image.createImage(dimImg.getWidth(),dimImg.getHeight()); + + g = img.getGraphics(); + g.setColor(Color.BLACK); + + g.drawLine(0, 0, 100, 100); + + labelImg = new Label(); + labelImg.getStyle().setBgColor(Color.WHITE); + labelImg.setSize(dimLabel); + labelImg.setX((int)((form.getWidth() - dimImg.getWidth())/1.8)); + labelImg.setY((int)((form.getHeight() - dimImg.getHeight())/1.2)); + + labelImg.setIcon(img); + form.addComponent(labelImg); + + form.repaint(); + dtvTestLog.visualAppFinished(); + + } + + public void pause() { + // TODO Auto-generated method stub + + } + + public void destroy() { + form.removeComponent(labelImg); + } + + public void setForm(Form form) { + this.form = form; + } + +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/DrawOvalTest.java b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/DrawOvalTest.java new file mode 100644 index 0000000..bc5c5ba --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/DrawOvalTest.java @@ -0,0 +1,73 @@ +package plaver.com.sun.dtv.lwuit.Graphics; + +import java.awt.Color; + +import plaver.dtvtest.DTVTest; +import plaver.dtvtest.DTVTestLog; + +import com.sun.dtv.lwuit.Form; +import com.sun.dtv.lwuit.Graphics; +import com.sun.dtv.lwuit.Image; +import com.sun.dtv.lwuit.Label; +import com.sun.dtv.lwuit.geom.Dimension; + +public class DrawOvalTest implements DTVTest { + + private DTVTestLog dtvTestLog; + private Form form; + private Graphics g; + + private Dimension dimImg; + private Dimension dimLabel; + + private Label labelImg; + + public void setLog(DTVTestLog log) { + this.dtvTestLog = log; + } + + public void init() { + // TODO Auto-generated method stub + } + + public void start() { + + + dimImg = new Dimension(form.getWidth()/100 * 30,form.getHeight()/100 * 30); + dimLabel = new Dimension((int)(dimImg.getWidth()*1.3),(int)(dimImg.getHeight()*1.3)); + + Image img = Image.createImage(dimImg.getWidth(),dimImg.getHeight()); + + g = img.getGraphics(); + g.setColor(Color.BLACK); + + g.drawOval(0, 0, 100, 100); + + labelImg = new Label(); + labelImg.getStyle().setBgColor(Color.WHITE); + labelImg.setSize(dimLabel); + labelImg.setX((int)((form.getWidth() - dimImg.getWidth())/1.8)); + labelImg.setY((int)((form.getHeight() - dimImg.getHeight())/1.2)); + + labelImg.setIcon(img); + form.addComponent(labelImg); + + form.repaint(); + dtvTestLog.visualAppFinished(); + + } + + public void pause() { + // TODO Auto-generated method stub + + } + + public void destroy() { + form.removeComponent(labelImg); + } + + public void setForm(Form form) { + this.form = form; + } + +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/DrawPolygonTest.java b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/DrawPolygonTest.java new file mode 100644 index 0000000..a5c2dee --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/DrawPolygonTest.java @@ -0,0 +1,78 @@ +package plaver.com.sun.dtv.lwuit.Graphics; + +import java.awt.Color; + +import plaver.dtvtest.DTVTest; +import plaver.dtvtest.DTVTestLog; + +import com.sun.dtv.lwuit.Form; +import com.sun.dtv.lwuit.Graphics; +import com.sun.dtv.lwuit.Image; +import com.sun.dtv.lwuit.Label; +import com.sun.dtv.lwuit.geom.Dimension; + +public class DrawPolygonTest implements DTVTest { + + private DTVTestLog dtvTestLog; + private Form form; + private Graphics g; + + private Dimension dimImg; + private Dimension dimLabel; + + private Label labelImg; + + public void setLog(DTVTestLog log) { + this.dtvTestLog = log; + } + + public void init() { + // TODO Auto-generated method stub + } + + public void start() { + + dimImg = new Dimension(form.getWidth()/100 * 30,form.getHeight()/100 * 30); + dimLabel = new Dimension((int)(dimImg.getWidth()*1.3),(int)(dimImg.getHeight()*1.3)); + + Image img = Image.createImage(dimImg.getWidth(),dimImg.getHeight()); + + g = img.getGraphics(); + g.setColor(Color.BLACK); + + int xpoints[] = { 25, 145, 25, 145, 25 }; + int ypoints[] = { 25, 25, 145, 145, 25 }; + int npoints = 5; + + g.drawPolygon(xpoints, ypoints, npoints); + + labelImg = new Label(); + labelImg.getStyle().setBgColor(Color.WHITE); + labelImg.setSize(dimLabel); + labelImg.setX((int)((form.getWidth() - dimImg.getWidth())/1.8)); + labelImg.setY((int)((form.getHeight() - dimImg.getHeight())/1.2)); + + labelImg.setIcon(img); + form.addComponent(labelImg); + + form.repaint(); + dtvTestLog.visualAppFinished(); + + + + } + + public void pause() { + // TODO Auto-generated method stub + + } + + public void destroy() { + form.removeComponent(labelImg); + } + + public void setForm(Form form) { + this.form = form; + } + +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/DrawPolylineTest.java b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/DrawPolylineTest.java new file mode 100644 index 0000000..964e8e9 --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/DrawPolylineTest.java @@ -0,0 +1,78 @@ +package plaver.com.sun.dtv.lwuit.Graphics; + +import java.awt.Color; + +import plaver.dtvtest.DTVTest; +import plaver.dtvtest.DTVTestLog; + +import com.sun.dtv.lwuit.Form; +import com.sun.dtv.lwuit.Graphics; +import com.sun.dtv.lwuit.Image; +import com.sun.dtv.lwuit.Label; +import com.sun.dtv.lwuit.geom.Dimension; + +public class DrawPolylineTest implements DTVTest { + + private DTVTestLog dtvTestLog; + private Form form; + private Graphics g; + + private Dimension dimImg; + private Dimension dimLabel; + + private Label labelImg; + + public void setLog(DTVTestLog log) { + this.dtvTestLog = log; + } + + public void init() { + // TODO Auto-generated method stub + } + + public void start() { + + + dimImg = new Dimension(form.getWidth()/100 * 30,form.getHeight()/100 * 30); + dimLabel = new Dimension((int)(dimImg.getWidth()*1.3),(int)(dimImg.getHeight()*1.3)); + + Image img = Image.createImage(dimImg.getWidth(),dimImg.getHeight()); + + g = img.getGraphics(); + g.setColor(Color.BLACK); + + int xpoints[] = { 25, 145, 25, 145, 25 }; + int ypoints[] = { 25, 25, 145, 145, 25 }; + int npoints = 5; + + g.drawPolygon(xpoints, ypoints, npoints); + + labelImg = new Label(); + labelImg.getStyle().setBgColor(Color.WHITE); + labelImg.setSize(dimLabel); + labelImg.setX((int)((form.getWidth() - dimImg.getWidth())/1.8)); + labelImg.setY((int)((form.getHeight() - dimImg.getHeight())/1.2)); + + labelImg.setIcon(img); + form.addComponent(labelImg); + + form.repaint(); + dtvTestLog.visualAppFinished(); + + + } + + public void pause() { + // TODO Auto-generated method stub + + } + + public void destroy() { + form.removeComponent(labelImg); + } + + public void setForm(Form form) { + this.form = form; + } + +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/DrawRectTest.java b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/DrawRectTest.java new file mode 100644 index 0000000..146fc5e --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/DrawRectTest.java @@ -0,0 +1,73 @@ +package plaver.com.sun.dtv.lwuit.Graphics; + +import java.awt.Color; + +import plaver.dtvtest.DTVTest; +import plaver.dtvtest.DTVTestLog; + +import com.sun.dtv.lwuit.Form; +import com.sun.dtv.lwuit.Graphics; +import com.sun.dtv.lwuit.Image; +import com.sun.dtv.lwuit.Label; +import com.sun.dtv.lwuit.geom.Dimension; + +public class DrawRectTest implements DTVTest { + + private DTVTestLog dtvTestLog; + private Form form; + private Graphics g; + + private Dimension dimImg; + private Dimension dimLabel; + + private Label labelImg;; + + public void setLog(DTVTestLog log) { + this.dtvTestLog = log; + } + + public void init() { + // TODO Auto-generated method stub + } + + public void start() { + + + dimImg = new Dimension(form.getWidth()/100 * 30,form.getHeight()/100 * 30); + dimLabel = new Dimension((int)(dimImg.getWidth()*1.3),(int)(dimImg.getHeight()*1.3)); + + Image img = Image.createImage(dimImg.getWidth(),dimImg.getHeight()); + + g = img.getGraphics(); + g.setColor(Color.BLACK); + + g.drawRect(10, 10, 100, 100); + + labelImg = new Label(); + labelImg.getStyle().setBgColor(Color.WHITE); + labelImg.setSize(dimLabel); + labelImg.setX((int)((form.getWidth() - dimImg.getWidth())/1.8)); + labelImg.setY((int)((form.getHeight() - dimImg.getHeight())/1.2)); + + labelImg.setIcon(img); + form.addComponent(labelImg); + + form.repaint(); + dtvTestLog.visualAppFinished(); + + } + + public void pause() { + // TODO Auto-generated method stub + + } + + public void destroy() { + form.removeComponent(labelImg); + } + + public void setForm(Form form) { + this.form = form; + } + +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/DrawRoundRectTest.java b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/DrawRoundRectTest.java new file mode 100644 index 0000000..0966dcf --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/DrawRoundRectTest.java @@ -0,0 +1,75 @@ +package plaver.com.sun.dtv.lwuit.Graphics; + +import java.awt.Color; + +import plaver.dtvtest.DTVTest; +import plaver.dtvtest.DTVTestLog; + +import com.sun.dtv.lwuit.Form; +import com.sun.dtv.lwuit.Graphics; +import com.sun.dtv.lwuit.Image; +import com.sun.dtv.lwuit.Label; +import com.sun.dtv.lwuit.geom.Dimension; + +public class DrawRoundRectTest implements DTVTest { + + private DTVTestLog dtvTestLog; + private Form form; + private Graphics g; + + private Dimension dimImg; + private Dimension dimLabel; + + private Label labelImg;; + + public void setLog(DTVTestLog log) { + this.dtvTestLog = log; + } + + public void init() { + // TODO Auto-generated method stub + } + + public void start() { + + + dimImg = new Dimension(form.getWidth()/100 * 30,form.getHeight()/100 * 30); + dimLabel = new Dimension((int)(dimImg.getWidth()*1.3),(int)(dimImg.getHeight()*1.3)); + + Image img = Image.createImage(dimImg.getWidth(),dimImg.getHeight()); + + g = img.getGraphics(); + g.setColor(Color.BLACK); + + g.drawRoundRect(10, 10, 100, 100, 50, 50); + + labelImg = new Label(); + labelImg.getStyle().setBgColor(Color.WHITE); + labelImg.setSize(dimLabel); + labelImg.setX((int)((form.getWidth() - dimImg.getWidth())/1.8)); + labelImg.setY((int)((form.getHeight() - dimImg.getHeight())/1.2)); + + labelImg.setIcon(img); + form.addComponent(labelImg); + + form.repaint(); + dtvTestLog.visualAppFinished(); + + + + } + + public void pause() { + // TODO Auto-generated method stub + + } + + public void destroy() { + form.removeComponent(labelImg); + } + + public void setForm(Form form) { + this.form = form; + } + +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/DrawStringTest.java b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/DrawStringTest.java new file mode 100644 index 0000000..66a4be5 --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/DrawStringTest.java @@ -0,0 +1,73 @@ +package plaver.com.sun.dtv.lwuit.Graphics; + +import java.awt.Color; + +import plaver.dtvtest.DTVTest; +import plaver.dtvtest.DTVTestLog; + +import com.sun.dtv.lwuit.Font; +import com.sun.dtv.lwuit.Form; +import com.sun.dtv.lwuit.Graphics; +import com.sun.dtv.lwuit.Image; +import com.sun.dtv.lwuit.Label; +import com.sun.dtv.lwuit.geom.Dimension; + +public class DrawStringTest implements DTVTest { + + private DTVTestLog dtvTestLog; + private Form form; + private Graphics g; + + private Dimension dimImg; + private Dimension dimLabel; + + private Label labelImg; + + public void setLog(DTVTestLog log) { + this.dtvTestLog = log; + } + + public void init() { + // TODO Auto-generated method stub + } + + public void start() { + + dimImg = new Dimension(form.getWidth()/100 * 30,form.getHeight()/100 * 30); + dimLabel = new Dimension((int)(dimImg.getWidth()*1.3),(int)(dimImg.getHeight()*1.3)); + + Image img = Image.createImage(dimImg.getWidth(),dimImg.getHeight()); + + g = img.getGraphics(); + g.setFont(Font.createSystemFont(Font.FACE_SYSTEM, Font.STYLE_BOLD, 50)); + g.setColor(Color.BLACK); + + g.drawString("drawString", 10, 10); + + labelImg = new Label(); + labelImg.getStyle().setBgColor(Color.WHITE); + labelImg.setSize(dimLabel); + labelImg.setX((int)((form.getWidth() - dimImg.getWidth())/1.8)); + labelImg.setY((int)((form.getHeight() - dimImg.getHeight())/1.2)); + + labelImg.setIcon(img); + form.addComponent(labelImg); + + form.repaint(); + dtvTestLog.visualAppFinished(); + + } + + public void pause() { + // TODO Auto-generated method stub + } + + public void destroy() { + form.removeComponent(labelImg); + } + + public void setForm(Form form) { + this.form = form; + } + +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/Fill3DRectTest_1.java b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/Fill3DRectTest_1.java new file mode 100644 index 0000000..9ddcbb0 --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/Fill3DRectTest_1.java @@ -0,0 +1,72 @@ +package plaver.com.sun.dtv.lwuit.Graphics; + +import java.awt.Color; + +import plaver.dtvtest.DTVTest; +import plaver.dtvtest.DTVTestLog; + +import com.sun.dtv.lwuit.Form; +import com.sun.dtv.lwuit.Graphics; +import com.sun.dtv.lwuit.Image; +import com.sun.dtv.lwuit.Label; +import com.sun.dtv.lwuit.geom.Dimension; + +public class Fill3DRectTest_1 implements DTVTest { + + private DTVTestLog dtvTestLog; + private Form form; + private Graphics g; + + private Dimension dimImg; + private Dimension dimLabel; + + private Label labelImg; + + public void setLog(DTVTestLog log) { + this.dtvTestLog = log; + } + + public void init() { + // TODO Auto-generated method stub + } + + public void start() { + + dimImg = new Dimension(form.getWidth()/100 * 30,form.getHeight()/100 * 30); + dimLabel = new Dimension((int)(dimImg.getWidth()*1.3),(int)(dimImg.getHeight()*1.3)); + + Image img = Image.createImage(dimImg.getWidth(),dimImg.getHeight()); + + g = img.getGraphics(); + g.setColor(Color.BLACK); + + g.fill3DRect(0, 0, 100, 100, true); + + labelImg = new Label(); + labelImg.getStyle().setBgColor(Color.WHITE); + labelImg.setSize(dimLabel); + labelImg.setX((int)((form.getWidth() - dimImg.getWidth())/1.8)); + labelImg.setY((int)((form.getHeight() - dimImg.getHeight())/1.2)); + + labelImg.setIcon(img); + form.addComponent(labelImg); + + form.repaint(); + dtvTestLog.visualAppFinished(); + + } + + public void pause() { + // TODO Auto-generated method stub + + } + + public void destroy() { + form.removeComponent(labelImg); + } + + public void setForm(Form form) { + this.form = form; + } + +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/Fill3DRectTest_2.java b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/Fill3DRectTest_2.java new file mode 100644 index 0000000..ac50825 --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/Fill3DRectTest_2.java @@ -0,0 +1,73 @@ +package plaver.com.sun.dtv.lwuit.Graphics; + +import java.awt.Color; + +import plaver.dtvtest.DTVTest; +import plaver.dtvtest.DTVTestLog; + +import com.sun.dtv.lwuit.Form; +import com.sun.dtv.lwuit.Graphics; +import com.sun.dtv.lwuit.Image; +import com.sun.dtv.lwuit.Label; +import com.sun.dtv.lwuit.geom.Dimension; + +public class Fill3DRectTest_2 implements DTVTest { + + private DTVTestLog dtvTestLog; + private Form form; + private Graphics g; + + private Dimension dimImg; + private Dimension dimLabel; + + private Label labelImg; + + public void setLog(DTVTestLog log) { + this.dtvTestLog = log; + } + + public void init() { + // TODO Auto-generated method stub + } + + public void start() { + + dimImg = new Dimension(form.getWidth()/100 * 30,form.getHeight()/100 * 30); + dimLabel = new Dimension((int)(dimImg.getWidth()*1.3),(int)(dimImg.getHeight()*1.3)); + + Image img = Image.createImage(dimImg.getWidth(),dimImg.getHeight()); + + g = img.getGraphics(); + g.setColor(Color.BLACK); + + g.fill3DRect(0, 0, 100, 100, true, (byte) 80); + + labelImg = new Label(); + labelImg.getStyle().setBgColor(Color.WHITE); + labelImg.setSize(dimLabel); + labelImg.setX((int)((form.getWidth() - dimImg.getWidth())/1.8)); + labelImg.setY((int)((form.getHeight() - dimImg.getHeight())/1.2)); + + labelImg.setIcon(img); + form.addComponent(labelImg); + + form.repaint(); + dtvTestLog.visualAppFinished(); + + + } + + public void pause() { + // TODO Auto-generated method stub + + } + + public void destroy() { + form.removeComponent(labelImg); + } + + public void setForm(Form form) { + this.form = form; + } + +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/FillArcTest_1.java b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/FillArcTest_1.java new file mode 100644 index 0000000..4962229 --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/FillArcTest_1.java @@ -0,0 +1,72 @@ +package plaver.com.sun.dtv.lwuit.Graphics; + +import java.awt.Color; + +import plaver.dtvtest.DTVTest; +import plaver.dtvtest.DTVTestLog; + +import com.sun.dtv.lwuit.Form; +import com.sun.dtv.lwuit.Graphics; +import com.sun.dtv.lwuit.Image; +import com.sun.dtv.lwuit.Label; +import com.sun.dtv.lwuit.geom.Dimension; + +public class FillArcTest_1 implements DTVTest { + + private DTVTestLog dtvTestLog; + private Form form; + private Graphics g; + + private Dimension dimImg; + private Dimension dimLabel; + + private Label labelImg; + + public void setLog(DTVTestLog log) { + this.dtvTestLog = log; + } + + public void init() { + // TODO Auto-generated method stub + } + + public void start() { + + dimImg = new Dimension(form.getWidth()/100 * 30,form.getHeight()/100 * 30); + dimLabel = new Dimension((int)(dimImg.getWidth()*1.3),(int)(dimImg.getHeight()*1.3)); + + Image img = Image.createImage(dimImg.getWidth(),dimImg.getHeight()); + + g = img.getGraphics(); + g.setColor(Color.BLACK); + + g.fillArc(0, 0, 100, 100, 100, 100); + + labelImg = new Label(); + labelImg.getStyle().setBgColor(Color.WHITE); + labelImg.setSize(dimLabel); + labelImg.setX((int)((form.getWidth() - dimImg.getWidth())/1.8)); + labelImg.setY((int)((form.getHeight() - dimImg.getHeight())/1.2)); + + labelImg.setIcon(img); + form.addComponent(labelImg); + + form.repaint(); + dtvTestLog.visualAppFinished(); + + } + + public void pause() { + // TODO Auto-generated method stub + + } + + public void destroy() { + form.removeComponent(labelImg); + } + + public void setForm(Form form) { + this.form = form; + } + +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/FillArcTest_2.java b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/FillArcTest_2.java new file mode 100644 index 0000000..dbebbe3 --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/FillArcTest_2.java @@ -0,0 +1,72 @@ +package plaver.com.sun.dtv.lwuit.Graphics; + +import java.awt.Color; + +import plaver.dtvtest.DTVTest; +import plaver.dtvtest.DTVTestLog; + +import com.sun.dtv.lwuit.Form; +import com.sun.dtv.lwuit.Graphics; +import com.sun.dtv.lwuit.Image; +import com.sun.dtv.lwuit.Label; +import com.sun.dtv.lwuit.geom.Dimension; + +public class FillArcTest_2 implements DTVTest { + + private DTVTestLog dtvTestLog; + private Form form; + private Graphics g; + + private Dimension dimImg; + private Dimension dimLabel; + + private Label labelImg; + + public void setLog(DTVTestLog log) { + this.dtvTestLog = log; + } + + public void init() { + // TODO Auto-generated method stub + } + + public void start() { + + dimImg = new Dimension(form.getWidth()/100 * 30,form.getHeight()/100 * 30); + dimLabel = new Dimension((int)(dimImg.getWidth()*1.3),(int)(dimImg.getHeight()*1.3)); + + Image img = Image.createImage(dimImg.getWidth(),dimImg.getHeight()); + + g = img.getGraphics(); + g.setColor(Color.BLACK); + + g.fillArc(0, 0, 100, 100, 100, 100, (byte) 80); + + labelImg = new Label(); + labelImg.getStyle().setBgColor(Color.WHITE); + labelImg.setSize(dimLabel); + labelImg.setX((int)((form.getWidth() - dimImg.getWidth())/1.8)); + labelImg.setY((int)((form.getHeight() - dimImg.getHeight())/1.2)); + + labelImg.setIcon(img); + form.addComponent(labelImg); + + form.repaint(); + dtvTestLog.visualAppFinished(); + + } + + public void pause() { + // TODO Auto-generated method stub + + } + + public void destroy() { + form.removeComponent(labelImg); + } + + public void setForm(Form form) { + this.form = form; + } + +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/FillLinearGradientTest.java b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/FillLinearGradientTest.java new file mode 100644 index 0000000..72068e7 --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/FillLinearGradientTest.java @@ -0,0 +1,71 @@ +package plaver.com.sun.dtv.lwuit.Graphics; + +import java.awt.Color; + +import plaver.dtvtest.DTVTest; +import plaver.dtvtest.DTVTestLog; + +import com.sun.dtv.lwuit.Form; +import com.sun.dtv.lwuit.Graphics; +import com.sun.dtv.lwuit.Image; +import com.sun.dtv.lwuit.Label; +import com.sun.dtv.lwuit.geom.Dimension; + +public class FillLinearGradientTest implements DTVTest { + + private DTVTestLog dtvTestLog; + private Form form; + private Graphics g; + + private Dimension dimImg; + private Dimension dimLabel; + + private Label labelImg; + + public void setLog(DTVTestLog log) { + this.dtvTestLog = log; + } + + public void init() { + // TODO Auto-generated method stub + } + + public void start() { + + dimImg = new Dimension(form.getWidth()/100 * 30,form.getHeight()/100 * 30); + dimLabel = new Dimension((int)(dimImg.getWidth()*1.3),(int)(dimImg.getHeight()*1.3)); + + Image img = Image.createImage(dimImg.getWidth(),dimImg.getHeight()); + + g = img.getGraphics(); + g.setColor(Color.BLACK); + + g.fillLinearGradient(Color.GREEN, Color.PINK, 10, 10, 100, 100, true); + + labelImg = new Label(); + labelImg.getStyle().setBgColor(Color.WHITE); + labelImg.setSize(dimLabel); + labelImg.setX((int)((form.getWidth() - dimImg.getWidth())/1.8)); + labelImg.setY((int)((form.getHeight() - dimImg.getHeight())/1.2)); + + labelImg.setIcon(img); + form.addComponent(labelImg); + + form.repaint(); + dtvTestLog.visualAppFinished(); + } + + public void pause() { + // TODO Auto-generated method stub + + } + + public void destroy() { + form.removeComponent(labelImg); + } + + public void setForm(Form form) { + this.form = form; + } + +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/FillOvalTest_1.java b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/FillOvalTest_1.java new file mode 100644 index 0000000..c8c649d --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/FillOvalTest_1.java @@ -0,0 +1,74 @@ +package plaver.com.sun.dtv.lwuit.Graphics; + +import java.awt.Color; + +import plaver.dtvtest.DTVTest; +import plaver.dtvtest.DTVTestLog; + +import com.sun.dtv.lwuit.Form; +import com.sun.dtv.lwuit.Graphics; +import com.sun.dtv.lwuit.Image; +import com.sun.dtv.lwuit.Label; +import com.sun.dtv.lwuit.geom.Dimension; + +public class FillOvalTest_1 implements DTVTest { + + private DTVTestLog dtvTestLog; + private Form form; + private Graphics g; + + private Dimension dimImg; + private Dimension dimLabel; + + private Label labelImg; + + public void setLog(DTVTestLog log) { + this.dtvTestLog = log; + } + + public void init() { + // TODO Auto-generated method stub + } + + public void start() { + + dimImg = new Dimension(form.getWidth()/100 * 30,form.getHeight()/100 * 30); + dimLabel = new Dimension((int)(dimImg.getWidth()*1.3),(int)(dimImg.getHeight()*1.3)); + + Image img = Image.createImage(dimImg.getWidth(),dimImg.getHeight()); + + g = img.getGraphics(); + g.setColor(Color.BLACK); + + g.fillOval(10, 10, 100, 100); + + labelImg = new Label(); + labelImg.getStyle().setBgColor(Color.WHITE); + labelImg.setSize(dimLabel); + labelImg.setX((int)((form.getWidth() - dimImg.getWidth())/1.8)); + labelImg.setY((int)((form.getHeight() - dimImg.getHeight())/1.2)); + + labelImg.setIcon(img); + form.addComponent(labelImg); + + form.repaint(); + dtvTestLog.visualAppFinished(); + + + + } + + public void pause() { + // TODO Auto-generated method stub + + } + + public void destroy() { + form.removeComponent(labelImg); + } + + public void setForm(Form form) { + this.form = form; + } + +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/FillOvalTest_2.java b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/FillOvalTest_2.java new file mode 100644 index 0000000..3b3b737 --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/FillOvalTest_2.java @@ -0,0 +1,73 @@ +package plaver.com.sun.dtv.lwuit.Graphics; + +import java.awt.Color; + +import plaver.dtvtest.DTVTest; +import plaver.dtvtest.DTVTestLog; + +import com.sun.dtv.lwuit.Form; +import com.sun.dtv.lwuit.Graphics; +import com.sun.dtv.lwuit.Image; +import com.sun.dtv.lwuit.Label; +import com.sun.dtv.lwuit.geom.Dimension; + +public class FillOvalTest_2 implements DTVTest { + + private DTVTestLog dtvTestLog; + private Form form; + private Graphics g; + + private Dimension dimImg; + private Dimension dimLabel; + + private Label labelImg; + + public void setLog(DTVTestLog log) { + this.dtvTestLog = log; + } + + public void init() { + // TODO Auto-generated method stub + } + + public void start() { + + dimImg = new Dimension(form.getWidth()/100 * 30,form.getHeight()/100 * 30); + dimLabel = new Dimension((int)(dimImg.getWidth()*1.3),(int)(dimImg.getHeight()*1.3)); + + Image img = Image.createImage(dimImg.getWidth(),dimImg.getHeight()); + + g = img.getGraphics(); + g.setColor(Color.BLACK); + + g.fillOval(10, 10, 100, 100, (byte) 00100110); + + labelImg = new Label(); + labelImg.getStyle().setBgColor(Color.WHITE); + labelImg.setSize(dimLabel); + labelImg.setX((int)((form.getWidth() - dimImg.getWidth())/1.8)); + labelImg.setY((int)((form.getHeight() - dimImg.getHeight())/1.2)); + + labelImg.setIcon(img); + form.addComponent(labelImg); + + form.repaint(); + dtvTestLog.visualAppFinished(); + + + } + + public void pause() { + // TODO Auto-generated method stub + + } + + public void destroy() { + form.removeComponent(labelImg); + } + + public void setForm(Form form) { + this.form = form; + } + +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/FillPolygonTest_1.java b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/FillPolygonTest_1.java new file mode 100644 index 0000000..6731459 --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/FillPolygonTest_1.java @@ -0,0 +1,76 @@ +package plaver.com.sun.dtv.lwuit.Graphics; + +import java.awt.Color; + +import plaver.dtvtest.DTVTest; +import plaver.dtvtest.DTVTestLog; + +import com.sun.dtv.lwuit.Form; +import com.sun.dtv.lwuit.Graphics; +import com.sun.dtv.lwuit.Image; +import com.sun.dtv.lwuit.Label; +import com.sun.dtv.lwuit.geom.Dimension; + +public class FillPolygonTest_1 implements DTVTest { + + private DTVTestLog dtvTestLog; + private Form form; + private Graphics g; + + private Dimension dimImg; + private Dimension dimLabel; + + private Label labelImg; + + public void setLog(DTVTestLog log) { + this.dtvTestLog = log; + } + + public void init() { + // TODO Auto-generated method stub + } + + public void start() { + + dimImg = new Dimension(form.getWidth()/100 * 30,form.getHeight()/100 * 30); + dimLabel = new Dimension((int)(dimImg.getWidth()*1.3),(int)(dimImg.getHeight()*1.3)); + + Image img = Image.createImage(dimImg.getWidth(),dimImg.getHeight()); + + g = img.getGraphics(); + g.setColor(Color.BLACK); + + int xpoints[] = { 25, 145, 25, 145, 25 }; + int ypoints[] = { 25, 25, 145, 145, 25 }; + int npoints = 5; + + g.fillPolygon(xpoints, ypoints, npoints); + + labelImg = new Label(); + labelImg.getStyle().setBgColor(Color.WHITE); + labelImg.setSize(dimLabel); + labelImg.setX((int)((form.getWidth() - dimImg.getWidth())/1.8)); + labelImg.setY((int)((form.getHeight() - dimImg.getHeight())/1.2)); + + labelImg.setIcon(img); + form.addComponent(labelImg); + + form.repaint(); + dtvTestLog.visualAppFinished(); + + } + + public void pause() { + // TODO Auto-generated method stub + + } + + public void destroy() { + form.removeComponent(labelImg); + } + + public void setForm(Form form) { + this.form = form; + } + +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/FillPolygonTest_2.java b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/FillPolygonTest_2.java new file mode 100644 index 0000000..fe280a5 --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/FillPolygonTest_2.java @@ -0,0 +1,77 @@ +package plaver.com.sun.dtv.lwuit.Graphics; + +import java.awt.Color; + +import plaver.dtvtest.DTVTest; +import plaver.dtvtest.DTVTestLog; + +import com.sun.dtv.lwuit.Form; +import com.sun.dtv.lwuit.Graphics; +import com.sun.dtv.lwuit.Image; +import com.sun.dtv.lwuit.Label; +import com.sun.dtv.lwuit.geom.Dimension; + +public class FillPolygonTest_2 implements DTVTest { + + private DTVTestLog dtvTestLog; + private Form form; + private Graphics g; + + private Dimension dimImg; + private Dimension dimLabel; + + private Label labelImg; + + public void setLog(DTVTestLog log) { + this.dtvTestLog = log; + } + + public void init() { + // TODO Auto-generated method stub + } + + public void start() { + + dimImg = new Dimension(form.getWidth()/100 * 30,form.getHeight()/100 * 30); + dimLabel = new Dimension((int)(dimImg.getWidth()*1.3),(int)(dimImg.getHeight()*1.3)); + + Image img = Image.createImage(dimImg.getWidth(),dimImg.getHeight()); + + g = img.getGraphics(); + g.setColor(Color.BLACK); + + int xpoints[] = { 25, 145, 25, 145, 25 }; + int ypoints[] = { 25, 25, 145, 145, 25 }; + int npoints = 5; + + g.fillPolygon(xpoints, ypoints, npoints, (byte) 40); + + labelImg = new Label(); + labelImg.getStyle().setBgColor(Color.WHITE); + labelImg.setSize(dimLabel); + labelImg.setX((int)((form.getWidth() - dimImg.getWidth())/1.8)); + labelImg.setY((int)((form.getHeight() - dimImg.getHeight())/1.2)); + + labelImg.setIcon(img); + form.addComponent(labelImg); + + form.repaint(); + dtvTestLog.visualAppFinished(); + + + } + + public void pause() { + // TODO Auto-generated method stub + + } + + public void destroy() { + form.removeComponent(labelImg); + } + + public void setForm(Form form) { + this.form = form; + } + +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/FillRadialGradientTest.java b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/FillRadialGradientTest.java new file mode 100644 index 0000000..e56bd34 --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/FillRadialGradientTest.java @@ -0,0 +1,72 @@ +package plaver.com.sun.dtv.lwuit.Graphics; + +import java.awt.Color; + +import plaver.dtvtest.DTVTest; +import plaver.dtvtest.DTVTestLog; + +import com.sun.dtv.lwuit.Form; +import com.sun.dtv.lwuit.Graphics; +import com.sun.dtv.lwuit.Image; +import com.sun.dtv.lwuit.Label; +import com.sun.dtv.lwuit.geom.Dimension; + +public class FillRadialGradientTest implements DTVTest { + + private DTVTestLog dtvTestLog; + private Form form; + private Graphics g; + + private Dimension dimImg; + private Dimension dimLabel; + + private Label labelImg; + + public void setLog(DTVTestLog log) { + this.dtvTestLog = log; + } + + public void init() { + // TODO Auto-generated method stub + } + + public void start() { + + dimImg = new Dimension(form.getWidth()/100 * 30,form.getHeight()/100 * 30); + dimLabel = new Dimension((int)(dimImg.getWidth()*1.3),(int)(dimImg.getHeight()*1.3)); + + Image img = Image.createImage(dimImg.getWidth(),dimImg.getHeight()); + + g = img.getGraphics(); + g.setColor(Color.BLACK); + + g.fillRadialGradient(Color.GREEN, Color.PINK, 10, 10, 100, 100); + + labelImg = new Label(); + labelImg.getStyle().setBgColor(Color.WHITE); + labelImg.setSize(dimLabel); + labelImg.setX((int)((form.getWidth() - dimImg.getWidth())/1.8)); + labelImg.setY((int)((form.getHeight() - dimImg.getHeight())/1.2)); + + labelImg.setIcon(img); + form.addComponent(labelImg); + + form.repaint(); + dtvTestLog.visualAppFinished(); + + } + + public void pause() { + // TODO Auto-generated method stub + + } + + public void destroy() { + form.removeComponent(labelImg); + } + + public void setForm(Form form) { + this.form = form; + } + +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/FillRectTest_1.java b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/FillRectTest_1.java new file mode 100644 index 0000000..8677ee7 --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/FillRectTest_1.java @@ -0,0 +1,73 @@ +package plaver.com.sun.dtv.lwuit.Graphics; + +import java.awt.Color; + +import plaver.dtvtest.DTVTest; +import plaver.dtvtest.DTVTestLog; + +import com.sun.dtv.lwuit.Form; +import com.sun.dtv.lwuit.Graphics; +import com.sun.dtv.lwuit.Image; +import com.sun.dtv.lwuit.Label; +import com.sun.dtv.lwuit.geom.Dimension; + +public class FillRectTest_1 implements DTVTest { + + private DTVTestLog dtvTestLog; + private Form form; + private Graphics g; + + private Dimension dimImg; + private Dimension dimLabel; + + private Label labelImg; + + public void setLog(DTVTestLog log) { + this.dtvTestLog = log; + } + + public void init() { + // TODO Auto-generated method stub + } + + public void start() { + + dimImg = new Dimension(form.getWidth()/100 * 30,form.getHeight()/100 * 30); + dimLabel = new Dimension((int)(dimImg.getWidth()*1.3),(int)(dimImg.getHeight()*1.3)); + + Image img = Image.createImage(dimImg.getWidth(),dimImg.getHeight()); + + g = img.getGraphics(); + g.setColor(Color.BLACK); + + g.fillRect(0, 0, 100, 100); + + labelImg = new Label(); + labelImg.getStyle().setBgColor(Color.WHITE); + labelImg.setSize(dimLabel); + labelImg.setX((int)((form.getWidth() - dimImg.getWidth())/1.8)); + labelImg.setY((int)((form.getHeight() - dimImg.getHeight())/1.2)); + + labelImg.setIcon(img); + form.addComponent(labelImg); + + form.repaint(); + dtvTestLog.visualAppFinished(); + + + } + + public void pause() { + // TODO Auto-generated method stub + + } + + public void destroy() { + form.removeComponent(labelImg); + } + + public void setForm(Form form) { + this.form = form; + } + +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/FillRectTest_2.java b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/FillRectTest_2.java new file mode 100644 index 0000000..7e79613 --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/FillRectTest_2.java @@ -0,0 +1,73 @@ +package plaver.com.sun.dtv.lwuit.Graphics; + +import java.awt.Color; + +import plaver.dtvtest.DTVTest; +import plaver.dtvtest.DTVTestLog; + +import com.sun.dtv.lwuit.Form; +import com.sun.dtv.lwuit.Graphics; +import com.sun.dtv.lwuit.Image; +import com.sun.dtv.lwuit.Label; +import com.sun.dtv.lwuit.geom.Dimension; + +public class FillRectTest_2 implements DTVTest { + + private DTVTestLog dtvTestLog; + private Form form; + private Graphics g; + + private Dimension dimImg; + private Dimension dimLabel; + + private Label labelImg; + + public void setLog(DTVTestLog log) { + this.dtvTestLog = log; + } + + public void init() { + // TODO Auto-generated method stub + } + + public void start() { + + dimImg = new Dimension(form.getWidth()/100 * 30,form.getHeight()/100 * 30); + dimLabel = new Dimension((int)(dimImg.getWidth()*1.3),(int)(dimImg.getHeight()*1.3)); + + Image img = Image.createImage(dimImg.getWidth(),dimImg.getHeight()); + + g = img.getGraphics(); + g.setColor(Color.BLACK); + + g.fillRect(0, 0, 100, 100, (byte) 80); + + labelImg = new Label(); + labelImg.getStyle().setBgColor(Color.WHITE); + labelImg.setSize(dimLabel); + labelImg.setX((int)((form.getWidth() - dimImg.getWidth())/1.8)); + labelImg.setY((int)((form.getHeight() - dimImg.getHeight())/1.2)); + + labelImg.setIcon(img); + form.addComponent(labelImg); + + form.repaint(); + dtvTestLog.visualAppFinished(); + + + } + + public void pause() { + // TODO Auto-generated method stub + + } + + public void destroy() { + form.removeComponent(labelImg); + } + + public void setForm(Form form) { + this.form = form; + } + +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/FillRoundRectTest_1.java b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/FillRoundRectTest_1.java new file mode 100644 index 0000000..ad3b85a --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/FillRoundRectTest_1.java @@ -0,0 +1,72 @@ +package plaver.com.sun.dtv.lwuit.Graphics; + +import java.awt.Color; + +import plaver.dtvtest.DTVTest; +import plaver.dtvtest.DTVTestLog; + +import com.sun.dtv.lwuit.Form; +import com.sun.dtv.lwuit.Graphics; +import com.sun.dtv.lwuit.Image; +import com.sun.dtv.lwuit.Label; +import com.sun.dtv.lwuit.geom.Dimension; + +public class FillRoundRectTest_1 implements DTVTest { + + private DTVTestLog dtvTestLog; + private Form form; + private Graphics g; + + private Dimension dimImg; + private Dimension dimLabel; + + private Label labelImg; + + public void setLog(DTVTestLog log) { + this.dtvTestLog = log; + } + + public void init() { + // TODO Auto-generated method stub + } + + public void start() { + + dimImg = new Dimension(form.getWidth()/100 * 30,form.getHeight()/100 * 30); + dimLabel = new Dimension((int)(dimImg.getWidth()*1.3),(int)(dimImg.getHeight()*1.3)); + + Image img = Image.createImage(dimImg.getWidth(),dimImg.getHeight()); + + g = img.getGraphics(); + g.setColor(Color.BLACK); + + g.fillRoundRect(10, 10, 100, 100, 50, 50); + + labelImg = new Label(); + labelImg.getStyle().setBgColor(Color.WHITE); + labelImg.setSize(dimLabel); + labelImg.setX((int)((form.getWidth() - dimImg.getWidth())/1.8)); + labelImg.setY((int)((form.getHeight() - dimImg.getHeight())/1.2)); + + labelImg.setIcon(img); + form.addComponent(labelImg); + + form.repaint(); + dtvTestLog.visualAppFinished(); + + } + + public void pause() { + // TODO Auto-generated method stub + + } + + public void destroy() { + form.removeComponent(labelImg); + } + + public void setForm(Form form) { + this.form = form; + } + +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/FillRoundRectTest_2.java b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/FillRoundRectTest_2.java new file mode 100644 index 0000000..76a42c4 --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/FillRoundRectTest_2.java @@ -0,0 +1,73 @@ +package plaver.com.sun.dtv.lwuit.Graphics; + +import java.awt.Color; + +import plaver.dtvtest.DTVTest; +import plaver.dtvtest.DTVTestLog; + +import com.sun.dtv.lwuit.Form; +import com.sun.dtv.lwuit.Graphics; +import com.sun.dtv.lwuit.Image; +import com.sun.dtv.lwuit.Label; +import com.sun.dtv.lwuit.geom.Dimension; + +public class FillRoundRectTest_2 implements DTVTest { + + private DTVTestLog dtvTestLog; + private Form form; + private Graphics g; + + private Dimension dimImg; + private Dimension dimLabel; + + private Label labelImg; + + public void setLog(DTVTestLog log) { + this.dtvTestLog = log; + } + + public void init() { + // TODO Auto-generated method stub + } + + public void start() { + + dimImg = new Dimension(form.getWidth()/100 * 30,form.getHeight()/100 * 30); + dimLabel = new Dimension((int)(dimImg.getWidth()*1.3),(int)(dimImg.getHeight()*1.3)); + + Image img = Image.createImage(dimImg.getWidth(),dimImg.getHeight()); + + g = img.getGraphics(); + g.setColor(Color.BLACK); + + g.fillRoundRect(10, 10, 100, 100, 50, 50, (byte) 40); + + labelImg = new Label(); + labelImg.getStyle().setBgColor(Color.WHITE); + labelImg.setSize(dimLabel); + labelImg.setX((int)((form.getWidth() - dimImg.getWidth())/1.8)); + labelImg.setY((int)((form.getHeight() - dimImg.getHeight())/1.2)); + + labelImg.setIcon(img); + form.addComponent(labelImg); + + form.repaint(); + dtvTestLog.visualAppFinished(); + + + } + + public void pause() { + // TODO Auto-generated method stub + + } + + public void destroy() { + form.removeComponent(labelImg); + } + + public void setForm(Form form) { + this.form = form; + } + +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/FillTriangleTest_1.java b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/FillTriangleTest_1.java new file mode 100644 index 0000000..87a9b11 --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/FillTriangleTest_1.java @@ -0,0 +1,73 @@ +package plaver.com.sun.dtv.lwuit.Graphics; + +import java.awt.Color; + +import plaver.dtvtest.DTVTest; +import plaver.dtvtest.DTVTestLog; + +import com.sun.dtv.lwuit.Form; +import com.sun.dtv.lwuit.Graphics; +import com.sun.dtv.lwuit.Image; +import com.sun.dtv.lwuit.Label; +import com.sun.dtv.lwuit.geom.Dimension; + +public class FillTriangleTest_1 implements DTVTest { + + private DTVTestLog dtvTestLog; + private Form form; + private Graphics g; + + private Dimension dimImg; + private Dimension dimLabel; + + private Label labelImg; + + public void setLog(DTVTestLog log) { + this.dtvTestLog = log; + } + + public void init() { + // TODO Auto-generated method stub + } + + public void start() { + + dimImg = new Dimension(form.getWidth()/100 * 30,form.getHeight()/100 * 30); + dimLabel = new Dimension((int)(dimImg.getWidth()*1.3),(int)(dimImg.getHeight()*1.3)); + + Image img = Image.createImage(dimImg.getWidth(),dimImg.getHeight()); + + g = img.getGraphics(); + g.setColor(Color.BLACK); + + g.fillTriangle(10, 10, 10, 100, 100, 100); + + labelImg = new Label(); + labelImg.getStyle().setBgColor(Color.WHITE); + labelImg.setSize(dimLabel); + labelImg.setX((int)((form.getWidth() - dimImg.getWidth())/1.8)); + labelImg.setY((int)((form.getHeight() - dimImg.getHeight())/1.2)); + + labelImg.setIcon(img); + form.addComponent(labelImg); + + form.repaint(); + dtvTestLog.visualAppFinished(); + + + } + + public void pause() { + // TODO Auto-generated method stub + + } + + public void destroy() { + form.removeComponent(labelImg); + } + + public void setForm(Form form) { + this.form = form; + } + +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/FillTriangleTest_2.java b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/FillTriangleTest_2.java new file mode 100644 index 0000000..ef405f2 --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/lwuit/Graphics/FillTriangleTest_2.java @@ -0,0 +1,73 @@ +package plaver.com.sun.dtv.lwuit.Graphics; + +import java.awt.Color; + +import plaver.dtvtest.DTVTest; +import plaver.dtvtest.DTVTestLog; + +import com.sun.dtv.lwuit.Form; +import com.sun.dtv.lwuit.Graphics; +import com.sun.dtv.lwuit.Image; +import com.sun.dtv.lwuit.Label; +import com.sun.dtv.lwuit.geom.Dimension; + +public class FillTriangleTest_2 implements DTVTest { + + private DTVTestLog dtvTestLog; + private Form form; + private Graphics g; + + private Dimension dimImg; + private Dimension dimLabel; + + private Label labelImg; + + public void setLog(DTVTestLog log) { + this.dtvTestLog = log; + } + + public void init() { + // TODO Auto-generated method stub + } + + public void start() { + + dimImg = new Dimension(form.getWidth()/100 * 30,form.getHeight()/100 * 30); + dimLabel = new Dimension((int)(dimImg.getWidth()*1.3),(int)(dimImg.getHeight()*1.3)); + + Image img = Image.createImage(dimImg.getWidth(),dimImg.getHeight()); + + g = img.getGraphics(); + g.setColor(Color.BLACK); + + g.fillTriangle(10, 10, 10, 100, 100, 100, (byte) 40); + + labelImg = new Label(); + labelImg.getStyle().setBgColor(Color.WHITE); + labelImg.setSize(dimLabel); + labelImg.setX((int)((form.getWidth() - dimImg.getWidth())/1.8)); + labelImg.setY((int)((form.getHeight() - dimImg.getHeight())/1.2)); + + labelImg.setIcon(img); + form.addComponent(labelImg); + + form.repaint(); + dtvTestLog.visualAppFinished(); + + + } + + public void pause() { + // TODO Auto-generated method stub + + } + + public void destroy() { + form.removeComponent(labelImg); + } + + public void setForm(Form form) { + this.form = form; + } + +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/tuner/TesteAddResourceTypeListener_Released.java b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/tuner/TesteAddResourceTypeListener_Released.java new file mode 100644 index 0000000..cfc21c5 --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/tuner/TesteAddResourceTypeListener_Released.java @@ -0,0 +1,106 @@ +package plaver.com.sun.dtv.tuner; + +import plaver.dtvtest.DTVTest; +import plaver.dtvtest.DTVTestLog; + +import com.sun.dtv.lwuit.Form; +import com.sun.dtv.resources.ResourceTypeListener; +import com.sun.dtv.resources.ScarceResource; +import com.sun.dtv.resources.ScarceResourceListener; +import com.sun.dtv.resources.TimeoutException; +import com.sun.dtv.tuner.Tuner; + +public class TesteAddResourceTypeListener_Released implements ResourceTypeListener ,ScarceResourceListener,DTVTest { + + private DTVTestLog log; + private Tuner mainTuner; + + public void destroy() { + if( ! mainTuner.isAvailable()) + mainTuner.release(); + } + + public void init() { + // TODO Auto-generated method stub + + Tuner[] tuner; + + tuner = Tuner.getInstances(); + + if (tuner.length > 0) { + + mainTuner = tuner[0]; + + try { + mainTuner.reserve(false, 100, this); + } catch (IllegalArgumentException e) { + // TODO Auto-generated catch block + System.out.println("EXE"); + e.printStackTrace(); + } catch (SecurityException e) { + // TODO Auto-generated catch block + System.out.println("EXE"); + e.printStackTrace(); + } catch (TimeoutException e) { + // TODO Auto-generated catch block + System.out.println("EXE"); + e.printStackTrace(); + } + + mainTuner.release(); + } + + } + + public void pause() { + // TODO Auto-generated method stub + + } + + public void setLog(DTVTestLog log) { + // TODO Auto-generated method stub + this.log = log; + + } + + public void start() { + // TODO Auto-generated method stub + + } + + public void released(int arg0) { + // TODO Auto-generated method stub + System.out.println("Released :" + arg0); + + log.success(); + } + + public void reserved(int arg0) { + // TODO Auto-generated method stub + System.out.println("Reserved :" + arg0); + } + + + public void releaseForced(ScarceResource arg0) { + // TODO Auto-generated method stub + + } + + + public boolean releaseRequested(ScarceResource arg0) { + // TODO Auto-generated method stub + return false; + } + + + public void released(ScarceResource arg0) { + // TODO Auto-generated method stub + + } + + public void setForm(Form form) { + // TODO Auto-generated method stub + + } + +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/tuner/TesteAddResourceTypeListener_Reserved.java b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/tuner/TesteAddResourceTypeListener_Reserved.java new file mode 100644 index 0000000..18302c8 --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/tuner/TesteAddResourceTypeListener_Reserved.java @@ -0,0 +1,105 @@ +package plaver.com.sun.dtv.tuner; + +import plaver.dtvtest.DTVTest; +import plaver.dtvtest.DTVTestLog; + +import com.sun.dtv.lwuit.Form; +import com.sun.dtv.resources.ResourceTypeListener; +import com.sun.dtv.resources.ScarceResource; +import com.sun.dtv.resources.ScarceResourceListener; +import com.sun.dtv.resources.TimeoutException; +import com.sun.dtv.tuner.Tuner; + +public class TesteAddResourceTypeListener_Reserved implements DTVTest, + ResourceTypeListener, ScarceResourceListener { + + private DTVTestLog log; + private Tuner mainTuner; + + public void destroy() { + if( ! mainTuner.isAvailable()) + mainTuner.release(); + } + + public void init() { + // TODO Auto-generated method stub + + Tuner[] tuner; + + tuner = Tuner.getInstances(); + + if (tuner.length > 0) { + + mainTuner = tuner[0]; + + try { + mainTuner.reserve(false, 100, this); + } catch (IllegalArgumentException e) { + // TODO Auto-generated catch block + System.out.println("EXE"); + e.printStackTrace(); + } catch (SecurityException e) { + // TODO Auto-generated catch block + System.out.println("EXE"); + e.printStackTrace(); + } catch (TimeoutException e) { + // TODO Auto-generated catch block + System.out.println("EXE"); + e.printStackTrace(); + } + } + + } + + public void pause() { + // TODO Auto-generated method stub + + } + + public void setLog(DTVTestLog log) { + // TODO Auto-generated method stub + this.log = log; + + } + + public void start() { + // TODO Auto-generated method stub + + } + + public void released(int arg0) { + // TODO Auto-generated method stub + System.out.println("Released :" + arg0); + } + + public void reserved(int arg0) { + // TODO Auto-generated method stub + System.out.println("Reserved :" + arg0); + + log.success(); + } + + + public void releaseForced(ScarceResource arg0) { + // TODO Auto-generated method stub + + } + + + public boolean releaseRequested(ScarceResource arg0) { + // TODO Auto-generated method stub + return false; + } + + + public void released(ScarceResource arg0) { + // TODO Auto-generated method stub + + } + + public void setForm(Form form) { + // TODO Auto-generated method stub + + } + +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/tuner/TesteAddTunerListener_Tune.java b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/tuner/TesteAddTunerListener_Tune.java new file mode 100644 index 0000000..bffbf70 --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/tuner/TesteAddTunerListener_Tune.java @@ -0,0 +1,131 @@ +package plaver.com.sun.dtv.tuner; + +import plaver.dtvtest.DTVTest; + +import plaver.dtvtest.DTVTestLog; + +import com.sun.dtv.lwuit.Form; +import com.sun.dtv.resources.ScarceResource; +import com.sun.dtv.resources.ScarceResourceListener; +import com.sun.dtv.resources.TimeoutException; +import com.sun.dtv.transport.TransportStream; +import com.sun.dtv.tuner.Tuner; +import com.sun.dtv.tuner.TunerListener; +import com.sun.dtv.tuner.TuningCompletedEvent; +import com.sun.dtv.tuner.TuningEvent; + +public class TesteAddTunerListener_Tune implements TunerListener, DTVTest, ScarceResourceListener { + + private DTVTestLog log; + private Tuner mainTuner; + + + public void receiveTuningEvent(TuningEvent arg0) { + // TODO Auto-generated method stub + + if(arg0 instanceof TuningCompletedEvent ){ + + log.success(); + + }else{ + + } + + } + + + public void destroy() { + if( ! mainTuner.isAvailable()) + mainTuner.release(); + } + + + public void init() { + // TODO Auto-generated method stub + Tuner[] tuner; + + tuner = Tuner.getInstances(); + + if (tuner.length > 0) { + + mainTuner = tuner[0]; + + try { + mainTuner.reserve(false, 100, this); + } catch (IllegalArgumentException e) { + // TODO Auto-generated catch block + System.out.println("EXE"); + e.printStackTrace(); + } catch (SecurityException e) { + // TODO Auto-generated catch block + System.out.println("EXE"); + e.printStackTrace(); + } catch (TimeoutException e) { + // TODO Auto-generated catch block + System.out.println("EXE"); + e.printStackTrace(); + } + + TransportStream ts = mainTuner.getCurrentTransportStream(); + + if(ts.getId() == 1850){ + + log.success(); + + }else{ + + log.failure(); + + } + + + } + + } + + public void pause() { + // TODO Auto-generated method stub + + } + + + + public void setLog(DTVTestLog log) { + // TODO Auto-generated method stub + this.log = log; + } + + + public void start() { + // TODO Auto-generated method stub + + } + + + public void releaseForced(ScarceResource arg0) { + // TODO Auto-generated method stub + + } + + + public boolean releaseRequested(ScarceResource arg0) { + // TODO Auto-generated method stub + return false; + } + + + public void released(ScarceResource arg0) { + // TODO Auto-generated method stub + + } + + + public void setForm(Form form) { + // TODO Auto-generated method stub + + } + + + + +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/tuner/TesteGetAvaliableTrasportStreams.java b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/tuner/TesteGetAvaliableTrasportStreams.java new file mode 100644 index 0000000..d6e1c6f --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/tuner/TesteGetAvaliableTrasportStreams.java @@ -0,0 +1,100 @@ +package plaver.com.sun.dtv.tuner; + +import plaver.dtvtest.DTVTest; +import plaver.dtvtest.DTVTestLog; + +import com.sun.dtv.lwuit.Form; +import com.sun.dtv.resources.ScarceResource; +import com.sun.dtv.resources.ScarceResourceListener; +import com.sun.dtv.resources.TimeoutException; +import com.sun.dtv.transport.TransportStream; +import com.sun.dtv.tuner.Tuner; + +public class TesteGetAvaliableTrasportStreams implements ScarceResourceListener, DTVTest{ + + private DTVTestLog log; + + public void destroy() { + // TODO Auto-generated method stub + } + + public void init() { + // TODO Auto-generated method stub + Tuner[] tuner; + + tuner = Tuner.getInstances(); + + if (tuner.length > 0) { + + Tuner mainTuner = tuner[0]; + + try { + mainTuner.reserve(false, 100, this); + } catch (IllegalArgumentException e) { + // TODO Auto-generated catch block + System.out.println("EXE"); + e.printStackTrace(); + } catch (SecurityException e) { + // TODO Auto-generated catch block + System.out.println("EXE"); + e.printStackTrace(); + } catch (TimeoutException e) { + // TODO Auto-generated catch block + System.out.println("EXE"); + e.printStackTrace(); + } + + TransportStream[] ts = mainTuner.getAvailableTransportStreams(); + + if(ts.length >= 1){ + + log.success(); + + }else{ + + + log.failure(); + + } + + + + } + } + + public void pause() { + // TODO Auto-generated method stub + + } + + public void setLog(DTVTestLog log) { + // TODO Auto-generated method stub + this.log = log; + } + + public void start() { + // TODO Auto-generated method stub + + } + + public void releaseForced(ScarceResource arg0) { + // TODO Auto-generated method stub + + } + + public boolean releaseRequested(ScarceResource arg0) { + // TODO Auto-generated method stub + return false; + } + + public void released(ScarceResource arg0) { + // TODO Auto-generated method stub + + } + + public void setForm(Form form) { + // TODO Auto-generated method stub + + } + +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/tuner/TesteGetCurrentTransporteStream.java b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/tuner/TesteGetCurrentTransporteStream.java new file mode 100644 index 0000000..493661d --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/tuner/TesteGetCurrentTransporteStream.java @@ -0,0 +1,100 @@ +package plaver.com.sun.dtv.tuner; + +import plaver.dtvtest.DTVTest; +import plaver.dtvtest.DTVTestLog; + +import com.sun.dtv.lwuit.Form; +import com.sun.dtv.resources.ScarceResource; +import com.sun.dtv.resources.ScarceResourceListener; +import com.sun.dtv.resources.TimeoutException; +import com.sun.dtv.transport.TransportStream; +import com.sun.dtv.tuner.Tuner; + +public class TesteGetCurrentTransporteStream implements DTVTest, + ScarceResourceListener { + + private DTVTestLog log; + private Tuner mainTuner ; + + public void destroy() { + if( ! mainTuner.isAvailable()) + mainTuner.release(); + } + + public void init() { + // TODO Auto-generated method stub + Tuner[] tuner; + + tuner = Tuner.getInstances(); + + if (tuner.length > 0) { + + mainTuner = tuner[0]; + + try { + mainTuner.reserve(false, 100, this); + } catch (IllegalArgumentException e) { + // TODO Auto-generated catch block + System.out.println("EXE"); + e.printStackTrace(); + } catch (SecurityException e) { + // TODO Auto-generated catch block + System.out.println("EXE"); + e.printStackTrace(); + } catch (TimeoutException e) { + // TODO Auto-generated catch block + System.out.println("EXE"); + e.printStackTrace(); + } + + TransportStream ts = mainTuner.getCurrentTransportStream(); + + if(ts.getId() == 1850){ + + log.success(); + + }else{ + + log.failure(); + + } + + } + } + + public void pause() { + // TODO Auto-generated method stub + + } + + public void setLog(DTVTestLog log) { + // TODO Auto-generated method stub + this.log = log; + } + + public void start() { + // TODO Auto-generated method stub + + } + + public void releaseForced(ScarceResource arg0) { + // TODO Auto-generated method stub + + } + + public boolean releaseRequested(ScarceResource arg0) { + // TODO Auto-generated method stub + return false; + } + + public void released(ScarceResource arg0) { + // TODO Auto-generated method stub + + } + + public void setForm(Form form) { + // TODO Auto-generated method stub + + } + +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/tuner/TesteGetDeliverySystemType.java b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/tuner/TesteGetDeliverySystemType.java new file mode 100644 index 0000000..4ef5210 --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/tuner/TesteGetDeliverySystemType.java @@ -0,0 +1,62 @@ +package plaver.com.sun.dtv.tuner; + +import javax.tv.service.navigation.DeliverySystemType; + +import plaver.dtvtest.DTVTest; +import plaver.dtvtest.DTVTestLog; + +import com.sun.dtv.lwuit.Form; +import com.sun.dtv.tuner.Tuner; +import com.sun.dtv.tuner.TunerListener; +import com.sun.dtv.tuner.TuningEvent; + +public class TesteGetDeliverySystemType implements TunerListener, DTVTest{ + + private DTVTestLog log; + private Tuner mainTuner; + + public void destroy() { + // TODO Auto-generated method stub + } + + + public void init() { + // TODO Auto-generated method stub + + DeliverySystemType delivery; + + mainTuner = new Tuner(); + delivery = mainTuner.getDeliverySystemType(); + + if( delivery == DeliverySystemType.TERRESTRIAL){ + log.success(); + }else{ + log.failure(); + } + + } + + public void pause() { + // TODO Auto-generated method stub + } + + public void setLog(DTVTestLog log) { + // TODO Auto-generated method stub + this.log = log; + } + + public void start() { + // TODO Auto-generated method stub + } + + public void receiveTuningEvent(TuningEvent arg0) { + // TODO Auto-generated method stub + + } + + public void setForm(Form form) { + // TODO Auto-generated method stub + + } + +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/tuner/TesteGetInstances.java b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/tuner/TesteGetInstances.java new file mode 100644 index 0000000..8e4a6ec --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/tuner/TesteGetInstances.java @@ -0,0 +1,73 @@ +package plaver.com.sun.dtv.tuner; + +import plaver.dtvtest.DTVTest; +import plaver.dtvtest.DTVTestLog; + +import com.sun.dtv.lwuit.Form; +import com.sun.dtv.tuner.Tuner; +import com.sun.dtv.tuner.TunerListener; +import com.sun.dtv.tuner.TuningEvent; + +public class TesteGetInstances implements TunerListener, DTVTest { + + + private DTVTestLog log; + + + public void receiveTuningEvent(TuningEvent arg0) { + // TODO Auto-generated method stub + } + + + public void destroy() { + // TODO Auto-generated method stub + + } + + + public void init() { + // TODO Auto-generated method stub + + Tuner[] tuner; + + tuner = Tuner.getInstances(); + + if(tuner.length > 0){ + + System.out.println("Existe tuner"); + + log.success(); + + }else{ + + System.out.println("Nao existe tuner"); + + log.failure(); + } + } + + + public void pause() { + // TODO Auto-generated method stub + + } + + + public void setLog(DTVTestLog log) { + // TODO Auto-generated method stub + this.log =log; + } + + + public void start() { + // TODO Auto-generated method stub + + } + + + public void setForm(Form form) { + // TODO Auto-generated method stub + + } + +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/tuner/TesteIsAvaliable.java b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/tuner/TesteIsAvaliable.java new file mode 100644 index 0000000..17c1940 --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/tuner/TesteIsAvaliable.java @@ -0,0 +1,83 @@ +package plaver.com.sun.dtv.tuner; + +import plaver.dtvtest.DTVTest; +import plaver.dtvtest.DTVTestLog; + +import com.sun.dtv.lwuit.Form; +import com.sun.dtv.resources.ScarceResource; +import com.sun.dtv.tuner.Tuner; +import com.sun.dtv.tuner.TunerListener; +import com.sun.dtv.tuner.TuningEvent; + +public class TesteIsAvaliable implements TunerListener,DTVTest { + + private DTVTestLog log; + + public void receiveTuningEvent(TuningEvent arg0) { + // TODO Auto-generated method stub + + } + + public void destroy() { + // TODO Auto-generated method stub + + } + + public void init() { + // TODO Auto-generated method stub + + Tuner[] tuner; + + tuner = Tuner.getInstances(); + + if (tuner.length > 0) { + Tuner mainTuner = tuner[0]; + + if (mainTuner.isAvailable() == true) { + System.out.println("Nao esta sendo usado " + + mainTuner.isAvailable()); + + log.success(); + + } else { + System.out.println("Nao esta sendo usado " + + mainTuner.isAvailable()); + + log.failure(); + + } + + } + } + + public void pause() { + // TODO Auto-generated method stub + } + + public void setLog(DTVTestLog log) { + // TODO Auto-generated method stub + this.log = log; + } + + public void start() { + // TODO Auto-generated method stub + } + + public void releaseForced(ScarceResource arg0) { + // TODO Auto-generated method stub + } + + public boolean releaseRequested(ScarceResource arg0) { + // TODO Auto-generated method stub + return false; + } + + public void released(ScarceResource arg0) { + // TODO Auto-generated method stub + } + + public void setForm(Form form) { + // TODO Auto-generated method stub + } + +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/tuner/TesteRelease.java b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/tuner/TesteRelease.java new file mode 100644 index 0000000..d4aee94 --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/tuner/TesteRelease.java @@ -0,0 +1,110 @@ +package plaver.com.sun.dtv.tuner; + +import plaver.dtvtest.DTVTest; +import plaver.dtvtest.DTVTestLog; + +import com.sun.dtv.lwuit.Form; +import com.sun.dtv.resources.ScarceResource; +import com.sun.dtv.resources.ScarceResourceListener; +import com.sun.dtv.resources.TimeoutException; +import com.sun.dtv.tuner.Tuner; +import com.sun.dtv.tuner.TunerListener; +import com.sun.dtv.tuner.TuningEvent; + +public class TesteRelease implements TunerListener,ScarceResourceListener,DTVTest{ + + private DTVTestLog log; + + public void receiveTuningEvent(TuningEvent arg0) { + // TODO Auto-generated method stub + + } + + public void destroy() { + // TODO Auto-generated method stub + + } + + public void init() { + // TODO Auto-generated method stub + + Tuner[] tuner; + + tuner = Tuner.getInstances(); + + if (tuner.length > 0) { + + Tuner mainTuner = tuner[0]; + + try { + mainTuner.reserve(true, 100, this); + } catch (IllegalArgumentException e) { + // TODO Auto-generated catch block + System.out.println("EXE"); + e.printStackTrace(); + } catch (SecurityException e) { + // TODO Auto-generated catch block + System.out.println("EXE"); + e.printStackTrace(); + } catch (TimeoutException e) { + // TODO Auto-generated catch block + System.out.println("EXE"); + e.printStackTrace(); + } + + mainTuner.release(); + + if (mainTuner.isAvailable() == true) { + + System.out.println("Nao esta sendo usado " + + mainTuner.isAvailable()); + + log.success(); + + } else { + + System.out.println("Nao esta sendo usado " + + mainTuner.isAvailable()); + + log.failure(); + + } + + } + } + + public void pause() { + // TODO Auto-generated method stub + + } + + public void setLog(DTVTestLog log) { + // TODO Auto-generated method stub + this.log = log; + } + + public void start() { + // TODO Auto-generated method stub + + } + + public void releaseForced(ScarceResource arg0) { + // TODO Auto-generated method stub + + } + + public boolean releaseRequested(ScarceResource arg0) { + // TODO Auto-generated method stub + return false; + } + + public void released(ScarceResource arg0) { + // TODO Auto-generated method stub + + } + + public void setForm(Form form) { + // TODO Auto-generated method stub + + } +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/tuner/TesteReserve.java b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/tuner/TesteReserve.java new file mode 100644 index 0000000..5656e15 --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/tuner/TesteReserve.java @@ -0,0 +1,109 @@ +package plaver.com.sun.dtv.tuner; + +import plaver.dtvtest.DTVTest; +import plaver.dtvtest.DTVTestLog; + +import com.sun.dtv.lwuit.Form; +import com.sun.dtv.resources.ScarceResource; +import com.sun.dtv.resources.ScarceResourceListener; +import com.sun.dtv.resources.TimeoutException; +import com.sun.dtv.tuner.Tuner; +import com.sun.dtv.tuner.TunerListener; +import com.sun.dtv.tuner.TuningEvent; + +public class TesteReserve implements TunerListener, ScarceResourceListener ,DTVTest { + + private DTVTestLog log; + private Tuner mainTuner; + + public void receiveTuningEvent(TuningEvent arg0) { + // TODO Auto-generated method stub + + } + + public void destroy() { + if( ! mainTuner.isAvailable()) + mainTuner.release(); + } + + public void init() { + // TODO Auto-generated method stub + + Tuner[] tuner; + + tuner = Tuner.getInstances(); + + if (tuner.length > 0) { + + mainTuner = tuner[0]; + + try { + mainTuner.reserve(true, 1000, this); + } catch (IllegalArgumentException e) { + // TODO Auto-generated catch block + System.out.println("EXE"); + e.printStackTrace(); + } catch (SecurityException e) { + // TODO Auto-generated catch block + System.out.println("EXE"); + e.printStackTrace(); + } catch (TimeoutException e) { + // TODO Auto-generated catch block + System.out.println("EXE"); + e.printStackTrace(); + } + + if (mainTuner.isAvailable() == false) { + + System.out + .println("Nao esta sendo usado " + mainTuner.isAvailable()); + + log.success(); + + } else { + + System.out.println("Nao esta sendo usado " + mainTuner.isAvailable()); + + log.failure(); + + } + + } + } + + public void pause() { + // TODO Auto-generated method stub + + } + + public void setLog(DTVTestLog log) { + // TODO Auto-generated method stub + this.log =log; + } + + public void start() { + // TODO Auto-generated method stub + + } + + public void releaseForced(ScarceResource arg0) { + // TODO Auto-generated method stub + + } + + public boolean releaseRequested(ScarceResource arg0) { + // TODO Auto-generated method stub + return false; + } + + public void released(ScarceResource arg0) { + // TODO Auto-generated method stub + + } + + public void setForm(Form form) { + // TODO Auto-generated method stub + + } + +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/tuner/TesteReserveOne.java b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/tuner/TesteReserveOne.java new file mode 100644 index 0000000..588926d --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/tuner/TesteReserveOne.java @@ -0,0 +1,101 @@ +package plaver.com.sun.dtv.tuner; + +import plaver.dtvtest.DTVTest; +import plaver.dtvtest.DTVTestLog; + +import com.sun.dtv.lwuit.Form; +import com.sun.dtv.resources.ScarceResource; +import com.sun.dtv.resources.ScarceResourceListener; +import com.sun.dtv.resources.TimeoutException; +import com.sun.dtv.tuner.Tuner; +import com.sun.dtv.tuner.TunerListener; +import com.sun.dtv.tuner.TuningEvent; + +public class TesteReserveOne implements TunerListener, ScarceResourceListener, DTVTest { + + private DTVTestLog log; + private Tuner mainTuner; + + + public void receiveTuningEvent(TuningEvent arg0) { + // TODO Auto-generated method stub + } + + public void releaseForced(ScarceResource arg0) { + // TODO Auto-generated method stub + } + + public boolean releaseRequested(ScarceResource arg0) { + // TODO Auto-generated method stub + return false; + } + + public void released(ScarceResource arg0) { + // TODO Auto-generated method stub + } + + public void destroy() { + + } + + + public void init() { + // TODO Auto-generated method stub + + mainTuner = new Tuner(); + + try { + mainTuner = Tuner.reserveOne(true, 1000, this); + } catch (SecurityException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } catch (IllegalArgumentException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } catch (TimeoutException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + + if(mainTuner.isAvailable() == false ){ + + System.out.println("Nao esta sendo usado " + + mainTuner.isAvailable()); + + log.success(); + + }else{ + + System.out.println("Nao esta sendo usado " + mainTuner.isAvailable()); + + log.failure(); + + } + } + + + public void pause() { + // TODO Auto-generated method stub + + } + + + public void setLog(DTVTestLog log) { + // TODO Auto-generated method stub + this.log = log; + + } + + + public void start() { + // TODO Auto-generated method stub + + } + + + public void setForm(Form form) { + // TODO Auto-generated method stub + + } + +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/DownloadableFont/InstallFontTest.java b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/DownloadableFont/InstallFontTest.java new file mode 100644 index 0000000..ba5f3f6 --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/DownloadableFont/InstallFontTest.java @@ -0,0 +1,81 @@ +package plaver.com.sun.dtv.ui.DownloadableFont; + +import java.io.File; +import java.io.IOException; + +import plaver.dtvtest.DTVTest; +import plaver.dtvtest.DTVTestLog; + + +import com.sun.dtv.lwuit.Form; +import com.sun.dtv.ui.DownloadableFont; +import com.sun.dtv.ui.FontFileException; + +public class InstallFontTest implements DTVTest { + private DTVTestLog log; + + + public void destroy() { + // TODO Auto-generated method stub + } + + public void init() { + + } + + public void pause() { + + } + + public void setLog(DTVTestLog log) { + this.log =log; + } + + public void start() { + + if(criaDownloadableFonts() == 0) + log.failure(); + else + log.success(); + + } + + + public static final int criaDownloadableFonts() + { + String pathfont = "plaver/com/sun/dtv/ui/DownloadableFont/fonts/Tiresias_803.ttf"; + File font = new File(pathfont); + try + { + DownloadableFont.installFont(font.toURI().toURL()); + + } + catch(IllegalArgumentException e) + { + e.printStackTrace(); + return 0; + } + catch(SecurityException e) + { + e.printStackTrace(); + return 0; + } + catch(IOException e) + { + e.printStackTrace(); + return 0; + } + catch(FontFileException e) + { + e.printStackTrace(); + return 0; + } + + return 1; + } + + public void setForm(Form form) { + // TODO Auto-generated method stub + } + +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/DownloadableFont/InstallFontTimeOutTest.java b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/DownloadableFont/InstallFontTimeOutTest.java new file mode 100644 index 0000000..c12d63c --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/DownloadableFont/InstallFontTimeOutTest.java @@ -0,0 +1,90 @@ +package plaver.com.sun.dtv.ui.DownloadableFont; + +import java.io.File; +import java.io.IOException; + +import plaver.dtvtest.DTVTest; +import plaver.dtvtest.DTVTestLog; + + +import com.sun.dtv.lwuit.Form; +import com.sun.dtv.ui.DownloadableFont; +import com.sun.dtv.ui.FontFileException; + +public class InstallFontTimeOutTest implements DTVTest{ + + private DTVTestLog log; + + public void destroy() { + // TODO Auto-generated method stub + } + + public void init() { + // TODO Auto-generated method stub + } + + public void pause() { + // TODO Auto-generated method stub + } + + public void setLog(DTVTestLog log) { + this.log =log; + } + + public void start() { + + if(criaDownloadableFonts() == 0) + log.failure(); + else + log.success(); + + } + + public static final int criaDownloadableFonts () + { + String pathfont = "plaver/com/sun/dtv/ui/DownloadableFont/fonts/Tiresias_803.ttf";//Airmole_Shaded.ttf; + File file = new File(pathfont); + + try + { + DownloadableFont.installFont(file.toURI().toURL(),4000); + + } + catch(IllegalArgumentException e) + { + e.printStackTrace(); + return 0; + } + catch(SecurityException e) + { + e.printStackTrace(); + return 0; + } + catch(IOException e) + { + e.printStackTrace(); + return 0; + } + catch(FontFileException e) + { + e.printStackTrace(); + return 0; + } + return 1; + } + + public String nameClass() { + // TODO Auto-generated method stub + return " DownloadableFont"; + } + + public String nameMetodo() { + // TODO Auto-generated method stub + return "installFont(URL url, int timeout)"; + } + + public void setForm(Form form) { + // TODO Auto-generated method stub + } + +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/DownloadableFont/fonts/Tiresias_803.ttf b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/DownloadableFont/fonts/Tiresias_803.ttf new file mode 100644 index 0000000..2bb0697 Binary files /dev/null and b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/DownloadableFont/fonts/Tiresias_803.ttf differ diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/DownloadableFont/fonts/tiresias.res b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/DownloadableFont/fonts/tiresias.res new file mode 100644 index 0000000..d57e0c9 Binary files /dev/null and b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/DownloadableFont/fonts/tiresias.res differ diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/Screen/AddResourceTypeListenerTest.java b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/Screen/AddResourceTypeListenerTest.java new file mode 100644 index 0000000..32487cb --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/Screen/AddResourceTypeListenerTest.java @@ -0,0 +1,113 @@ +package plaver.com.sun.dtv.ui.Screen; + +import plaver.dtvtest.DTVTest; +import plaver.dtvtest.DTVTestLog; + +import com.sun.dtv.lwuit.Form; +import com.sun.dtv.resources.ResourceTypeListener; +import com.sun.dtv.resources.ScarceResource; +import com.sun.dtv.resources.ScarceResourceListener; +import com.sun.dtv.resources.TimeoutException; +import com.sun.dtv.ui.Device; +import com.sun.dtv.ui.Screen; + + +/** + * @author Leandro Henrique + */ + +public class AddResourceTypeListenerTest implements DTVTest, ResourceTypeListener, ScarceResourceListener{ + + private DTVTestLog dtvTestLog; + + private boolean eventoRecedido; + private Screen currentScreen; + + public void setLog(DTVTestLog log) { + this.dtvTestLog = log; + } + + public void init() { + Device device = Device.getInstance(); + currentScreen = device.getDefaultScreen(); + } + + /** + * Ser gerado um evento de release. Caso o listener adicionado seja notificado, o teste foi realizado com sucesso. + * Caso contrrio, a instncia ir gerar timeout. + */ + public void start() { + + Screen.addResourceTypeListener(this); + + if( ! currentScreen.isAvailable()) + currentScreen.release(); + + try { + currentScreen.reserve(true, -1, this); + } catch (IllegalArgumentException e2) { + e2.printStackTrace(); + } catch (TimeoutException e2) { + e2.printStackTrace(); + } + + /* Espera o evento ser recebido */ + while( ! eventoRecedido) { + + try { + Thread.sleep(300); + } catch (InterruptedException e) { + e.printStackTrace(); + break; + } + + } + + if(eventoRecedido) + dtvTestLog.success(); + else + dtvTestLog.failure(); + + } + + public void reserved(int availableCount) { + /* Evento foi recebido corretamente */ + eventoRecedido = true; + } + + public void released(int availableCount) { + // TODO Auto-generated method stub + } + + public void pause() { + // TODO Auto-generated method stub + } + + public void destroy() { + Screen.removeResourceTypeListener(this); + + if( ! currentScreen.isAvailable()) + currentScreen.release(); + } + + + public boolean releaseRequested(ScarceResource resource) { + // TODO Auto-generated method stub + return false; + } + + public void releaseForced(ScarceResource resource) { + // TODO Auto-generated method stub + } + + public void released(ScarceResource resource) { + // TODO Auto-generated method stub + } + + public void setForm(Form form) { + // TODO Auto-generated method stub + + } + +} + diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/Screen/AddScarceResourceListenerTest.java b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/Screen/AddScarceResourceListenerTest.java new file mode 100644 index 0000000..5b401b0 --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/Screen/AddScarceResourceListenerTest.java @@ -0,0 +1,87 @@ +package plaver.com.sun.dtv.ui.Screen; + +import plaver.dtvtest.DTVTest; +import plaver.dtvtest.DTVTestLog; + +import com.sun.dtv.lwuit.Form; +import com.sun.dtv.resources.ScarceResource; +import com.sun.dtv.resources.ScarceResourceListener; +import com.sun.dtv.resources.TimeoutException; +import com.sun.dtv.ui.Device; +import com.sun.dtv.ui.Screen; + + +public class AddScarceResourceListenerTest implements DTVTest, ScarceResourceListener { + + private DTVTestLog dtvTestLog; + private Screen currentScreen; + + private boolean eventoRecebido_1; + private boolean eventoRecebido_2; + private boolean eventoRecebido_3; + + + public void setLog(DTVTestLog log) { + this.dtvTestLog = log; + } + + public void init() { + Device device = Device.getInstance(); + currentScreen = device.getDefaultScreen(); + } + + public void start() { + + currentScreen.addScarceResourceListener(this); + + if( ! currentScreen.isAvailable()) + currentScreen.release(); + + try { + currentScreen.reserve(false, -1, this); + currentScreen.reserve(true , -1, this); + } catch (IllegalArgumentException e) { + e.printStackTrace(); + } catch (TimeoutException e) { + e.printStackTrace(); + } + + currentScreen.release(); + + if(eventoRecebido_1 == eventoRecebido_2 == eventoRecebido_3 == true) + dtvTestLog.success(); + else + dtvTestLog.failure(); + + } + + public boolean releaseRequested(ScarceResource resource) { + eventoRecebido_1 = true; + return false; /* Recurso no liberado */ + } + + public void releaseForced(ScarceResource resource) { + eventoRecebido_2 = true; + } + + public void released(ScarceResource resource) { + eventoRecebido_3 = true; + } + + public void pause() { + // TODO Auto-generated method stub + + } + + public void destroy() { + // TODO Auto-generated method stub + + } + + public void setForm(Form form) { + // TODO Auto-generated method stub + + } + + +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/Screen/CallSeriallyAndWaitTest.java b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/Screen/CallSeriallyAndWaitTest.java new file mode 100644 index 0000000..7a1c6e8 --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/Screen/CallSeriallyAndWaitTest.java @@ -0,0 +1,38 @@ +package plaver.com.sun.dtv.ui.Screen; + +import com.sun.dtv.lwuit.Form; + +import plaver.dtvtest.DTVTest; +import plaver.dtvtest.DTVTestLog; + +public class CallSeriallyAndWaitTest implements DTVTest{ + +private DTVTestLog dtvTestLog; + + public void setLog(DTVTestLog log) { + this.dtvTestLog = log; + } + + public void init() { + // TODO Auto-generated method stub + } + + public void start() { + // TODO Auto-generated method stub + } + + public void pause() { + // TODO Auto-generated method stub + } + + public void destroy() { + // TODO Auto-generated method stub + + } + + public void setForm(Form form) { + // TODO Auto-generated method stub + + } + +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/Screen/CallSeriallyTest.java b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/Screen/CallSeriallyTest.java new file mode 100644 index 0000000..cd61340 --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/Screen/CallSeriallyTest.java @@ -0,0 +1,41 @@ +package plaver.com.sun.dtv.ui.Screen; + +import com.sun.dtv.lwuit.Form; + +import plaver.dtvtest.DTVTest; +import plaver.dtvtest.DTVTestLog; + +public class CallSeriallyTest implements DTVTest { + + private DTVTestLog dtvTestLog; + + public void setLog(DTVTestLog log) { + this.dtvTestLog = log; + } + + public void init() { + // TODO Auto-generated method stub + + } + + public void start() { + // TODO Auto-generated method stub + + } + + public void pause() { + // TODO Auto-generated method stub + + } + + public void destroy() { + // TODO Auto-generated method stub + + } + + public void setForm(Form form) { + // TODO Auto-generated method stub + + } + +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/Screen/GetAllPlanesTest.java b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/Screen/GetAllPlanesTest.java new file mode 100644 index 0000000..60dd2f7 --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/Screen/GetAllPlanesTest.java @@ -0,0 +1,41 @@ +package plaver.com.sun.dtv.ui.Screen; + +import com.sun.dtv.lwuit.Form; + +import plaver.dtvtest.DTVTest; +import plaver.dtvtest.DTVTestLog; + +public class GetAllPlanesTest implements DTVTest { + + private DTVTestLog dtvTestLog; + + public void setLog(DTVTestLog log) { + this.dtvTestLog = log; + } + + public void init() { + // TODO Auto-generated method stub + + } + + public void start() { + // TODO Auto-generated method stub + + } + + public void pause() { + // TODO Auto-generated method stub + + } + + public void destroy() { + // TODO Auto-generated method stub + + } + + public void setForm(Form form) { + // TODO Auto-generated method stub + + } + +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/Screen/GetAvailableScreensTest.java b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/Screen/GetAvailableScreensTest.java new file mode 100644 index 0000000..a5d38c0 --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/Screen/GetAvailableScreensTest.java @@ -0,0 +1,41 @@ +package plaver.com.sun.dtv.ui.Screen; + +import com.sun.dtv.lwuit.Form; + +import plaver.dtvtest.DTVTest; +import plaver.dtvtest.DTVTestLog; + +public class GetAvailableScreensTest implements DTVTest { + + private DTVTestLog dtvTestLog; + + public void setLog(DTVTestLog log) { + this.dtvTestLog = log; + } + + public void init() { + // TODO Auto-generated method stub + + } + + public void start() { + // TODO Auto-generated method stub + + } + + public void pause() { + // TODO Auto-generated method stub + + } + + public void destroy() { + // TODO Auto-generated method stub + + } + + public void setForm(Form form) { + // TODO Auto-generated method stub + + } + +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/Screen/GetBestSetupTest.java b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/Screen/GetBestSetupTest.java new file mode 100644 index 0000000..b32a321 --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/Screen/GetBestSetupTest.java @@ -0,0 +1,41 @@ +package plaver.com.sun.dtv.ui.Screen; + +import com.sun.dtv.lwuit.Form; + +import plaver.dtvtest.DTVTest; +import plaver.dtvtest.DTVTestLog; + +public class GetBestSetupTest implements DTVTest { + + private DTVTestLog dtvTestLog; + + public void setLog(DTVTestLog log) { + this.dtvTestLog = log; + } + + public void init() { + // TODO Auto-generated method stub + + } + + public void start() { + // TODO Auto-generated method stub + + } + + public void pause() { + // TODO Auto-generated method stub + + } + + public void destroy() { + // TODO Auto-generated method stub + + } + + public void setForm(Form form) { + // TODO Auto-generated method stub + + } + +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/Screen/GetCoherentPlaneSetupsTest.java b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/Screen/GetCoherentPlaneSetupsTest.java new file mode 100644 index 0000000..277c67c --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/Screen/GetCoherentPlaneSetupsTest.java @@ -0,0 +1,41 @@ +package plaver.com.sun.dtv.ui.Screen; + +import com.sun.dtv.lwuit.Form; + +import plaver.dtvtest.DTVTest; +import plaver.dtvtest.DTVTestLog; + +public class GetCoherentPlaneSetupsTest implements DTVTest { + + private DTVTestLog dtvTestLog; + + public void setLog(DTVTestLog log) { + this.dtvTestLog = log; + } + + public void init() { + // TODO Auto-generated method stub + + } + + public void start() { + // TODO Auto-generated method stub + + } + + public void pause() { + // TODO Auto-generated method stub + + } + + public void destroy() { + // TODO Auto-generated method stub + + } + + public void setForm(Form form) { + // TODO Auto-generated method stub + + } + +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/Screen/GetCurrentScreenTest.java b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/Screen/GetCurrentScreenTest.java new file mode 100644 index 0000000..6eea2be --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/Screen/GetCurrentScreenTest.java @@ -0,0 +1,41 @@ +package plaver.com.sun.dtv.ui.Screen; + +import com.sun.dtv.lwuit.Form; + +import plaver.dtvtest.DTVTest; +import plaver.dtvtest.DTVTestLog; + +public class GetCurrentScreenTest implements DTVTest { + + private DTVTestLog dtvTestLog; + + public void setLog(DTVTestLog log) { + this.dtvTestLog = log; + } + + public void init() { + // TODO Auto-generated method stub + + } + + public void start() { + // TODO Auto-generated method stub + + } + + public void pause() { + // TODO Auto-generated method stub + + } + + public void destroy() { + // TODO Auto-generated method stub + + } + + public void setForm(Form form) { + // TODO Auto-generated method stub + + } + +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/Screen/GetDefaultScreenTest.java b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/Screen/GetDefaultScreenTest.java new file mode 100644 index 0000000..475d593 --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/Screen/GetDefaultScreenTest.java @@ -0,0 +1,41 @@ +package plaver.com.sun.dtv.ui.Screen; + +import com.sun.dtv.lwuit.Form; + +import plaver.dtvtest.DTVTest; +import plaver.dtvtest.DTVTestLog; + +public class GetDefaultScreenTest implements DTVTest { + + private DTVTestLog dtvTestLog; + + public void setLog(DTVTestLog log) { + this.dtvTestLog = log; + } + + public void init() { + // TODO Auto-generated method stub + + } + + public void start() { + // TODO Auto-generated method stub + + } + + public void pause() { + // TODO Auto-generated method stub + + } + + public void destroy() { + // TODO Auto-generated method stub + + } + + public void setForm(Form form) { + // TODO Auto-generated method stub + + } + +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/event/KeyEvent/AddResourceTypeListenerTest.java b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/event/KeyEvent/AddResourceTypeListenerTest.java new file mode 100644 index 0000000..f907931 --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/event/KeyEvent/AddResourceTypeListenerTest.java @@ -0,0 +1,121 @@ +package plaver.com.sun.dtv.ui.event.KeyEvent; + +import plaver.dtvtest.DTVTest; +import plaver.dtvtest.DTVTestLog; + +import com.sun.dtv.lwuit.Form; +import com.sun.dtv.resources.ResourceTypeListener; +import com.sun.dtv.resources.ScarceResource; +import com.sun.dtv.resources.ScarceResourceListener; +import com.sun.dtv.resources.TimeoutException; +import com.sun.dtv.ui.event.KeyEvent; + +/** + * @author Leandro Henrique + */ + +public class AddResourceTypeListenerTest implements DTVTest, ResourceTypeListener, ScarceResourceListener{ + + private DTVTestLog dtvTestLog; + + private KeyEvent recursoKE; + private boolean eventoRecedido; + + public void setForm(Form form) { + // TODO Auto-generated method stub + } + + public void setLog(DTVTestLog log) { + this.dtvTestLog = log; + } + + public void init() { + // TODO Auto-generated method stub + } + + /** + * Ser gerado um evento de release. Caso o listener adicionado seja notificado, o teste foi realizado com sucesso. + * Caso contrrio, a instncia ir gerar timeout. + */ + public void start() { + + determinaEventoKE(); + KeyEvent.addResourceTypeListener(this); + + determinaEventoKE(); + if( ! recursoKE.isAvailable()) + recursoKE.release(); + + try { + recursoKE.reserve(true, -1, this); + } catch (IllegalArgumentException e1) { + e1.printStackTrace(); + } catch (TimeoutException e1) { + e1.printStackTrace(); + } + + /* Espera o evento ser recebido */ + while( ! eventoRecedido) { + + try { + Thread.sleep(300); + } catch (InterruptedException e) { + e.printStackTrace(); + break; + } + + } + + if(eventoRecedido) + dtvTestLog.success(); + else + dtvTestLog.failure(); + + } + + public void reserved(int availableCount) { + /* Evento foi recebido corretamente */ + eventoRecedido = true; + } + + public void released(int availableCount) { + // TODO Auto-generated method stub + } + + private void determinaEventoKE() { + recursoKE = new KeyEvent(null, //Componente que originou o evento + java.awt.event.KeyEvent.KEY_RELEASED, //Tipo de evento + 0, //Tempo que o evento ocorreu + 0, //Modificadores + KeyEvent.VK_UNDEFINED, //Recurso utilizado pelo evento + KeyEvent.CHAR_UNDEFINED //Caracter unicode que gerou o evento + ); + } + + public void pause() { + // TODO Auto-generated method stub + } + + public void destroy() { + KeyEvent.removeResourceTypeListener(this); + + if( ! recursoKE.isAvailable()) + recursoKE.release(); + } + + + public boolean releaseRequested(ScarceResource resource) { + // TODO Auto-generated method stub + return false; + } + + public void releaseForced(ScarceResource resource) { + // TODO Auto-generated method stub + + } + + public void released(ScarceResource resource) { + // TODO Auto-generated method stub + } + +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/event/KeyEvent/GetInstancesTest.java b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/event/KeyEvent/GetInstancesTest.java new file mode 100644 index 0000000..ee4428c --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/event/KeyEvent/GetInstancesTest.java @@ -0,0 +1,49 @@ +package plaver.com.sun.dtv.ui.event.KeyEvent; + +import plaver.dtvtest.DTVTest; +import plaver.dtvtest.DTVTestLog; + +import com.sun.dtv.lwuit.Form; +import com.sun.dtv.ui.event.KeyEvent; + +/** + * @author Leandro Henrique + */ + +public class GetInstancesTest implements DTVTest { + + private DTVTestLog dtvTestLog; + + public void setForm(Form form) { + // TODO Auto-generated method stub + } + + public void setLog(DTVTestLog log) { + this.dtvTestLog = log; + } + + public void init() { + // TODO Auto-generated method stub + } + + /** + * Verifica se {@link KeyEvent#getInstances()} retorna um vetor de KeyEvent + */ + public void start() { + + if(KeyEvent.getInstances() instanceof KeyEvent[] ) + dtvTestLog.success(); + else + dtvTestLog.failure(); + + } + + public void pause() { + // TODO Auto-generated method stub + } + + public void destroy() { + // TODO Auto-generated method stub + } + +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/event/KeyEvent/IsAvailableTest.java b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/event/KeyEvent/IsAvailableTest.java new file mode 100644 index 0000000..669e296 --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/event/KeyEvent/IsAvailableTest.java @@ -0,0 +1,98 @@ +package plaver.com.sun.dtv.ui.event.KeyEvent; + +import plaver.dtvtest.DTVTest; +import plaver.dtvtest.DTVTestLog; + +import com.sun.dtv.lwuit.Form; +import com.sun.dtv.resources.ScarceResource; +import com.sun.dtv.resources.ScarceResourceListener; +import com.sun.dtv.resources.TimeoutException; +import com.sun.dtv.ui.event.KeyEvent; + +/** + * @author Leandro Henrique + */ + +public class IsAvailableTest implements DTVTest, ScarceResourceListener { + + private DTVTestLog dtvTestLog; + private KeyEvent recursoKE; + + public void setForm(Form form) { + // TODO Auto-generated method stub + } + + public void setLog(DTVTestLog log) { + this.dtvTestLog = log; + } + + public void init() { + determinaEventoKE(); + } + + + public void start() { + boolean isAvailable_1 = false; + boolean isAvailable_2 = false; + + try { + recursoKE.reserve(true, -1, this); + } catch (IllegalArgumentException e) { + e.printStackTrace(); + } catch (TimeoutException e) { + e.printStackTrace(); + } + + if(recursoKE.isAvailable() == false) + isAvailable_1 = true; + + recursoKE.release(); + + if(recursoKE.isAvailable() == true) + isAvailable_2 = true; + + + if(isAvailable_1 == isAvailable_2 == true) + dtvTestLog.success(); + else + dtvTestLog.failure(); + } + + /** + * Verifica o mtodo isAvailable antes e depois do recurso ser reservado + */ + private void determinaEventoKE() { + recursoKE = new KeyEvent(null, //Componente que originou o evento + java.awt.event.KeyEvent.KEY_RELEASED, //Tipo de evento + 0, //Tempo que o evento ocorreu + 0, //Modificadores + KeyEvent.VK_UNDEFINED, //Recurso utilizado pelo evento + KeyEvent.CHAR_UNDEFINED //Caracter unicode que gerou o evento + ); + } + + public void pause() { + // TODO Auto-generated method stub + } + + public void destroy() { + + if( ! recursoKE.isAvailable()) + recursoKE.release(); + + } + + public boolean releaseRequested(ScarceResource resource) { + // TODO Auto-generated method stub + return false; + } + + public void releaseForced(ScarceResource resource) { + // TODO Auto-generated method stub + } + + public void released(ScarceResource resource) { + // TODO Auto-generated method stub + } + +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/event/KeyEvent/ReleaseTest.java b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/event/KeyEvent/ReleaseTest.java new file mode 100644 index 0000000..5fdd12a --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/event/KeyEvent/ReleaseTest.java @@ -0,0 +1,90 @@ +package plaver.com.sun.dtv.ui.event.KeyEvent; + +import plaver.dtvtest.DTVTest; +import plaver.dtvtest.DTVTestLog; + +import com.sun.dtv.lwuit.Form; +import com.sun.dtv.resources.ScarceResource; +import com.sun.dtv.resources.ScarceResourceListener; +import com.sun.dtv.resources.TimeoutException; +import com.sun.dtv.ui.event.KeyEvent; + +/** + * @author Leandro Henrique + */ + +public class ReleaseTest implements DTVTest, ScarceResourceListener { + + private DTVTestLog dtvTestLog; + private KeyEvent recursoKE; + + public void setForm(Form form) { + // TODO Auto-generated method stub + } + + public void setLog(DTVTestLog log) { + this.dtvTestLog = log; + } + + public void init() { + determinaEventoKE(); + + try { + recursoKE.reserve(true, -1, this); + } catch (IllegalArgumentException e) { + e.printStackTrace(); + } catch (TimeoutException e) { + e.printStackTrace(); + } + + } + + /** + * Um recurso anteriormente reservado ser liberado atravs do mtodo {@link KeyEvent#release()}. O mtodo obter sucesso se + * a recurso estiver disponvel posteriormente. + */ + public void start() { + + recursoKE.release(); + + if(recursoKE.isAvailable()) + dtvTestLog.success(); + else + dtvTestLog.failure(); + + } + + + private void determinaEventoKE() { + recursoKE = new KeyEvent(null, //Componente que originou o evento + java.awt.event.KeyEvent.KEY_RELEASED, //Tipo de evento + 0, //Tempo que o evento ocorreu + 0, //Modificadores + KeyEvent.VK_UNDEFINED, //Recurso utilizado pelo evento + KeyEvent.CHAR_UNDEFINED //Caracter unicode que gerou o evento + ); + } + + public void pause() { + // TODO Auto-generated method stub + } + + public void destroy() { + // TODO Auto-generated method stub + } + + public boolean releaseRequested(ScarceResource resource) { + // TODO Auto-generated method stub + return false; + } + + public void releaseForced(ScarceResource resource) { + // TODO Auto-generated method stub + } + + public void released(ScarceResource resource) { + // TODO Auto-generated method stub + } + + +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/event/KeyEvent/RemoveResourceTypeListenerTest.java b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/event/KeyEvent/RemoveResourceTypeListenerTest.java new file mode 100644 index 0000000..96fa896 --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/event/KeyEvent/RemoveResourceTypeListenerTest.java @@ -0,0 +1,113 @@ +package plaver.com.sun.dtv.ui.event.KeyEvent; + +import plaver.dtvtest.DTVTest; +import plaver.dtvtest.DTVTestLog; + +import com.sun.dtv.lwuit.Form; +import com.sun.dtv.resources.ResourceTypeListener; +import com.sun.dtv.resources.ScarceResource; +import com.sun.dtv.resources.ScarceResourceListener; +import com.sun.dtv.resources.TimeoutException; +import com.sun.dtv.ui.event.KeyEvent; + +/** + * @author Leandro Henrique + */ + +public class RemoveResourceTypeListenerTest implements DTVTest, ResourceTypeListener, ScarceResourceListener { + + private DTVTestLog dtvTestLog; + + private KeyEvent recursoKE; + private boolean eventoRecedido; + + public void setForm(Form form) { + // TODO Auto-generated method stub + } + + public void setLog(DTVTestLog log) { + this.dtvTestLog = log; + } + + public void init() { + // TODO Auto-generated method stub + } + + /** + * Ser reservado um recurso. Caso o listener removido no seja notificado, o teste foi realizado com sucesso. + */ + public void start() { + KeyEvent.addResourceTypeListener(this); + KeyEvent.removeResourceTypeListener(this); + + determinaEventoKE(); + if( ! recursoKE.isAvailable()) + recursoKE.release(); + + try { + recursoKE.reserve(true, -1, this); + } catch (IllegalArgumentException e1) { + e1.printStackTrace(); + } catch (TimeoutException e1) { + e1.printStackTrace(); + } + + try { + /* Espera o evento ser recebido */ + Thread.sleep(1000); + } catch (InterruptedException e) { + e.printStackTrace(); + } + + if(eventoRecedido) + dtvTestLog.failure(); + else + dtvTestLog.success(); + + } + + public void reserved(int availableCount) { + eventoRecedido = true; + } + + public void released(int availableCount) { + // TODO Auto-generated method stub + } + + + private void determinaEventoKE() { + recursoKE = new KeyEvent(null, //Componente que originou o evento + java.awt.event.KeyEvent.KEY_RELEASED, //Tipo de evento + 0, //Tempo que o evento ocorreu + 0, //Modificadores + KeyEvent.VK_UNDEFINED, //Recurso utilizado pelo evento + KeyEvent.CHAR_UNDEFINED //Caracter unicode que gerou o evento + ); + } + + public void pause() { + // TODO Auto-generated method stub + } + + public void destroy() { + if( ! recursoKE.isAvailable()) + recursoKE.release(); + } + + public boolean releaseRequested(ScarceResource resource) { + // TODO Auto-generated method stub + return false; + } + + public void releaseForced(ScarceResource resource) { + // TODO Auto-generated method stub + + } + + public void released(ScarceResource resource) { + // TODO Auto-generated method stub + + } + + +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/event/KeyEvent/ReserveOneTest.java b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/event/KeyEvent/ReserveOneTest.java new file mode 100644 index 0000000..bb02af8 --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/event/KeyEvent/ReserveOneTest.java @@ -0,0 +1,94 @@ +package plaver.com.sun.dtv.ui.event.KeyEvent; + +import plaver.dtvtest.DTVTest; +import plaver.dtvtest.DTVTestLog; + +import com.sun.dtv.lwuit.Form; +import com.sun.dtv.resources.ScarceResource; +import com.sun.dtv.resources.ScarceResourceListener; +import com.sun.dtv.resources.TimeoutException; +import com.sun.dtv.ui.event.KeyEvent; + +/** + * @author Leandro Henrique + */ + +public class ReserveOneTest implements DTVTest, ScarceResourceListener { + + private DTVTestLog dtvTestLog; + + private KeyEvent recursoKE; + private int keyCode; + + public void setForm(Form form) { + // TODO Auto-generated method stub + } + + public void setLog(DTVTestLog log) { + this.dtvTestLog = log; + } + + public void init() { + keyCode = KeyEvent.VK_UNDEFINED; + determinaEventoKE(); + } + + + /** + * Um recurso com um keyCode especfico ser liberado atravs do mtodo {@ KeyEvent#release()} + * Posteriormente este mtodo tentar reservar um recurso com o mesmo keyCode. Caso este recurso seja reservado, + * o mtodo obter xito. + */ + public void start() { + + if( ! recursoKE.isAvailable()) + recursoKE.release(); + + try { + recursoKE = KeyEvent.reserveOne(KeyEvent.VK_UNDEFINED, true, -1, this); + } catch (IllegalArgumentException e) { + e.printStackTrace(); + } catch (TimeoutException e) { + e.printStackTrace(); + } + + if( ! recursoKE.isAvailable() && recursoKE.getKeyCode() == keyCode) + dtvTestLog.success(); + else + dtvTestLog.failure(); + + } + + private void determinaEventoKE() { + recursoKE = new KeyEvent(null, //Componente que originou o evento + java.awt.event.KeyEvent.KEY_RELEASED, //Tipo de evento + 0, //Tempo que o evento ocorreu + 0, //Modificadores + keyCode, //Recurso utilizado pelo evento + KeyEvent.CHAR_UNDEFINED //Caracter unicode que gerou o evento + ); + } + + public void pause() { + // TODO Auto-generated method stub + } + + public void destroy() { + recursoKE.release(); + } + + public boolean releaseRequested(ScarceResource resource) { + // TODO Auto-generated method stub + return false; + } + + public void releaseForced(ScarceResource resource) { + // TODO Auto-generated method stub + } + + public void released(ScarceResource resource) { + // TODO Auto-generated method stub + } + + +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/event/KeyEvent/ReserveTest.java b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/event/KeyEvent/ReserveTest.java new file mode 100644 index 0000000..03758e5 --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/event/KeyEvent/ReserveTest.java @@ -0,0 +1,89 @@ +package plaver.com.sun.dtv.ui.event.KeyEvent; + +import plaver.dtvtest.DTVTest; +import plaver.dtvtest.DTVTestLog; + +import com.sun.dtv.lwuit.Form; +import com.sun.dtv.resources.ScarceResource; +import com.sun.dtv.resources.ScarceResourceListener; +import com.sun.dtv.resources.TimeoutException; +import com.sun.dtv.ui.event.KeyEvent; + + +/** + * @author Leandro Henrique + */ + +public class ReserveTest implements DTVTest, ScarceResourceListener { + + private DTVTestLog dtvTestLog; + private KeyEvent recursoKE; + + public void setForm(Form form) { + // TODO Auto-generated method stub + } + + public void setLog(DTVTestLog log) { + this.dtvTestLog = log; + } + + public void init() { + determinaEventoKE(); + } + + /** + * Um recurso anteriormente liberado ser reservado atravs do mtodo {@link KeyEvent#reserve(boolean, long, ScarceResourceListener). + * O mtodo obter sucesso se o recurso no estiver disponvel posteriormente e se no ocorrer erros. + */ + public void start() { + + if( ! recursoKE.isAvailable()) + recursoKE.release(); + + try { + recursoKE.reserve(true, -1, this); + } catch (IllegalArgumentException e) { + dtvTestLog.failure(); + } catch (TimeoutException e) { + dtvTestLog.failure(); + } + + if(recursoKE.isAvailable() == false) + dtvTestLog.success(); + else + dtvTestLog.failure(); + + } + + private void determinaEventoKE() { + recursoKE = new KeyEvent(null, //Componente que originou o evento + java.awt.event.KeyEvent.KEY_RELEASED, //Tipo de evento + 0, //Tempo que o evento ocorreu + 0, //Modificadores + KeyEvent.VK_UNDEFINED, //Recurso utilizado pelo evento + KeyEvent.CHAR_UNDEFINED //Caracter unicode que gerou o evento + ); + } + + public void pause() { + // TODO Auto-generated method stub + } + + public void destroy() { + recursoKE.release(); + } + + public boolean releaseRequested(ScarceResource resource) { + // TODO Auto-generated method stub + return false; + } + + public void releaseForced(ScarceResource resource) { + // TODO Auto-generated method stub + } + + public void released(ScarceResource resource) { + // TODO Auto-generated method stub + } + +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/event/RemoteControlEvent/AddResourceTypeListenerTest.java b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/event/RemoteControlEvent/AddResourceTypeListenerTest.java new file mode 100644 index 0000000..c274f5f --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/event/RemoteControlEvent/AddResourceTypeListenerTest.java @@ -0,0 +1,114 @@ +package plaver.com.sun.dtv.ui.event.RemoteControlEvent; + +import plaver.dtvtest.DTVTest; +import plaver.dtvtest.DTVTestLog; + +import com.sun.dtv.lwuit.Form; +import com.sun.dtv.resources.ResourceTypeListener; +import com.sun.dtv.resources.ScarceResource; +import com.sun.dtv.resources.ScarceResourceListener; +import com.sun.dtv.resources.TimeoutException; +import com.sun.dtv.ui.event.RemoteControlEvent; + +/** + * @author Leandro Henrique + */ + +public class AddResourceTypeListenerTest implements DTVTest, ResourceTypeListener, ScarceResourceListener { + + private DTVTestLog dtvTestLog; + + private RemoteControlEvent recursoRCE; + private boolean eventoRecedido; + + public void setForm(Form form) { + // TODO Auto-generated method stub + } + + public void setLog(DTVTestLog log) { + this.dtvTestLog = log; + } + + public void init() { + determinaEventoRCE(); + } + + + /** + * Ser gerado um evento de release. Caso o listener adicionado seja notificado, o teste foi realizado com sucesso. + */ + public void start() { + RemoteControlEvent.addResourceTypeListener(this); + + if( ! recursoRCE.isAvailable()) + recursoRCE.release(); + + try { + recursoRCE.reserve(true, -1, this); + } catch (IllegalArgumentException e) { + e.printStackTrace(); + } catch (TimeoutException e) { + e.printStackTrace(); + } + + /* Espera o evento ser recebido */ + while( ! eventoRecedido) { + + try { + Thread.sleep(300); + } catch (InterruptedException e) { + e.printStackTrace(); + break; + } + + } + + if(eventoRecedido) + dtvTestLog.success(); + else + dtvTestLog.failure(); + + } + + public void reserved(int availableCount) { + /* Evento foi recebido corretamente */ + eventoRecedido = true; + } + + public void released(int availableCount) { + // TODO Auto-generated method stub + } + + private void determinaEventoRCE() { + recursoRCE = new RemoteControlEvent(null, //Componente que originou o evento + java.awt.event.KeyEvent.KEY_RELEASED, //Tipo de evento + 0, //Tempo que o evento ocorreu + 0, //Modificadores + RemoteControlEvent.VK_UNDEFINED, //Recurso utilizado pelo evento + RemoteControlEvent.CHAR_UNDEFINED //Caracter unicode que gerou o evento + ); + } + + public void pause() { + // TODO Auto-generated method stub + } + + public void destroy() { + recursoRCE.release(); + RemoteControlEvent.removeResourceTypeListener(this); + } + + public boolean releaseRequested(ScarceResource resource) { + // TODO Auto-generated method stub + return false; + } + + public void releaseForced(ScarceResource resource) { + // TODO Auto-generated method stub + } + + public void released(ScarceResource resource) { + // TODO Auto-generated method stub + } + +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/event/RemoteControlEvent/GetInstancesTest.java b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/event/RemoteControlEvent/GetInstancesTest.java new file mode 100644 index 0000000..2cb349d --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/event/RemoteControlEvent/GetInstancesTest.java @@ -0,0 +1,53 @@ +package plaver.com.sun.dtv.ui.event.RemoteControlEvent; + +import plaver.dtvtest.DTVTest; +import plaver.dtvtest.DTVTestLog; + +import com.sun.dtv.lwuit.Form; +import com.sun.dtv.ui.event.KeyEvent; +import com.sun.dtv.ui.event.RemoteControlEvent; + +/** + * @author Leandro Henrique + */ + +public class GetInstancesTest implements DTVTest { + + private DTVTestLog dtvTestLog; + + public void setForm(Form form) { + // TODO Auto-generated method stub + } + + public void setLog(DTVTestLog log) { + this.dtvTestLog = log; + } + + public void init() { + // TODO Auto-generated method stub + } + + public void start() { + testaMetodo(); + } + + /** + * Verifica se {@link RemoteControlEvent#getInstances()} retorna um vetor de KeyEvent + */ + private void testaMetodo() { + + if(KeyEvent.getInstances() instanceof KeyEvent[] ) + dtvTestLog.success(); + else + dtvTestLog.failure(); + } + + public void pause() { + // TODO Auto-generated method stub + } + + public void destroy() { + // TODO Auto-generated method stub + } + +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/event/RemoteControlEvent/RemoveResourceTypeListenerTest.java b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/event/RemoteControlEvent/RemoveResourceTypeListenerTest.java new file mode 100644 index 0000000..fdf0770 --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/event/RemoteControlEvent/RemoveResourceTypeListenerTest.java @@ -0,0 +1,107 @@ +package plaver.com.sun.dtv.ui.event.RemoteControlEvent; + +import plaver.dtvtest.DTVTest; +import plaver.dtvtest.DTVTestLog; + +import com.sun.dtv.lwuit.Form; +import com.sun.dtv.resources.ResourceTypeListener; +import com.sun.dtv.resources.ScarceResource; +import com.sun.dtv.resources.ScarceResourceListener; +import com.sun.dtv.resources.TimeoutException; +import com.sun.dtv.ui.event.RemoteControlEvent; + +/** + * @author Leandro Henrique + */ + +public class RemoveResourceTypeListenerTest implements DTVTest, ResourceTypeListener, ScarceResourceListener { + + private DTVTestLog dtvTestLog; + + private RemoteControlEvent recursoRCE; + private boolean eventoRecedido; + + public void setLog(DTVTestLog log) { + this.dtvTestLog = log; + } + + public void init() { + // TODO Auto-generated method stub + } + + /** + * Ser gerado um evento de release. Caso o listener adicionado seja notificado, o teste foi realizado com sucesso. + */ + public void start() { + + RemoteControlEvent.addResourceTypeListener(this); + RemoteControlEvent.removeResourceTypeListener(this); + + determinaEventoRCE(); + if( ! recursoRCE.isAvailable()) + recursoRCE.release(); + + try { + recursoRCE.reserve(true, -1, this); + } catch (IllegalArgumentException e1) { + e1.printStackTrace(); + } catch (TimeoutException e1) { + e1.printStackTrace(); + } + + try { + Thread.sleep(1000); + } catch (InterruptedException e) { + e.printStackTrace(); + } + + if(eventoRecedido) + dtvTestLog.failure(); + else + dtvTestLog.success(); + } + + public void released(int availableCount) { + eventoRecedido = true; + } + + private void determinaEventoRCE() { + recursoRCE = new RemoteControlEvent(null, //Componente que originou o evento + java.awt.event.KeyEvent.KEY_RELEASED, //Tipo de evento + 0, //Tempo que o evento ocorreu + 0, //Modificadores + RemoteControlEvent.VK_UNDEFINED, //Recurso utilizado pelo evento + RemoteControlEvent.CHAR_UNDEFINED //Caracter unicode que gerou o evento + ); + } + + public void reserved(int availableCount) { + eventoRecedido = true; + } + + public void released(ScarceResource resource) { + // TODO Auto-generated method stub + } + + public void pause() { + // TODO Auto-generated method stub + } + + public boolean releaseRequested(ScarceResource resource) { + // TODO Auto-generated method stub + return false; + } + + public void releaseForced(ScarceResource resource) { + // TODO Auto-generated method stub + } + + public void destroy() { + recursoRCE.release(); + } + + public void setForm(Form form) { + // TODO Auto-generated method stub + } + +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/event/RemoteControlEvent/ReserveOneTest.java b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/event/RemoteControlEvent/ReserveOneTest.java new file mode 100644 index 0000000..ce3b9e9 --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/event/RemoteControlEvent/ReserveOneTest.java @@ -0,0 +1,92 @@ +package plaver.com.sun.dtv.ui.event.RemoteControlEvent; + +import plaver.dtvtest.DTVTest; +import plaver.dtvtest.DTVTestLog; + +import com.sun.dtv.lwuit.Form; +import com.sun.dtv.resources.ScarceResource; +import com.sun.dtv.resources.ScarceResourceListener; +import com.sun.dtv.resources.TimeoutException; +import com.sun.dtv.ui.event.KeyEvent; +import com.sun.dtv.ui.event.RemoteControlEvent; + + +/** + * @author Leandro Henrique + */ + +public class ReserveOneTest implements DTVTest, ScarceResourceListener { + + private DTVTestLog dtvTestLog; + + private KeyEvent recursoRCE; + private int keyCode; + + public void setForm(Form form) { + // TODO Auto-generated method stub + } + + public void setLog(DTVTestLog log) { + this.dtvTestLog = log; + } + + public void init() { + keyCode = RemoteControlEvent.VK_UNDEFINED; + determinaEventoRCE(); + } + + + /** + * Um recurso com um keyCode especfico ser liberado atravs do mtodo {@ RemoteControlEvent#release()} + * Posteriormente este mtodo tentar reservar um recurso com o mesmo keyCode. Caso este recurso seja reservado, + * o mtodo obter xito. + */ + public void start() { + + try { + recursoRCE = KeyEvent.reserveOne(RemoteControlEvent.VK_UNDEFINED, true, -1, this); + } catch (IllegalArgumentException e) { + e.printStackTrace(); + } catch (TimeoutException e) { + e.printStackTrace(); + } + + if( ! recursoRCE.isAvailable() && recursoRCE.getKeyCode() == keyCode) + dtvTestLog.success(); + else + dtvTestLog.failure(); + } + + private void determinaEventoRCE() { + recursoRCE = new RemoteControlEvent(null, //Componente que originou o evento + java.awt.event.KeyEvent.KEY_RELEASED, //Tipo de evento + 0, //Tempo que o evento ocorreu + 0, //Modificadores + RemoteControlEvent.VK_UNDEFINED, //Recurso utilizado pelo evento + RemoteControlEvent.CHAR_UNDEFINED //Caracter unicode que gerou o evento + ); + } + + public void pause() { + // TODO Auto-generated method stub + } + + public void destroy() { + recursoRCE.release(); + } + + public boolean releaseRequested(ScarceResource resource) { + // TODO Auto-generated method stub + return false; + } + + public void releaseForced(ScarceResource resource) { + // TODO Auto-generated method stub + } + + public void released(ScarceResource resource) { + // TODO Auto-generated method stub + } + + +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/event/UserInputEventManager/AddUserInputEventManagerTest.java b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/event/UserInputEventManager/AddUserInputEventManagerTest.java new file mode 100644 index 0000000..a89ec01 --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/event/UserInputEventManager/AddUserInputEventManagerTest.java @@ -0,0 +1,152 @@ +package plaver.com.sun.dtv.ui.event.UserInputEventManager; + +import javax.microedition.xlet.XletStateChangeException; + +import plaver.dtvtest.DTVTest; +import plaver.dtvtest.DTVTestLog; + + +import com.sun.dtv.lwuit.Form; +import com.sun.dtv.resources.ScarceResource; +import com.sun.dtv.resources.ScarceResourceListener; +import com.sun.dtv.resources.TimeoutException; +import com.sun.dtv.ui.Device; +import com.sun.dtv.ui.Screen; +import com.sun.dtv.ui.event.RemoteControlEvent; +import com.sun.dtv.ui.event.UserInputEvent; +import com.sun.dtv.ui.event.UserInputEventListener; +import com.sun.dtv.ui.event.UserInputEventManager; + +/** + * Testa mtodos que precisam da interao do usurio. A partir desta classe + * sero avaliados os seguintes mtodos da classe UserInputEventManager: + * + *

    + *
  1. {@link UserInputEventManager#addUserInputEventListener(com.sun.dtv.ui.event.UserInputEventListener, UserInputEvent)}
  2. + *
  3. {@link UserInputEventManager#removeUserInputEventListener(com.sun.dtv.ui.event.UserInputEventListener)}
  4. + *
+ * + *

Tambm ser verificado todas as teclas de interatividade de um controle remoto de TV Digital

+ * + * @author Ezequiel da Silva + * @author Leandro Henrique + * @author Wennio Oliveira + * + * @see UserInputEventManager + */ +public class AddUserInputEventManagerTest implements DTVTest, UserInputEventListener, ScarceResourceListener, Runnable { + + private DTVTestLog dtvTestLog; + + private UserInputEventManager eventManager; + private RemoteControlEvent eventoRCE; + private Device device; + private Screen currentScreen; + + + public void setLog(DTVTestLog log) { + this.dtvTestLog = log; + } + + public void init() { + device = Device.getInstance(); + currentScreen = device.getDefaultScreen(); + eventManager = UserInputEventManager.getUserInputEventManager(currentScreen); + } + + public void start() { + /* Determina evento da classe RemoteControlEvent */ + try { + determinaEventoRCE(); + testaInteracao(); + } catch(Exception e) { + e.printStackTrace(); + } + + //Aqui comea os testes + } + + /** + * Testa todos os mtodos da classe {@link UserInputEventManager} atravs + * da interao do usurio com a aplicao. + */ + private void testaInteracao() { + + /* Verifica se a aplicao est respondendo a interao do usurio */ + eventManager.addUserInputEventListener(this, eventoRCE); + + try { + eventoRCE.reserve(true, -1, this); + } catch (IllegalArgumentException e) { + e.printStackTrace(); + } catch (TimeoutException e) { + e.printStackTrace(); + } + + } + + /** + * Instancia um evento de usurio atravs da classe {@link RemoteControlEvent RemoteControlEvent} e faz + * a sua reserva, definindo o tempo em que o evento poder ser tratado e sua respectiva classe tratadora. + */ + private void determinaEventoRCE() { + eventoRCE = new RemoteControlEvent(null, //Componente que originou o evento + RemoteControlEvent.KEY_RELEASED, //Tipo de evento + 0, //Tempo que o evento ocorreu + 0, //Modificadores + RemoteControlEvent.VK_COLORED_KEY_0, //Recurso utilizado pelo evento (VK_UNDEFINED no est implementado) + RemoteControlEvent.CHAR_UNDEFINED //Caracter unicode que gerou o evento + ); + } + + public synchronized void userInputEventReceived(UserInputEvent inputEvent) { + dtvTestLog.success(); + + com.sun.dtv.ui.event.KeyEvent e = (com.sun.dtv.ui.event.KeyEvent) inputEvent; + + /* Os eventos de release (soltar o boto) no sero tratados */ +// if(e.getID() == KeyEvent.KEY_RELEASED) + + } + + + public void pause() { + // TODO Auto-generated method stub + } + + public void destroy() { + + } + + public void pauseXlet() { + // TODO Auto-generated method stub + } + + public void destroyXlet(boolean unconditional) + throws XletStateChangeException { + // TODO Auto-generated method stub + } + + public boolean releaseRequested(ScarceResource resource) { + // TODO Auto-generated method stub + return false; + } + + public void releaseForced(ScarceResource resource) { + // TODO Auto-generated method stub + } + + public void released(ScarceResource resource) { + // TODO Auto-generated method stub + } + + public void run() { + // TODO Auto-generated method stub + } + + public void setForm(Form form) { + // TODO Auto-generated method stub + + } + +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/event/UserInputEventManager/GetUserInputEventManagerTest.java b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/event/UserInputEventManager/GetUserInputEventManagerTest.java new file mode 100644 index 0000000..ec033a2 --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/event/UserInputEventManager/GetUserInputEventManagerTest.java @@ -0,0 +1,98 @@ +package plaver.com.sun.dtv.ui.event.UserInputEventManager; + +import plaver.dtvtest.DTVTest; +import plaver.dtvtest.DTVTestLog; + +import com.sun.dtv.lwuit.Form; +import com.sun.dtv.resources.ScarceResource; +import com.sun.dtv.resources.ScarceResourceListener; +import com.sun.dtv.ui.Device; +import com.sun.dtv.ui.Screen; +import com.sun.dtv.ui.event.RemoteControlEvent; +import com.sun.dtv.ui.event.UserInputEvent; +import com.sun.dtv.ui.event.UserInputEventListener; +import com.sun.dtv.ui.event.UserInputEventManager; + +public class GetUserInputEventManagerTest implements DTVTest, UserInputEventListener, ScarceResourceListener { + + private DTVTestLog dtvTestLog; + + private UserInputEventManager eventManager; + private RemoteControlEvent eventoRCE; + private Device device; + private Screen currentScreen; + + + public void setLog(DTVTestLog log) { + this.dtvTestLog = log; + } + + public void init() { + device = Device.getInstance(); + currentScreen = device.getDefaultScreen(); + eventManager = UserInputEventManager.getUserInputEventManager(currentScreen); + } + + /** + * Aps adicionar um novo listener, ser verificado, a partir do mtodo {@link UserInputEventManager#getUserInputEventManager(Screen)}, + * se o listener retornado o mesmo previamente adicionado. + */ + public void start() { + + determinaEventoRCE(); + + eventManager.addUserInputEventListener(this, eventoRCE); + UserInputEventManager managerReceived = UserInputEventManager.getUserInputEventManager(currentScreen); + + if(managerReceived == eventManager) + dtvTestLog.success(); + else + dtvTestLog.failure(); + + } + + /** + * Instancia um evento de usurio atravs da classe {@link RemoteControlEvent RemoteControlEvent} + */ + private void determinaEventoRCE() { + eventoRCE = new RemoteControlEvent(null, //Componente que originou o evento + RemoteControlEvent.KEY_RELEASED, //Tipo de evento + 0, //Tempo que o evento ocorreu + 0, //Modificadores + RemoteControlEvent.VK_COLORED_KEY_0, //Recurso utilizado pelo evento (VK_UNDEFINED no est implementado) + RemoteControlEvent.CHAR_UNDEFINED //Caracter unicode que gerou o evento + ); + } + + public void pause() { + // TODO Auto-generated method stub + } + + public void destroy() { + eventManager.removeUserInputEventListener(this); + eventoRCE.release(); + } + + public boolean releaseRequested(ScarceResource resource) { + // TODO Auto-generated method stub + return false; + } + + public void releaseForced(ScarceResource resource) { + // TODO Auto-generated method stub + } + + public void released(ScarceResource resource) { + // TODO Auto-generated method stub + } + + public void userInputEventReceived(UserInputEvent event) { + // TODO Auto-generated method stub + } + + public void setForm(Form form) { + // TODO Auto-generated method stub + + } + +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/event/UserInputEventManager/RemoveUserInputEventManagerTest.java b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/event/UserInputEventManager/RemoveUserInputEventManagerTest.java new file mode 100644 index 0000000..9a7da6c --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/com/sun/dtv/ui/event/UserInputEventManager/RemoveUserInputEventManagerTest.java @@ -0,0 +1,154 @@ +package plaver.com.sun.dtv.ui.event.UserInputEventManager; + +import javax.microedition.xlet.XletStateChangeException; + +import plaver.dtvtest.DTVTest; +import plaver.dtvtest.DTVTestLog; + + +import com.sun.dtv.lwuit.Form; +import com.sun.dtv.resources.ScarceResource; +import com.sun.dtv.resources.ScarceResourceListener; +import com.sun.dtv.resources.TimeoutException; +import com.sun.dtv.ui.Device; +import com.sun.dtv.ui.Screen; +import com.sun.dtv.ui.event.RemoteControlEvent; +import com.sun.dtv.ui.event.UserInputEvent; +import com.sun.dtv.ui.event.UserInputEventListener; +import com.sun.dtv.ui.event.UserInputEventManager; + +/** + * Testa mtodos que precisam da interao do usurio. A partir desta classe + * sero avaliados os seguintes mtodos da classe UserInputEventManager: + * + *
    + *
  1. {@link UserInputEventManager#addUserInputEventListener(com.sun.dtv.ui.event.UserInputEventListener, UserInputEvent)}
  2. + *
  3. {@link UserInputEventManager#removeUserInputEventListener(com.sun.dtv.ui.event.UserInputEventListener)}
  4. + *
+ * + *

Tambm ser verificado todas as teclas de interatividade de um controle remoto de TV Digital

+ * + * @author Ezequiel da Silva + * @author Leandro Henrique + * @author Wennio Oliveira + * + * @see UserInputEventManager + */ +public class RemoveUserInputEventManagerTest implements DTVTest, UserInputEventListener, ScarceResourceListener, Runnable { + + private DTVTestLog dtvTestLog; + + private UserInputEventManager eventManager; + private RemoteControlEvent eventoRCE; + private Device device; + private Screen currentScreen; + + + public void setLog(DTVTestLog log) { + this.dtvTestLog = log; + } + + public void init() { + device = Device.getInstance(); + currentScreen = device.getDefaultScreen(); + eventManager = UserInputEventManager.getUserInputEventManager(currentScreen); + } + + public void start() { + /* Determina evento da classe RemoteControlEvent */ + try { + determinaEventoRCE(); + testaInteracao(); + } catch(Exception e) { + e.printStackTrace(); + } + + //Aqui comea os testes + } + + /** + * Testa todos os mtodos da classe {@link UserInputEventManager} atravs + * da interao do usurio com a aplicao. + */ + private void testaInteracao() { + + /* Verifica se a aplicao est respondendo a interao do usurio */ + eventManager.addUserInputEventListener(this, eventoRCE); + eventManager.removeUserInputEventListener(this); + + try { + eventoRCE.reserve(true, -1, this); + } catch (IllegalArgumentException e) { + e.printStackTrace(); + } catch (TimeoutException e) { + e.printStackTrace(); + } + + } + + /** + * Instancia um evento de usurio atravs da classe {@link RemoteControlEvent RemoteControlEvent} e faz + * a sua reserva, definindo o tempo em que o evento poder ser tratado e sua respectiva classe tratadora. + */ + private void determinaEventoRCE() { + eventoRCE = new RemoteControlEvent(null, //Componente que originou o evento + RemoteControlEvent.KEY_RELEASED, //Tipo de evento + 0, //Tempo que o evento ocorreu + 0, //Modificadores + RemoteControlEvent.VK_COLORED_KEY_0, //Recurso utilizado pelo evento (VK_UNDEFINED no est implementado) + RemoteControlEvent.CHAR_UNDEFINED //Caracter unicode que gerou o evento + ); + } + + public synchronized void userInputEventReceived(UserInputEvent inputEvent) { + dtvTestLog.success(); + + com.sun.dtv.ui.event.KeyEvent e = (com.sun.dtv.ui.event.KeyEvent) inputEvent; + + /* Os eventos de release (soltar o boto) no sero tratados */ +// if(e.getID() == KeyEvent.KEY_RELEASED) + + } + + + public void pause() { + // TODO Auto-generated method stub + } + + public void destroy() { + + } + + public void pauseXlet() { + // TODO Auto-generated method stub + + } + + public void destroyXlet(boolean unconditional) + throws XletStateChangeException { + // TODO Auto-generated method stub + } + + public boolean releaseRequested(ScarceResource resource) { + // TODO Auto-generated method stub + return false; + } + + public void releaseForced(ScarceResource resource) { + // TODO Auto-generated method stub + } + + public void released(ScarceResource resource) { + // TODO Auto-generated method stub + } + + public void run() { + // TODO Auto-generated method stub + } + + public void setForm(Form form) { + // TODO Auto-generated method stub + + } + +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/debuger/Debuger.java b/Projeto PPB-Ginga/Plaver Framework/plaver/debuger/Debuger.java new file mode 100644 index 0000000..4ace7bc --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/debuger/Debuger.java @@ -0,0 +1,64 @@ +package plaver.debuger; + +import com.sun.dtv.lwuit.Form; +import com.sun.dtv.lwuit.Label; +import com.sun.dtv.lwuit.geom.Dimension; + + +/** + * Classe que axilia a depurao do programa atravs de mensagens na tela em tempo de execuo. + * + * Exemplo: + * + * Debuger debuger = new Debuger(meuForm); + * ... Cdigo ... + * debuger.showBreakPoint("Mensagem a ser exibida na tela por um tempo determinado"); + * ... Cdigo ... + * + * @author Leandro + */ +public class Debuger { + + private Form form; + + private Label labMessage; +// private Label labFaker; //Gambiarra para o labMessage ficar mais abaixo + + private long time = 5000; + private int contador; // Nmero de vezes que showBreakPoint(String msg) foi executado + + public Debuger(Form form) { + this.form = form; + + labMessage = new Label(); + + /* New */ +// labFaker = new Label(); +// labFaker.setSize(new Dimension(120,120)); + +// form.addComponent(labFaker); + form.addComponent(labMessage); + + } + + public void showBreakPoint(String msg) { + + String strContador = String.valueOf(++contador); + String aux = strContador.concat(" - ").concat(msg); + + labMessage.setText(aux); + labMessage.setX(30); + labMessage.setY(60); + + form.show(); + form.repaint(); + + try { + Thread.sleep(time); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } + +} + diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/dtvtest/DTVTest.java b/Projeto PPB-Ginga/Plaver Framework/plaver/dtvtest/DTVTest.java new file mode 100644 index 0000000..772e743 --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/dtvtest/DTVTest.java @@ -0,0 +1,55 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package plaver.dtvtest; + +import com.sun.dtv.lwuit.Form; + + +/** + * @author GILBERTO FARIAS + * @author Bruno Pessoa + */ +public interface DTVTest { + + int AUTO = 1; + int INTERACTIVE = 2; + + /** + * Adiciona o form principal da aplicao. + * + * O form deve ser usado apenas em aplicaes que requerem a exibio de componentes grficos + * na tela. + * + * @param form objeto compartilhado entre todas as aplicaes de teste + */ + public void setForm(Form form); + + + /** + * @param log objeto responsvel pela sinalizao do resultado do teste + */ + public void setLog(DTVTestLog log); + + /** + * Aloca e reserva os recursos para o teste + */ + public void init(); + + /** + * Mtodo responsvel pela execuo do teste + */ + public void start(); + + /** + * Pausa a execuo do teste + */ + public void pause(); + + /** + * Libera listeners e recursos alocados. + */ + public void destroy(); + +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/dtvtest/DTVTestController.java b/Projeto PPB-Ginga/Plaver Framework/plaver/dtvtest/DTVTestController.java new file mode 100644 index 0000000..982c1b6 --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/dtvtest/DTVTestController.java @@ -0,0 +1,278 @@ +package plaver.dtvtest; + +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; +import java.util.StringTokenizer; + +import java.io.BufferedReader; +import java.io.FileReader; +import java.io.IOException; + +import javax.microedition.xlet.XletContext; + +import com.sun.dtv.lwuit.Form; + +/** + * Classe responsvel por controlar a execuo dos testes. Tem como objetivo + * reduzir o acoplamento entre os testes e o Xlet no qual eles estao anexados. + * + * @author GILBERTO FARIAS + * @author Bruno Pessoa + * + */ +public class DTVTestController implements DTVTestListener { + + private Thread ctrlThread; + private DTVTestLog dtvTestLog; + private DTVTest test; + private List listeners; + + private int appID; + private int executionModeID; + private long timeOut; + + private static Form form; + private static List controllerList; + public static XletContext contextXlet; + + private DTVTestController(DTVTest app, int appID, int executionModeID, long timeOut) { + this.test = app; + this.appID = appID; + this.executionModeID = executionModeID; + this.dtvTestLog = new DTVTestLog(timeOut, executionModeID); + + listeners = new ArrayList(); + } + + /** + * + * Cria uma lista de aplicaes a serem testadas a patir de um arquivo de texto + * + * @param filePath - Diretrio com a lista de aplicaes + * @return lista de aplicao que implementam {@link DTVTest} a serem testadas + */ + public static List createTestSuit(String filePath, Form form, XletContext contextXlet) { + + DTVTestController.contextXlet = contextXlet; + DTVTestController.form = form; + + DTVTestController controller = null; + BufferedReader reader = null; + + int appID = 0; + long timeOut = 0; + + String executionMode; + int executionModeID = 0; + DTVTest app = null; + + try { + reader = new BufferedReader(new FileReader(filePath)); + controllerList = new ArrayList(); + + StringTokenizer st; + String timeoutDefault; + String line; + + reader.readLine(); //Read [timeout_default] + reader.readLine(); //Read [classname] [id] [auto/interactive] [timeout] + + timeoutDefault = reader.readLine(); + st = new StringTokenizer(timeoutDefault); + + long defaultTimeOut = Long.parseLong(st.nextToken()); + + while ((line = reader.readLine()) != null ) { + st = new StringTokenizer(line); + + while (st.hasMoreTokens()) { + + Class dtClass = Class.forName(st.nextToken()); + + app = (DTVTest) dtClass.newInstance(); + + // Instancia o controller e o insere na lista + appID = Integer.parseInt(st.nextToken()); + + executionMode = st.nextToken(); + + if(executionMode.equals("auto")) { + executionModeID = DTVTest.AUTO; + } else if(executionMode.equals("interactive")) { + executionModeID = DTVTest.INTERACTIVE; + } else { + throw new Exception("Erro: Enter auto or interactive execution mode"); + } + + if(st.hasMoreElements()) + timeOut = Long.parseLong(st.nextToken()); + else + timeOut = defaultTimeOut; + + controller = new DTVTestController(app, appID, executionModeID, timeOut); + controllerList.add(controller); + + } + + } + + } catch (Exception e) { + e.printStackTrace(); + } finally { + + try { + reader.close(); + } catch (IOException e) { + e.printStackTrace(); + } + + } + + return controllerList; + } + + public void addDTVTestEventListener(DTVTestListener listener) { + listeners.add(listener); + } + + public void removeDTVTestEventListener(DTVTestListener listener) { + listeners.remove(listener); + } + + + private void notifyEventReceived(final DTVTestEvent e) { + + Iterator it = listeners.iterator(); + + while (it.hasNext()) { + final DTVTestListener l = (DTVTestListener) it.next(); + + new Thread() { + public void run() { + l.testLogEventReceived(e); + } + }.start(); + + } + } + + /** + * Inicia a execuo do teste em uma diferente linha de execuo + */ + public void start() { + + dtvTestLog.addDTVTestEventListener(this); + + test.setForm(form); + test.setLog(dtvTestLog); + + ctrlThread = new Thread() { + public void run() { + + /* Visual application must not have timeout */ + if(executionModeID == DTVTest.AUTO) + dtvTestLog.start(); + + try { + + test.init(); + test.start(); + + } catch(Exception e) { + + if(dtvTestLog.getStatus() != DTVTestEvent.TEST_VISUAL_APP) + dtvTestLog.failure(); + } + + } + }; + + ctrlThread.start(); + + } + + public void testLogEventReceived(DTVTestEvent e) { + + // + while (ctrlThread.isAlive()) { + try { + + /* Se algum evento for gerado, tentar interromper threads em espera */ + if(dtvTestLog.getStatus() != 0) { + ctrlThread.interrupt(); + } + + Thread.sleep(300); + + } catch (InterruptedException e1) { + System.exit(1); + } + } + + System.out.print(test.getClass().getName()); + + if(dtvTestLog.getStatus() == DTVTestEvent.TEST_SUCCESS) + System.out.println(": SUCESSO"); + else if(dtvTestLog.getStatus() == DTVTestEvent.TEST_FAILURE) + System.out.println(": FALHA"); + else if(dtvTestLog.getStatus() == DTVTestEvent.TEST_TIMEOUT) + System.out.println(": TIMEOUT"); + else + System.out.println(": APP_VISUAL"); + + test.destroy(); + dtvTestLog.destroy(); + + try { + Thread.sleep(500); + } catch (InterruptedException a) { + a.printStackTrace(); + } + + notifyEventReceived(e); + } + + public int getAppID() { + return appID; + } + + public int getExecutionModeID() { + return executionModeID; + } + + public long getTimeOut() { + return timeOut; + } + + public static int getQtdAutoApps() { + List controllerList = DTVTestController.controllerList; + int cont = 0; + + if(DTVTestController.controllerList == null) + return 0; + for(int i = 0; i < controllerList.size(); i++) { + if( ((DTVTestController) controllerList.get(i)).getExecutionModeID() == DTVTest.AUTO) + cont++; + } + + return cont; + + } + + public static int getQtdInteractiveApps() { + List controllerList = DTVTestController.controllerList; + int cont = 0; + + if(DTVTestController.controllerList == null) + return 0; + + for(int i = 0; i < controllerList.size(); i++) { + if( ((DTVTestController) controllerList.get(i)).getExecutionModeID() == DTVTest.INTERACTIVE) + cont++; + } + + return cont; + } + +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/dtvtest/DTVTestEvent.java b/Projeto PPB-Ginga/Plaver Framework/plaver/dtvtest/DTVTestEvent.java new file mode 100644 index 0000000..e24df67 --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/dtvtest/DTVTestEvent.java @@ -0,0 +1,24 @@ +package plaver.dtvtest; + +/** + * Representa os eventos de resultado dos testes. + * + * @author GILBERTO FARIAS + * @author Bruno Pessoa + */ +public class DTVTestEvent { + private int status; + + public DTVTestEvent(int s){ + this.status = s; + } + + public int getStatus(){ + return this.status; + } + + public static final int TEST_FAILURE = 1; + public static final int TEST_SUCCESS = 2; + public static final int TEST_TIMEOUT = 3; + public static final int TEST_VISUAL_APP = 4; +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/dtvtest/DTVTestListener.java b/Projeto PPB-Ginga/Plaver Framework/plaver/dtvtest/DTVTestListener.java new file mode 100644 index 0000000..cb6277d --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/dtvtest/DTVTestListener.java @@ -0,0 +1,17 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package plaver.dtvtest; + +/** + * Listener para a recepo de eventos que informaro sobre + * o resultado da execuo de cada teste. + * + * @author GILBERTO FARIAS + * @author Bruno Pessoa + */ +public interface DTVTestListener { + public void testLogEventReceived(DTVTestEvent e); +} + diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/dtvtest/DTVTestLog.java b/Projeto PPB-Ginga/Plaver Framework/plaver/dtvtest/DTVTestLog.java new file mode 100644 index 0000000..3eebbf0 --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/dtvtest/DTVTestLog.java @@ -0,0 +1,156 @@ +package plaver.dtvtest; + +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; + + +/** + * Classe auxiliar para o desenvolvimento de aplicaes de teste para avaliao + * de implementaes do Ginga. Ela define o comportamento que ser apresentado + * pelas aplicaes em caso dos testes serem bem sucedidos ou no. Os Xlets de + * teste devem manter relacionamento com esta classe, a fim de se adequarem ao + * comportamento padro esperado nos casos mencionados. + * + * @author Bruno Pessoa + * @author Gilberto Farias + * @author Danilo Formiga + * + */ +public class DTVTestLog extends Thread { + + public static final long TIMEOUT = 15000; + + // Utilizado para encerrar a aplicao, caso seu tempo limite seja alcanado. + private long millis; + + private boolean flagLog = false; + private List listeners; + + private int status; + + public DTVTestLog(long timeout, int executionModeID) { + status = executionModeID; + listeners = new ArrayList(); + millis = timeout; + } + + public void run() { + try { + Thread.sleep(millis); + } catch (InterruptedException e) { + return; + } + + timeout(); + } + + public void addDTVTestEventListener(DTVTestListener l) { + listeners.add(l); + } + + public void removeDTVTestEventListener(DTVTestListener l) { + listeners.remove(l); + } + + private void notifyEventReceived(final DTVTestEvent e) { + + Iterator it = listeners.iterator(); + while (it.hasNext()) { + final DTVTestListener l = (DTVTestListener) it.next(); + new Thread() { + + public void run() { + l.testLogEventReceived(e); + } + }.start(); + } + } + + /** + * Define o comportamento das aplicaes diante do sucesso na execuo dos + * testes realizados. + * @throws Exception + */ + public void success() { + + if (flagLog == true) { + return; + } + + flagLog = true; + status = DTVTestEvent.TEST_SUCCESS; + notifyEventReceived(new DTVTestEvent(status)); + + } + + /** + * Define o comportamento das aplicaes em caso dos testes no serem bem + * sucedidos. + */ + public void failure() { + + if (flagLog == true) { + return; + } + + flagLog = true; + + status = DTVTestEvent.TEST_FAILURE; + notifyEventReceived(new DTVTestEvent(status)); + } + + /** + * Determina o comportamento a ser apresentado pelas aplicaes de teste, + * quando o tempo limite para sua execuo for alcanado. + */ + private void timeout() { + + if (flagLog == true) { + return; + } + + flagLog = true; + + status = DTVTestEvent.TEST_TIMEOUT; + notifyEventReceived(new DTVTestEvent(status)); + } + + public void visualAppFinished() { + if (flagLog == true) { + return; + } + + try { + Thread.sleep(3000); + } catch (InterruptedException e) { + e.printStackTrace(); + } + + flagLog = true; + + status = DTVTestEvent.TEST_VISUAL_APP; + notifyEventReceived(new DTVTestEvent(status)); + } + + public void setTimeOut(int ms) { + this.millis = ms; + } + + public void destroy() { + + } + + public boolean getFlagLog() { + return flagLog; + } + + public int getStatus() { + return status; + } + + public long getTimeout() { + return millis; + } + +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/imagens/fim.png b/Projeto PPB-Ginga/Plaver Framework/plaver/imagens/fim.png new file mode 100644 index 0000000..f8af644 Binary files /dev/null and b/Projeto PPB-Ginga/Plaver Framework/plaver/imagens/fim.png differ diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/imagens/inicio.png b/Projeto PPB-Ginga/Plaver Framework/plaver/imagens/inicio.png new file mode 100644 index 0000000..c5dd8db Binary files /dev/null and b/Projeto PPB-Ginga/Plaver Framework/plaver/imagens/inicio.png differ diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/imagens/logo.png b/Projeto PPB-Ginga/Plaver Framework/plaver/imagens/logo.png new file mode 100644 index 0000000..ef25309 Binary files /dev/null and b/Projeto PPB-Ginga/Plaver Framework/plaver/imagens/logo.png differ diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/imagens/meio.png b/Projeto PPB-Ginga/Plaver Framework/plaver/imagens/meio.png new file mode 100644 index 0000000..58e5d60 Binary files /dev/null and b/Projeto PPB-Ginga/Plaver Framework/plaver/imagens/meio.png differ diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/javax/media/Manager/CreateDataSource_1Test.java b/Projeto PPB-Ginga/Plaver Framework/plaver/javax/media/Manager/CreateDataSource_1Test.java new file mode 100644 index 0000000..e4d16bf --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/javax/media/Manager/CreateDataSource_1Test.java @@ -0,0 +1,92 @@ +package plaver.javax.media.Manager; + +import java.io.IOException; +import java.net.MalformedURLException; +import java.net.URL; + +import javax.media.Manager; +import javax.media.NoDataSourceException; +import javax.media.protocol.DataSource; + +import plaver.dtvtest.DTVTest; +import plaver.dtvtest.DTVTestLog; + +import com.sun.dtv.lwuit.Form; + + +/** + * @author Leandro Henrique + */ + +public class CreateDataSource_1Test implements DTVTest { + + private static final String LOCATOR = "file://plaver/javax/media/Manager/medias_jmf/v1.MPG"; +// private static final String LOCATOR = "dtv://1.1.1"; + + private DTVTestLog dtvTestLog; + private DataSource dataSource; + private URL url; + + public void setLog(DTVTestLog log) { + this.dtvTestLog = log; + } + + public void init() { + + try { + url = new URL(LOCATOR); + dataSource = Manager.createDataSource(url); + } catch (NoDataSourceException e) { + e.printStackTrace(); + } catch (IOException e) { + e.printStackTrace(); + } + } + + /** Testa createDataSource() atravs da seguinte forma de sobrecarga: + *
    + *
  • Manager.createDataSource(URL url)
  • + *
+ * + *

Para realizar o teste, primeiramente, ser verificado se o retorno uma instncia de DataSourde. Aps isso, + * ser verificado se a URL pertencente ao DataSource o mesmo anteriormente especificado.

+ * + * @throws MalformedURLException + * @see Manager#createDataSource(URL) + */ + public void start() { + if(dataSource instanceof DataSource) { + + try { + dataSource.connect(); + dataSource.start(); + dataSource.stop(); + dataSource.disconnect(); + + /* No dever haver erros */ + dtvTestLog.success(); + + } catch(Exception e) { + dtvTestLog.failure(); + } + + } else { + dtvTestLog.failure(); + } + + } + + public void pause() { + // TODO Auto-generated method stub + } + + public void destroy() { + // TODO Auto-generated method stub + } + + public void setForm(Form form) { + // TODO Auto-generated method stub + + } + +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/javax/media/Manager/CreateDataSource_2Test.java b/Projeto PPB-Ginga/Plaver Framework/plaver/javax/media/Manager/CreateDataSource_2Test.java new file mode 100644 index 0000000..a678183 --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/javax/media/Manager/CreateDataSource_2Test.java @@ -0,0 +1,98 @@ +package plaver.javax.media.Manager; + +import java.io.IOException; +import java.net.MalformedURLException; +import java.net.URL; + +import javax.media.Manager; +import javax.media.MediaLocator; +import javax.media.NoDataSourceException; +import javax.media.protocol.DataSource; + +import com.sun.dtv.lwuit.Form; + +import plaver.dtvtest.DTVTest; +import plaver.dtvtest.DTVTestLog; + + +/** + * @author Leandro Henrique + */ + +public class CreateDataSource_2Test implements DTVTest { + + private static final String LOCATOR = "file://plaver/javax/media/Manager/medias_jmf/v2.MPG"; +// private static final String LOCATOR = "dtv://1.1.1"; + + private DTVTestLog dtvTestLog; + private DataSource dataSource; + private URL url; + + public void setLog(DTVTestLog log) { + this.dtvTestLog = log; + } + + + public void init() { + + try { + url = new URL(CreateDataSource_2Test.LOCATOR); + dataSource = Manager.createDataSource(new MediaLocator(url)); + } catch (NoDataSourceException e) { + e.printStackTrace(); + } catch (IOException e) { + e.printStackTrace(); + } + } + + + /** Testa createDataSource() atravs da seguinte forma de sobrecarga: + *
    + *
  • Manager.createDataSource(MediaLocator mediaLocator)
  • + *
+ * + *

Para realizar o teste, primeiramente, ser verificado se o retorno uma instncia de DataSourde. Aps isso, + * ser verificado se a URL pertencente ao DataSource o mesmo anteriormente especificado.

+ * + * @throws MalformedURLException + * @see {@link Manager#createDataSource(MediaLocator)} + */ + public void start() { + + if(dataSource instanceof DataSource) { + + try { + dataSource.connect(); + dataSource.start(); + dataSource.stop(); + dataSource.disconnect(); + + /* No dever haver erros */ + dtvTestLog.success(); + + } catch(Exception e) { + dtvTestLog.failure(); + } + + } else { + dtvTestLog.failure(); + } + + } + + public void pause() { + // TODO Auto-generated method stub + } + + + public void destroy() { + // TODO Auto-generated method stub + } + + + public void setForm(Form form) { + // TODO Auto-generated method stub + + } + +} \ No newline at end of file diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/javax/media/Manager/CreatePlayer_1Test.java b/Projeto PPB-Ginga/Plaver Framework/plaver/javax/media/Manager/CreatePlayer_1Test.java new file mode 100644 index 0000000..4f61d1e --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/javax/media/Manager/CreatePlayer_1Test.java @@ -0,0 +1,96 @@ +package plaver.javax.media.Manager; + +import java.io.IOException; + +import javax.media.Manager; +import javax.media.MediaLocator; +import javax.media.NoPlayerException; +import javax.media.Player; + +import com.sun.dtv.lwuit.Form; + +import plaver.dtvtest.DTVTest; +import plaver.dtvtest.DTVTestLog; + + +/** + * @author Leandro Henrique + */ + +public class CreatePlayer_1Test implements DTVTest { + + private static final String LOCATOR = "file:plaver/javax/media/Manager/medias_jmf/v1.MPG"; + + private DTVTestLog dtvTestLog; + private Player player; + + public void setForm(Form form) { + // TODO Auto-generated method stub + } + + public void setLog(DTVTestLog log) { + this.dtvTestLog = log; + } + + public void init() { + + try { + player = Manager.createPlayer(new MediaLocator(LOCATOR)); + } catch (NoPlayerException e) { + e.printStackTrace(); + } catch (IOException e) { + e.printStackTrace(); + } + + } + + public void start() { + try { + testaMetodo(); + } catch (InterruptedException e) { + e.printStackTrace(); + dtvTestLog.failure(); + } + } + + + /** Testa createPlayer() atravs da seguinte forma de sobrecarga: + *
    + *
  • Manager.createPlayer(MediaLocator mediaLocator)
  • + *
+ * + *

Ser verificado se o retorno uma instncia de Player. Aps isso, ser realizado uma srie + * de operaes com o mesmo. + * + * @throws InterruptedException + * @see Manager#createPlayer(MediaLocator) + */ + private void testaMetodo() throws InterruptedException { + + if( player instanceof Player) { + + /* Manipula Player */ + player.realize(); + player.start(); + player.stop(); + player.close(); + + dtvTestLog.success(); + } else { + + player.close(); + dtvTestLog.failure(); + } + + } + + public void pause() { + // TODO Auto-generated method stub + } + + + public void destroy() { + // TODO Auto-generated method stub + } + +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/javax/media/Manager/CreatePlayer_2Test.java b/Projeto PPB-Ginga/Plaver Framework/plaver/javax/media/Manager/CreatePlayer_2Test.java new file mode 100644 index 0000000..4e2f5e8 --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/javax/media/Manager/CreatePlayer_2Test.java @@ -0,0 +1,102 @@ +package plaver.javax.media.Manager; + +import java.io.IOException; +import java.net.MalformedURLException; +import java.net.URL; + +import javax.media.Manager; +import javax.media.MediaLocator; +import javax.media.NoPlayerException; +import javax.media.Player; + +import com.sun.dtv.lwuit.Form; + +import plaver.dtvtest.DTVTest; +import plaver.dtvtest.DTVTestLog; + + +/** + * @author Leandro Henrique + */ + +public class CreatePlayer_2Test implements DTVTest { + + private static final String LOCATOR = "file:plaver/javax/media/Manager/medias_jmf/v2.MPG"; + + private DTVTestLog dtvTestLog; + private Player player; + + public void setForm(Form form) { + // TODO Auto-generated method stub + } + + public void setLog(DTVTestLog log) { + this.dtvTestLog = log; + } + + public void init() { + + + try { + player = Manager.createPlayer(new MediaLocator(LOCATOR).getURL()); + } catch (NoPlayerException e) { + e.printStackTrace(); + } catch (MalformedURLException e) { + e.printStackTrace(); + } catch (IOException e) { + e.printStackTrace(); + } + + } + + public void start() { + try { + testaMetodo(); + } catch (InterruptedException e) { + e.printStackTrace(); + dtvTestLog.failure(); + } + } + + + /** Testa createPlayer() atravs da seguinte forma de sobrecarga: + *

    + *
  • Manager.createPlayer(URL url)
  • + *
+ * + *

Ser verificado se o retorno uma instncia de Player. Aps isso, ser realizado uma srie + * de operaes com o mesmo. + * + * @throws InterruptedException + * @see Manager#createPlayer(URL) + */ + private void testaMetodo() throws InterruptedException { + + if( player instanceof Player) { + + /* Manipula Player */ + player.realize(); + player.start(); + player.stop(); + player.close(); + + dtvTestLog.success(); + } else { + player.stop(); + + player.close(); + dtvTestLog.failure(); + } + + } + + public void pause() { + // TODO Auto-generated method stub + } + + public void destroy() { + // TODO Auto-generated method stub + } + + +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/javax/media/Manager/CreatePlayer_3Test.java b/Projeto PPB-Ginga/Plaver Framework/plaver/javax/media/Manager/CreatePlayer_3Test.java new file mode 100644 index 0000000..fe3f591 --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/javax/media/Manager/CreatePlayer_3Test.java @@ -0,0 +1,105 @@ +package plaver.javax.media.Manager; + +import java.io.IOException; + +import javax.media.Manager; +import javax.media.MediaLocator; +import javax.media.NoDataSourceException; +import javax.media.NoPlayerException; +import javax.media.Player; +import javax.media.protocol.DataSource; + +import com.sun.dtv.lwuit.Form; + +import plaver.dtvtest.DTVTest; +import plaver.dtvtest.DTVTestLog; + + +/** + + * @author Leandro Henrique + * + */ + +public class CreatePlayer_3Test implements DTVTest { + + private static final String LOCATOR = "file:plaver/javax/media/Manager/medias_jmf/v3.MPG"; + + private DTVTestLog dtvTestLog; + private Player player; + private DataSource dataSource; + + public void setForm(Form form) { + // TODO Auto-generated method stub + } + + public void setLog(DTVTestLog log) { + this.dtvTestLog = log; + } + + public void init() { + + try { + + dataSource = Manager.createDataSource(new MediaLocator(LOCATOR)); + player = Manager.createPlayer(dataSource); + + } catch (NoPlayerException e) { + e.printStackTrace(); + } catch (IOException e) { + e.printStackTrace(); + } catch (NoDataSourceException e) { + e.printStackTrace(); + } + } + + public void start() { + try { + testaMetodo(); + } catch (InterruptedException e) { + e.printStackTrace(); + dtvTestLog.failure(); + } + } + + + /** Testa createPlayer() atravs da seguinte forma de sobrecarga: + *

    + *
  • Manager.createPlayer(DataSource dataSource)
  • + *
+ * + *

Ser verificado se o retorno uma instncia de Player. Aps isso, ser realizado uma srie + * de operaes com o mesmo. + + * @throws InterruptedException + * @see Manager#createPlayer(DataSource) + */ + private void testaMetodo() throws InterruptedException { + + if( player instanceof Player) { + + /* Manipula Player */ + player.stop(); + player.close(); + + dtvTestLog.success(); + } else { + player.stop(); + player.close(); + + dtvTestLog.failure(); + } + + } + + public void pause() { + // TODO Auto-generated method stub + } + + + public void destroy() { + // TODO Auto-generated method stub + } + + +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/javax/media/Manager/GetDataSourceListTest.java b/Projeto PPB-Ginga/Plaver Framework/plaver/javax/media/Manager/GetDataSourceListTest.java new file mode 100644 index 0000000..cfd2667 --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/javax/media/Manager/GetDataSourceListTest.java @@ -0,0 +1,56 @@ +package plaver.javax.media.Manager; + +import java.util.Vector; + +import javax.media.Manager; + +import com.sun.dtv.lwuit.Form; + +import plaver.dtvtest.DTVTest; +import plaver.dtvtest.DTVTestLog; + + +/** + * @author Leandro Henrique + */ + +public class GetDataSourceListTest implements DTVTest { + + private DTVTestLog dtvTestLog; + + public void setForm(Form form) { + // TODO Auto-generated method stub + } + + public void setLog(DTVTestLog log) { + this.dtvTestLog = log; + } + + + public void init() { + // TODO Auto-generated method stub + } + + + /** Testa getDataSourceList verificando se o retorno uma instncia de Vector. + * + * @see Manager#getDataSourceList(String) + */ + public void start() { + if (Manager.getDataSourceList("") instanceof Vector) { + dtvTestLog.success(); + } else { + dtvTestLog.failure(); + } + } + + public void pause() { + // TODO Auto-generated method stub + } + + + public void destroy() { + // TODO Auto-generated method stub + } + +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/javax/media/Manager/GetHandlerCLassListTest.java b/Projeto PPB-Ginga/Plaver Framework/plaver/javax/media/Manager/GetHandlerCLassListTest.java new file mode 100644 index 0000000..d33f476 --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/javax/media/Manager/GetHandlerCLassListTest.java @@ -0,0 +1,57 @@ +package plaver.javax.media.Manager; + +import java.util.Vector; + +import javax.media.Manager; + +import com.sun.dtv.lwuit.Form; + +import plaver.dtvtest.DTVTest; +import plaver.dtvtest.DTVTestLog; + + +/** + * @author Leandro Henrique + */ + +public class GetHandlerCLassListTest implements DTVTest { + + private DTVTestLog dtvTestLog; + + public void setLog(DTVTestLog log) { + this.dtvTestLog = log; + } + + + public void init() { + // TODO Auto-generated method stub + } + + /** Testa getHandlerClassList verificando se o retorno uma instncia de Vector. + * + * @see Manager#getHandlerClassList(String) + */ + public void start() { + if (Manager.getHandlerClassList("") instanceof Vector) { + dtvTestLog.success(); + } else { + dtvTestLog.failure(); + } + } + + public void pause() { + // TODO Auto-generated method stub + } + + + public void destroy() { + // TODO Auto-generated method stub + } + + + public void setForm(Form form) { + // TODO Auto-generated method stub + + } + +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/javax/media/Manager/GetSystemTimeBaseTest.java b/Projeto PPB-Ginga/Plaver Framework/plaver/javax/media/Manager/GetSystemTimeBaseTest.java new file mode 100644 index 0000000..41ffc46 --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/javax/media/Manager/GetSystemTimeBaseTest.java @@ -0,0 +1,56 @@ +package plaver.javax.media.Manager; + +import javax.media.Manager; +import javax.media.TimeBase; + +import com.sun.dtv.lwuit.Form; + +import plaver.dtvtest.DTVTest; +import plaver.dtvtest.DTVTestLog; + + +/** + * @author Leandro Henrique + */ + +public class GetSystemTimeBaseTest implements DTVTest { + + private DTVTestLog dtvTestLog; + + public void setLog(DTVTestLog log) { + this.dtvTestLog = log; + } + + + public void init() { + // TODO Auto-generated method stub + } + + /** Testa getSystemTimeBase verificando se o retorno uma instncia de TimeBase. + * + * @see Manager#getSystemTimeBase() + * @see TimeBase + */ + public void start() { + if (Manager.getSystemTimeBase() instanceof TimeBase) + dtvTestLog.success(); + else + dtvTestLog.failure(); + } + + public void pause() { + // TODO Auto-generated method stub + } + + + public void destroy() { + // TODO Auto-generated method stub + } + + + public void setForm(Form form) { + // TODO Auto-generated method stub + + } + +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/javax/media/Manager/medias_jmf/v1.MPG b/Projeto PPB-Ginga/Plaver Framework/plaver/javax/media/Manager/medias_jmf/v1.MPG new file mode 100644 index 0000000..6bf15a0 Binary files /dev/null and b/Projeto PPB-Ginga/Plaver Framework/plaver/javax/media/Manager/medias_jmf/v1.MPG differ diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/javax/media/Manager/medias_jmf/v2.MPG b/Projeto PPB-Ginga/Plaver Framework/plaver/javax/media/Manager/medias_jmf/v2.MPG new file mode 100644 index 0000000..577144f Binary files /dev/null and b/Projeto PPB-Ginga/Plaver Framework/plaver/javax/media/Manager/medias_jmf/v2.MPG differ diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/javax/media/Manager/medias_jmf/v3.MPG b/Projeto PPB-Ginga/Plaver Framework/plaver/javax/media/Manager/medias_jmf/v3.MPG new file mode 100644 index 0000000..37bd987 Binary files /dev/null and b/Projeto PPB-Ginga/Plaver Framework/plaver/javax/media/Manager/medias_jmf/v3.MPG differ diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/javax/media/MediaLocator/GetProtocolTest.java b/Projeto PPB-Ginga/Plaver Framework/plaver/javax/media/MediaLocator/GetProtocolTest.java new file mode 100644 index 0000000..58d66fd --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/javax/media/MediaLocator/GetProtocolTest.java @@ -0,0 +1,65 @@ +package plaver.javax.media.MediaLocator; + +import java.net.MalformedURLException; +import java.net.URL; + +import javax.media.MediaLocator; + +import com.sun.dtv.lwuit.Form; + +import plaver.dtvtest.DTVTest; +import plaver.dtvtest.DTVTestLog; + + +public class GetProtocolTest implements DTVTest { + + private static final String PROTOCOLO = "file"; + private static final String LOCATOR = "file:cagin/javax/media/Manager/medias_jmf/v1.MPG"; + + private MediaLocator mediaLocator; + private DTVTestLog dtvTestLog; + private URL url; + + + public void setLog(DTVTestLog log) { + this.dtvTestLog = log; + } + + public void init() { + + try { + url = new URL(LOCATOR); + } catch (MalformedURLException e) { + e.printStackTrace(); + } + + mediaLocator = new MediaLocator(url); + + } + + /** Testa getProtocol() verificando se o retorno corresponde ao protocolo da mdia construda. + * + * @see MediaLocator#getProtocol() + */ + public void start() { + if(mediaLocator.getProtocol().equalsIgnoreCase(PROTOCOLO)) + dtvTestLog.success(); + else + dtvTestLog.failure(); + } + + + public void pause() { + + } + + public void destroy() { + + } + + public void setForm(Form form) { + // TODO Auto-generated method stub + + } + +} \ No newline at end of file diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/javax/media/MediaLocator/GetRaimanderTest.java b/Projeto PPB-Ginga/Plaver Framework/plaver/javax/media/MediaLocator/GetRaimanderTest.java new file mode 100644 index 0000000..6ef23c1 --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/javax/media/MediaLocator/GetRaimanderTest.java @@ -0,0 +1,62 @@ +package plaver.javax.media.MediaLocator; + +import java.net.MalformedURLException; +import java.net.URL; + +import javax.media.MediaLocator; + +import com.sun.dtv.lwuit.Form; + +import plaver.dtvtest.DTVTest; +import plaver.dtvtest.DTVTestLog; + + +public class GetRaimanderTest implements DTVTest { + + private static final String RAIMANDER = "cagin/javax/media/Manager/medias_jmf/v1.MPG"; + private static final String LOCATOR = "file:cagin/javax/media/Manager/medias_jmf/v1.MPG"; + + private MediaLocator mediaLocator; + private DTVTestLog dtvTestLog; + private URL url; + + public void setLog(DTVTestLog log) { + this.dtvTestLog = log; + } + + public void init() { + + try { + url = new URL(LOCATOR); + } catch (MalformedURLException e) { + e.printStackTrace(); + } + mediaLocator = new MediaLocator(url); + } + + /** Testa getRaimander() verificando se o retorno corresponde ao raimander da mdia construda. + * + * @see MediaLocator#getRaimander() + */ + public void start() { + if(mediaLocator.getRemainder().equalsIgnoreCase(RAIMANDER)) + dtvTestLog.success(); + else + dtvTestLog.failure(); + } + + public void pause() { + + } + + public void destroy() { + + } + + public void setForm(Form form) { + // TODO Auto-generated method stub + + } + + +} \ No newline at end of file diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/javax/media/MediaLocator/GetURLTest.java b/Projeto PPB-Ginga/Plaver Framework/plaver/javax/media/MediaLocator/GetURLTest.java new file mode 100644 index 0000000..4d7a6a3 --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/javax/media/MediaLocator/GetURLTest.java @@ -0,0 +1,71 @@ +package plaver.javax.media.MediaLocator; + +import java.net.MalformedURLException; +import java.net.URL; + +import javax.media.MediaLocator; + +import com.sun.dtv.lwuit.Form; + +import plaver.dtvtest.DTVTest; +import plaver.dtvtest.DTVTestLog; + + +public class GetURLTest implements DTVTest { + + private static final String LOCATOR = "file:cagin/javax/media/Manager/medias_jmf/v1.MPG"; + + private MediaLocator mediaLocator; + private DTVTestLog dtvTestLog; + private URL url; + + public void setLog(DTVTestLog log) { + this.dtvTestLog = log; + } + + public void init() { + + try { + url = new URL(LOCATOR); + } catch (MalformedURLException e) { + e.printStackTrace(); + } + mediaLocator = new MediaLocator(url); + } + + /** Testa getURL() verificando se o retorno corresponde URL da mdia construda. + * + * @see MediaLocator#getURL() + */ + public void start() { + + try { + + if(mediaLocator.getURL().equals(url)) //URL sobrescreve .equals() + dtvTestLog.success(); + else + dtvTestLog.failure(); + + } catch (MalformedURLException e) { + e.printStackTrace(); + } + } + + + + + public void pause() { + + } + + public void destroy() { + + } + + public void setForm(Form form) { + // TODO Auto-generated method stub + + } + + +} \ No newline at end of file diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/javax/media/MediaLocator/ToExternalFormTest.java b/Projeto PPB-Ginga/Plaver Framework/plaver/javax/media/MediaLocator/ToExternalFormTest.java new file mode 100644 index 0000000..8731a46 --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/javax/media/MediaLocator/ToExternalFormTest.java @@ -0,0 +1,61 @@ +package plaver.javax.media.MediaLocator; + +import java.net.MalformedURLException; +import java.net.URL; + +import javax.media.MediaLocator; + +import com.sun.dtv.lwuit.Form; + +import plaver.dtvtest.DTVTest; +import plaver.dtvtest.DTVTestLog; + + +public class ToExternalFormTest implements DTVTest { + + private static final String LOCATOR = "file:cagin/javax/media/Manager/medias_jmf/v1.MPG"; + + private MediaLocator mediaLocator; + private DTVTestLog dtvTestLog; + private URL url; + + public void setLog(DTVTestLog log) { + this.dtvTestLog = log; + } + + public void init() { + + try { + url = new URL(LOCATOR); + } catch (MalformedURLException e) { + e.printStackTrace(); + } + mediaLocator = new MediaLocator(url); + } + + /** Testa toExternalForm() verificando se o retorno corresponde ao externalForm da mdia construda. + * + * @see MediaLocator#toExternalForm() + */ + public void start() { + if(mediaLocator.toExternalForm().equalsIgnoreCase(LOCATOR)) + dtvTestLog.success(); + else + dtvTestLog.failure(); + } + + public void pause() { + + } + + public void destroy() { + + } + + public void setForm(Form form) { + // TODO Auto-generated method stub + + } + + +} \ No newline at end of file diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/javax/media/MediaLocator/ToStringTest.java b/Projeto PPB-Ginga/Plaver Framework/plaver/javax/media/MediaLocator/ToStringTest.java new file mode 100644 index 0000000..d036221 --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/javax/media/MediaLocator/ToStringTest.java @@ -0,0 +1,60 @@ +package plaver.javax.media.MediaLocator; + +import java.net.MalformedURLException; +import java.net.URL; + +import javax.media.MediaLocator; + +import com.sun.dtv.lwuit.Form; + +import plaver.dtvtest.DTVTest; +import plaver.dtvtest.DTVTestLog; + + +public class ToStringTest implements DTVTest { + + private static final String LOCATOR = "file:videos/Lavid_1.AVI"; + + private MediaLocator mediaLocator; + private DTVTestLog dtvTestLog; + private URL url; + + public void setLog(DTVTestLog log) { + this.dtvTestLog = log; + } + + public void init() { + + try { + url = new URL(LOCATOR); + } catch (MalformedURLException e) { + e.printStackTrace(); + } + mediaLocator = new MediaLocator(url); + } + + /** Testa toString() verificando se o retorno uma instance de String. + * + * @see MediaLocator#toString() + */ + public void start() { + if(mediaLocator.toString() instanceof String) + dtvTestLog.success(); + else + dtvTestLog.failure(); + } + + public void pause() { + + } + + public void destroy() { + + } + + public void setForm(Form form) { + // TODO Auto-generated method stub + + } + +} \ No newline at end of file diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/media/Awtvideosize/EqualsTest.java b/Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/media/Awtvideosize/EqualsTest.java new file mode 100644 index 0000000..1357f73 --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/media/Awtvideosize/EqualsTest.java @@ -0,0 +1,82 @@ +package plaver.javax.tv.media.Awtvideosize; + +import java.awt.Rectangle; + +import javax.tv.media.AWTVideoSize; + +import com.sun.dtv.lwuit.Form; + +import plaver.dtvtest.DTVTest; +import plaver.dtvtest.DTVTestLog; + + +/** + * TestaAWTVideoSize uma classe que inicia o teste para todos os mtodos de {@link AWTVideoSize}. + * + * @author Leandro Henrique + */ + +public class EqualsTest implements DTVTest{ + + private static final int WIDTH_SOURCE = 160; + private static final int HEIGHT_SOURCE = 160; + private static final int X_SOURCE = 30; + private static final int Y_SOURCE = 30; + + private static final int WIDTH_DEST = 95; + private static final int HEIGHT_DEST = 75; + private static final int X_DEST = 30; + private static final int Y_DEST = 20; + + private Rectangle videoSource; + private Rectangle videoDest; + private AWTVideoSize awtVideoSize; + private DTVTestLog dtvTestLog; + + public void setLog(DTVTestLog log) { + this.dtvTestLog = log; + } + + public void init() { + // TODO Auto-generated method stub + } + + + /** Testa equals() atravs de dois objetos do tipo AWTVideoSize. O primeiro um clone do AWTVideoSize original, o segundo + * um objeto com dimenes diferentes. O mtodo equals(), aplicado no objeto original, deve retornar true + * quando comparado ao clone e retornar false ao ser comparado com o objeto diferente. + * + * @see AWTVideoSize#equals(Object) + */ + public void start() { + + videoSource = new Rectangle(X_SOURCE, Y_SOURCE, WIDTH_SOURCE, HEIGHT_SOURCE); + videoDest = new Rectangle(X_DEST , Y_DEST , WIDTH_DEST , HEIGHT_DEST); + + awtVideoSize = new AWTVideoSize(videoSource, videoDest); + + AWTVideoSize videoSizeCloned = new AWTVideoSize(videoSource, videoDest); + AWTVideoSize otherVideoSize = new AWTVideoSize(new Rectangle(1, 1, 1, 1), new Rectangle(1, 1, 1, 1)); + + if(awtVideoSize.equals(videoSizeCloned) && ! awtVideoSize.equals(otherVideoSize)) { + dtvTestLog.success(); + } else { + dtvTestLog.failure(); + } + + } + + public void pause() { + // TODO Auto-generated method stub + } + + public void destroy() { + // TODO Auto-generated method stub + } + + public void setForm(Form form) { + // TODO Auto-generated method stub + + } + +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/media/Awtvideosize/GetDestinationTest.java b/Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/media/Awtvideosize/GetDestinationTest.java new file mode 100644 index 0000000..ea2cd99 --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/media/Awtvideosize/GetDestinationTest.java @@ -0,0 +1,74 @@ +package plaver.javax.tv.media.Awtvideosize; + +import java.awt.Rectangle; + +import javax.tv.media.AWTVideoSize; + +import com.sun.dtv.lwuit.Form; + +import plaver.dtvtest.DTVTest; +import plaver.dtvtest.DTVTestLog; + + +/** + * TestaAWTVideoSize uma classe que inicia o teste para todos os mtodos de {@link AWTVideoSize}. + * + * @author Leandro Henrique + */ + +public class GetDestinationTest implements DTVTest{ + + private static final int WIDTH_SOURCE = 160; + private static final int HEIGHT_SOURCE = 160; + private static final int X_SOURCE = 30; + private static final int Y_SOURCE = 30; + + private static final int WIDTH_DEST = 95; + private static final int HEIGHT_DEST = 75; + private static final int X_DEST = 30; + private static final int Y_DEST = 20; + + private Rectangle videoSource; + private Rectangle videoDest; + private AWTVideoSize awtVideoSize; + private DTVTestLog dtvTestLog; + + public void setLog(DTVTestLog log) { + this.dtvTestLog = log; + } + + public void init() { + // TODO Auto-generated method stub + } + + /** Testa getDestanatio() verificando se o destino retornado igual ao destino especificado no construtor. + * + * @see AWTVideoSize#getDestination() + */ + public void start() { + videoSource = new Rectangle(X_SOURCE, Y_SOURCE, WIDTH_SOURCE, HEIGHT_SOURCE); + videoDest = new Rectangle(X_DEST , Y_DEST , WIDTH_DEST , HEIGHT_DEST); + + awtVideoSize = new AWTVideoSize(videoSource, videoDest); + + if(awtVideoSize.getDestination().equals(videoDest)) //Rectangle sobrescreve equals() + dtvTestLog.success(); + else + dtvTestLog.failure(); + + } + + public void pause() { + // TODO Auto-generated method stub + } + + public void destroy() { + // TODO Auto-generated method stub + } + + public void setForm(Form form) { + // TODO Auto-generated method stub + + } + +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/media/Awtvideosize/GetSourceTest.java b/Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/media/Awtvideosize/GetSourceTest.java new file mode 100644 index 0000000..b8343fe --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/media/Awtvideosize/GetSourceTest.java @@ -0,0 +1,75 @@ +package plaver.javax.tv.media.Awtvideosize; + +import java.awt.Rectangle; + +import javax.tv.media.AWTVideoSize; + +import com.sun.dtv.lwuit.Form; + +import plaver.dtvtest.DTVTest; +import plaver.dtvtest.DTVTestLog; + + +/** + * TestaAWTVideoSize uma classe que inicia o teste para todos os mtodos de {@link AWTVideoSize}. + * + * @author Leandro Henrique + */ + +public class GetSourceTest implements DTVTest{ + + private static final int WIDTH_SOURCE = 160; + private static final int HEIGHT_SOURCE = 160; + private static final int X_SOURCE = 30; + private static final int Y_SOURCE = 30; + + private static final int WIDTH_DEST = 95; + private static final int HEIGHT_DEST = 75; + private static final int X_DEST = 30; + private static final int Y_DEST = 20; + + private Rectangle videoSource; + private Rectangle videoDest; + private AWTVideoSize awtVideoSize; + private DTVTestLog dtvTestLog; + + public void setLog(DTVTestLog log) { + this.dtvTestLog = log; + } + + public void init() { + // TODO Auto-generated method stub + } + + /** Testa getSource() verificando se o source (i.e. a posio e as dimenses original do vdeo) retornado igual + * ao source especificado no construtor. + * + * @see AWTVideoSize#getSource() + */ + public void start() { + videoSource = new Rectangle(X_SOURCE, Y_SOURCE, WIDTH_SOURCE, HEIGHT_SOURCE); + videoDest = new Rectangle(X_DEST , Y_DEST , WIDTH_DEST , HEIGHT_DEST); + + awtVideoSize = new AWTVideoSize(videoSource, videoDest); + + if(awtVideoSize.getSource().equals(videoSource)) + dtvTestLog.success(); + else + dtvTestLog.failure(); + + } + + public void pause() { + // TODO Auto-generated method stub + } + + public void destroy() { + // TODO Auto-generated method stub + } + + public void setForm(Form form) { + // TODO Auto-generated method stub + + } + +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/media/Awtvideosize/GetXScaleTest.java b/Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/media/Awtvideosize/GetXScaleTest.java new file mode 100644 index 0000000..53124b0 --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/media/Awtvideosize/GetXScaleTest.java @@ -0,0 +1,75 @@ +package plaver.javax.tv.media.Awtvideosize; + +import java.awt.Rectangle; + +import javax.tv.media.AWTVideoSize; + +import com.sun.dtv.lwuit.Form; + +import plaver.dtvtest.DTVTest; +import plaver.dtvtest.DTVTestLog; + + + +/** + * TestaAWTVideoSize uma classe que inicia o teste para todos os mtodos de {@link AWTVideoSize}. + * + * @author Leandro Henrique + */ + +public class GetXScaleTest implements DTVTest{ + + private static final int WIDTH_SOURCE = 200; + private static final int HEIGHT_SOURCE = 160; + private static final int X_SOURCE = 30; + private static final int Y_SOURCE = 30; + + private static final int WIDTH_DEST = 100; + private static final int HEIGHT_DEST = 75; + private static final int X_DEST = 30; + private static final int Y_DEST = 20; + + private Rectangle videoSource; + private Rectangle videoDest; + private AWTVideoSize awtVideoSize; + private DTVTestLog dtvTestLog; + + public void setLog(DTVTestLog log) { + this.dtvTestLog = log; + } + + public void init() { + // TODO Auto-generated method stub + } + + /** Testa getGetXScale() verificando se a scala no eixo X corresponde razo da largura final pela largura inicial do vdeo. + * + * @see AWTVideoSize#getXScale() + */ + public void start() { + videoSource = new Rectangle(X_SOURCE, Y_SOURCE, WIDTH_SOURCE, HEIGHT_SOURCE); + videoDest = new Rectangle(X_DEST , Y_DEST , WIDTH_DEST , HEIGHT_DEST); + + awtVideoSize = new AWTVideoSize(videoSource, videoDest); + + if(awtVideoSize.getXScale() == awtVideoSize.getDestination().width/ (float) awtVideoSize.getSource().width) + dtvTestLog.success(); + else + dtvTestLog.failure(); + + } + + public void pause() { + // TODO Auto-generated method stub + } + + public void destroy() { + // TODO Auto-generated method stub + } + + public void setForm(Form form) { + // TODO Auto-generated method stub + + } + +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/media/Awtvideosize/GetYScaleTest.java b/Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/media/Awtvideosize/GetYScaleTest.java new file mode 100644 index 0000000..6845b22 --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/media/Awtvideosize/GetYScaleTest.java @@ -0,0 +1,74 @@ +package plaver.javax.tv.media.Awtvideosize; + +import java.awt.Rectangle; + +import javax.tv.media.AWTVideoSize; + +import com.sun.dtv.lwuit.Form; + +import plaver.dtvtest.DTVTest; +import plaver.dtvtest.DTVTestLog; + + +/** + * TestaAWTVideoSize uma classe que inicia o teste para todos os mtodos de {@link AWTVideoSize}. + * + * @author Leandro Henrique + */ + +public class GetYScaleTest implements DTVTest { + + private static final int WIDTH_SOURCE = 160; + private static final int HEIGHT_SOURCE = 160; + private static final int X_SOURCE = 30; + private static final int Y_SOURCE = 30; + + private static final int WIDTH_DEST = 95; + private static final int HEIGHT_DEST = 75; + private static final int X_DEST = 30; + private static final int Y_DEST = 20; + + private Rectangle videoSource; + private Rectangle videoDest; + private AWTVideoSize awtVideoSize; + private DTVTestLog dtvTestLog; + + public void setLog(DTVTestLog log) { + this.dtvTestLog = log; + } + + public void init() { + // TODO Auto-generated method stub + } + + /** Testa getGetYScale() verificando se a scala no eixo Y corresponde razo da comprimento final pela comprimento inicial do vdeo. + * + * @see AWTVideoSize#getYScale() + */ + public void start() { + videoSource = new Rectangle(X_SOURCE, Y_SOURCE, WIDTH_SOURCE, HEIGHT_SOURCE); + videoDest = new Rectangle(X_DEST , Y_DEST , WIDTH_DEST , HEIGHT_DEST); + + awtVideoSize = new AWTVideoSize(videoSource, videoDest); + + if(awtVideoSize.getYScale() == awtVideoSize.getDestination().height/ (float) awtVideoSize.getSource().height) + dtvTestLog.success(); + else + dtvTestLog.failure(); + + } + + public void pause() { + // TODO Auto-generated method stub + } + + public void destroy() { + // TODO Auto-generated method stub + } + + public void setForm(Form form) { + // TODO Auto-generated method stub + + } + +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/media/Awtvideosize/HashCodeTest.java b/Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/media/Awtvideosize/HashCodeTest.java new file mode 100644 index 0000000..6d189a8 --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/media/Awtvideosize/HashCodeTest.java @@ -0,0 +1,78 @@ +package plaver.javax.tv.media.Awtvideosize; + +import java.awt.Rectangle; + +import javax.tv.media.AWTVideoSize; + +import com.sun.dtv.lwuit.Form; + +import plaver.dtvtest.DTVTest; +import plaver.dtvtest.DTVTestLog; + + +/** + * TestaAWTVideoSize uma classe que inicia o teste para todos os mtodos de {@link AWTVideoSize}. + * + * @author Leandro Henrique + */ + +public class HashCodeTest implements DTVTest{ + + private static final int WIDTH_SOURCE = 160; + private static final int HEIGHT_SOURCE = 160; + private static final int X_SOURCE = 30; + private static final int Y_SOURCE = 30; + + private static final int WIDTH_DEST = 95; + private static final int HEIGHT_DEST = 75; + private static final int X_DEST = 30; + private static final int Y_DEST = 20; + + private Rectangle videoSource; + private Rectangle videoDest; + private AWTVideoSize awtVideoSize; + private DTVTestLog dtvTestLog; + + public void setLog(DTVTestLog log) { + this.dtvTestLog = log; + } + + public void init() { + // TODO Auto-generated method stub + } + + /** Testa hashCode() atravs de dois objetos do tipo AWTVideoSize. O primeiro um clone do AWTVideoSize original, o segundo + * um objeto com dimenes diferentes. O mtodo hashCode(), aplicado no objeto original, deve retornar true + * quando comparado ao clone e retornar false ao ser comparado com o objeto diferente. + * + * @see AWTVideoSize#hashCode() + */ + public void start() { + videoSource = new Rectangle(X_SOURCE, Y_SOURCE, WIDTH_SOURCE, HEIGHT_SOURCE); + videoDest = new Rectangle(X_DEST , Y_DEST , WIDTH_DEST , HEIGHT_DEST); + + awtVideoSize = new AWTVideoSize(videoSource, videoDest); + + AWTVideoSize VideoSizeCloned = new AWTVideoSize(videoSource, videoDest); + AWTVideoSize OtherVideoSize = new AWTVideoSize(new Rectangle(1, 1, 1, 1), new Rectangle(1, 1, 1, 1)); + + if(awtVideoSize.hashCode() == VideoSizeCloned.hashCode() && awtVideoSize.hashCode() != OtherVideoSize.hashCode()) + dtvTestLog.success(); + else + dtvTestLog.failure(); + } + + public void pause() { + // TODO Auto-generated method stub + } + + public void destroy() { + // TODO Auto-generated method stub + } + + public void setForm(Form form) { + // TODO Auto-generated method stub + + } + +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/media/Awtvideosize/ToStringTest.java b/Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/media/Awtvideosize/ToStringTest.java new file mode 100644 index 0000000..b22c798 --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/media/Awtvideosize/ToStringTest.java @@ -0,0 +1,73 @@ +package plaver.javax.tv.media.Awtvideosize; + +import java.awt.Rectangle; + +import javax.tv.media.AWTVideoSize; + +import com.sun.dtv.lwuit.Form; + +import plaver.dtvtest.DTVTest; +import plaver.dtvtest.DTVTestLog; + + +/** + * TestaAWTVideoSize uma classe que inicia o teste para todos os mtodos de {@link AWTVideoSize}. + * + * @author Leandro Henrique + */ + +public class ToStringTest implements DTVTest{ + + private static final int WIDTH_SOURCE = 160; + private static final int HEIGHT_SOURCE = 160; + private static final int X_SOURCE = 30; + private static final int Y_SOURCE = 30; + + private static final int WIDTH_DEST = 95; + private static final int HEIGHT_DEST = 75; + private static final int X_DEST = 30; + private static final int Y_DEST = 20; + + private Rectangle videoSource; + private Rectangle videoDest; + private AWTVideoSize awtVideoSize; + private DTVTestLog dtvTestLog; + + public void setLog(DTVTestLog log) { + this.dtvTestLog = log; + } + + public void init() { + // TODO Auto-generated method stub + } + + /** Testa toString() verificando se o objeto retornado uma instncia de String. + * + * @see AWTVideoSize#toString() + */ + public void start() { + videoSource = new Rectangle(X_SOURCE, Y_SOURCE, WIDTH_SOURCE, HEIGHT_SOURCE); + videoDest = new Rectangle(X_DEST , Y_DEST , WIDTH_DEST , HEIGHT_DEST); + + awtVideoSize = new AWTVideoSize(videoSource, videoDest); + + if(awtVideoSize.toString() instanceof String) + dtvTestLog.success(); + else + dtvTestLog.failure(); + } + + public void pause() { + // TODO Auto-generated method stub + } + + public void destroy() { + // TODO Auto-generated method stub + } + + public void setForm(Form form) { + // TODO Auto-generated method stub + + } + +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/util/TVTimer/DescheduleTest.java b/Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/util/TVTimer/DescheduleTest.java new file mode 100644 index 0000000..4637e5b --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/util/TVTimer/DescheduleTest.java @@ -0,0 +1,76 @@ +package plaver.javax.tv.util.TVTimer; + +import javax.tv.util.TVTimer; +import javax.tv.util.TVTimerScheduleFailedException; +import javax.tv.util.TVTimerSpec; +import javax.tv.util.TVTimerWentOffEvent; +import javax.tv.util.TVTimerWentOffListener; + +import com.sun.dtv.lwuit.Form; + +import plaver.dtvtest.DTVTest; +import plaver.dtvtest.DTVTestLog; + + +public class DescheduleTest implements DTVTest, TVTimerWentOffListener{ + + private DTVTestLog log; + private TVTimerSpec timerSpec; + + public void destroy() { + timerSpec = null; + } + + public void init() { + timerSpec = new TVTimerSpec(); + timerSpec.addTVTimerWentOffListener(this); + timerSpec.setRepeat(false); + } + + public void start() { + + timerSpec.setDelayTime(2000l); + + deschedule(); + try { + Thread.sleep(4000l); + } catch (InterruptedException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + + log.success(); + + } + + public void pause() { + // TODO Auto-generated method stub + } + + public void setLog(DTVTestLog log) { + this.log = log; + } + + private void deschedule(){ + + try { + TVTimer.getTimer().scheduleTimerSpec(timerSpec); + } catch (TVTimerScheduleFailedException e1) { + // TODO Auto-generated catch block + System.out.println("Erro ao programar tempo"); + } + + //desprograma o timerSpec + TVTimer.getTimer().deschedule(timerSpec); + } + + // se o evento for gerado, entao nao foi possivel desprogramar o tempo + public void timerWentOff(TVTimerWentOffEvent e) { + log.failure(); + } + + public void setForm(Form form) { + // TODO Auto-generated method stub + } + +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/util/TVTimer/GetGranularityTest.java b/Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/util/TVTimer/GetGranularityTest.java new file mode 100644 index 0000000..8c0bb30 --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/util/TVTimer/GetGranularityTest.java @@ -0,0 +1,48 @@ +package plaver.javax.tv.util.TVTimer; + +import javax.tv.util.TVTimer; + +import com.sun.dtv.lwuit.Form; + +import plaver.dtvtest.DTVTest; +import plaver.dtvtest.DTVTestLog; + + +public class GetGranularityTest implements DTVTest { + + private DTVTestLog log; + + public void destroy() { + // TODO Auto-generated method stub + } + + public void init() { + } + public void start() { + getMinRepeatInterval(); + } + + public void pause() { + // TODO Auto-generated method stub + } + + public void setLog(DTVTestLog log) { + this.log = log; + } + + private void getMinRepeatInterval(){ + + long granularity = TVTimer.getTimer().getGranularity(); + + if(granularity > -2 && granularity != 0) + log.success(); + else + log.failure(); + + } + + public void setForm(Form form) { + // TODO Auto-generated method stub + } + +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/util/TVTimer/GetMinRepeatIntervalTest.java b/Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/util/TVTimer/GetMinRepeatIntervalTest.java new file mode 100644 index 0000000..68ab240 --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/util/TVTimer/GetMinRepeatIntervalTest.java @@ -0,0 +1,60 @@ +package plaver.javax.tv.util.TVTimer; + +import javax.tv.util.TVTimer; + +import com.sun.dtv.lwuit.Form; + +import plaver.dtvtest.DTVTest; +import plaver.dtvtest.DTVTestLog; + + +public class GetMinRepeatIntervalTest implements DTVTest { + + private DTVTestLog log; + + + + public void destroy() { + // TODO Auto-generated method stub + + } + public void init() { + + } + + public void start() { + + getMinRepeatInterval(); + } + + public void pause() { + // TODO Auto-generated method stub + + } + public void setLog(DTVTestLog log) { + this.log = log; + } + private void getMinRepeatInterval(){ + + long minRepeatInterval= TVTimer.getTimer().getMinRepeatInterval(); + + if(minRepeatInterval > -2 && minRepeatInterval != 0) + log.success(); + else + log.failure(); + + } + + public String nameClass() { + return "TVTimer"; + } + + public String nameMetodo() { + + return "getMinRepeatInterval()"; + } + public void setForm(Form form) { + // TODO Auto-generated method stub + } + +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/util/TVTimer/GetTimerTest.java b/Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/util/TVTimer/GetTimerTest.java new file mode 100644 index 0000000..e8164b4 --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/util/TVTimer/GetTimerTest.java @@ -0,0 +1,50 @@ +package plaver.javax.tv.util.TVTimer; + +import javax.tv.util.TVTimer; + +import com.sun.dtv.lwuit.Form; + +import plaver.dtvtest.DTVTest; +import plaver.dtvtest.DTVTestLog; + + +public class GetTimerTest implements DTVTest //,DTVTestInfo +{ + + private DTVTestLog log; + + public void destroy() { + // TODO Auto-generated method stub + + } + public void init() { + + } + + public void start() { + getTimer(); + } + + public void pause() { + // TODO Auto-generated method stub + + } + + public void setLog(DTVTestLog log) { + this.log = log; + } + + private void getTimer(){ + + if(TVTimer.getTimer() instanceof TVTimer) + log.success(); + else + log.failure(); + + } + + public void setForm(Form form) { + // TODO Auto-generated method stub + } + +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/util/TVTimer/ScheduleTimerSpecTest.java b/Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/util/TVTimer/ScheduleTimerSpecTest.java new file mode 100644 index 0000000..63e98bd --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/util/TVTimer/ScheduleTimerSpecTest.java @@ -0,0 +1,74 @@ +package plaver.javax.tv.util.TVTimer; + +import javax.tv.util.TVTimer; +import javax.tv.util.TVTimerScheduleFailedException; +import javax.tv.util.TVTimerSpec; +import javax.tv.util.TVTimerWentOffEvent; +import javax.tv.util.TVTimerWentOffListener; + +import com.sun.dtv.lwuit.Form; + +import plaver.dtvtest.DTVTest; +import plaver.dtvtest.DTVTestLog; + +public class ScheduleTimerSpecTest implements DTVTest, TVTimerWentOffListener{ + + private DTVTestLog log; + private TVTimerSpec timerSpec; + + public void destroy() { + timerSpec = null; + } + + public void init() { + timerSpec = new TVTimerSpec(); + timerSpec.addTVTimerWentOffListener(this); + timerSpec.setRepeat(false); + } + + public void start() { + + timerSpec.setDelayTime(4000l); + schedule(); + + } + + public void pause() { + // TODO Auto-generated method stub + + } + public void setLog(DTVTestLog log) { + this.log = log; + } + + private void schedule(){ + + try { + TVTimer.getTimer().scheduleTimerSpec(timerSpec); + } catch (TVTimerScheduleFailedException e1) { + log.failure(); + System.out.println("Erro ao programar tempo"); + } + + } + + public String nameClass() { + // TODO Auto-generated method stub + return "TVTimer"; + } + public String nameMetodo() { + // TODO Auto-generated method stub + return "scheduleTimerSpec()"; + } + + // se o evento for gerado, entao foi possivel programar o tempo + public void timerWentOff(TVTimerWentOffEvent e) { + + log.success(); + + } + public void setForm(Form form) { + // TODO Auto-generated method stub + } + +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/util/TVTimerSpec/AddTVTimerWentOffListenerTest.java b/Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/util/TVTimerSpec/AddTVTimerWentOffListenerTest.java new file mode 100644 index 0000000..9cabdfd --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/util/TVTimerSpec/AddTVTimerWentOffListenerTest.java @@ -0,0 +1,78 @@ +package plaver.javax.tv.util.TVTimerSpec; + +import javax.tv.util.TVTimer; +import javax.tv.util.TVTimerSpec; +import javax.tv.util.TVTimerWentOffEvent; +import javax.tv.util.TVTimerWentOffListener; + +import com.sun.dtv.lwuit.Form; + +import plaver.dtvtest.DTVTest; +import plaver.dtvtest.DTVTestLog; + + +public class AddTVTimerWentOffListenerTest implements DTVTest,TVTimerWentOffListener{ + + private DTVTestLog log; + private TVTimerSpec timerSpec; + + public void destroy() { + timerSpec = null; + } + + public void init() { + + timerSpec = new TVTimerSpec(); + timerSpec.addTVTimerWentOffListener(this); + + } + + public void pause() { + + } + + public void setLog(DTVTestLog log) { + + this.log = log; + + } + + public void start() { + addTVTimerWentOffListener(); + } + + public String nameClass() { + + return "TVTimerSpec"; + } + + public String nameMetodo() { + + return "addTVTimerWentOffListener()"; + } + + private void addTVTimerWentOffListener(){ + + timerSpec.notifyListeners(TVTimer.getTimer()); + + try { + Thread.sleep(3000l); + } catch (InterruptedException e) { + + e.printStackTrace(); + } + log.failure(); + } + + public void timerWentOff(TVTimerWentOffEvent e) { + + log.success(); + + } + + public void setForm(Form form) { + // TODO Auto-generated method stub + + } + +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/util/TVTimerSpec/GetTimeTest.java b/Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/util/TVTimerSpec/GetTimeTest.java new file mode 100644 index 0000000..3ad1aa5 --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/util/TVTimerSpec/GetTimeTest.java @@ -0,0 +1,74 @@ +package plaver.javax.tv.util.TVTimerSpec; + +import javax.tv.util.TVTimerSpec; + +import com.sun.dtv.lwuit.Form; + +import plaver.dtvtest.DTVTest; +import plaver.dtvtest.DTVTestLog; + + +public class GetTimeTest implements DTVTest{ + + private DTVTestLog log; + private TVTimerSpec timerSpec; + private boolean status = false; + + public void destroy() { + + timerSpec = null; + } + + public void init() { + + timerSpec = new TVTimerSpec(); + + } + + public void pause() { + + } + + public void setLog(DTVTestLog log) { + + this.log = log; + + } + + public void start() { + getTime(); + } + + public String nameClass() { + + return "TVTimerSpec"; + } + + public String nameMetodo() { + + return "getTime()"; + } + + private void getTime(){ + + + timerSpec.setTime(3000); + + + if(timerSpec.getTime() == 3000 ){ + status = true; + timerSpec.setTime(4000); + } + if (timerSpec.getTime()== 4000 && status){ + + log.success(); + + }else log.failure(); + } + + public void setForm(Form form) { + // TODO Auto-generated method stub + + } + +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/util/TVTimerSpec/IsAbsoluteTest.java b/Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/util/TVTimerSpec/IsAbsoluteTest.java new file mode 100644 index 0000000..51071bf --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/util/TVTimerSpec/IsAbsoluteTest.java @@ -0,0 +1,62 @@ +package plaver.javax.tv.util.TVTimerSpec; + +import javax.tv.util.TVTimerSpec; + +import com.sun.dtv.lwuit.Form; + +import plaver.dtvtest.DTVTest; +import plaver.dtvtest.DTVTestLog; + + +public class IsAbsoluteTest implements DTVTest{ + + private DTVTestLog log; + private TVTimerSpec timerSpec; + private boolean status = false; + + public void destroy() { + + timerSpec = null; + } + + public void init() { + + timerSpec = new TVTimerSpec(); + + } + + public void pause() { + + } + + public void setLog(DTVTestLog log) { + + this.log = log; + + } + + public void start() { + isAbsolute(); + } + + private void isAbsolute(){ + + timerSpec.setAbsolute(true); + + + if(timerSpec.isAbsolute()){ + status = true; + timerSpec.setAbsolute(false); + } + + if (!(timerSpec.isAbsolute()) && status){ + log.success(); + }else log.failure(); + } + + public void setForm(Form form) { + // TODO Auto-generated method stub + } + + +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/util/TVTimerSpec/IsRegularTest.java b/Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/util/TVTimerSpec/IsRegularTest.java new file mode 100644 index 0000000..6bc2199 --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/util/TVTimerSpec/IsRegularTest.java @@ -0,0 +1,71 @@ +package plaver.javax.tv.util.TVTimerSpec; + +import javax.tv.util.TVTimerSpec; + +import com.sun.dtv.lwuit.Form; + +import plaver.dtvtest.DTVTest; +import plaver.dtvtest.DTVTestLog; + + +public class IsRegularTest implements DTVTest{ + + private DTVTestLog log; + private TVTimerSpec timerSpec; + private boolean status = false; + + public void destroy() { + + timerSpec = null; + } + + public void init() { + timerSpec = new TVTimerSpec(); + } + + public void pause() { + + } + + public void setLog(DTVTestLog log) { + + this.log = log; + + } + + public void start() { + isRegular(); + } + + public String nameClass() { + + return "TVTimerSpec"; + } + + public String nameMetodo() { + + return "isRegular()"; + } + + private void isRegular(){ + + + timerSpec.setRegular(true); + + + if(timerSpec.isRegular()){ + status = true; + timerSpec.setRegular(false); + } + if (!(timerSpec.isRegular()) && status){ + + log.success(); + + }else log.failure(); + } + + public void setForm(Form form) { + // TODO Auto-generated method stub + } + +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/util/TVTimerSpec/IsRepeatTest.java b/Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/util/TVTimerSpec/IsRepeatTest.java new file mode 100644 index 0000000..8e71a92 --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/util/TVTimerSpec/IsRepeatTest.java @@ -0,0 +1,72 @@ +package plaver.javax.tv.util.TVTimerSpec; + +import javax.tv.util.TVTimerSpec; + +import com.sun.dtv.lwuit.Form; + +import plaver.dtvtest.DTVTest; +import plaver.dtvtest.DTVTestLog; + + +public class IsRepeatTest implements DTVTest{ + + private DTVTestLog log; + private TVTimerSpec timerSpec; + private boolean status = false; + + public void destroy() { + + timerSpec = null; + } + + public void init() { + + timerSpec = new TVTimerSpec(); + + } + + public void pause() { + + } + + public void setLog(DTVTestLog log) { + + this.log = log; + + } + + public void start() { + isRepeat(); + } + + public String nameClass() { + + return "TVTimerSpec"; + } + + public String nameMetodo() { + + return "isRepeat()"; + } + + private void isRepeat(){ + + timerSpec.setRepeat(true); + + if(timerSpec.isRepeat()){ + status = true; + timerSpec.setRepeat(false); + } + if (!(timerSpec.isRepeat()) && status){ + + log.success(); + + }else log.failure(); + } + + public void setForm(Form form) { + // TODO Auto-generated method stub + + } + +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/util/TVTimerSpec/NotifyListenersTest.java b/Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/util/TVTimerSpec/NotifyListenersTest.java new file mode 100644 index 0000000..9fc39e0 --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/util/TVTimerSpec/NotifyListenersTest.java @@ -0,0 +1,78 @@ +package plaver.javax.tv.util.TVTimerSpec; + +import javax.tv.util.TVTimer; +import javax.tv.util.TVTimerSpec; +import javax.tv.util.TVTimerWentOffEvent; +import javax.tv.util.TVTimerWentOffListener; + +import com.sun.dtv.lwuit.Form; + +import plaver.dtvtest.DTVTest; +import plaver.dtvtest.DTVTestLog; + +public class NotifyListenersTest implements DTVTest,TVTimerWentOffListener{ + + private DTVTestLog log; + private TVTimerSpec timerSpec; + + public void destroy() { + + timerSpec = null; + } + + public void init() { + + timerSpec = new TVTimerSpec(); + timerSpec.addTVTimerWentOffListener(this); + + } + + public void pause() { + + } + + public void setLog(DTVTestLog log) { + + this.log = log; + + } + + public void start() { + notifyListeners(); + } + + public String nameClass() { + + return "TVTimerSpec"; + } + + public String nameMetodo() { + + return "notifyListeners()"; + } + + private void notifyListeners(){ + + timerSpec.notifyListeners(TVTimer.getTimer()); + + try { + Thread.sleep(3000l); + } catch (InterruptedException e) { + + e.printStackTrace(); + } + log.failure(); + } + + public void timerWentOff(TVTimerWentOffEvent e) { + + log.success(); + + } + + public void setForm(Form form) { + // TODO Auto-generated method stub + + } + +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/util/TVTimerSpec/RemoveTVTimerWentOffListenerTest.java b/Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/util/TVTimerSpec/RemoveTVTimerWentOffListenerTest.java new file mode 100644 index 0000000..a043f1e --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/util/TVTimerSpec/RemoveTVTimerWentOffListenerTest.java @@ -0,0 +1,81 @@ +package plaver.javax.tv.util.TVTimerSpec; + +import javax.tv.util.TVTimer; +import javax.tv.util.TVTimerSpec; +import javax.tv.util.TVTimerWentOffEvent; +import javax.tv.util.TVTimerWentOffListener; + +import com.sun.dtv.lwuit.Form; + +import plaver.dtvtest.DTVTest; +import plaver.dtvtest.DTVTestLog; + +public class RemoveTVTimerWentOffListenerTest implements DTVTest,TVTimerWentOffListener{ + + private DTVTestLog log; + private TVTimerSpec timerSpec; + + public void destroy() { + + timerSpec = null; + } + + public void init() { + + timerSpec = new TVTimerSpec(); + + timerSpec.addTVTimerWentOffListener(this); + + } + + public void pause() { + + + } + + public void setLog(DTVTestLog log) { + + this.log = log; + + } + + public void start() { + removeTVTimerWentOffListener(); + } + + public String nameClass() { + + return "TVTimerSpec"; + } + + public String nameMetodo() { + + return "removeTVTimerWentOffListener()"; + } + + private void removeTVTimerWentOffListener(){ + + timerSpec.removeTVTimerWentOffListener(this); + + timerSpec.notifyListeners(TVTimer.getTimer()); + + try { + Thread.sleep(3000l); + } catch (InterruptedException e) { + + e.printStackTrace(); + } + log.success(); + } + + public void timerWentOff(TVTimerWentOffEvent e) { + + log.failure(); + + } + + public void setForm(Form form) { + // TODO Auto-generated method stub + } + +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/util/TVTimerSpec/SetAbsoluteTest.java b/Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/util/TVTimerSpec/SetAbsoluteTest.java new file mode 100644 index 0000000..d1ae615 --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/util/TVTimerSpec/SetAbsoluteTest.java @@ -0,0 +1,70 @@ +package plaver.javax.tv.util.TVTimerSpec; + +import javax.tv.util.TVTimerSpec; + +import com.sun.dtv.lwuit.Form; + +import plaver.dtvtest.DTVTest; +import plaver.dtvtest.DTVTestLog; + + +public class SetAbsoluteTest implements DTVTest{ + + private DTVTestLog log; + private TVTimerSpec timerSpec; + private boolean status = false; + + public void destroy() { + + timerSpec = null; + } + + public void init() { + timerSpec = new TVTimerSpec(); + } + + public void pause() { + + } + + public void setLog(DTVTestLog log) { + + this.log = log; + + } + + public void start() { + setAbsolute(); + } + + public String nameClass() { + + return "TVTimerSpec"; + } + + public String nameMetodo() { + + return "setAbsolute()"; + } + + private void setAbsolute(){ + + timerSpec.setAbsolute(true); + + + if(timerSpec.isAbsolute()){ + status = true; + timerSpec.setAbsolute(false); + } + if (!(timerSpec.isAbsolute()) && status){ + + log.success(); + + }else log.failure(); + } + + public void setForm(Form form) { + // TODO Auto-generated method stub + } + +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/util/TVTimerSpec/SetAbsoluteTimeTest.java b/Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/util/TVTimerSpec/SetAbsoluteTimeTest.java new file mode 100644 index 0000000..02a96d4 --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/util/TVTimerSpec/SetAbsoluteTimeTest.java @@ -0,0 +1,74 @@ +package plaver.javax.tv.util.TVTimerSpec; + +import javax.tv.util.TVTimerSpec; + +import com.sun.dtv.lwuit.Form; + +import plaver.dtvtest.DTVTest; +import plaver.dtvtest.DTVTestLog; + + +public class SetAbsoluteTimeTest implements DTVTest{ + + private DTVTestLog log; + private TVTimerSpec timerSpec; + private boolean status = false; + + public void destroy() { + + timerSpec = null; + } + + public void init() { + + timerSpec = new TVTimerSpec(); + + } + + public void pause() { + + + } + + public void setLog(DTVTestLog log) { + + this.log = log; + + } + + public void start() { + setAbsoluteTime(); + } + + public String nameClass() { + + return "TVTimerSpec"; + } + + public String nameMetodo() { + + return "setAbsoluteTime()"; + } + + private void setAbsoluteTime(){ + + timerSpec.setAbsoluteTime(3000); + + if(timerSpec.getTime() == 3000 ){ + status = true; + timerSpec.setAbsoluteTime(4000); + } + + if (timerSpec.getTime()== 4000 && status && timerSpec.isAbsolute() + && !(timerSpec.isRepeat())){ + + log.success(); + + }else log.failure(); + } + + public void setForm(Form form) { + // TODO Auto-generated method stub + } + +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/util/TVTimerSpec/SetDelayTimeTest.java b/Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/util/TVTimerSpec/SetDelayTimeTest.java new file mode 100644 index 0000000..63813d6 --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/util/TVTimerSpec/SetDelayTimeTest.java @@ -0,0 +1,75 @@ +package plaver.javax.tv.util.TVTimerSpec; + +import javax.tv.util.TVTimer; +import javax.tv.util.TVTimerScheduleFailedException; +import javax.tv.util.TVTimerSpec; +import javax.tv.util.TVTimerWentOffEvent; +import javax.tv.util.TVTimerWentOffListener; + +import com.sun.dtv.lwuit.Form; + +import plaver.dtvtest.DTVTest; +import plaver.dtvtest.DTVTestLog; + + +public class SetDelayTimeTest implements DTVTest,TVTimerWentOffListener{ + + private DTVTestLog log; + private TVTimerSpec timerSpec; + + public void destroy() { + + timerSpec = null; + } + + public void init() { + + timerSpec = new TVTimerSpec(); + timerSpec.addTVTimerWentOffListener(this); + + } + + public void pause() { + + } + + public void setLog(DTVTestLog log) { + + this.log = log; + + } + + public void start() { + timerSpec.setDelayTime(3000l); + setDelayTime(); + + try { + Thread.sleep(5000); + } catch (InterruptedException e) { + e.printStackTrace(); + } + + log.failure(); + } + + + private void setDelayTime(){ + + try { + TVTimer.getTimer().scheduleTimerSpec(timerSpec); + } catch (TVTimerScheduleFailedException e1) { + e1.printStackTrace(); + } + + } + + public void timerWentOff(TVTimerWentOffEvent e) { + log.success(); + } + + public void setForm(Form form) { + // TODO Auto-generated method stub + + } + +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/util/TVTimerSpec/SetRegularTest.java b/Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/util/TVTimerSpec/SetRegularTest.java new file mode 100644 index 0000000..6ae3c55 --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/util/TVTimerSpec/SetRegularTest.java @@ -0,0 +1,74 @@ +package plaver.javax.tv.util.TVTimerSpec; + +import javax.tv.util.TVTimerSpec; + +import com.sun.dtv.lwuit.Form; + +import plaver.dtvtest.DTVTest; +import plaver.dtvtest.DTVTestLog; + + +public class SetRegularTest implements DTVTest{ + + private DTVTestLog log; + private TVTimerSpec timerSpec; + private boolean status = false; + + public void destroy() { + + timerSpec = null; + } + + public void init() { + + timerSpec = new TVTimerSpec(); + + } + + public void pause() { + + } + + public void setLog(DTVTestLog log) { + + this.log = log; + + } + + public void start() { + setRegular(); + } + + public String nameClass() { + + return "TVTimerSpec"; + } + + public String nameMetodo() { + + return "setRegular()"; + } + + private void setRegular(){ + + + timerSpec.setRegular(true); + + + if(timerSpec.isRegular()){ + status = true; + timerSpec.setRegular(false); + } + if (!(timerSpec.isRegular()) && status){ + + log.success(); + + }else log.failure(); + } + + public void setForm(Form form) { + // TODO Auto-generated method stub + + } + +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/util/TVTimerSpec/SetRepeatTest.java b/Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/util/TVTimerSpec/SetRepeatTest.java new file mode 100644 index 0000000..6b0f819 --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/util/TVTimerSpec/SetRepeatTest.java @@ -0,0 +1,73 @@ +package plaver.javax.tv.util.TVTimerSpec; + +import javax.tv.util.TVTimerSpec; + +import com.sun.dtv.lwuit.Form; + +import plaver.dtvtest.DTVTest; +import plaver.dtvtest.DTVTestLog; + + +public class SetRepeatTest implements DTVTest{ + + private DTVTestLog log; + private TVTimerSpec timerSpec; + private boolean status = false; + + public void destroy() { + + timerSpec = null; + } + + public void init() { + + timerSpec = new TVTimerSpec(); + + } + + public void pause() { + + } + + public void setLog(DTVTestLog log) { + + this.log = log; + + } + + public void start() { + setRepeat(); + } + + public String nameClass() { + + return "TVTimerSpec"; + } + + public String nameMetodo() { + + return "setRepeat()"; + } + + private void setRepeat(){ + + timerSpec.setRepeat(true); + + + if(timerSpec.isRepeat()){ + status = true; + timerSpec.setRepeat(false); + } + if (!(timerSpec.isRepeat()) && status){ + + log.success(); + + }else log.failure(); + } + + public void setForm(Form form) { + // TODO Auto-generated method stub + + } + +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/util/TVTimerSpec/SetTimeTest.java b/Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/util/TVTimerSpec/SetTimeTest.java new file mode 100644 index 0000000..b217854 --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/util/TVTimerSpec/SetTimeTest.java @@ -0,0 +1,57 @@ +package plaver.javax.tv.util.TVTimerSpec; + +import javax.tv.util.TVTimerSpec; + +import com.sun.dtv.lwuit.Form; + +import plaver.dtvtest.DTVTest; +import plaver.dtvtest.DTVTestLog; + + +public class SetTimeTest implements DTVTest{ + + private DTVTestLog log; + private TVTimerSpec timerSpec; + private boolean status = false; + + public void init() { + timerSpec = new TVTimerSpec(); + } + + public void pause() { + + } + + public void setLog(DTVTestLog log) { + this.log = log; + } + + public void start() { + setTime(); + } + + private void setTime(){ + + timerSpec.setTime(1000); + + if(timerSpec.getTime() == 1000 ){ + status = true; + timerSpec.setTime(2000); + } + + if (timerSpec.getTime() == 2000 && status) + log.success(); + else + log.failure(); + } + + + public void destroy() { + timerSpec = null; + } + + public void setForm(Form form) { + // TODO Auto-generated method stub + } + +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/util/TVTimerWentOffEvent/GetTimerSpecTest.java b/Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/util/TVTimerWentOffEvent/GetTimerSpecTest.java new file mode 100644 index 0000000..271c161 --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/javax/tv/util/TVTimerWentOffEvent/GetTimerSpecTest.java @@ -0,0 +1,59 @@ +package plaver.javax.tv.util.TVTimerWentOffEvent; + +import javax.tv.util.TVTimer; +import javax.tv.util.TVTimerSpec; +import javax.tv.util.TVTimerWentOffEvent; + +import com.sun.dtv.lwuit.Form; + +import plaver.dtvtest.DTVTest; +import plaver.dtvtest.DTVTestLog; + +/** + * + * @author Ezequiel Severiano + * + */ + +public class GetTimerSpecTest implements DTVTest{ + private TVTimerSpec timerSpec; + private TVTimerWentOffEvent timerWentOffEvent; + private DTVTestLog log; + + public void init() { + + timerSpec = new TVTimerSpec(); + + timerWentOffEvent = new TVTimerWentOffEvent(TVTimer.getTimer(), timerSpec); + } + + public void start() { + testTVTimerWentOffEvent(); + } + + public void setLog(DTVTestLog log) { + this.log = log; + } + + private void testTVTimerWentOffEvent(){ + + if(timerWentOffEvent.getTimerSpec().equals(timerSpec)) + log.success(); + else + log.failure(); + + } + + public void pause() { + // TODO Auto-generated method stub + } + + public void destroy() { + // TODO Auto-generated method stub + } + + public void setForm(Form form) { + // TODO Auto-generated method stub + } + +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/qrcode/BinaryVector.java b/Projeto PPB-Ginga/Plaver Framework/plaver/qrcode/BinaryVector.java new file mode 100644 index 0000000..c74b61f --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/qrcode/BinaryVector.java @@ -0,0 +1,808 @@ +package plaver.qrcode; + +public class BinaryVector { + + private int pointerBlockN; // Point to the block number + private int pointerBlockPosition; // Point to the position in block + private int mode; + private int version; + private String data; + private int vector[]; + private int capacityDatabits; + + public BinaryVector(int mode, int version, String data, int capacityDatabits, int vectorLength) { + super(); + this.mode = mode; + this.version = version; + this.data = data; + this.capacityDatabits = capacityDatabits; + this.vector = new int[vectorLength]; + this.pointerBlockN = 0; + this.pointerBlockPosition = 0; + } + + public int encodeModeIndicator() { + int binaryVector = -1; + int result = -1; + + switch (mode) { + case 1: + // Numeric Mode + binaryVector = 1; + break; + case 3: + // Binary Mode + binaryVector = 3; + break; + case 4: + // Kanji Mode + binaryVector = 4; + break; + default: + // Alphanumeric Mode + binaryVector = 2; + break; + } + + if (binaryVector != -1) { + this.vector[0] = binaryVector; + this.pointerBlockN = 0; + this.pointerBlockPosition = 4; + result = 1; + } + + return result; + } + + public int encodeContentLength() { + int binaryVector = -1; + int result = -1; + + switch (mode) { + case 1: + // Numeric Mode + if (this.version < 10) { + this.vector[0] = this.vector[0] << 10; // Desloca a direita 10 + // posicoes para receber + // o tamanho de content + this.pointerBlockPosition += 10; + } else if ((this.version > 9) && (this.version < 27)) { + this.vector[0] = this.vector[0] << 12; // Desloca a direita 12 + // posicoes para receber + // o tamanho de content + this.pointerBlockPosition += 12; + } else if ((this.version > 26) && (this.version < 41)) { + this.vector[0] = this.vector[0] << 14; // Desloca a direita 14 + // posicoes para receber + // o tamanho de content + this.pointerBlockPosition += 14; + } + + binaryVector = this.data.length(); + this.vector[0] = this.vector[0] + binaryVector; + + break; + case 3: + // Binary Mode + if (this.version < 10) { + this.vector[0] = this.vector[0] << 8; // Desloca a direita 8 + // posicoes para receber + // o tamanho de content + this.pointerBlockPosition += 8; + } else if ((this.version > 9) && (this.version < 27)) { + this.vector[0] = this.vector[0] << 16; // Desloca a direita 16 + // posicoes para receber + // o tamanho de content + this.pointerBlockPosition += 16; + } else if ((this.version > 26) && (this.version < 41)) { + this.vector[0] = this.vector[0] << 16; // Desloca a direita 16 + // posicoes para receber + // o tamanho de content + this.pointerBlockPosition += 16; + } + + binaryVector = this.data.length(); + this.vector[0] = this.vector[0] + binaryVector; + + break; + case 4: + // Kanji Mode + if (this.version < 10) { + this.vector[0] = this.vector[0] << 8; // Desloca a direita 8 + // posicoes para receber + // o tamanho de content + this.pointerBlockPosition += 8; + } else if ((this.version > 9) && (this.version < 27)) { + this.vector[0] = this.vector[0] << 10; // Desloca a direita 10 + // posicoes para receber + // o tamanho de content + this.pointerBlockPosition += 10; + } else if ((this.version > 26) && (this.version < 41)) { + this.vector[0] = this.vector[0] << 12; // Desloca a direita 12 + // posicoes para receber + // o tamanho de content + this.pointerBlockPosition += 12; + } + + binaryVector = this.data.length(); + this.vector[0] = this.vector[0] + binaryVector; + + break; + default: + // Alphanumeric Mode + if (this.version < 10) { + this.vector[0] = this.vector[0] << 9; // Desloca a direita 9 + // posicoes para receber + // o tamanho de content + this.pointerBlockPosition += 9; + } else if ((this.version > 9) && (this.version < 27)) { + this.vector[0] = this.vector[0] << 11; // Desloca a direita 11 + // posicoes para receber + // o tamanho de content + this.pointerBlockPosition += 11; + } else if ((this.version > 26) && (this.version < 41)) { + this.vector[0] = this.vector[0] << 13; // Desloca a direita 13 + // posicoes para receber + // o tamanho de content + this.pointerBlockPosition += 13; + } + + binaryVector = this.data.length(); + this.vector[0] = this.vector[0] + binaryVector; + + break; + } + + if (binaryVector != -1) { + result = 1; + this.pointerBlockN = 0; + } + + return result; + } + + public int encodeContentData() { + + int result = -1; + int length = this.data.length(); + + try { + + for (int i = 0; i < length-1; i = i + 2) {// Percorre 2 a 2 os + // pares do qr.content + + int first = convertToASCIIValue(this.data.charAt(i)); + int second = convertToASCIIValue(this.data.charAt(i + 1)); + + int pair = (first * 45) + second; // Deve ser representado + + + if (this.pointerBlockPosition <= 20) { // Caso o bloco ainda + // caiba a palavra os 11 + // bits + + this.vector[this.pointerBlockN] = this.vector[this.pointerBlockN] << 11; + this.vector[this.pointerBlockN] = this.vector[this.pointerBlockN] + pair; + this.pointerBlockPosition += 11; + + } else { // Caso contrario + + int emptyBlockPosition = 31 - this.pointerBlockPosition; // Descobre + // quantas + // posicoes + // estao + // vagas + // no + // bloco + + this.vector[this.pointerBlockN] = this.vector[this.pointerBlockN] << emptyBlockPosition; // Desloca + // para + // direita + // as + // posicoes + // vagas + + int parteAlta = pair >> (11 - emptyBlockPosition); // Retira + // a + // qtde + // certa + // da + // parte + // alta + // dos + // 11 + // bits + // significativos + // de + // pair + int aux = (int) Math.pow(2, 11 - emptyBlockPosition); + int parteBaixa = (pair - (parteAlta*aux)); + //int parteBaixa = pair << (32 - (11 - emptyBlockPosition)); // Retira + // a + // qtde + // certa + // da + // parte + // baixa + // dos + // 11 + // bits + // significativos + // de + // pair + this.vector[this.pointerBlockN] = this.vector[this.pointerBlockN] + parteAlta; + + this.pointerBlockN++; + this.pointerBlockPosition = 11 - emptyBlockPosition; + this.vector[this.pointerBlockN] = this.vector[this.pointerBlockN] + parteBaixa; + + } + + } + if ((length % 2) != 0) { // Caso o numero de caracteres seja impar + int odd = convertToASCIIValue(this.data.charAt(length - 1)); // Utiliza + // somente + // 6 + // bits + + if (this.pointerBlockPosition <= 25) { // Caso o bloco ainda + // caiba a palavra os 6 + // bits + this.vector[this.pointerBlockN] = this.vector[this.pointerBlockN] << 6; + this.vector[this.pointerBlockN] = this.vector[this.pointerBlockN] + odd; + this.pointerBlockPosition += 6; + } else { // Caso contrario + + int emptyBlockPosition = 31 - this.pointerBlockPosition; // Descobre quantas posicoes estao vagas no bloco + this.vector[this.pointerBlockN] = this.vector[this.pointerBlockN] << emptyBlockPosition; // Desloca para direita as posicoes vagas + int parteAlta = odd >> (6 - emptyBlockPosition); // Retira a qtde certa da parte alta dos + // 6 bits significativos de pair + int aux = (int)Math.pow(2, 6 - emptyBlockPosition); + int parteBaixa = (odd - (parteAlta*aux)); + + this.vector[this.pointerBlockN] = this.vector[this.pointerBlockN] + parteAlta; + + this.pointerBlockN++; + this.pointerBlockPosition = (6 - emptyBlockPosition); + + this.vector[this.pointerBlockN] = this.vector[this.pointerBlockN] + parteBaixa; + + + } + } + + result = 1; + } catch (Exception e) { + result = -1; + } + + return result; + + } + + + /* + * E se a qtdade de bits jah for multiplo de 8? + * O problema eh que se for multiplo e se for seguida a sequencia normal pode gerar um messagePolynomial com algum termo nulo + */ + /** + * + * @return + */ + public int terminateBits() { + int numberOfBits = (31 * (this.pointerBlockN)) + this.pointerBlockPosition; + + int result = -1; + int dif = this.capacityDatabits - ((this.pointerBlockN * 31) + this.pointerBlockPosition); + + + switch (dif) { + case 0: + break; + case 1: + if (this.pointerBlockPosition <= 30){ + this.vector[this.pointerBlockN] = this.vector[this.pointerBlockN] << 1; + this.pointerBlockPosition++; + }else{ + this.vector[this.pointerBlockN] = this.vector[this.pointerBlockN] << 1; + this.pointerBlockN++; + this.pointerBlockPosition=1; + } + break; + case 2: + if (this.pointerBlockPosition <= 29){ + this.vector[this.pointerBlockN] = this.vector[this.pointerBlockN] << 2; + this.pointerBlockPosition+=2; + }else{ + this.vector[this.pointerBlockN] = this.vector[this.pointerBlockN] << (31-this.pointerBlockPosition); + this.pointerBlockN++; + this.pointerBlockPosition=2-(31-this.pointerBlockPosition); + } + break; + case 3: + if (this.pointerBlockPosition <= 28){ + this.vector[this.pointerBlockN] = this.vector[this.pointerBlockN] << 3; + this.pointerBlockPosition+=3; + }else{ + this.vector[this.pointerBlockN] = this.vector[this.pointerBlockN] << (31-this.pointerBlockPosition); + this.pointerBlockN++; + this.pointerBlockPosition=3-(31-this.pointerBlockPosition); + } + break; + default: + if (this.pointerBlockPosition <= 27){ + this.vector[this.pointerBlockN] = this.vector[this.pointerBlockN] << 4; + this.pointerBlockPosition+=4; + + }else{ + this.vector[this.pointerBlockN] = this.vector[this.pointerBlockN] << (31-this.pointerBlockPosition); + + this.pointerBlockN++; + this.pointerBlockPosition=4-(31-this.pointerBlockPosition); + } + break; + } + + //int + numberOfBits = (31 * (this.pointerBlockN)) + this.pointerBlockPosition; + + + if ((numberOfBits % 8) != 0) { + if (this.pointerBlockPosition <= (31-(8-(numberOfBits % 8)))){ + this.vector[this.pointerBlockN] = this.vector[this.pointerBlockN] << (8 - (numberOfBits % 8)); + + this.pointerBlockPosition += (8 - (numberOfBits % 8)); + + }else{ + int emptyBlockPosition = 31 - this.pointerBlockPosition; + + this.vector[this.pointerBlockN] = this.vector[this.pointerBlockN] << emptyBlockPosition; + + this.pointerBlockN++; + this.pointerBlockPosition=((8-(numberOfBits%8))-emptyBlockPosition); + + } + } + numberOfBits = (31 * (this.pointerBlockN)) + + this.pointerBlockPosition; + + int i = 0; + while (numberOfBits < this.capacityDatabits) { + if ((i % 2) == 0) { + int n = 236; + if (this.pointerBlockPosition <= 23) { // Caso o bloco ainda + // caiba a palavra os 6 + // bits + this.vector[this.pointerBlockN] = this.vector[this.pointerBlockN] << 8; + this.vector[this.pointerBlockN] += n; + this.pointerBlockPosition += 8; + + } else { // Caso contrario + + int emptyBlockPosition = 31 - this.pointerBlockPosition; // Descobre quantas posicoes estao vagas no bloco + this.vector[this.pointerBlockN] = this.vector[this.pointerBlockN] << emptyBlockPosition; // Desloca para direita as posicoes vagas + int parteAlta = n >> (8 - emptyBlockPosition); // Retira a qtde certa da parte alta dos + // 6 bits significativos de pair + + int aux = (int)Math.pow(2, 8 - emptyBlockPosition); + int parteBaixa = (n - (parteAlta*aux)); + //Retira a qtde certa da parte baixa dos 8 bits significativos de pair + + this.vector[this.pointerBlockN] = this.vector[this.pointerBlockN] + parteAlta; + + this.pointerBlockN++; + this.pointerBlockPosition = (8 - emptyBlockPosition); + + this.vector[this.pointerBlockN] = this.vector[this.pointerBlockN] + parteBaixa; + + } + + } else { + int n = 17; + if (this.pointerBlockPosition <= 23) { // Caso o bloco ainda + // caiba a palavra os 6 + // bits + this.vector[this.pointerBlockN] = this.vector[this.pointerBlockN] << 8; + this.vector[this.pointerBlockN] += n; + this.pointerBlockPosition += 8; + } else { // Caso contrario + + int emptyBlockPosition = 31 - this.pointerBlockPosition; // Descobre quantas posicoes estao vagas no bloco + this.vector[this.pointerBlockN] = this.vector[this.pointerBlockN] << emptyBlockPosition; // Desloca para direita as posicoes vagas + int parteAlta = n >> (8 - emptyBlockPosition); // Retira a qtde certa da parte alta dos + // 6 bits significativos de pair + int aux = (int)Math.pow(2, 8 - emptyBlockPosition); + int parteBaixa = (n - (parteAlta*aux)); + + //Retira a qtde certa da parte baixa dos 6 bits significativos de pair + + this.vector[this.pointerBlockN] = this.vector[this.pointerBlockN] + parteAlta; + + this.pointerBlockN++; + this.pointerBlockPosition = (8 - emptyBlockPosition); + + this.vector[this.pointerBlockN] = this.vector[this.pointerBlockN] + parteBaixa; + + + } + } + numberOfBits += 8; + i++; + } + + return result; + } + + public int reminderBits() { + int numberOfBits = (31 * (this.pointerBlockN)) + this.pointerBlockPosition; + + try{ + switch (this.version) { + case 21: + case 22: + case 23: + case 24: + case 25: + case 26: + case 27: + if (this.pointerBlockPosition <= 27){ + this.vector[this.pointerBlockN] = this.vector[this.pointerBlockN] << 4; + this.pointerBlockPosition+=4; + + }else{ + this.vector[this.pointerBlockN] = this.vector[this.pointerBlockN] << (31-this.pointerBlockPosition); + + this.pointerBlockN++; + this.pointerBlockPosition=4-(31-this.pointerBlockPosition); + } + break; + case 2: + case 3: + case 4: + case 5: + case 6: + if (this.pointerBlockPosition <= 24){ + this.vector[this.pointerBlockN] = this.vector[this.pointerBlockN] << 7; + System.out.println("---this.pointerBlockPosition = " + this.pointerBlockPosition); + this.pointerBlockPosition+=7; + }else{ + this.vector[this.pointerBlockN] = this.vector[this.pointerBlockN] << (31-this.pointerBlockPosition); + this.pointerBlockN++; + this.pointerBlockPosition=7-(31-this.pointerBlockPosition); + } + break; + + case 14: + case 15: + case 16: + case 17: + case 18: + case 19: + case 20: + + case 28: + case 29: + case 30: + case 31: + case 32: + case 33: + case 34: + if (this.pointerBlockPosition <= 28){ + this.vector[this.pointerBlockN] = this.vector[this.pointerBlockN] << 3; + this.pointerBlockPosition+=3; + }else{ + this.vector[this.pointerBlockN] = this.vector[this.pointerBlockN] << (31-this.pointerBlockPosition); + this.pointerBlockN++; + this.pointerBlockPosition=3-(31-this.pointerBlockPosition); + } + break; + + default: + break; + } + return 1; + }catch(Exception e){ + return -1; + } + + } + + + //Insert the error correction code block into the binary vector + public int insertErrorCorrectionBytes(PolynomialVector ECCWB){ + + int length = ECCWB.length(); + + for (int i = 0; i <= length; i++) { + if (this.pointerBlockPosition < 23) { // Caso o bloco ainda caiba o ECCWB.getTerm(i) (tamanho 8 bits) + + this.vector[this.pointerBlockN] = this.vector[this.pointerBlockN] << 8; + + this.vector[this.pointerBlockN] += ECCWB.getTerm(i); + + this.pointerBlockPosition += 8; + // System.out.println("......................PBP="+this.pointerBlockPosition); + } else { // Caso contrario + + int emptyBlockPosition = 31 - this.pointerBlockPosition; // Descobre quantas posicoes estao vagas no bloco + this.vector[this.pointerBlockN] = this.vector[this.pointerBlockN] << emptyBlockPosition; // Desloca + // para + // direita + // as + // posicoes + // vagas + int parteAlta = ECCWB.getTerm(i) >> (8 - emptyBlockPosition); // Retira a qtde + // certa da + // parte alta + // dos + // 6 bits significativos de pair + + int aux = (int) Math.pow(2, 8 - emptyBlockPosition); + int parteBaixa = (ECCWB.getTerm(i) - (parteAlta * aux)); + // Retira a qtde certa da parte baixa dos 8 bits significativos + // de pair + + this.vector[this.pointerBlockN] = this.vector[this.pointerBlockN] + + parteAlta; + + + + //System.out.println(this.pointerBlockN + " - " + this.pointerBlockPosition); + this.pointerBlockN++; + this.pointerBlockPosition = (8 - emptyBlockPosition); + + this.vector[this.pointerBlockN] = this.vector[this.pointerBlockN] + + parteBaixa; + + } + } + this.vector[this.pointerBlockN] = this.vector[this.pointerBlockN] << (31-pointerBlockPosition); + + return -1; + } + + + public int[] getVector() { + return vector; + } + + public void setVector(int[] vector) { + this.vector = vector; + } + + /** + * This methods return the ASCII value of character according with the + * QRCode table. And -1 in case of error. + * @param caracter char + * @return the ASCII value of character according with the QRCode table. And -1 in case of error. + */ + public int convertToASCIIValue(char caracter) { + int result = -1; + + switch (caracter) { + case '0': + result = 0; + break; + case '1': + result = 1; + break; + case '2': + result = 2; + break; + case '3': + result = 3; + break; + case '4': + result = 4; + break; + case '5': + result = 5; + break; + case '6': + result = 6; + break; + case '7': + result = 7; + break; + case '8': + result = 8; + break; + case '9': + result = 9; + break; + case 'a': + case 'A': + result = 10; + break; + case 'b': + case 'B': + result = 11; + break; + case 'c': + case 'C': + result = 12; + break; + case 'd': + case 'D': + result = 13; + break; + case 'e': + case 'E': + result = 14; + break; + case 'f': + case 'F': + result = 15; + break; + case 'g': + case 'G': + result = 16; + break; + case 'h': + case 'H': + result = 17; + break; + case 'i': + case 'I': + result = 18; + break; + case 'j': + case 'J': + result = 19; + break; + case 'k': + case 'K': + result = 20; + break; + case 'l': + case 'L': + result = 21; + break; + case 'm': + case 'M': + result = 22; + break; + case 'n': + case 'N': + result = 23; + break; + case 'o': + case 'O': + result = 24; + break; + case 'p': + case 'P': + result = 25; + break; + case 'q': + case 'Q': + result = 26; + break; + case 'r': + case 'R': + result = 27; + break; + case 's': + case 'S': + result = 28; + break; + case 't': + case 'T': + result = 29; + break; + case 'u': + case 'U': + result = 30; + break; + case 'v': + case 'V': + result = 31; + break; + case 'w': + case 'W': + result = 32; + break; + case 'x': + case 'X': + result = 33; + break; + case 'y': + case 'Y': + result = 34; + break; + case 'z': + case 'Z': + result = 35; + break; + case ' ': + result = 36; + break; + case '$': + result = 37; + break; + case '%': + result = 38; + break; + case '*': + result = 39; + break; + case '+': + result = 40; + break; + case '-': + result = 41; + break; + case '.': + result = 42; + break; + case '/': + result = 43; + break; + case ':': + result = 44; + break; + + default: + result = -1; + break; + } + + return result; + } + + public int[] adjustToGroupOf8Bits(){ + //int r[] = this.vector.clone(); + int length = this.vector.length; + int r[] = new int[length]; + for(int i=0; i < length; i++){ + r[i]=this.vector[i]; + } + r[this.pointerBlockN] = r[this.pointerBlockN] << (31-pointerBlockPosition); + return r; + //this.vector[this.pointerBlockN] = this.vector[this.pointerBlockN] << (31-pointerBlockPosition); + } + + public int getNumberOfBits(){ + return ((31*this.pointerBlockN) + this.pointerBlockPosition); + } + + public int getBitWise(int index){ + int aux; + int numberOfBlock = index/31; + int positionInBlock = index%31; + aux = this.vector[numberOfBlock]>>(31-(1+positionInBlock)); + + if ((aux & 1) == 1){ + //System.out.print("1"); + return 1; + }else{ + //System.out.print("0"); + return 0; + } + } + + public String toString() { + String result = ""; + String auxResult = ""; + int auxVector = 0; + + for (int i = 0; i <= this.pointerBlockN; i++) { + auxVector = this.vector[i]; + auxResult = " "; + for (int j = 0; j < 31; j++) { + + if ((auxVector & 1) == 1) { + auxResult = "1" + auxResult; + } else { + auxResult = "0" + auxResult; + } + + auxVector = auxVector >> 1; + } + result += auxResult; + } + + return result; + } + +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/qrcode/BitToString.java b/Projeto PPB-Ginga/Plaver Framework/plaver/qrcode/BitToString.java new file mode 100644 index 0000000..4ecaea5 --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/qrcode/BitToString.java @@ -0,0 +1,81 @@ +package plaver.qrcode; + +public class BitToString { + + private char[] alphaNumeric; + + private String results = ""; + private int BOUNDUPPER = 5; + private int BOUNDLOW = 0; + private boolean v[] = new boolean[5]; + private int count = 0; + + public BitToString(){ + this.fillAlphaNumeric(); + } + + private void fillAlphaNumeric() { + this.alphaNumeric = new char[32]; + + char numeric = 0x0030; + for(int i=0; i < 10; ++i){ + this.alphaNumeric[i] = numeric; + //System.out.println("Char: " + numeric); + ++numeric; + } + + char alpha = 0x0041; + for(int i=10; i < 32; ++i){ + this.alphaNumeric[i] = alpha; + //System.out.println("Char: " + alpha); + ++alpha; + } + } + + public void addBits(boolean v[]){ + for(int i=0; i=0; f--) + a[aX+4][f]=0; + + //quadrado inferior esquerdo + aX=3; aY=altura-4; + a[aX][aY]=1; + a[aX-1][aY-1]=1; a[aX][aY-1]=1;a[aX+1][aY-1]=1;a[aX+1][aY]=1;a[aX+1][aY+1]=1;a[aX][aY+1]=1;a[aX-1][aY+1]=1;a[aX-1][aY]=1; + a[aX-2][aY-2]=0;a[aX-1][aY-2]=0;a[aX][aY-2]=0;a[aX+1][aY-2]=0;a[aX+2][aY-2]=0;a[aX+2][aY-1]=0;a[aX+2][aY]=0;a[aX+2][aY+1]=0;a[aX+2][aY+2]=0;a[aX+1][aY+2]=0;a[aX][aY+2]=0;a[aX-1][aY+2]=0;a[aX-2][aY+2]=0;a[aX-2][aY+1]=0;a[aX-2][aY]=0;a[aX-2][aY-1]=0; + a[aX-3][aY-3]=1;a[aX-2][aY-3]=1;a[aX-1][aY-3]=1;a[aX][aY-3]=1;a[aX+1][aY-3]=1;a[aX+2][aY-3]=1;a[aX+3][aY-3]=1;a[aX+3][aY-2]=1;a[aX+3][aY-1]=1;a[aX+3][aY]=1;a[aX+3][aY+1]=1;a[aX+3][aY+2]=1;a[aX+3][aY+3]=1;a[aX+2][aY+3]=1;a[aX+1][aY+3]=1;a[aX][aY+3]=1;a[aX-1][aY+3]=1;a[aX-2][aY+3]=1;a[aX-3][aY+3]=1;a[aX-3][aY+2]=1;a[aX-3][aY+1]=1;a[aX-3][aY]=1;a[aX-3][aY-1]=1;a[aX-3][aY-2]=1; + for(int g=aX-3; g<8; g++) + a[g][aY-4]=0; + for(int f=aY-4; flargura-9; x--, z--) + a[x][y]=typeInformationMask[z]; + for(x=8, y=0, z=14; y<9; y++) + if(a[x][y]==3){ + a[x][y]=typeInformationMask[z]; + z--; + } + // *bit 8 a 14 + for(x=7, y=8, z=6; x>=0; x--) + if(a[x][y]==3){ + a[x][y]=typeInformationMask[z]; + z--; + } + for(x=8, y=altura-7, z=6; y=7){ + int[] versionInformation = getVersionInformation(versao); + // *Vertical + x=0; y=0; z=0; + for(y=0, x=largura-11, z=0; y<7 && z<18; y++) + for(x=largura-11; x=0 && (x==loop || x==loop-1) && loop>=0; y--){ + x=loop; + if(UseMaskPatt(x,y,0)==1 && a[x][y]==3) { + if(vector.getBitWise(itera)==1) + a[x][y]=0; + else + a[x][y]=1; + itera++; + aI=itera; + } else if(UseMaskPatt(x,y,0)==0 && a[x][y]==3){ + a[x][y]=vector.getBitWise(itera); + itera++; + aI=itera; + } + if(loop>0){ + x=loop-1; + if(UseMaskPatt(x,y,0)==1 && a[x][y]==3) { + if(vector.getBitWise(itera)==1) + a[x][y]=0; + else + a[x][y]=1; + itera++; + aI=itera; + } else if(UseMaskPatt(x,y,0)==0 && a[x][y]==3){ + a[x][y]=vector.getBitWise(itera); + itera++; + aI=itera; + } + } + } + if(aI!=0) + loop=loop-2; + for(y=0, x=loop; y<=largura-1 && (x==loop || x==loop-1) && loop>=0; y++){ + x=loop; + if(UseMaskPatt(x,y,0)==1 && a[x][y]==3) { + if(vector.getBitWise(itera)==1) + a[x][y]=0; + else + a[x][y]=1; + itera++; + aI=itera; + } else if(UseMaskPatt(x,y,0)==0 && a[x][y]==3){ + a[x][y]=vector.getBitWise(itera); + itera++; + aI=itera; + } + if(loop>0){ + x=loop-1; + if(UseMaskPatt(x,y,0)==1 && a[x][y]==3) { + if(vector.getBitWise(itera)==1) + a[x][y]=0; + else + a[x][y]=1; + itera++; + aI=itera; + } else if(UseMaskPatt(x,y,0)==0 && a[x][y]==3){ + a[x][y]=vector.getBitWise(itera); + itera++; + aI=itera; + } + } + } + if(aI!=0) + loop=loop-2; + aI=0; + if(x<=0 && y<=0) break; + //System.err.println("Debugando em 6... com itera: "+itera+" e aI: "+aI+" e x: "+x+" e y: "+y); + }while(itera<(vector.getNumberOfBits()-1)); + + + System.err.println("[1] Matriz de inteiros como representacao do QR Code gerada com sucesso!"); + //System.out.println("Ultimo valor do itera: "+itera); + + return a; + } + + private static Image criarImagem(int matrizAux[][], int zoom) throws IOException { + int matrixLength = largura; + int n = matrixLength; + + if(zoom > 0){ + matrixLength*=zoom; + } + +// Image buffer = Image.createImage( largura, altura ); + Image buffer = Image.createImage( matrixLength, matrixLength ); + Graphics g = buffer.getGraphics(); + g.setColor( Color.WHITE ); + g.fillRect( 0, 0, largura, altura ); + g.setColor( Color.BLACK ); + + int[][] a = new int[largura][altura]; + a = matrizAux; + + int x = 0, y = 0; + int xAux = 0, yAux = 0; + + for (x = 0; x < n; x++) { + yAux = 0; + for (y = 0; y < n; y++) { + if (a[x][y] == 1){ + if(zoom > 0){ + for(int i=0; i= 0)) + return vector[exponent]; + else + return -1; + } + + public void setTerm(int coefficient, int exponent) { + vector[exponent] = coefficient; + } + + public int length() { + return length; + } + + public String toString(){ + String result = ""; + for(int i=this.length; i>=0; i--){ + result += "a" + this.vector[i] + "x" + i + " + "; + } + return result; + } + +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/qrcode/QRCode.java b/Projeto PPB-Ginga/Plaver Framework/plaver/qrcode/QRCode.java new file mode 100644 index 0000000..b91ebca --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/qrcode/QRCode.java @@ -0,0 +1,216 @@ +package plaver.qrcode; + +public class QRCode { + + private int version; + private int mode; + private int eccLevel; + private int capacityDataBits; + private String content; + private BinaryVector vector; + + private static int capacityTable[][] = { {152, 128, 104, 72}, {272, 224, 176, 128}, {440, 52, 272, 208}, + {640, 512, 384, 288}, {864, 688, 496, 368}, {1088, 864, 608, 480}, + {1248, 992, 704, 528}, {1552, 1232, 880, 688}, {1856, 1456, 1056, 800}, + {2192, 1728, 1232, 976}, {2592, 2032, 144, 112}, {296, 232, 1648, 1264}, + {3424, 2672, 1952, 144}, {3688, 292, 2088, 1576}, {4184, 332, 236, 1784}, + {4712, 3624, 26, 2024}, {5176, 4056, 2936, 2264}, {5768, 4504, 3176, 2504}, + {636, 5016, 356, 2728}, {6888, 5352, 388, 308}, {7456, 5712, 4096, 3248}, + {8048, 6256, 4544, 3536}, {8752, 688, 4912, 3712}, {9392, 7312, 5312, 4112}, + {10208, 8, 5744, 4304}, {1096, 8496, 6032, 4768}, {11744, 9024, 6464, 5024}, + {12248, 9544, 6968, 5288}, {13048, 10136, 7288, 5608}, {1388, 10984, 788, 596}, + {14744, 1164, 8264, 6344}, {1564, 12328, 892, 676}, {16568, 13048, 9368, 7208}, + {17528, 138, 9848, 7688}, {18448, 14496, 10288, 7888}, {19472, 15312, 10832, 8432}, + {20528, 15936, 11408, 8768}, {21616, 16816, 12016, 9136}, {22496, 17728, 12656, 9776}, + {23648, 18672, 13328, 10208}}; + + private static int capacityCharacterTable[] = {25,20,16,10,47,38,29,20,77,61,47,35,114,90,67,50,154,122,87,64,195,154,108,84, + 224,178,125,93,279,221,157,122,335,262,189,143,395,311,221,174,468,366,259,200, + 535,419,296,227,619,483,352,259,667,528,376,283,758,600,426,321,854,656,470,365, + 938,734,531,408,1046,816,574,452,1153,909,644,493,1249,970,702,557,1352,1035,742, + 587,146,1134,823,640,1588,1248,890,672,1704,1326,963,744,1853,1451,1041,779,199, + 1542,1094,864,2132,1637,1172,910,2223,1732,1263,958,2369,1839,1322,1016,252,1994, + 1429,108,2677,2113,1499,115,284,2238,1618,1226,3009,2369,17,1307,3183,2506,1787, + 1394,3351,2632,1867,1431,3537,278,1966,153,3729,2894,2071,1591,3927,3054,2181, + 1658,4087,322,2298,1774,4296,3391,242,1852}; + + private static int eccWordBlockTable[][] = {{7, 10, 13, 17}, {10, 26, 22, 28}, {15, 26, 18, 22}, {20, 18, 26, 16}, + {26, 24, 18, 22}, {18, 16, 24, 28}, {20, 18, 18, 26}, {24, 22, 22, 26}, + {30, 22, 20, 24}, {18, 26, 24, 28}, {20, 30, 24, 28}, {24, 22, 26, 28}, + {26, 22, 24, 22}, {30, 24, 20, 24}, {22, 24, 30, 24}, {24, 28, 24, 30}, + {28, 28, 28, 28}, {30, 26, 28, 28}, {28, 26, 26, 26}, {28, 26, 30, 28}, + {28, 26, 28, 30}, {28, 28, 30, 24}, {30, 28, 30, 30}, {30, 28, 30, 30}, + {26, 28, 30, 30}, {28, 28, 28, 30}, {30, 28, 30, 30}, {30, 28, 30, 30}, + {30, 28, 30, 30}, {30, 28, 30, 30}, {30, 28, 30, 30}, {30, 28, 30, 30}, + {30, 28, 30, 30}, {30, 28, 30, 30}, {30, 28, 30, 30}, {30, 28, 30, 30}, + {30, 28, 30, 30}, {30, 28, 30, 30}, {30, 28, 30, 30}, {30, 28, 30, 30}}; + + private static int blockDataTable[][][] = {{{1, 19, 0, 0}, {1, 16, 0, 0}, {1, 13, 0, 0}, {1, 9, 0, 0}}, + {{1, 34, 0, 0}, {1, 28, 0, 0}, {1, 22, 0, 0}, {1, 16, 0, 0}}, + {{1, 55, 0, 0}, {1, 44, 0, 0}, {2, 17, 0, 0}, {2, 13, 0, 0}}, + {{1, 80, 0, 0}, {2, 32, 0, 0}, {2, 24, 0, 0}, {4, 9, 0, 0}}, + {{1, 108, 0, 0}, {2, 43, 0, 0}, {2, 15, 2, 16}, {2, 11, 2, 12}}, + {{2, 68, 0, 0}, {4, 27, 0, 0}, {4, 19, 0, 0}, {4, 15, 0, 0}}, + {{2, 78, 0, 0}, {4, 31, 0, 0}, {2, 14, 4, 15}, {4, 13, 1, 14}}, + {{2, 97, 0, 0}, {2, 38, 2, 39}, {4, 18, 2, 19}, {4, 14, 2, 15}}, + {{2, 116, 0, 0}, {3, 36, 2, 37}, {4, 16, 4, 17}, {4, 12, 4, 13}}, + {{2, 68, 2, 69}, {4, 43, 1, 44}, {6, 19, 2, 20}, {6, 15, 2, 16}}, + {{4, 81, 0, 0}, {1, 50, 4, 51}, {4, 22, 4, 23}, {3, 12, 8, 13}}, + {{2, 92, 2, 93}, {6, 36, 2, 37}, {4, 20, 6, 21}, {7, 14, 4, 15}}, + {{4, 107, 0, 0}, {8, 37, 1, 38}, {8, 20, 4, 21}, {12, 11, 4, 12}}, + {{3, 115, 1, 116}, {4, 40, 5, 41}, {11, 16, 5, 17}, {11, 12, 5, 13}}, + {{5, 87, 1, 88}, {5, 41, 5, 42}, {5, 24, 7, 25}, {11, 12, 7, 13}}, + {{5, 98, 1, 99}, {7, 45, 3, 46}, {15, 19, 2, 20}, {3, 15, 13, 16}}, + {{1, 107, 5, 108}, {10, 46, 1, 47}, {1, 22, 15, 23}, {2, 14, 17, 15}}, + {{5, 120, 1, 121}, {9, 43, 4, 44}, {17, 22, 1, 23}, {2, 14, 19, 15}}, + {{3, 113, 4, 114}, {3, 44, 11, 45}, {17, 21, 4, 22}, {9, 13, 16, 14}}, + {{3, 107, 5, 108}, {3, 41, 13, 42}, {15, 24, 5, 25}, {15, 15, 10, 16}}, + {{4, 116, 4, 117}, {17, 42, 0, 0}, {17, 22, 6, 23}, {19, 16, 6, 17}}, + {{2, 111, 7, 112}, {17, 46, 0, 0}, {7, 24, 16, 25}, {34, 13, 0, 0}}, + {{4, 121, 5, 122}, {4, 47, 14, 48}, {11, 24, 14, 25}, {16, 15, 14, 16}}, + {{6, 117, 4, 118}, {6, 45, 14, 46}, {11, 24, 16, 25}, {30, 16, 2, 17}}, + {{8, 106, 4, 107}, {8, 47, 13, 48}, {7, 24, 22, 25}, {22, 15, 13, 16}}, + {{10, 114, 2, 115}, {19, 46, 4, 47}, {28, 22, 6, 23}, {33, 16, 4, 17}}, + {{8, 122, 4, 123}, {22, 45, 3, 46}, {8, 23, 26, 24}, {12, 15, 28, 16}}, + {{3, 117, 10, 118}, {3, 45, 23, 46}, {4, 24, 31, 25}, {11, 15, 31, 16}}, + {{7, 116, 7, 117}, {21, 45, 7, 46}, {1, 23, 37, 24}, {19, 15, 26, 16}}, + {{5, 115, 10, 116}, {19, 47, 10, 48}, {15, 24, 25, 25}, {23, 15, 25, 16}}, + {{13, 115, 3, 116}, {2, 46, 29, 47}, {42, 24, 1, 25}, {23, 15, 28, 16}}, + {{17, 115, 0, 0}, {10, 46, 23, 47}, {10, 24, 35, 25}, {19, 15, 35, 16}}, + {{17, 115, 1, 116}, {14, 46, 21, 47}, {29, 24, 19, 25}, {11, 15, 46, 16}}, + {{13, 115, 6, 116}, {14, 46, 23, 47}, {44, 24, 7, 25}, {59, 16, 1, 17}}, + {{12, 121, 7, 122}, {12, 47, 26, 48}, {39, 24, 14, 25}, {22, 15, 41, 16}}, + {{6, 121, 14, 122}, {6, 47, 34, 48}, {46, 24, 10, 25}, {2, 15, 64, 16}}, + {{17, 122, 4, 123}, {29, 46, 14, 47}, {49, 24, 10, 25}, {24, 15, 46, 16}}, + {{4, 122, 18, 123}, {13, 46, 32, 47}, {48, 24, 14, 25}, {42, 15, 32, 16}}, + {{20, 117, 4, 118}, {40, 47, 7, 48}, {43, 24, 22, 25}, {10, 15, 67, 16}}, + {{19, 118, 6, 119}, {18, 47, 31, 48}, {34, 24, 34, 25}, {20, 15, 61, 16}}}; + + + + + public static int getCapacityCharacterTable(int version, int eccLevel) { + return capacityCharacterTable[((version-1)*4)+(eccLevel-1)]; + } + + public int[] getBlockDataTable(int version, int eccLevel) { + return blockDataTable[version - 1][eccLevel - 1]; + } + + public int getEccWordBlockTable(int version, int eccLevel) { + return eccWordBlockTable[version - 1][eccLevel - 1]; + } + + public QRCode(int version, int eccLevel, int mode, String content) { + super(); + this.version = version; + this.mode = mode; + this.eccLevel = eccLevel; + this.content = content; + setCapacityDataBits(getCapacityTable(version, eccLevel)); + int vectorLength = (((getBlockDataTable(version, eccLevel)[0]*getBlockDataTable(version, eccLevel)[1])+ + (getBlockDataTable(version, eccLevel)[2]*getBlockDataTable(version, eccLevel)[3]))*8) + + ((getBlockDataTable(version, eccLevel)[0]+getBlockDataTable(version, eccLevel)[2])* + getEccWordBlockTable(version, eccLevel)*8); + this.vector = new BinaryVector(mode, version, content, capacityDataBits, vectorLength); + } + + public void init(){ + if(this.content.length() <= getCapacityCharacterTable(this.version, this.eccLevel)){ + + this.vector.encodeModeIndicator(); + this.vector.encodeContentLength(); + this.vector.encodeContentData(); + this.vector.terminateBits(); + + ReedSolomon rS = new ReedSolomon(); + PolynomialVector messagePolynomial = rS.createMessagePolynomial(this.capacityDataBits, this.vector.adjustToGroupOf8Bits()); + + + PolynomialVector ECCWB = rS.generateErrorCorrectionCode(messagePolynomial, version, eccLevel, getEccWordBlockTable(version, eccLevel), + getBlockDataTable(version, eccLevel)[0], getBlockDataTable(version, eccLevel)[1], + getBlockDataTable(version, eccLevel)[2], getBlockDataTable(version, eccLevel)[3]); + this.vector.insertErrorCorrectionBytes(ECCWB); + this.vector.reminderBits(); + }else{ + System.err.println("Conteudo da mensagem eh muito grande para essa versao necce nivel de correcao de erro!"); + } + + } + + + public int getVersion() { + return version; + } + + + public void setVersion(int version) { + this.version = version; + } + + + public int getMode() { + return mode; + } + + + public void setMode(int mode) { + this.mode = mode; + } + + + public int getEccLevel() { + return eccLevel; + } + + + public void setEccLevel(int eccLevel) { + this.eccLevel = eccLevel; + } + + + public int getCapacityDataBits() { + return capacityDataBits; + } + + + public void setCapacityDataBits(int capacityDataBits) { + this.capacityDataBits = capacityDataBits; + } + + + public String getContent() { + return content; + } + + + public void setContent(String content) { + this.content = content; + } + + + public BinaryVector getVector() { + return vector; + } + + + public void setVector(BinaryVector vector) { + this.vector = vector; + } + + + public static int getCapacityTable(int version, int ECCLevel) { + return capacityTable[version-1][ECCLevel-1]; + } + + + public static int[][] getCapacityTable() { + return capacityTable; + } + + + public static void setCapacityTable(int[][] capacityTable) { + QRCode.capacityTable = capacityTable; + } + +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/qrcode/ReedSolomon.java b/Projeto PPB-Ginga/Plaver Framework/plaver/qrcode/ReedSolomon.java new file mode 100644 index 0000000..4932684 --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/qrcode/ReedSolomon.java @@ -0,0 +1,709 @@ +package plaver.qrcode; + +public class ReedSolomon { + + // Log Table for Galois Field 256 - index from 0 to 256 (length: 257) + private static int logTable[] = { 1, 2, 4, 8, 16, 32, 64, 128, 29, 58, 116, + 232, 205, 135, 19, 38, 76, 152, 45, 90, 180, 117, 234, 201, 143, 3, + 6, 12, 24, 48, 96, 192, 157, 39, 78, 156, 37, 74, 148, 53, 106, + 212, 181, 119, 238, 193, 159, 35, 70, 140, 5, 10, 20, 40, 80, 160, + 93, 186, 105, 210, 185, 111, 222, 161, 95, 190, 97, 194, 153, 47, + 94, 188, 101, 202, 137, 15, 30, 60, 120, 240, 253, 231, 211, 187, + 107, 214, 177, 127, 254, 225, 223, 163, 91, 182, 113, 226, 217, + 175, 67, 134, 17, 34, 68, 136, 13, 26, 52, 104, 208, 189, 103, 206, + 129, 31, 62, 124, 248, 237, 199, 147, 59, 118, 236, 197, 151, 51, + 102, 204, 133, 23, 46, 92, 184, 109, 218, 169, 79, 158, 33, 66, + 132, 21, 42, 84, 168, 77, 154, 41, 82, 164, 85, 170, 73, 146, 57, + 114, 228, 213, 183, 115, 230, 209, 191, 99, 198, 145, 63, 126, 252, + 229, 215, 179, 123, 246, 241, 255, 227, 219, 171, 75, 150, 49, 98, + 196, 149, 55, 110, 220, 165, 87, 174, 65, 130, 25, 50, 100, 200, + 141, 7, 14, 28, 56, 112, 224, 221, 167, 83, 166, 81, 162, 89, 178, + 121, 242, 249, 239, 195, 155, 43, 86, 172, 69, 138, 9, 18, 36, 72, + 144, 61, 122, 244, 245, 247, 243, 251, 235, 203, 139, 11, 22, 44, + 88, 176, 125, 250, 233, 207, 131, 27, 54, 108, 216, 173, 71, 142, 1, 0 }; + + // Antilog Table for Galois Field 256 - index from 1 to 256 (length: 256) + private static int antilogTable[] = { 256, 0, 1, 25, 2, 50, 26, 198, 3, 223, 51, + 238, 27, 104, 199, 75, 4, 100, 224, 14, 52, 141, 239, 129, 28, 193, + 105, 248, 200, 8, 76, 113, 5, 138, 101, 47, 225, 36, 15, 33, 53, + 147, 142, 218, 240, 18, 130, 69, 29, 181, 194, 125, 106, 39, 249, + 185, 201, 154, 9, 120, 77, 228, 114, 166, 6, 191, 139, 98, 102, + 221, 48, 253, 226, 152, 37, 179, 16, 145, 34, 136, 54, 208, 148, + 206, 143, 150, 219, 189, 241, 210, 19, 92, 131, 56, 70, 64, 30, 66, + 182, 163, 195, 72, 126, 110, 107, 58, 40, 84, 250, 133, 186, 61, + 202, 94, 155, 159, 10, 21, 121, 43, 78, 212, 229, 172, 115, 243, + 167, 87, 7, 112, 192, 247, 140, 128, 99, 13, 103, 74, 222, 237, 49, + 197, 254, 24, 227, 165, 153, 119, 38, 184, 180, 124, 17, 68, 146, + 217, 35, 32, 137, 46, 55, 63, 209, 91, 149, 188, 207, 205, 144, + 135, 151, 178, 220, 252, 190, 97, 242, 86, 211, 171, 20, 42, 93, + 158, 132, 60, 57, 83, 71, 109, 65, 162, 31, 45, 67, 216, 183, 123, + 164, 118, 196, 23, 73, 236, 127, 12, 111, 246, 108, 161, 59, 82, + 41, 157, 85, 170, 251, 96, 134, 177, 187, 204, 62, 90, 203, 89, 95, + 176, 156, 169, 160, 81, 11, 245, 22, 235, 122, 117, 44, 215, 79, + 174, 213, 233, 230, 231, 173, 232, 116, 214, 244, 234, 168, 80, 88, + 175 }; + + public int getLogTable(int exponent) { + return logTable[exponent]; + } + + public int getAntilogTable(int integer) { + return antilogTable[integer]; + } + + public ReedSolomon() { + super(); + } + + public PolynomialVector createMessagePolynomial(int capacityDataBits, int vector[]) { + + /*int version = bv.getQr().getVersion(); + int mode = bv.getMode(); + int length = bv.getCapacityDatabits() / 8;*/ + + + //int current[] = bv.adjustToGroupOf8Bits(); + + int length = capacityDataBits/8; + + PolynomialVector r = new PolynomialVector(length - 1); + + int current[] = vector; + int cont = length - 1; + + int pointPosition = 0; + int pointBlock = 0; + int groupOf8Bits = 0; + int auxGroupOf8Bits = 0; + int emptyPosition = 0; + int readBits = 0; + + while (readBits < capacityDataBits) { + if (pointPosition == 0) { + groupOf8Bits = current[pointBlock] >> 23; + pointPosition = 8; + } else if ((pointPosition >= 1) && (pointPosition <= 23)) { + emptyPosition = 31 - pointPosition; + auxGroupOf8Bits = current[pointBlock] >> emptyPosition; // 31-1 + // Descobre + // valor + // da + // parte + // a + // esquerda + groupOf8Bits = (int) Math.pow(2, emptyPosition); + groupOf8Bits = current[pointBlock] + - (auxGroupOf8Bits * groupOf8Bits); // Extrai valor da + // parte direita + groupOf8Bits = groupOf8Bits >> (31 - (8 + pointPosition)); // 31-(8+1) + // Extrai + // valor + // da + // parte + // direita + // por + // deslocamento + pointPosition += 8; + } else if ((pointPosition >= 24) && (pointPosition <= 30)) { + // Elimina parte a esquerda + emptyPosition = 31 - pointPosition; + auxGroupOf8Bits = current[pointBlock] >> emptyPosition; // 31-24 + // Descobre + // valor + // da + // parte + // a + // esquerda + groupOf8Bits = (int) Math.pow(2, emptyPosition); + auxGroupOf8Bits = current[pointBlock] + - (auxGroupOf8Bits * groupOf8Bits); // Extrai valor da + // parte direita + groupOf8Bits = auxGroupOf8Bits + * ((int) Math.pow(2, (8 - emptyPosition))); // 8-(31-24) + // Extrai + // valor da + // parte + // direito + // por + // deslocamento + + // Adiciona bit(s) que faltou(aram) + pointBlock++; // Avanca ao proximo bloco + auxGroupOf8Bits = current[pointBlock] >> (31 - (8 - emptyPosition)); // 31-(8-(31-24)) + // Descobre + // bit(s) + // que + // faltou(aram) + groupOf8Bits = groupOf8Bits + auxGroupOf8Bits; // Adiciona a + // parte alta + pointPosition = 8 - emptyPosition; + } else if (pointPosition == 31) { + pointBlock++; + groupOf8Bits = current[pointBlock] >> 23; + pointPosition = 8; + } + r.setTerm(groupOf8Bits, cont); + auxGroupOf8Bits = groupOf8Bits = emptyPosition = 0; + readBits = (pointBlock * 31) + pointPosition; + cont--; + + } + return r; + } + + public PolynomialVector createGeneratorPolynomial(int ECCWBlocks) { + + PolynomialVector first = new PolynomialVector(1); + PolynomialVector multiplier = new PolynomialVector(1); + + // Inicializa polinomio auxiliar, inicialment 'first' + first.setTerm(0, 1); + first.setTerm(0, 0); + + // Cria e inicializa polinomio multiplicador (multiplier) + multiplier.setTerm(0, 1); + multiplier.setTerm(1, 0); + + // Criacao do polonimio ('aux') que auxiliara a construcao do + // "generator polynomial" + PolynomialVector aux = multiplyPolynomials(first, multiplier); + + + // Cria generatorPolynomial + for (int i = 1; i < ECCWBlocks - 1; i++) { + + multiplier.setTerm(i + 1, 0); + aux = multiplyPolynomials(aux, multiplier); + + } + + if (aux.length() == ECCWBlocks) { + + return aux; + } else { + + return null; + } + + } + + public PolynomialVector multiplyPolynomials(PolynomialVector p, + PolynomialVector q) { + + // Polinomio p(x) = ao + a1x + a2x + a3x +...+ amxm, m = pLength + // Polinomio q(x) = bo + b1x + b2x + b3x +...+ bnxn, n = qLength + // Polinomio resultante r(x) = p(x)q(x) = co + c1x + c2x + c3x +...+ + // c(m+n)x(m+n), m+n = rLength + + int pLength = p.length(); + int qLength = q.length(); + int rLength = pLength + qLength; + PolynomialVector r = new PolynomialVector(rLength); + + + int aux = 0; + int auxLogPrev = 0, auxLogNext = 0; + int auxXOR = 0; + int auxAntilog = 0; + boolean isFirst; + + // Calcula cada ck = a0bk + a1bk-1 + a2bk-2 + a3bk-3 +...+ ak-1b1 + akb0 + // onde k = 0...rlength + for (int k = 0; k <= rLength; k++) { + + isFirst = true; + + for (int i = 0; i <= k; i++) { + + int j = k - i; + + + // Ignora os indices (i ou j) nao existentes em p e q + if ((i > pLength) || (j > qLength)) + continue; + + // Calcula o aibj + aux = p.getTerm(i) + q.getTerm(j); + + // Muda o coeficiente (aux) quando maior que 255 usando + // a formula (aux % 256) + floor(aux / 256) + if (aux > 255) { + aux = (aux % 256) + (aux / 256); + } + + // Calcula o r indice k, usando as tabelas de 'log' e + // 'antiLog', fazendo: + // 1-Converte os termos de mesmo coeficiente da notacao + // alfa para a inteira + // 2-Faz o XOR entre eles + // 3-Volta a notacao alfa o resultado do XOR + + if (isFirst) { + auxAntilog = aux; + } else { + auxLogPrev = this.getLogTable(r.getTerm(k));// 1 + auxLogNext = this.getLogTable(aux);// 1 + auxXOR = auxLogPrev ^ auxLogNext;// 2 + auxAntilog = this.getAntilogTable(auxXOR);// 3 + + + } + + // Preenche o r indice k + r.setTerm(auxAntilog, k); + + isFirst = false; + + + + } + } + + + return r; + } + + public PolynomialVector convertoToIntegerNotation(PolynomialVector p) { + int pLength = p.length(); + PolynomialVector r = new PolynomialVector(pLength); + + try { + for (int i = 0; i <= pLength; i++) { + r.setTerm(this.getLogTable(p.getTerm(i)), i); + } + return r; + } catch (Exception e) { + return null; + } + + } + + public PolynomialVector convertoToAlphaNotation(PolynomialVector p) { + int pLength = p.length(); + + PolynomialVector r = new PolynomialVector(pLength); + + try { + for (int i = 0; i <= pLength; i++) { + + r.setTerm(this.getAntilogTable(p.getTerm(i)), i); + } + + return r; + } catch (Exception e) { + + return null; + } + + } + + public PolynomialVector multiplyPolynomialByCoefficient(PolynomialVector p, + int coefficient) { + int pLength = p.length(); + int newTerm = 0; + PolynomialVector r = new PolynomialVector(pLength); + + try { + + for (int i = 0; i <= pLength; i++) { + newTerm = p.getTerm(i) + coefficient; + if (newTerm > 255) { + newTerm = newTerm % 255; + } + r.setTerm(newTerm, i); + + } + + return r; + } catch (Exception e) { + return null; + } + + } + + public PolynomialVector xorPolynomials(PolynomialVector p, + PolynomialVector q) { + try { + if(p.length() >= q.length()){ + int length = p.length(); + PolynomialVector r = new PolynomialVector(length); + int dif = p.length() - q.length(); + + + for(int i=length; i>=dif;i--){ + int aux = p.getTerm(i) ^ q.getTerm(i-dif); + + r.setTerm(aux, i); + } + for(int i=dif-1; i>=0;i--){ + + r.setTerm(p.getTerm(i), i); + } + return r; + }else{ + int length = q.length(); + PolynomialVector r = new PolynomialVector(length); + int dif = q.length() - p.length(); + + + for(int i=length; i>=dif;i--){ + int aux = q.getTerm(i) ^ p.getTerm(i-dif); + + r.setTerm(aux, i); + } + for(int i=dif-1; i>=0;i--){ + + r.setTerm(q.getTerm(i), i); + } + + return r; + } + + } catch (Exception e) { + return null; + } + + } + + public PolynomialVector generateErrorCorrectionCode(PolynomialVector message, int version, int eccLevel, int eccWordBlock, + int blockCount1, int numOfBlocks1, int blockCount2, int numOfBlocks2) { + /* + * Mudar primeiro parametro do metodo para BinaryVector e fazer + * conversao dele para PolynomialVector antes do seguinte: + */ + + + + PolynomialVector result; + + try { + //Uses a unic Data Code Words Blocks length and only one time + if ((blockCount1 == 1)&&(blockCount2==0)){ + + //Ajeitar tamanho do codigo de correcao de erros nao eh para ser numOfBlocks1 e sim eccWordBlock + PolynomialVector mp; + + if(eccWordBlock=0; i--){ + result.setTerm(mp.getTerm(i), length-i); + System.out.print(result.getTerm(length-i)+","); + } + System.out.println(); + + return result; + }//Uses a unic Data Code Words Blocks length and much than one time + else if (blockCount2 == 0){ + + result = new PolynomialVector((blockCount1*eccWordBlock)-1); + int counterBlock = (numOfBlocks1*blockCount1)-1; + int counterResult = 0; + + //Broke the message polynomial into blockCount1 parts and put it at 'mp' + for(int k=0; k=0; i--){ + result.setTerm(mp.getTerm(eccWordBlock-i-1), counterResult+i); + } + + counterBlock-=numOfBlocks1; + counterResult+=eccWordBlock; + } + + for(int i=0; i<=result.length();i++){ + System.out.print(result.getTerm(i)+","); + } + + System.out.println(); + + return result; + + }//Uses two Data Code Words Blocks length and much than one time + else{ + result = new PolynomialVector(((blockCount1+blockCount2)*eccWordBlock)-1); + + int counterBlock = (numOfBlocks1*blockCount1)+(numOfBlocks2*blockCount2)-1; + int counterResult = 0; + + + //Broke the message polynomial into blockCount1 parts and put it at 'mp' + for(int k=0; k=0; i--){ + result.setTerm(mp.getTerm(eccWordBlock-i-1), counterResult+i); + } + + counterBlock-=numOfBlocks1; + counterResult+=eccWordBlock; + } + + //Broke the message polynomial into blockCount1 parts and put it at 'mp' + for(int k=0; k=0; i--){ + result.setTerm(mp.getTerm(eccWordBlock-i-1), counterResult+i); + } + + counterBlock-=numOfBlocks2; + counterResult+=eccWordBlock; + } + + for(int i=0; i<=result.length();i++){ + System.out.print(result.getTerm(i)+","); + } + + System.out.println(); + + return result; + } + + } catch (Exception e) { + return null; + } + } + + public PolynomialVector getNonZeroTerms(PolynomialVector p) { + int pLength = p.length(); + int counter = 0; + + try { + for (int i = 0; i <= pLength; i++) { + if (p.getTerm(i) != 0) { + counter++; + } + } + PolynomialVector r = new PolynomialVector(counter - 1); + int rIndex = 0; + for (int i = 0; i <= pLength; i++) { + if (p.getTerm(i) != 0) { + r.setTerm(p.getTerm(i), rIndex); + rIndex++; + } + } + + return r; + } catch (Exception e) { + return null; + } + } + + public PolynomialVector getWithoutFirstNonZeroTerms(PolynomialVector p) { + try { + int pLength = p.length(); + if (p.getTerm(pLength) == 0) { + PolynomialVector r = new PolynomialVector(pLength - 1); + + for (int i = 0; i < pLength; i++) { + r.setTerm(p.getTerm(i), i); + } + return r; + } else { + return p; + } + } catch (Exception e) { + return null; + } + + } + +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/qrcode_new/BitToString.java b/Projeto PPB-Ginga/Plaver Framework/plaver/qrcode_new/BitToString.java new file mode 100644 index 0000000..b8f169c --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/qrcode_new/BitToString.java @@ -0,0 +1,81 @@ +package plaver.qrcode_new; + +public class BitToString { + + private char[] alphaNumeric; + + private String results = ""; + private int BOUNDUPPER = 5; + private int BOUNDLOW = 0; + private boolean v[] = new boolean[5]; + private int count = 0; + + public BitToString(){ + this.fillAlphaNumeric(); + } + + private void fillAlphaNumeric() { + this.alphaNumeric = new char[32]; + + char numeric = 0x0030; + for(int i=0; i < 10; ++i){ + this.alphaNumeric[i] = numeric; + //System.out.println("Char: " + numeric); + ++numeric; + } + + char alpha = 0x0041; + for(int i=10; i < 32; ++i){ + this.alphaNumeric[i] = alpha; + //System.out.println("Char: " + alpha); + ++alpha; + } + } + + public void addBits(boolean v[]){ + for(int i=0; i> 5] |= 1 << (this.offset & 0x1F); + } + this.offset++; + } + + /** + * Appends the value like a bit sequence. + * + * @param value + * - a int that represents the bit sequence. + * @param numBits + * - the number that represents the bits sequence length. + */ + public void appendBits(int value, int numBits) { + if (numBits < 0 || numBits > 32) { + return;// TODO Exception Class + } + for (int numBitsLeft = numBits; numBitsLeft > 0; numBitsLeft--) { + appendBit(((value >> (numBitsLeft - 1)) & 0x01) == 1); + } + } + + /** + * Returns the bit element at the specified position in this BitVector. + * + * @param index + * - index of element to return. + * @return a boolean value that represents the element at the specified + * index. + */ + public boolean get(int index) { + return (this.vector[index >> 5] & (1 << (index & 0x1F))) != 0; + } + + /** + * Returns the element at the specified position in this BitVector. + * + * @param index + * - index of element to return. + * @return a int value that represents the element at the specified index. + */ + public int getBitWise(int index) { + if (get(index)) { + return 1; + } else { + return 0; + } + } + + /** + * Returns a int that represents a sequence of elements. + * + * @param offset + * - initial offset of the BitVector. + * @param count + * - length of the BitVector. + * @return a int that contains the elements of the specified sequence of the + * BitVector. + */ + public int getNBits(int offset, int count) { + int i = 0; + int bits = 0; + int bit; + while (i < count) { + if (get(offset + i)) { + bit = 1; + } else { + bit = 0; + } + + bits += bit * Math.pow(2, count - i - 1); + + i++; + } + return bits; + } + + /** + * Returns a string representation of the BitVector, i.e., the object + * represented textually. + * + * @return a String that represents the BitVector. + */ + public String toString() { + String result = ""; + for (int i = 0; i < this.offset; i++) { + if ((i & 0x07) == 0) { + result += "\n"; + } + + if (get(i)) { + result += "1"; + } else { + result += "0"; + } + } + return result; + } +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/qrcode_new/Encoder.java b/Projeto PPB-Ginga/Plaver Framework/plaver/qrcode_new/Encoder.java new file mode 100644 index 0000000..1d6b515 --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/qrcode_new/Encoder.java @@ -0,0 +1,611 @@ +package plaver.qrcode_new; +/** + * The Encoder class implements the data encodation from the QRCode, according + * to the ISO/IEC 18004:2000 (E). Yours methods are responsible by the + * codification of the input data into a bit stream that contains the mode + * indicator, character count indicator, data bit stream and the error + * correction code. + * + * @author Manuella D. C. Silva (manuellablablau@gmail.com) + * @version 0.0.1 + */ + +public class Encoder { + + public Encoder() { + super(); + } + + /** + * Perform the codification of QRCode to a bit stream (represented by a + * BitVector) with the mode indicator, character count indicator, data bit + * stream and the error correction code. + * + * @param qr + * - the QRCode object containing the input data, Mode, Version + * and ErrorCorrectionLevel. + * @return a BitVector containing the bit stream codified. + */ + public BitVector encode(QRCode qr) { + Version version = qr.getVersion(); + Mode mode = qr.getMode(); + ErrorCorrectionLevel ECL = qr.getErrorCorrectionLevel(); + String content = qr.getData(); + + int vectorLength = version.getMaximunDataCapacityBits()[ECL.getBits() - 1]; + if (vectorLength % 32 == 0) { + vectorLength = vectorLength / 32; + } else { + vectorLength = (vectorLength / 32) + 1; + } + + BitVector vector = new BitVector(vectorLength); + + appendMode(mode, vector); + appendData(content, mode, version, vector); + terminateVector(version, ECL, vector); + System.out + .println(version.getMaximunDataCapacityBits()[ECL.getBits() - 1] + + " : " + (ECL.getBits() - 1)); + PolynomialVector data = ReedSolomon + .createMessagePolynomial( + version.getMaximunDataCapacityBits()[ECL.getBits() - 1], + vector); + System.out.println("data: " + data.toString()); + + PolynomialVector ECCW = ReedSolomon.generateErrorCorrectionCode(data, + version, ECL); + System.out.println("ECCW: " + ECCW.toString()); + + BitVector finalVector = interleaveErrorCorrectionCode(version, ECL, + data, ECCW); + reminderBits(version, finalVector); + + return finalVector; + } + + /** + * Appends the mode indicator at the bit stream data encodation. + * + * @param mode + * - the Mode. + * @param vector + * - the BitVector that contains the bit stream. + */ + public void appendMode(Mode mode, BitVector vector) { + vector.appendBits(mode.getBits(), 4); + + } + + /** + * Appends the input data into the bit stream data encodation according to + * QRCode Mode and Version. + * + * @param data + * - a String containing input data. + * @param mode + * - the Mode. + * @param version + * - the Version. + * @param vector + * - the BitVector that contains the bit stream. + */ + public void appendData(String data, Mode mode, Version version, + BitVector vector) { + vector.appendBits(data.length(), + mode.getCharacterCountIndicator(version.getBits())); + switch (mode.getIndicator()) { + case Mode.NUMERIC: + appendNumericBytes(data, vector); + break; + case Mode.ALPHANUMERIC: + appendAlphanumericBytes(data, vector); + break; + case Mode.EIGHT_BIT: + append8BitBytes(data, vector); + break; + case Mode.KANJI: + appendKanjiBytes(data, vector); + break; + default: + // Exception + } + + } + + /** + * Appends the input data into the Numeric Bytes data encodation. + * + * @param data + * - a String containing input data. + * @param vector + * - the BitVector that contains the bit stream. + */ + public void appendNumericBytes(String data, BitVector vector) { + int length = data.length(); + int i = 0; + while (i < length) { + int num1 = data.charAt(i) - '0'; + if (i + 2 < length) { + // Encode three numeric letters in ten bits. + int num2 = data.charAt(i + 1) - '0'; + int num3 = data.charAt(i + 2) - '0'; + vector.appendBits(num1 * 100 + num2 * 10 + num3, 10); + i += 3; + } else if (i + 1 < length) { + // Encode two numeric letters in seven bits. + int num2 = data.charAt(i + 1) - '0'; + vector.appendBits(num1 * 10 + num2, 7); + i += 2; + } else { + // Encode one numeric letter in four bits. + vector.appendBits(num1, 4); + i++; + } + } + + } + + /** + * Appends the input data into the Alphanumeric Bytes data encodation. + * + * @param data + * - a String containing input data. + * @param vector + * - the BitVector that contains the bit stream. + */ + public void appendAlphanumericBytes(String data, BitVector vector) { + int length = data.length(); + int i = 0; + while (i < length) { + int char1 = convertToASCIIValue(data.charAt(i)); + if (char1 == -1) { + // Exception + } + if (i + 1 < length) { + int char2 = convertToASCIIValue(data.charAt(i + 1)); + if (char2 == -1) { + // Exception + } + // Encode two alphanumeric letters in 11 bits. + vector.appendBits(char1 * 45 + char2, 11); + i += 2; + } else { + // Encode one alphanumeric letter in six bits. + vector.appendBits(char1, 6); + i++; + } + } + } + + /** + * Appends the input data into the 8 Bit Bytes data encodation. + * + * @param data + * - a String containing input data. + * @param vector + * - the BitVector that contains the bit stream. + */ + public void append8BitBytes(String data, BitVector vector) { + // Not implemented yet + } + + /** + * Appends the input data into the Kanji Bytes data encodation. + * + * @param data + * - a String containing input data. + * @param vector + * - the BitVector that contains the bit stream. + */ + public void appendKanjiBytes(String data, BitVector vector) { + // Not implemented yet + } + + /** + * Finish the data encodation with the Terminator sequence and the Padding + * bits to completely fills the capacity of the data bit stream symbols. + * + * @param version + * - the Version. + * @param ECL + * - the ErrorCorrectionLevel. + * @param vector + * - the BitVector that contains the bit stream. + */ + public void terminateVector(Version version, ErrorCorrectionLevel ECL, + BitVector vector) { + int numOfBits = vector.getOffset(); + int capacity = version.getMaximunDataCapacityBits()[ECL.getBits() - 1]; + + // Put the terminator (Session 8.4.8 of ISO/IEC 18004) + switch (capacity - numOfBits) { + case 0: + break; + case 1: + vector.appendBits(0, 1); + break; + case 2: + vector.appendBits(0, 2); + break; + case 3: + vector.appendBits(0, 3); + break; + default: + vector.appendBits(0, 4); + break; + } + + // Put the bit stream to codeword conversion (Session 8.4.9 of ISO/IEC + // 18004) + // Step 1: Padding bits shall be added after the final bit (least + // significant bit) of the data stream. + numOfBits = vector.getOffset(); + if ((numOfBits % 8) != 0) { + vector.appendBits(0, 8 - (numOfBits % 8)); + } + + // Step 2: The message bit stream shall then be extended to fill the + // data capacity of the symbol corresponding to the Version and Error + // Correction Level by the addition of the Pad Codewords 11101100 and + // 00010001 alternately + int i = 0; + numOfBits = vector.getOffset(); + while (numOfBits < capacity) { + if ((i % 2) == 0) { + int n = 236; + vector.appendBits(n, 8); + } else { + int n = 17; + vector.appendBits(n, 8); + } + numOfBits = vector.getOffset(); + i++; + } + + } + + /** + * Insert the error correction code block interleaved with the data + * encodation. + * + * @param version + * - the Version. + * @param ECL + * - the ErrorCorrectionLevel. + * @param data + * - the data encodation represented by a PolynomialVector. + * @param ECCWB + * - the error correction codewords represented by a + * PolynomialVector. + * @return a bitVector that contains the bit stream with the error + * correction codewords and data encodation. + */ + public BitVector interleaveErrorCorrectionCode(Version version, + ErrorCorrectionLevel ECL, PolynomialVector data, + PolynomialVector ECCWB) { + + int vectorLength = ((data.length() + 1 + ECCWB.length() + 1) * 8); + if (vectorLength % 32 == 0) { + vectorLength = vectorLength / 32; + } else { + vectorLength = (vectorLength / 32) + 1; + } + BitVector result = new BitVector(vectorLength + 1);// The "+1" gives a + // clearance to add + // the remainder + // bits + + int numOfBlocks1 = version.getDataCodewordsCharacteristic()[ECL + .getBits() - 1][0]; + int numOfBlocks2 = version.getDataCodewordsCharacteristic()[ECL + .getBits() - 1][2]; + + if ((numOfBlocks1 == 1) && (numOfBlocks2 == 0)) { + int totalNumOfBlocks = data.length(); + for (int i = totalNumOfBlocks; i >= 0; i--) { + result.appendBits(data.getTerm(i), 8); + } + + totalNumOfBlocks = ECCWB.length(); + for (int i = totalNumOfBlocks; i >= 0; i--) { + result.appendBits(ECCWB.getTerm(i), 8); + } + } else if (numOfBlocks2 == 0) { + int totalNumOfBlocks = data.length(); + int lengthOfBlocks = (totalNumOfBlocks / numOfBlocks1) + 1; + int counter = 0; + + for (int i = totalNumOfBlocks; counter < lengthOfBlocks; i--) { + for (int j = 0; j < numOfBlocks1; j++) { + result.appendBits(data.getTerm(i - (lengthOfBlocks * j)), 8); + } + counter++; + } + + totalNumOfBlocks = ECCWB.length(); + lengthOfBlocks = version.getErrorCorrectionCodePerBlock()[ECL + .getBits() - 1]; + System.out.println(lengthOfBlocks); + counter = 0; + for (int i = totalNumOfBlocks; counter < lengthOfBlocks; i--) { + for (int j = 0; j < numOfBlocks1; j++) { + result.appendBits(ECCWB.getTerm(i - (lengthOfBlocks * j)), + 8); + } + counter++; + } + + } else { + int totalNumOfBlocks = data.length(); + int lengthOfBlocks1 = version.getDataCodewordsCharacteristic()[ECL + .getBits() - 1][1]; + int lengthOfBlocks2 = version.getDataCodewordsCharacteristic()[ECL + .getBits() - 1][3]; + int counter = 0; + + System.out.println("totalNumOfBlocks: " + totalNumOfBlocks); + System.out.println("lengthOfBlocks: " + lengthOfBlocks1); + + for (int i = totalNumOfBlocks; counter < lengthOfBlocks1; i--) { + for (int j = 0; j < numOfBlocks1; j++) { + System.out.println((i - (lengthOfBlocks1 * j)) + " - " + + data.getTerm(i - (lengthOfBlocks1 * j))); + result.appendBits(data.getTerm(i - (lengthOfBlocks1 * j)), + 8); + } + for (int j = 0; j < numOfBlocks2; j++) { + System.out + .println((i - (lengthOfBlocks1 * numOfBlocks1) - (lengthOfBlocks2 * j)) + + " " + + (i - (lengthOfBlocks2 * j)) + + " - " + + data.getTerm(i + - (lengthOfBlocks1 * numOfBlocks1) + - (lengthOfBlocks2 * j))); + result.appendBits( + data.getTerm(i - (lengthOfBlocks1 * numOfBlocks1) + - (lengthOfBlocks2 * j)), 8); + } + counter++; + System.out.println(); + } + + for (int i = totalNumOfBlocks; counter < lengthOfBlocks2; i--) { + for (int j = 0; j < numOfBlocks2; j++) { + System.out.println((lengthOfBlocks2 - (counter + - lengthOfBlocks1 + 1)) + + " - " + + (i - lengthOfBlocks1 * (numOfBlocks1 + 1) + - lengthOfBlocks2 * (j + 1) + counter + 1) + + " - " + + data.getTerm(i - lengthOfBlocks1 + * (numOfBlocks1 + 1) - lengthOfBlocks2 + * (j + 1) + counter + 1)); + result.appendBits( + data.getTerm(i - lengthOfBlocks1 + * (numOfBlocks1 + 1) - lengthOfBlocks2 + * (j + 1) + counter + 1), 8); + } + counter++; + } + + System.out.println(); + totalNumOfBlocks = ECCWB.length(); + int lengthOfBlocks = version.getErrorCorrectionCodePerBlock()[ECL + .getBits() - 1]; + System.out.println("lengthOfBlocks: " + lengthOfBlocks); + System.out.println(); + counter = 0; + for (int i = totalNumOfBlocks; counter < lengthOfBlocks; i--) { + for (int j = 0; j < numOfBlocks1 + numOfBlocks2; j++) { + System.out.println((i - (lengthOfBlocks * j)) + " - " + + ECCWB.getTerm(i - (lengthOfBlocks * j))); + result.appendBits(ECCWB.getTerm(i - (lengthOfBlocks * j)), + 8); + } + System.out.println(); + counter++; + } + + } + + return result; + } + + /** + * Insert the Remainder Bits according to the QRCode version. + * + * @param version + * - a int representing the version number. + * @param vector + * - the BitVector that contains the bit stream. + */ + public void reminderBits(Version version, BitVector vector) { + vector.appendBits(0, version.getRemainderBit()); + } + + /** + * This methods return the ASCII value of character according with the + * QRCode table. + * + * @param character + * - a char that indicates the input character. + * @return a int representing the ASCII value of character according with + * the QRCode table. And -1 in case of error. + */ + public int convertToASCIIValue(char character) { + int result = -1; + + switch (character) { + case '0': + result = 0; + break; + case '1': + result = 1; + break; + case '2': + result = 2; + break; + case '3': + result = 3; + break; + case '4': + result = 4; + break; + case '5': + result = 5; + break; + case '6': + result = 6; + break; + case '7': + result = 7; + break; + case '8': + result = 8; + break; + case '9': + result = 9; + break; + case 'a': + case 'A': + result = 10; + break; + case 'b': + case 'B': + result = 11; + break; + case 'c': + case 'C': + result = 12; + break; + case 'd': + case 'D': + result = 13; + break; + case 'e': + case 'E': + result = 14; + break; + case 'f': + case 'F': + result = 15; + break; + case 'g': + case 'G': + result = 16; + break; + case 'h': + case 'H': + result = 17; + break; + case 'i': + case 'I': + result = 18; + break; + case 'j': + case 'J': + result = 19; + break; + case 'k': + case 'K': + result = 20; + break; + case 'l': + case 'L': + result = 21; + break; + case 'm': + case 'M': + result = 22; + break; + case 'n': + case 'N': + result = 23; + break; + case 'o': + case 'O': + result = 24; + break; + case 'p': + case 'P': + result = 25; + break; + case 'q': + case 'Q': + result = 26; + break; + case 'r': + case 'R': + result = 27; + break; + case 's': + case 'S': + result = 28; + break; + case 't': + case 'T': + result = 29; + break; + case 'u': + case 'U': + result = 30; + break; + case 'v': + case 'V': + result = 31; + break; + case 'w': + case 'W': + result = 32; + break; + case 'x': + case 'X': + result = 33; + break; + case 'y': + case 'Y': + result = 34; + break; + case 'z': + case 'Z': + result = 35; + break; + case ' ': + result = 36; + break; + case '$': + result = 37; + break; + case '%': + result = 38; + break; + case '*': + result = 39; + break; + case '+': + result = 40; + break; + case '-': + result = 41; + break; + case '.': + result = 42; + break; + case '/': + result = 43; + break; + case ':': + result = 44; + break; + + default: + result = -1; + break; + } + + return result; + } + +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/qrcode_new/ErrorCorrectionLevel.java b/Projeto PPB-Ginga/Plaver Framework/plaver/qrcode_new/ErrorCorrectionLevel.java new file mode 100644 index 0000000..03e4d01 --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/qrcode_new/ErrorCorrectionLevel.java @@ -0,0 +1,39 @@ +package plaver.qrcode_new; +/** + * The ErrorCorrectionLevel class implements the object that represents the + * error correction level from the QRCode. + * + * @author Manuella D. C. Silva (manuellablablau@gmail.com) + * @version 0.0.1 + */ + +public class ErrorCorrectionLevel { + + public static final int L = 1;// 1 + public static final int M = 2;// 2 + public static final int Q = 3;// 3 + public static final int H = 4;// 4 + + public final int bits; + + /** + * Constructs a ErrorCorrectionLevel with the appropriated QRCode error + * correction level. + * + * @param eccLevel + * - a int representing the error correction level. + */ + public ErrorCorrectionLevel(int eccLevel) { + this.bits = eccLevel; + } + + /** + * Returns a number representing the error correction level. + * + * @return a int representing the error correction level. + */ + public int getBits() { + return bits; + } + +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/qrcode_new/Main.java b/Projeto PPB-Ginga/Plaver Framework/plaver/qrcode_new/Main.java new file mode 100644 index 0000000..a5ea5ac --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/qrcode_new/Main.java @@ -0,0 +1,239 @@ +package plaver.qrcode_new; +import java.io.IOException; + + +public class Main { + + /** + * + * @param args + */ + public static void main(String[] args) { + Mode mode = new Mode(Mode.ALPHANUMERIC); + + QRCode qr = new QRCode(new Version(21, mode), new ErrorCorrectionLevel(ErrorCorrectionLevel.L), mode, "Testando"); +// QRCode qr = new QRCode(new Version(21, mode), new ErrorCorrectionLevel(ErrorCorrectionLevel.M), mode, "Testando"); +// QRCode qr = new QRCode(new Version(21, mode), new ErrorCorrectionLevel(ErrorCorrectionLevel.Q), mode, "Testando"); +// QRCode qr = new QRCode(new Version(21, mode), new ErrorCorrectionLevel(ErrorCorrectionLevel.H), mode, "Testando"); +// QRCode qr = new QRCode(new Version(21, mode), new ErrorCorrectionLevel(ErrorCorrectionLevel.L), mode, "Hello world"); +// QRCode qr = new QRCode(new Version(21, mode), new ErrorCorrectionLevel(ErrorCorrectionLevel.M), mode, "Hello world"); +// QRCode qr = new QRCode(new Version(21, mode), new ErrorCorrectionLevel(ErrorCorrectionLevel.Q), mode, "Hello world"); +// QRCode qr = new QRCode(new Version(21, mode), new ErrorCorrectionLevel(ErrorCorrectionLevel.H), mode, "Hello world"); +// QRCode qr = new QRCode(new Version(21, mode), new ErrorCorrectionLevel(ErrorCorrectionLevel.L), mode, "Casos de teste"); +// QRCode qr = new QRCode(new Version(21, mode), new ErrorCorrectionLevel(ErrorCorrectionLevel.M), mode, "Casos de teste"); +// QRCode qr = new QRCode(new Version(21, mode), new ErrorCorrectionLevel(ErrorCorrectionLevel.Q), mode, "Casos de teste"); +// QRCode qr = new QRCode(new Version(21, mode), new ErrorCorrectionLevel(ErrorCorrectionLevel.H), mode, "Casos de teste"); + Encoder encoder = new Encoder(); + + BitVector bitVector = encoder.encode(qr); + System.out.println("bitVector: "); + System.out.println(bitVector); + + //MATRIX + try { + MatrizImgQR.GerarImagem(qr, bitVector, 5); + } catch (IOException ex) { + + } + + + //BINARY VECTOR + //QRCode qr = new QRCode(15, 2, 2, "Hello World + //Hello WorldHello WorldHello WorldHello WorldHello WorldHello WorldHello WorldHello WorldHello WorldHello WorldHello WorldHello WorldHello WorldHello WorldHello WorldHello WorldHello WorldHello WorldHello WorldHello WorldHello WorldHello WorldHello WorldHello WorldHello WorldHello WorldHello WorldHello WorldHello WorldHello WorldHello WorldHello WorldHello WorldHello WorldHello WorldHello WorldHello WorldHello WorldHello WorldHello WorldHello WorldHello WorldHello WorldHello WorldHello WorldHello WorldHello WorldHello WorldHello WorldHello WorldHello World"); + //QRCode qr = new QRCode(1, 2, 2, "testando."); + + + + //qr.init(); + /*System.out.println(); + for(int i=0; i<= qr.getVector().getNumberOfBits(); i++){ + System.out.print(qr.getVector().getBitWise(i)); + } + System.out.println();*/ + + //System.out.println(qr.getVector().toString()); + +// BitVector bitVector = new BitVector(2); +// bitVector.appendBits(4, 32); +// bitVector.appendBits(4, 31); +// +// System.out.println("ToString: "+bitVector.toString()); +// System.out.println("0: "+bitVector.get(0)); +// System.out.println("1: "+bitVector.get(0)); +// +// System.out.println(bitVector.getOffset()); +// +// System.out.println("Teste: "+bitVector.getNBits(60, 3)); +// +// +// System.out.println(bitVector.getOffset()); + + /*int[] bits = new int[1]; + int size=bits.length; + System.out.println("Passo 1 - bits.length="+bits.length+", bits[0]="+bits[0]); + int aux = (size & 0x1F); + int index = size >> 5; + bits[index] |= 1 << aux; + System.out.println("Index="+index+", Aux="+aux); + System.out.println("Passo 2 - bits.length="+bits.length+", bits[0]="+bits[0]); + size++; + index = size>> 5; + aux = (size & 0x1F); + bits[index] |= 1 << aux; + System.out.println("Index="+index+", Aux="+aux); + size++; + index = size>> 5; + aux = (size & 0x1F); + bits[index] |= 1 << aux; + System.out.println("Index="+index+", Aux="+aux); + size++; + index = size>> 5; + aux = (size & 0x1F); + bits[index] |= 1 << aux; + System.out.println("Index="+index+", Aux="+aux); + size++; + index = size>> 5; + aux = (size & 0x1F); + bits[index] |= 1 << aux; + System.out.println("Index="+index+", Aux="+aux); + size++; + index = size>> 5; + aux = (size & 0x1F); + bits[index] |= 1 << aux; + System.out.println("Index="+index+", Aux="+aux); + size++; + index = size>> 5; + aux = (size & 0x1F); + bits[index] |= 1 << aux; + System.out.println("Index="+index+", Aux="+aux); + size++; + index = size>> 5; + aux = (size & 0x1F); + bits[index] |= 1 << aux; + System.out.println("Index="+index+", Aux="+aux); + size++; + index = size>> 5; + aux = (size & 0x1F); + bits[index] |= 1 << aux; + System.out.println("Index="+index+", Aux="+aux); + size++; + index = size>> 5; + aux = (size & 0x1F); + bits[index] |= 1 << aux; + System.out.println("Index="+index+", Aux="+aux); + size++; + index = size>> 5; + aux = (size & 0x1F); + bits[index] |= 1 << aux; + System.out.println("Index="+index+", Aux="+aux); + size++; + index = size>> 5; + aux = (size & 0x1F); + bits[index] |= 1 << aux; + System.out.println("Index="+index+", Aux="+aux); + size++; + index = size>> 5; + aux = (size & 0x1F); + bits[index] |= 1 << aux; + System.out.println("Index="+index+", Aux="+aux); + size++; + index = size>> 5; + aux = (size & 0x1F); + bits[index] |= 1 << aux; + System.out.println("Index="+index+", Aux="+aux); + size++; + index = size>> 5; + aux = (size & 0x1F); + bits[index] |= 1 << aux; + System.out.println("Index="+index+", Aux="+aux); + size++; + index = size>> 5; + aux = (size & 0x1F); + bits[index] |= 1 << aux; + System.out.println("Index="+index+", Aux="+aux); + size++; + index = size>> 5; + aux = (size & 0x1F); + bits[index] |= 1 << aux; + System.out.println("Index="+index+", Aux="+aux); + size++; + index = size>> 5; + aux = (size & 0x1F); + bits[index] |= 1 << aux; + System.out.println("Index="+index+", Aux="+aux); + size++; + index = size>> 5; + aux = (size & 0x1F); + bits[index] |= 1 << aux; + System.out.println("Index="+index+", Aux="+aux); + size++; + index = size>> 5; + aux = (size & 0x1F); + bits[index] |= 1 << aux; + System.out.println("Index="+index+", Aux="+aux); + size++; + index = size>> 5; + aux = (size & 0x1F); + bits[index] |= 1 << aux; + System.out.println("Index="+index+", Aux="+aux); + size++; + index = size>> 5; + aux = (size & 0x1F); + bits[index] |= 1 << aux; + System.out.println("Index="+index+", Aux="+aux); + size++; + index = size>> 5; + aux = (size & 0x1F); + bits[index] |= 1 << aux; + System.out.println("Index="+index+", Aux="+aux); + size++; + index = size>> 5; + aux = (size & 0x1F); + bits[index] |= 1 << aux; + System.out.println("Index="+index+", Aux="+aux); + size++; + index = size>> 5; + aux = (size & 0x1F); + bits[index] |= 1 << aux; + System.out.println("Index="+index+", Aux="+aux); + size++; + index = size>> 5; + aux = (size & 0x1F); + bits[index] |= 1 << aux; + System.out.println("Index="+index+", Aux="+aux); + size++; + index = size>> 5; + aux = (size & 0x1F); + bits[index] |= 1 << aux; + System.out.println("Index="+index+", Aux="+aux); + size++; + index = size>> 5; + aux = (size & 0x1F); + bits[index] |= 1 << aux; + System.out.println("Index="+index+", Aux="+aux); + size++; + index = size>> 5; + aux = (size & 0x1F); + bits[index] |= 1 << aux; + System.out.println("Index="+index+", Aux="+aux); + size++; + index = size>> 5; + aux = (size & 0x1F); + bits[index] |= 1 << aux; + System.out.println("Index="+index+", Aux="+aux); + size++; + index = size>> 5; + aux = (size & 0x1F); + bits[index] |= 1 << aux; + System.out.println("Index="+index+", Aux="+aux); + size++; + index = size>> 5; + aux = (size & 0x1F); + bits[index] |= 1 << aux; + System.out.println("Index="+index+", Aux="+aux); + System.out.println("Passo 2 - bits.length="+bits.length+", bits[0]="+bits[0]);*/ + + + } + +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/qrcode_new/MatrizImgQR.java b/Projeto PPB-Ginga/Plaver Framework/plaver/qrcode_new/MatrizImgQR.java new file mode 100644 index 0000000..ae8422b --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/qrcode_new/MatrizImgQR.java @@ -0,0 +1,377 @@ +package plaver.qrcode_new; +import java.io.IOException; +import javax.swing.*; +import java.awt.*; +import java.awt.image.*; +import java.awt.geom.AffineTransform; +import java.io.File; +import javax.imageio.ImageIO; + +import com.sun.dtv.lwuit.Image; + +public class MatrizImgQR { + //private int versao=0; //define a versao do qr code + private static int largura=0, altura=0; + + public static Image GerarImagem (QRCode qr, BitVector vector, int zoom) throws IOException { + + int versao = qr.getVersion().getBits(); +// int ecLevel = qr.getErrorCorrectionLevel().getBits(); +// largura = 21 + ((versao-1)*4); +// altura=largura; +// JFrame frm = new JFrame("Teste Imagem"); +// JPanel pan = new JPanel(); +// JLabel lbl = new JLabel( criarImagem(trabalhaMatriz(qr, vector), zoom) ); +// pan.add( lbl ); +// frm.getContentPane().add( pan ); +// frm.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE ); +// frm.pack(); +// frm.show(); + + largura = 21 + ((versao-1)*4); + altura=largura; + return criarImagem(trabalhaMatriz(qr, vector), zoom); + } + + private static int UseMaskPatt(int x, int y, int i){ + int a=0; + switch(i){ + case 0: + if((y+x)%2==0) + a=1; + break; + case 1: + if(y%2==0) + a=1; + break; + case 2: + if(x%3==0) + a=1; + break; + case 3: + if((y+x)%3==0) + a=1; + break; + case 4: + if(((y/2)+(x/3))%2==0) + a=1; + break; + case 5: + if(((y*x)%2)+((y*x%3))==0) + a=1; + break; + case 6: + if((((y*x)%2)+((y*x%3)))%2==0) + a=1; + break; + case 7: + if((((y+x)%2)+((y*x%3)))%2==0) + a=1; + break; + } + return a; + } + + private static int[] getListaAdjustmentPattern(int versao){ + int[][] tabela = {{0}, {6,18}, {6,22}, {6,26}, {6,30}, {6,34}, {6,22,38}, {6,24,42}, {6,26,46}, {6,28,50}, {6,30,54}, + {6,32,58}, {6,34,62}, {6,26,46,66}, {6,26,48,70}, {6,26,50,74}, {6,30,54,78}, {6,30,56,82}, {6,30,58,86}, {6,34,62,90}, + {6,28,50,72,94}, {6,26,50,74,98}, {6,30,54,78,102}, {6,28,54,80,106}, {6,32,58,84,110}, {6,30,58,86,114}, {6,34,62,90,118}, + {6,26,50,74,98,122}, {6,30,54,78,102,126}, {6,26,52,78,104,130}, {6,30,56,82,108,134}, {6,34,60,86,112,138}, {6,30,58,86,114,142}, + {6,34,62,90,118,146}, {6,30,54,78,102,126,150}, {6,24,50,76,102,128,154}, {6,28,54,80,106,132,158}, {6,32,58,84,110,136,162}, + {6,26,54,82,110,138,166}, {6,30,58,86,114,142,170}}; + return tabela[versao-1]; + } + + private static int[] getTypeInformationMask(int eccLevel, int nivelMask){ + int[][][] tabela = {{{1,1,1,0,1,1,1,1,1,0,0,0,1,0,0}, {1,1,1,0,0,1,0,1,1,1,1,0,0,1,1}, {1,1,1,1,1,0,1,1,0,1,0,1,0,1,0}, + {1,1,1,1,0,0,0,1,0,0,1,1,1,0,1}, {1,1,0,0,1,1,0,0,0,1,0,1,1,1,1}, {1,1,0,0,0,1,1,0,0,0,1,1,0,0,0}, {1,1,0,1,1,0,0,0,1,0,0,0,0,0,1}, + {1,1,0,1,0,0,1,0,1,1,1,0,1,1,0}}, /*fim do eccLevel L*/ + {{1,0,1,0,1,0,0,0,0,0,1,0,0,1,0}, {1,0,1,0,0,0,1,0,0,1,0,0,1,0,1}, {1,0,1,1,1,1,0,0,1,1,1,1,1,0,0}, + {1,0,1,1,0,1,1,0,1,0,0,1,0,1,1}, {1,0,0,0,1,0,1,1,1,1,1,1,0,0,1}, {1,0,0,0,0,0,0,1,1,0,0,1,1,1,0}, {1,0,0,1,1,1,1,1,0,0,1,0,1,1,1}, + {1,0,0,1,0,1,0,1,0,1,0,0,0,0,0}}, /*fim do eccLevel M*/ + {{0,1,1,0,1,0,1,0,1,0,1,1,1,1,1}, {0,1,1,0,0,0,0,0,1,1,0,1,0,0,0}, {0,1,1,1,1,1,1,0,0,1,1,0,0,0,1}, + {0,1,1,1,0,1,0,0,0,0,0,0,1,1,0}, {0,1,0,0,1,0,0,1,0,1,1,0,1,0,0}, {0,1,0,0,0,0,1,1,0,0,0,0,0,1,1}, {0,1,0,1,1,1,0,1,1,0,1,1,0,1,0}, + {0,1,0,1,0,1,1,1,1,1,0,1,1,0,1}}, /*fim do eccLevel Q*/ + {{0,0,1,0,1,1,0,1,0,0,0,1,0,0,1}, {0,0,1,0,0,1,1,1,0,1,1,1,1,1,0}, {0,0,1,1,1,0,0,1,1,1,0,0,1,1,1}, + {0,0,1,1,0,0,1,1,1,0,1,0,0,0,0}, {0,0,0,0,1,1,1,0,1,1,0,0,0,1,0}, {0,0,0,0,0,1,0,0,1,0,1,0,1,0,1}, {0,0,0,1,1,0,1,0,0,0,0,1,1,0,0}, + {0,0,0,1,0,0,0,0,0,1,1,1,0,1,1}} /*fim do eccLevel HQ*/}; + return tabela[eccLevel-1][nivelMask]; + } + + private static int[] getVersionInformation(int versao){ + int[][] tabela = {{0,0,1,0,1,0,0,1,0,0,1,1,1,1,1,0,0,0}, {0,0,0,1,1,1,1,0,1,1,0,1,0,0,0,1,0,0}, {1,0,0,1,1,0,0,1,0,1,0,1,1,0,0,1,0,0}, + {0,1,1,0,0,1,0,1,1,0,0,1,0,1,0,1,0,0}, {0,1,1,0,1,1,1,1,1,1,0,1,1,1,0,1,0,0}, {0,0,1,0,0,0,1,1,0,1,1,1,0,0,1,1,0,0}, {1,1,1,0,0,0,1,0,0,0,0,1,1,0,1,1,0,0}, + {0,1,0,1,1,0,0,0,0,0,1,1,0,1,1,1,0,0}, {0,0,0,1,0,1,0,0,1,0,0,1,1,1,1,1,0,0}, {0,0,0,1,1,1,1,0,1,1,0,1,0,0,0,0,1,0}, {0,1,0,1,1,1,0,1,0,0,0,1,1,0,0,0,1,0}, + {1,1,1,0,1,0,0,0,0,1,0,1,0,1,0,0,1,0}, {0,0,1,0,0,1,1,0,0,1,0,1,1,1,0,0,1,0}, {0,1,1,0,0,1,0,1,1,0,0,1,0,0,1,0,1,0}, {0,1,1,0,0,0,0,0,1,0,1,1,1,0,1,0,1,0}, + {1,0,0,1,0,0,1,1,0,0,0,1,0,1,1,0,1,0}, {0,0,0,1,1,0,1,1,1,1,1,1,1,1,1,0,1,0}, {0,0,1,0,0,0,1,1,0,1,1,1,0,0,0,1,1,0}, {0,0,0,1,0,0,0,0,1,1,1,1,1,0,0,1,1,0}, + {1,1,0,1,0,1,0,1,1,1,1,1,0,1,0,1,1,0}, {0,0,0,0,0,1,1,1,0,0,0,1,1,1,0,1,1,0}, {0,1,0,1,1,0,0,0,0,0,1,1,0,0,1,1,1,0}, {0,0,1,1,1,1,1,1,0,0,1,1,1,0,1,1,1,0}, + {1,0,1,0,1,1,1,0,1,0,1,1,0,1,1,1,1,0}, {0,0,0,0,0,0,1,0,1,0,0,1,1,1,1,1,1,0}, {1,0,1,0,1,0,1,1,1,0,0,1,0,0,0,0,0,1}, {0,0,0,0,0,1,1,1,1,0,1,1,1,0,0,0,0,1}, + {0,1,0,1,1,1,0,1,0,0,0,1,0,1,0,0,0,1}, {0,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,0,1}, {1,1,0,1,0,0,0,0,1,1,0,1,0,0,1,0,0,1}, {0,0,1,1,1,0,1,0,0,0,0,1,1,0,1,0,0,1}, + {0,0,1,0,0,1,1,0,0,1,0,1,0,1,1,0,0,1}, {0,1,0,0,0,0,0,1,0,1,0,1,1,1,1,0,0,1}, {1,0,0,1,0,1,1,0,0,0,1,1,0,0,0,1,0,1}}; + return tabela[versao-7]; + } + public static int[][] trabalhaMatriz(QRCode qr, BitVector vector){ + //metodo indireto de producao de pixels = matriz articulada temporaria representativa da imagem + //array de bits + int versao = qr.getVersion().getBits(); + int ecLevel = qr.getErrorCorrectionLevel().getBits(); + int[][] a = new int[largura][altura]; + + //instanciacao elemento a elemento dos arrays + int m=0, n=0; + for(m=0; m=0; f--) + a[aX+4][f]=0; + + //quadrado inferior esquerdo + aX=3; aY=altura-4; + a[aX][aY]=1; + a[aX-1][aY-1]=1; a[aX][aY-1]=1;a[aX+1][aY-1]=1;a[aX+1][aY]=1;a[aX+1][aY+1]=1;a[aX][aY+1]=1;a[aX-1][aY+1]=1;a[aX-1][aY]=1; + a[aX-2][aY-2]=0;a[aX-1][aY-2]=0;a[aX][aY-2]=0;a[aX+1][aY-2]=0;a[aX+2][aY-2]=0;a[aX+2][aY-1]=0;a[aX+2][aY]=0;a[aX+2][aY+1]=0;a[aX+2][aY+2]=0;a[aX+1][aY+2]=0;a[aX][aY+2]=0;a[aX-1][aY+2]=0;a[aX-2][aY+2]=0;a[aX-2][aY+1]=0;a[aX-2][aY]=0;a[aX-2][aY-1]=0; + a[aX-3][aY-3]=1;a[aX-2][aY-3]=1;a[aX-1][aY-3]=1;a[aX][aY-3]=1;a[aX+1][aY-3]=1;a[aX+2][aY-3]=1;a[aX+3][aY-3]=1;a[aX+3][aY-2]=1;a[aX+3][aY-1]=1;a[aX+3][aY]=1;a[aX+3][aY+1]=1;a[aX+3][aY+2]=1;a[aX+3][aY+3]=1;a[aX+2][aY+3]=1;a[aX+1][aY+3]=1;a[aX][aY+3]=1;a[aX-1][aY+3]=1;a[aX-2][aY+3]=1;a[aX-3][aY+3]=1;a[aX-3][aY+2]=1;a[aX-3][aY+1]=1;a[aX-3][aY]=1;a[aX-3][aY-1]=1;a[aX-3][aY-2]=1; + for(int g=aX-3; g<8; g++) + a[g][aY-4]=0; + for(int f=aY-4; flargura-9; x--, z--) + a[x][y]=typeInformationMask[z]; + for(x=8, y=0, z=14; y<9; y++) + if(a[x][y]==3){ + a[x][y]=typeInformationMask[z]; + z--; + } + // *bit 8 a 14 + for(x=7, y=8, z=6; x>=0; x--) + if(a[x][y]==3){ + a[x][y]=typeInformationMask[z]; + z--; + } + for(x=8, y=altura-7, z=6; y=7){ + int[] versionInformation = getVersionInformation(versao); + // *Vertical + x=0; y=0; z=0; + for(y=0, x=largura-11, z=0; y<7 && z<18; y++) + for(x=largura-11; x=0 && (x==loop || x==loop-1) && loop>=0; y--){ + x=loop; + if(UseMaskPatt(x,y,0)==1 && a[x][y]==3) { + if(vector.getBitWise(itera)==1) + a[x][y]=0; + else + a[x][y]=1; + itera++; + aI=itera; + } else if(UseMaskPatt(x,y,0)==0 && a[x][y]==3){ + a[x][y]=vector.getBitWise(itera); + itera++; + aI=itera; + } + if(loop>0){ + x=loop-1; + if(UseMaskPatt(x,y,0)==1 && a[x][y]==3) { + if(vector.getBitWise(itera)==1) + a[x][y]=0; + else + a[x][y]=1; + itera++; + aI=itera; + } else if(UseMaskPatt(x,y,0)==0 && a[x][y]==3){ + a[x][y]=vector.getBitWise(itera); + itera++; + aI=itera; + } + } + } + if(aI!=0) + loop=loop-2; + for(y=0, x=loop; y<=largura-1 && (x==loop || x==loop-1) && loop>=0; y++){ + x=loop; + if(UseMaskPatt(x,y,0)==1 && a[x][y]==3) { + if(vector.getBitWise(itera)==1) + a[x][y]=0; + else + a[x][y]=1; + itera++; + aI=itera; + } else if(UseMaskPatt(x,y,0)==0 && a[x][y]==3){ + a[x][y]=vector.getBitWise(itera); + itera++; + aI=itera; + } + if(loop>0){ + x=loop-1; + if(UseMaskPatt(x,y,0)==1 && a[x][y]==3) { + if(vector.getBitWise(itera)==1) + a[x][y]=0; + else + a[x][y]=1; + itera++; + aI=itera; + } else if(UseMaskPatt(x,y,0)==0 && a[x][y]==3){ + a[x][y]=vector.getBitWise(itera); + itera++; + aI=itera; + } + } + } + if(aI!=0) + loop=loop-2; + aI=0; + if(x<=0 && y<=0) break; + //System.err.println("Debugando em 6... com itera: "+itera+" e aI: "+aI+" e x: "+x+" e y: "+y); + }while(itera<(vector.getOffset())); + + + System.err.println("[1] Matriz de inteiros como representacao do QR Code gerada com sucesso!"); + System.out.println("Ultimo valor do itera: "+itera); + + System.err.println("[1.5] Testando Penalizar Mscara!"); + System.out.println("Valor de penalizao: "+PenalizeMask.TestMask(a, largura)); + + return a; + } + + private static Image criarImagem(int matrizAux[][], int zoom) throws IOException { + int matrixLength = largura; + int n = matrixLength; + + if(zoom > 0){ + matrixLength*=zoom; + } + + BufferedImage buffer = new BufferedImage( matrixLength, matrixLength, BufferedImage.TYPE_INT_RGB ); + Graphics g = buffer.createGraphics(); + g.setColor( Color.WHITE ); + g.fillRect( 0, 0, matrixLength, matrixLength ); + g.setColor( Color.BLACK ); + + int x = 0, y = 0; + int xAux = 0, yAux = 0; + + for (x = 0; x < n; x++) { + yAux = 0; + for (y = 0; y < n; y++) { + if (matrizAux[x][y] == 1){ + if(zoom > 0){ + for(int i=0; i=5){ + penalty+=PT1+(pen1-5); +// System.out.println(penalty+"; x: "+x+"; y: "+y); + } + pen1=1; + last=aj1; + } + } + if((x==(limite-1)) && (y=5){ + penalty+=PT1+(pen1-5); +// System.out.println(penalty+"; x: "+x+"; y: "+y); + } + pen1=0; + last=3; + } + } + + //vertical + pen1 = 0; + last = 3; + for(int x=0, y=0; x=5){ + penalty+=PT1+(pen1-5); +// System.out.println(penalty+"; x: "+x+"; y: "+y); + } + pen1=1; + last=aj1; + } + } + if((y==(limite-1)) && (x=5){ + penalty+=PT1+(pen1-5); +// System.out.println(penalty+"; x: "+x+"; y: "+y); + } + pen1=0; + last=3; + } + } + break; + case 2: + int pen2 = 0; + for(int x=0, y=0; x<(limite-1) && y<(limite-1); x++){ + if((matriz[x][y]==matriz[x+1][y])&&(matriz[x+1][y]==matriz[x][y+1])&&(matriz[x][y+1]==matriz[x+1][y+1])){ + pen2++; + + } + if((x==(limite-2)) && (y<(limite-1))){ + y++; + x=-1; + } + } + penalty+=(PT1*pen2); + break; + case 3: + int pen3 = 0; +// //horizontal +// for(int x=0, y=0; x=0 && matriz[x-1][y]!= 1)|x==0) && matriz[x][y] == 1 && matriz[x+1][y] == 0 && matriz[x+2][y] == 1 && matriz[x+3][y] == 1 && matriz[x+4][y] == 1 +// && matriz[x+5][y] == 0 && matriz[x+6][y] == 1 && matriz[x+7][y] == 0 && matriz[x+8][y] == 0 && matriz[x+9][y]==0 +// &&matriz[x+14][y]==0) +// pen3++; +// else if((x+11)=0 && matriz[x][y-1] != 1)|y==0) && matriz[x][y] == 1 && matriz[x][y+1] == 0 && matriz[x][y+2] == 1 && matriz[x][y+3] == 1 && matriz[x][y+4] == 1 +// && matriz[x][y+5] == 0 && matriz[x][y+6] == 1 && matriz[x][y+7] == 0 && matriz[x][y+8] == 0 && matriz[x][y+9]==0 +// &&matriz[x][y+10]==0) +// pen3++; +// else if((y+11)= 0 + && matriz[x - 1][y] == 0 + && matriz[x - 2][y] == 0 + && matriz[x - 3][y] == 0 + && matriz[x - 4][y] == 0))) { + pen3++; + } + if (y + 6 < limite + && matriz[y][x] == 1 + && matriz[x][y + 1] == 0 + && matriz[x][y + 2] == 1 + && matriz[x][y + 3] == 1 + && matriz[x][y + 4] == 1 + && matriz[x][y + 5] == 0 + && matriz[x][y + 6] == 1 + && ((y + 10 < limite + && matriz[x][y + 7] == 0 + && matriz[x][y + 8] == 0 + && matriz[x][y + 9] == 0 + && matriz[x][y + 10] == 0) + || (y - 4 >= 0 + && matriz[x][y - 1] == 0 + && matriz[x][y - 2] == 0 + && matriz[x][y - 3] == 0 + && matriz[x][y - 4] == 0))) { + pen3++; + } + } + } + //End of ZXing code// + penalty += (PT2 * pen3); + break; + case 4: + int pen4 = 0; + int nB=0, nW=0; + for (int x = 0; x < limite; x++) { + for (int y = 0; y < limite; y++) { + if(matriz[x][y]==0) + nW++; + else + nB++; + } + } + pen4=(((int) Math.abs((((float) nB/(nB+nW))*100)-50))/5)*10; + penalty+=pen4; + break; + } + } +} \ No newline at end of file diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/qrcode_new/PolynomialVector.java b/Projeto PPB-Ginga/Plaver Framework/plaver/qrcode_new/PolynomialVector.java new file mode 100644 index 0000000..e616512 --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/qrcode_new/PolynomialVector.java @@ -0,0 +1,107 @@ +package plaver.qrcode_new; +/** + * The PolynomialVector class implements a polynomial like a integer vector and + * contains various methods for manipulating it. + * + * @author Manuella D. C. Silva (manuellablablau@gmail.com) + * @version 0.0.1 + */ + +public class PolynomialVector { + + private int vector[]; + private int length; + + /** + * Constructs a empty Polynomialvector with major exponent defined by the + * length argument. + * + * @param lenght + */ + public PolynomialVector(int lenght) { + this.length = lenght; + this.vector = new int[lenght + 1]; + } + + /** + * Returns the vector containing all the elements in the vector. + * + * @return a int vector + */ + public int[] getVector() { + return vector; + } + + /** + * Set a polynomial using a vector and yours index. + * + * @param vector + * - a int vector with the values + */ + public void setVector(int[] vector) { + this.vector = vector; + } + + /** + * Returns a element at the PolynomialVector with this exponent. + * + * @param exponent + * - a int representing the exponent of element. + * @return a element + */ + public int getTerm(int exponent) { + if ((exponent <= length) && (exponent >= 0)) + return vector[exponent]; + else + return -1; + } + + /** + * Set a element at the PolynomialVector. + * + * @param coefficient + * - a int representing the element's coefficient. + * @param exponent + * - a int representing the element's exponent. + */ + public void setTerm(int coefficient, int exponent) { + vector[exponent] = coefficient; + } + + /** + * Returns the number of elements at the PolynomialVector, your length. + * + * @return the length of PolynomialVector. + */ + public int length() { + return this.length; + } + + /** + * Returns a clone of this PolynomialVector, i.e., a copy of the + * PolynomialVector. + * + * @return a clone of this PolynomialVector. + */ + public PolynomialVector clone() { + PolynomialVector result = new PolynomialVector(this.length); + for (int i = 0; i <= this.length; i++) { + result.setTerm(this.getTerm(i), i); + } + return result; + } + + /** + * Returns a string representation of the PolynomialVector. + * + * @return a String that represents the PolynomialVector. + */ + public String toString() { + String result = ""; + for (int i = this.length; i >= 0; i--) { + result += "a" + this.vector[i] + "x" + i + " + "; + } + return result; + } + +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/qrcode_new/QRCode.java b/Projeto PPB-Ginga/Plaver Framework/plaver/qrcode_new/QRCode.java new file mode 100644 index 0000000..03f0e10 --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/qrcode_new/QRCode.java @@ -0,0 +1,105 @@ +package plaver.qrcode_new; +/** + * This class it's an abstraction of QRCode defined by ISO/IEC 18004:2000 (E), + * implemented as a object with methods to access their elements. + * + * @author Manuella D. C. Silva (manuellablablau@gmail.com) + * @version 0.0.1 + */ +public class QRCode { + + Mode mode; + Version version; + ErrorCorrectionLevel errorCorrectionLevel; + String data; + + /** + * Constructs a QRCode object according to the parameters: version, mode, error correction level and data content. + * + * @param version - the Version + * @param errorCorrectionLevel - the ErrorCorrectionLevel + * @param mode - the Mode + * @param data - a String containing the data content + */ + public QRCode(Version version, ErrorCorrectionLevel errorCorrectionLevel, + Mode mode, String data) { + this.mode = mode; + this.version = version; + this.errorCorrectionLevel = errorCorrectionLevel; + this.data = data; + } + + /** + * Returns the Mode of the QRCode. + * + * @return a Mode. + */ + public Mode getMode() { + return mode; + } + + /** + * Set the Mode to QRCode. + * + * @param mode - a Mode. + */ + public void setMode(Mode mode) { + this.mode = mode; + } + + /** + * Returns the Version of the QRCode. + * + * @return the Version. + */ + public Version getVersion() { + return version; + } + + /** + * Set the Version to QRCode. + * + * @param version - a Version. + */ + public void setVersion(Version version) { + this.version = version; + } + + /** + * Returns the ErrorCorrectionLevel of the QRCode. + * + * @return the ErrorCorrectionLevel. + */ + public ErrorCorrectionLevel getErrorCorrectionLevel() { + return errorCorrectionLevel; + } + + /** + * Set the ErrorCorrectionLevel to QRCode. + * + * @param errorCorrectionLevel - a ErrorCorrectionLevel. + */ + public void setErrorCorrectionLevel( + ErrorCorrectionLevel errorCorrectionLevel) { + this.errorCorrectionLevel = errorCorrectionLevel; + } + + /** + * Returns the data content (the message) of the QRCode. + * + * @return a String representing the message. + */ + public String getData() { + return data; + } + + /** + * Set a content to QRCode. + * + * @param data - a String with data content. + */ + public void setData(String data) { + this.data = data; + } + +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/qrcode_new/QRException.java b/Projeto PPB-Ginga/Plaver Framework/plaver/qrcode_new/QRException.java new file mode 100644 index 0000000..b3737f0 --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/qrcode_new/QRException.java @@ -0,0 +1,8 @@ +package plaver.qrcode_new; +public class QRException extends Exception{ + + public QRException(String message){ + super(message); + } + +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/qrcode_new/ReedSolomon.java b/Projeto PPB-Ginga/Plaver Framework/plaver/qrcode_new/ReedSolomon.java new file mode 100644 index 0000000..6ac63f3 --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/qrcode_new/ReedSolomon.java @@ -0,0 +1,784 @@ +package plaver.qrcode_new; + +/** + * The ReedSolomon class contains necessary methods to implements the algorithm with this name. + * The methods reproduce the operations of the ReedSolomon Algorithm using the variables logTable and antilogTable to access the values off Galois Field (256) arithmetics. + * + * @author Manuella D. C. Silva (manuellablablau@gmail.com) + * @version 0.0.1 + */ + +public class ReedSolomon { + + // Log Table for Galois Field 256 - index from 0 to 256 (length: 257) + private static int logTable[] = { 1, 2, 4, 8, 16, 32, 64, 128, 29, 58, 116, + 232, 205, 135, 19, 38, 76, 152, 45, 90, 180, 117, 234, 201, 143, 3, + 6, 12, 24, 48, 96, 192, 157, 39, 78, 156, 37, 74, 148, 53, 106, + 212, 181, 119, 238, 193, 159, 35, 70, 140, 5, 10, 20, 40, 80, 160, + 93, 186, 105, 210, 185, 111, 222, 161, 95, 190, 97, 194, 153, 47, + 94, 188, 101, 202, 137, 15, 30, 60, 120, 240, 253, 231, 211, 187, + 107, 214, 177, 127, 254, 225, 223, 163, 91, 182, 113, 226, 217, + 175, 67, 134, 17, 34, 68, 136, 13, 26, 52, 104, 208, 189, 103, 206, + 129, 31, 62, 124, 248, 237, 199, 147, 59, 118, 236, 197, 151, 51, + 102, 204, 133, 23, 46, 92, 184, 109, 218, 169, 79, 158, 33, 66, + 132, 21, 42, 84, 168, 77, 154, 41, 82, 164, 85, 170, 73, 146, 57, + 114, 228, 213, 183, 115, 230, 209, 191, 99, 198, 145, 63, 126, 252, + 229, 215, 179, 123, 246, 241, 255, 227, 219, 171, 75, 150, 49, 98, + 196, 149, 55, 110, 220, 165, 87, 174, 65, 130, 25, 50, 100, 200, + 141, 7, 14, 28, 56, 112, 224, 221, 167, 83, 166, 81, 162, 89, 178, + 121, 242, 249, 239, 195, 155, 43, 86, 172, 69, 138, 9, 18, 36, 72, + 144, 61, 122, 244, 245, 247, 243, 251, 235, 203, 139, 11, 22, 44, + 88, 176, 125, 250, 233, 207, 131, 27, 54, 108, 216, 173, 71, 142, + 1, 0 }; + + // Antilog Table for Galois Field 256 - index from 1 to 256 (length: 256) + private static int antilogTable[] = { 256, 0, 1, 25, 2, 50, 26, 198, 3, + 223, 51, 238, 27, 104, 199, 75, 4, 100, 224, 14, 52, 141, 239, 129, + 28, 193, 105, 248, 200, 8, 76, 113, 5, 138, 101, 47, 225, 36, 15, + 33, 53, 147, 142, 218, 240, 18, 130, 69, 29, 181, 194, 125, 106, + 39, 249, 185, 201, 154, 9, 120, 77, 228, 114, 166, 6, 191, 139, 98, + 102, 221, 48, 253, 226, 152, 37, 179, 16, 145, 34, 136, 54, 208, + 148, 206, 143, 150, 219, 189, 241, 210, 19, 92, 131, 56, 70, 64, + 30, 66, 182, 163, 195, 72, 126, 110, 107, 58, 40, 84, 250, 133, + 186, 61, 202, 94, 155, 159, 10, 21, 121, 43, 78, 212, 229, 172, + 115, 243, 167, 87, 7, 112, 192, 247, 140, 128, 99, 13, 103, 74, + 222, 237, 49, 197, 254, 24, 227, 165, 153, 119, 38, 184, 180, 124, + 17, 68, 146, 217, 35, 32, 137, 46, 55, 63, 209, 91, 149, 188, 207, + 205, 144, 135, 151, 178, 220, 252, 190, 97, 242, 86, 211, 171, 20, + 42, 93, 158, 132, 60, 57, 83, 71, 109, 65, 162, 31, 45, 67, 216, + 183, 123, 164, 118, 196, 23, 73, 236, 127, 12, 111, 246, 108, 161, + 59, 82, 41, 157, 85, 170, 251, 96, 134, 177, 187, 204, 62, 90, 203, + 89, 95, 176, 156, 169, 160, 81, 11, 245, 22, 235, 122, 117, 44, + 215, 79, 174, 213, 233, 230, 231, 173, 232, 116, 214, 244, 234, + 168, 80, 88, 175 }; + + /** + * Creates a PolynomialVector representing the bit stream, each group of 8 bits will be represented like one element at the polynomial. + * + * @param capacityDataBits - a int representing the length of PolynomialVector must be. + * @param message - a BitVector containing the bit stream. + * @return a PolynomialVector containing the message represented by a polynomial. + */ + public static PolynomialVector createMessagePolynomial( + int capacityDataBits, BitVector message) { + + int length = capacityDataBits / 8; + + System.out.println(length); + PolynomialVector r = new PolynomialVector(length-1); + + int numOfBits = 0; + int index = length - 1; + + while (numOfBits < capacityDataBits) { + System.out.println(message.getNBits(numOfBits, 8) + " - " + r.length() + " - " + index); + r.setTerm(message.getNBits(numOfBits, 8), index); + index--; + numOfBits += 8; + } + + System.out.println("createMessagePolynomial: " + r.toString()); + return r; + } + + /** + * Creates a Polynomialvector, called generator polynomial, that will be used to calculate the error correction code. + * It's a polynomial generated as a sequence of 'n' multiplications from a (a0x1 + ajx0) - where j = 0, 1, 2, ..., n - by other polynomial, initially (a0x1 + a0x0) and then by the result. + * + * @param ECCWBlocks - a int representing 'n'. + * @return a Polynomial vector containing the generator polynomial. + */ + public static PolynomialVector createGeneratorPolynomial(int ECCWBlocks) { + + PolynomialVector first = new PolynomialVector(1); + PolynomialVector multiplier = new PolynomialVector(1); + + // Inicializa polinomio auxiliar, inicialment 'first' + first.setTerm(0, 1); + first.setTerm(0, 0); + + // Cria e inicializa polinomio multiplicador (multiplier) + multiplier.setTerm(0, 1); + multiplier.setTerm(1, 0); + + // Criacao do polonimio ('aux') que auxiliara a construcao do + // "generator polynomial" + PolynomialVector aux = multiplyPolynomials(first, multiplier); + + // Cria generatorPolynomial + for (int i = 1; i < ECCWBlocks - 1; i++) { + + multiplier.setTerm(i + 1, 0); + aux = multiplyPolynomials(aux, multiplier); + + } + + if (aux.length() == ECCWBlocks) { + + return aux; + } else { + + return null; + } + + } + + /** + * Generates a Polynomial containing the Error Correction Code. Each coefficient will represent a error correction codeword block, with 8-bits + * + * @param message - a PolynomialVector representing the bit stream. + * @param version - the Version. + * @param ECL - the ErrorCorrectionLevel. + * @return a PolynomialVector containing the Error Correction Code codewords. + */ + public static PolynomialVector generateErrorCorrectionCode( + PolynomialVector message, Version version, ErrorCorrectionLevel ECL) { + + int numOfBlocks1 = version.getDataCodewordsCharacteristic()[ECL + .getBits() - 1][0]; + System.out.println("numOfBlocks1 " + numOfBlocks1); + int numOfBlocks2 = version.getDataCodewordsCharacteristic()[ECL + .getBits() - 1][2]; + System.out.println("numOfBlocks2 " + numOfBlocks2); + int lengthOfBlocks1 = version.getDataCodewordsCharacteristic()[ECL + .getBits() - 1][1]; + System.out.println("lengthOfBlocks1 " + lengthOfBlocks1); + int lengthOfBlocks2 = version.getDataCodewordsCharacteristic()[ECL + .getBits() - 1][3]; + System.out.println("lengthOfBlocks2 " + lengthOfBlocks2); + + int eccwblocks = version.getErrorCorrectioCodeWordsCharacteristic()[ECL + .getBits() - 1]; + + System.out.println("eccwblocks " + eccwblocks); + + for (int i=0; i<=message.length();i++){ + System.out.print(message.getTerm(message.length()-i)+","); + } + System.out.println(); + + + PolynomialVector result; + + try { + // Uses a unic Data Code Words Blocks length and only one time + if ((numOfBlocks1 == 1) && (numOfBlocks2 == 0)) { + + PolynomialVector mp = new PolynomialVector(lengthOfBlocks1 - 1); + + for (int i = 0; i < lengthOfBlocks1; i++) { + mp.setTerm(message.getTerm(lengthOfBlocks1 - i - 1), + (lengthOfBlocks1 - i - 1)); + } + + System.out.println("mp " + mp.toString()); + // Create the generator polynomial to the correct version + // (adequate number of Code Words length) + PolynomialVector gp = createGeneratorPolynomial(eccwblocks); + System.out.println("gp " + gp.toString()); + + PolynomialVector auxMultiply = null; + PolynomialVector auxXOR = null; + + /* + * Generate the error correction code block - init 1 Convert the + * above polynomial to alpha-notation from Galois algorithm 2 + * Multiply the generator polynomial by the first coefficient of + * the message polynomial (at first case) or the result from XOR + * 3 XOR of the above polinomial and the message polynomial (at + * first case) or the result from XOR 4 Put out the firsts + * coefficients of the above polynomial, if they were 0 + */ + int top = lengthOfBlocks1; + int mpl1 = 0; + int mpl2 = 0; + int differ = 0; + + for (int i = 0; i < top; i++) { + mpl1 = mp.length(); + mp = convertoToAlphaNotation(mp); + System.out + .println("++++convertoToAlphaNotation(mp): " + mp); + auxMultiply = multiplyPolynomialByCoefficient(gp, + mp.getTerm(mp.length())); // 1 + System.out.println("++++coefficient: " + + mp.getTerm(mp.length())); + System.out.println("++++multiplyPolynomialByCoefficient: " + + auxMultiply); + auxXOR = xorPolynomials( + convertoToIntegerNotation(auxMultiply), + convertoToIntegerNotation(mp)); // 2 + System.out.println("++++ " + convertoToIntegerNotation(mp)); + System.out.println("++++ " + + convertoToIntegerNotation(auxMultiply)); + System.out.println("++++xorPolynomials: " + auxXOR); + mp = getWithoutFirstNonZeroTerms(auxXOR); // 3 + mpl2 = mp.length(); + differ = mpl1 - mpl2; + System.out.println(mpl1 + " - " + mpl2 + " i: " + i); + if (differ > 1) { + top -= (differ - 1); + System.out.println(">>>> differ: " + differ + ", top: " + top); + }else if (differ <= -1){ + top -= Math.abs(differ); + System.out.println(">>>> differ: " + Math.abs(differ) + ", top: " + top); + } + /* + * differ = mpl1-mpl2; top -= differ; + */ + System.out.println("Polinomio: " + + convertoToAlphaNotation(mp).toString()); + System.out.println(); + }// Generate the error correction code block - end + + int length = mp.length(); + result = new PolynomialVector(length); + + for (int i = 0; i <= length; i++) { + result.setTerm(mp.getTerm(i), i); + } + + for (int i = 0; i <= result.length(); i++) { + System.out.print(mp.getTerm(result.length()-i)+","); + } + + + System.out.println("result: " + result.toString()); + + return result; + }// Uses a unic Data Code Words Blocks length and much than one time + else if (numOfBlocks2 == 0) { + + result = new PolynomialVector((numOfBlocks1 * eccwblocks) - 1); + int counterBlock = (lengthOfBlocks1 * numOfBlocks1) - 1; + + // Broke the message polynomial into blockCount1 parts and put + // it at 'mp' + for (int k = 0; k < numOfBlocks1; k++) { + + PolynomialVector mp = new PolynomialVector( + lengthOfBlocks1 - 1); + + for (int i = 0; i < lengthOfBlocks1; i++) { + mp.setTerm(message.getTerm(counterBlock - i), + (lengthOfBlocks1 - i - 1)); + } + + PolynomialVector gp = createGeneratorPolynomial(eccwblocks); + PolynomialVector auxMultiply = null; + PolynomialVector auxXOR = null; + + int top = lengthOfBlocks1+eccwblocks-1; + int differ = 0; + boolean ok = eccwblocks > lengthOfBlocks1; + + for (int i = 0; top >= eccwblocks; i++) { + mp = convertoToAlphaNotation(mp); + System.out + .println("++++convertoToAlphaNotation(mp): " + mp); + auxMultiply = multiplyPolynomialByCoefficient(gp, + mp.getTerm(mp.length())); // 1 + System.out.println("++++coefficient: " + + mp.getTerm(mp.length())); + System.out.println("++++multiplyPolynomialByCoefficient: " + + auxMultiply); + auxXOR = xorPolynomials( + convertoToIntegerNotation(auxMultiply), + convertoToIntegerNotation(mp)); // 2 + System.out.println("++++ " + convertoToIntegerNotation(mp)); + System.out.println("++++ " + + convertoToIntegerNotation(auxMultiply)); + System.out.println("++++xorPolynomials: " + auxXOR); + mp = getWithoutFirstNonZeroTerms(auxXOR); // 3 + differ = mp.length() - auxXOR.length(); + System.out.println(top + " - " + (auxXOR.length()+1) + " i: " + i); + if(ok){ + if (differ < 0){ + top -= Math.abs(differ); + System.out.println(">>>> M differ: " + Math.abs(differ) + ", top: " + top); + } + }else{ + if (differ > 1) { + top -= (differ - 1); + System.out.println(">>>> differ: " + differ + ", top: " + top); + }else if (differ <= -1){ + top -= Math.abs(differ); + System.out.println(">>>> differ: " + Math.abs(differ) + ", top: " + top); + } + } + System.out.println("Polinomio: " + + convertoToAlphaNotation(mp).toString()); + System.out.println(); + } + System.out.print("Polinomio (f): "); + for(int i= mp.length(); i>=0; i--){ + System.out.print(mp.getTerm(i)+","); + } + System.out.println(); + + + for (int i = 0; i <= eccwblocks - 1; i++) { +// System.out.println((eccwblocks*(numOfBlocks1-k )- 1 - i)+" - "+mp.getTerm(eccwblocks-i-1)+" - "+ (eccwblocks-i-1)+ " " + (lengthOfBlocks1-i)); + result.setTerm(mp.getTerm(eccwblocks-i-1), + (eccwblocks*(numOfBlocks1-k )- 1 - i)); + } + + counterBlock -= lengthOfBlocks1; + } + + return result; + + }// Uses two Data Code Words Blocks length and much than one time + else { + result = new PolynomialVector( + ((numOfBlocks1 + numOfBlocks2) * eccwblocks) - 1); + + System.out.println("result.length() " + result.length()); + System.out.println("message.length() " + message.length()); + + int counterBlock = (lengthOfBlocks1 * numOfBlocks1) + + (lengthOfBlocks2 * numOfBlocks2) - 1; + int counterResult = 0; + + System.out.println("counterBlock " + counterBlock); + + // Broke the message polynomial into blockCount1 parts and put + // it at 'mp' + for (int k = 0; k < numOfBlocks1; k++) { + + System.out.println("k: " + k); + PolynomialVector mp = new PolynomialVector( + lengthOfBlocks1 - 1); + System.out.println(" mp: " + mp.length()); + + for (int i = 0; i < lengthOfBlocks1; i++) { + System.out.println(message.getTerm(counterBlock - i)); + mp.setTerm(message.getTerm(counterBlock - i), + (lengthOfBlocks1 - i - 1)); + } + System.out.println(convertoToAlphaNotation(mp).toString()); + + PolynomialVector gp = createGeneratorPolynomial(eccwblocks); + PolynomialVector auxMultiply = null; + PolynomialVector auxXOR = null; + + int top = lengthOfBlocks1+eccwblocks-1; + int differ = 0; + boolean ok = eccwblocks > lengthOfBlocks1; + + for (int i = 0; top >= eccwblocks; i++) { + mp = convertoToAlphaNotation(mp); + auxMultiply = multiplyPolynomialByCoefficient(gp, + mp.getTerm(mp.length())); // 1 + auxXOR = xorPolynomials( + convertoToIntegerNotation(auxMultiply), + convertoToIntegerNotation(mp)); // 2 + mp = getWithoutFirstNonZeroTerms(auxXOR); // 3 + differ = mp.length() - auxXOR.length(); + System.out.println(top + " - " + (auxXOR.length()+1) + " i: " + i); + if(ok){ + if (differ < 0){ + top -= Math.abs(differ); + System.out.println(">>>> M differ: " + Math.abs(differ) + ", top: " + top); + } + }else{ + if (differ > 1) { + top -= (differ - 1); + System.out.println(">>>> differ: " + differ + ", top: " + top); + }else if (differ <= -1){ + top -= Math.abs(differ); + System.out.println(">>>> differ: " + Math.abs(differ) + ", top: " + top); + } + } + System.out.println("Polinomio: " + + convertoToAlphaNotation(mp).toString()); + System.out.println(); + } + System.out.print("Polinomio (f): "); + for(int i= mp.length(); i>=0; i--){ + System.out.print(mp.getTerm(i)+","); + } + System.out.println(); + + for (int i = 0; i <= eccwblocks - 1; i++) { + System.out.println("(eccwblocks - i - 1): "+ (eccwblocks - i - 1)+" - " + (mp.getTerm(eccwblocks - i - 1)) + " - " + (counterResult + i)); + result.setTerm(mp.getTerm(eccwblocks - i - 1), + counterResult + i); + } + + counterBlock -= lengthOfBlocks1; + counterResult += eccwblocks; + } + + // Broke the message polynomial into blockCount1 parts and put + // it at 'mp' + for (int k = 0; k < numOfBlocks2; k++) { + + PolynomialVector mp = new PolynomialVector( + lengthOfBlocks2 - 1); + + for (int i = 0; i < lengthOfBlocks2; i++) { + mp.setTerm(message.getTerm(counterBlock - i), + (lengthOfBlocks2 - i - 1)); + } + System.out.println(convertoToAlphaNotation(mp).toString()); + + PolynomialVector gp = createGeneratorPolynomial(eccwblocks); + PolynomialVector auxMultiply = null; + PolynomialVector auxXOR = null; + + int top = lengthOfBlocks2+eccwblocks-1; + int differ = 0; + boolean ok = eccwblocks > lengthOfBlocks2; + + for (int i = 0; top >= eccwblocks; i++) { + mp = convertoToAlphaNotation(mp); + auxMultiply = multiplyPolynomialByCoefficient(gp, + mp.getTerm(mp.length())); // 1 + auxXOR = xorPolynomials( + convertoToIntegerNotation(auxMultiply), + convertoToIntegerNotation(mp)); // 2 + mp = getWithoutFirstNonZeroTerms(auxXOR); // 3 + differ = mp.length() - auxXOR.length(); + System.out.println(top + " - " + (auxXOR.length()+1) + " i: " + i); + if(ok){ + if (differ < 0){ + top -= Math.abs(differ); + System.out.println(">>>> M differ: " + Math.abs(differ) + ", top: " + top); + } + }else{ + if (differ > 1) { + top -= (differ - 1); + System.out.println(">>>> differ: " + differ + ", top: " + top); + }else if (differ <= -1){ + top -= Math.abs(differ); + System.out.println(">>>> differ: " + Math.abs(differ) + ", top: " + top); + } + } + /* + * differ = mpl1-mpl2; top -= differ; + */ + System.out.println("Polinomio: " + + convertoToAlphaNotation(mp).toString()); + System.out.println(); + } + System.out.print("Polinomio (f): "); + for(int i= mp.length(); i>=0; i--){ + System.out.print(mp.getTerm(i)+","); + } + System.out.println(); + + for (int i = 0; i <= eccwblocks - 1; i++) { + System.out.println("(eccwblocks - i - 1): "+ (eccwblocks - i - 1)+" - " + (mp.getTerm(eccwblocks - i - 1)) + " - " + (counterResult + i)); + result.setTerm(mp.getTerm(eccwblocks - i - 1), + counterResult + i); + } + + counterBlock -= lengthOfBlocks2; + counterResult += eccwblocks; + } + + PolynomialVector aux = result.clone(); + + for (int i = aux.length(); i >= 0; i--) { + result.setTerm(aux.getTerm(aux.length()-i), i); + System.out.print(result.getTerm(i) + ","); + } + + System.out.println(); + + return result; + } + } catch (Exception e) { + return null; + } + } + + /** + * Multiply two PolynomialVector with distinct length. + * + * @param p - the first PolynomialVector. + * @param q - the second PolynomialVector. + * @return a PolynomialVector containing the result. + */ + public static PolynomialVector multiplyPolynomials(PolynomialVector p, + PolynomialVector q) { + + // Polinomio p(x) = ao + a1x + a2x� + a3x� +...+ amxm, m = pLength + // Polinomio q(x) = bo + b1x + b2x� + b3x� +...+ bnxn, n = qLength + // Polinomio resultante r(x) = p(x)�q(x) = co + c1x + c2x� + c3x� +...+ + // c(m+n)x(m+n), m+n = rLength + + int pLength = p.length(); + int qLength = q.length(); + int rLength = pLength + qLength; + PolynomialVector r = new PolynomialVector(rLength); + + int aux = 0; + int auxLogPrev = 0, auxLogNext = 0; + int auxXOR = 0; + int auxAntilog = 0; + boolean isFirst; + + // Calcula cada ck = a0bk + a1bk-1 + a2bk-2 + a3bk-3 +...+ ak-1b1 + akb0 + // onde k = 0...rlength + for (int k = 0; k <= rLength; k++) { + + isFirst = true; + + for (int i = 0; i <= k; i++) { + + int j = k - i; + + // Ignora os indices (i ou j) nao existentes em p e q + if ((i > pLength) || (j > qLength)) + continue; + + // Calcula o aibj + aux = p.getTerm(i) + q.getTerm(j); + + // Muda o coeficiente (aux) quando maior que 255 usando + // a formula (aux % 256) + floor(aux / 256) + if (aux > 255) { + aux = (aux % 256) + (aux / 256); + } + + // Calcula o r indice k, usando as tabelas de 'log' e + // 'antiLog', fazendo: + // 1-Converte os termos de mesmo coeficiente da notacao + // alfa para a inteira + // 2-Faz o XOR entre eles + // 3-Volta a notacao alfa o resultado do XOR + + if (isFirst) { + auxAntilog = aux; + } else { + auxLogPrev = getLogTable(r.getTerm(k));// 1 + auxLogNext = getLogTable(aux);// 1 + auxXOR = auxLogPrev ^ auxLogNext;// 2 + auxAntilog = getAntilogTable(auxXOR);// 3 + + } + + // Preenche o r indice k + r.setTerm(auxAntilog, k); + + isFirst = false; + + } + } + + return r; + } + + /** + * Multiply a PolynomialVector by a value. + * + * @param p - the PolynomialVector. + * @param coefficient - a int. + * @return a PolynomialVector containing the result. + */ + public static PolynomialVector multiplyPolynomialByCoefficient( + PolynomialVector p, int coefficient) { + int pLength = p.length(); + int newTerm = 0; + PolynomialVector r = new PolynomialVector(pLength); + + try { + + for (int i = 0; i <= pLength; i++) { + newTerm = p.getTerm(i) + coefficient; + if (newTerm > 255) { + newTerm = newTerm % 255; + } + r.setTerm(newTerm, i); + + } + + return r; + } catch (Exception e) { + return null; + } + + } + + /** + * Executes a eXclusives OR operation between two PolynomialVector. + * + * @param p - the first PolynomialVector. + * @param q - the second PolynomialVector. + * @return a PolynomialVector containing the result. + */ + public static PolynomialVector xorPolynomials(PolynomialVector p, + PolynomialVector q) { + try { + if (p.length() >= q.length()) { + int length = p.length(); + PolynomialVector r = new PolynomialVector(length); + int dif = p.length() - q.length(); + + for (int i = length; i >= dif; i--) { + int aux = p.getTerm(i) ^ q.getTerm(i - dif); + + r.setTerm(aux, i); + } + for (int i = dif - 1; i >= 0; i--) { + + r.setTerm(p.getTerm(i), i); + } + return r; + } else { + int length = q.length(); + PolynomialVector r = new PolynomialVector(length); + int dif = q.length() - p.length(); + + for (int i = length; i >= dif; i--) { + int aux = q.getTerm(i) ^ p.getTerm(i - dif); + + r.setTerm(aux, i); + } + for (int i = dif - 1; i >= 0; i--) { + + r.setTerm(q.getTerm(i), i); + } + + return r; + } + + } catch (Exception e) { + return null; + } + + } + + /** + * Converts a PolynomialVector from a alpha notation to a integer notation using the logTable. + * + * @param p - the PolynomialVector. + * @return the result PolynomialVector. + */ + public static PolynomialVector convertoToIntegerNotation(PolynomialVector p) { + int pLength = p.length(); + PolynomialVector r = new PolynomialVector(pLength); + + try { + for (int i = 0; i <= pLength; i++) { + r.setTerm(getLogTable(p.getTerm(i)), i); + } + return r; + } catch (Exception e) { + return null; + } + + } + + /** + * Converts a PolynomialVector from a integer notation to a alpha notation using the antilogTable. + * + * @param p - the PolynomialVector. + * @return the result PolynomialVector. + */ + public static PolynomialVector convertoToAlphaNotation(PolynomialVector p) { + int pLength = p.length(); + + PolynomialVector r = new PolynomialVector(pLength); + + try { + for (int i = 0; i <= pLength; i++) { + + r.setTerm(getAntilogTable(p.getTerm(i)), i); + } + + return r; + } catch (Exception e) { + + return null; + } + + } + + /** + * Returns a PolynomialVector without their zero terms, i.e., without their null coefficients. + * + * @param p - the PolynomialVector. + * @return the result PolynomialVector. + */ + public static PolynomialVector getNonZeroTerms(PolynomialVector p) { + int pLength = p.length(); + int counter = 0; + + try { + for (int i = 0; i <= pLength; i++) { + if (p.getTerm(i) != 0) { + counter++; + } + } + PolynomialVector r = new PolynomialVector(counter - 1); + int rIndex = 0; + for (int i = 0; i <= pLength; i++) { + if (p.getTerm(i) != 0) { + r.setTerm(p.getTerm(i), rIndex); + rIndex++; + } + } + + return r; + } catch (Exception e) { + return null; + } + } + + /** + * Returns a PolynomialVector without their first term if the first coefficient is zero. + * + * @param p - the PolynomialVector. + * @return the result PolynomialVector. + */ + public static PolynomialVector getWithoutFirstNonZeroTerms( + PolynomialVector p) { + try { + int pLength = p.length(); + int numOffZero = pLength; + while (p.getTerm(numOffZero) == 0) { + numOffZero--; + } + + PolynomialVector r = new PolynomialVector(numOffZero); + + for (int i = numOffZero; i >= 0; i--) { + r.setTerm(p.getTerm(i), i); + } + + if (numOffZero != 0) { + return r; + } else { + return p; + } + + } catch (Exception e) { + return null; + } + + } + + /** + * Returns the element with the index. + * + * @param index - a int representing the position at logTable. + * @return a int with the respective element. + */ + public static int getLogTable(int index) { + return logTable[index]; + } + + /** + * Returns the element with the index. + * + * @param index - a int representing the possition at antilogTable. + * @return a int with the respective element. + */ + public static int getAntilogTable(int index) { + return antilogTable[index]; + } + +} diff --git a/Projeto PPB-Ginga/Plaver Framework/plaver/qrcode_new/Version.java b/Projeto PPB-Ginga/Plaver Framework/plaver/qrcode_new/Version.java new file mode 100644 index 0000000..f05fcb2 --- /dev/null +++ b/Projeto PPB-Ginga/Plaver Framework/plaver/qrcode_new/Version.java @@ -0,0 +1,379 @@ +package plaver.qrcode_new; +/** + * The Version class implements the object that represents the Version from the + * QRCode. In addition, this class contains a set of information associated with + * QRCode's version.. + * + * @author Manuella D. C. Silva (manuellablablau@gmail.com) + * @version 0.0.1 + */ + +public class Version { + + /** + * Number of remainder bits added at final of blocks + */ + public static final int[] remainderBits = { 0, 7, 7, 7, 7, 7, 0, 0, 0, 0, + 0, 0, 0, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, + 3, 3, 0, 0, 0, 0, 0, 0 }; + + /** + * Number of codewords (blocks from 8 bits) per version + */ + public static final int[] dataCapacityCodewords = { 26, 44, 70, 100, 134, + 172, 196, 242, 292, 346, 404, 466, 532, 581, 655, 733, 815, 901, + 991, 1085, 1156, 1258, 1364, 1474, 1588, 1706, 1828, 1921, 2051, + 2185, 2323, 2465, 2611, 2761, 2876, 3034, 3196, 3362, 3532, 3706 }; + + /** + * Number of capacity data bits per version + */ + public static final int[][] dataCapacityBits = { { 152, 128, 104, 72 }, + { 272, 224, 176, 128 }, { 440, 352, 272, 208 }, + { 640, 512, 384, 288 }, { 864, 688, 496, 368 }, + { 1088, 864, 608, 480 }, { 1248, 992, 704, 528 }, + { 1552, 1232, 880, 688 }, { 1856, 1456, 1056, 800 }, + { 2192, 1728, 1232, 976 }, { 2592, 2032, 1440, 1120 }, + { 2960, 2320, 1648, 1264 }, { 3424, 2672, 1952, 1440 }, + { 3688, 2920, 2088, 1576 }, { 4184, 3320, 2360, 1784 }, + { 4712, 3624, 2600, 2024 }, { 5176, 4056, 2936, 2264 }, + { 5768, 4504, 3176, 2504 }, { 6360, 5016, 3560, 2728 }, + { 6888, 5352, 3880, 3080 }, { 7456, 5712, 4096, 3248 }, + { 8048, 6256, 4544, 3536 }, { 8752, 6880, 4912, 3712 }, + { 9392, 7312, 5312, 4112 }, { 10208, 8000, 5744, 4304 }, + { 1096, 8496, 6032, 4768 }, { 11744, 9024, 6464, 5024 }, + { 12248, 9544, 6968, 5288 }, { 13048, 10136, 7288, 5608 }, + { 1388, 10984, 7880, 5960 }, { 14744, 11640, 8264, 6344 }, + { 1564, 12328, 8920, 6760 }, { 16568, 13048, 9368, 7208 }, + { 17528, 13800, 9848, 7688 }, { 18448, 14496, 10288, 7888 }, + { 19472, 15312, 10832, 8432 }, { 20528, 15936, 11408, 8768 }, + { 21616, 16816, 12016, 9136 }, { 22496, 17728, 12656, 9776 }, + { 23648, 18672, 13328, 10208 } }; + + /** + * Maximun capacity of characters at this version and ECLevel in numeric + * mode. + */ + public static final int[][] dataCapacityNumeric = { { 41, 34, 27, 17 }, + { 77, 63, 48, 34 }, { 127, 101, 77, 58 }, { 187, 149, 111, 82 }, + { 255, 202, 144, 106 }, { 322, 255, 178, 139 }, + { 370, 293, 207, 154 }, { 461, 365, 259, 202 }, + { 552, 432, 312, 235 }, { 652, 513, 364, 288 }, + { 772, 604, 427, 331 }, { 883, 691, 489, 374 }, + { 1022, 796, 580, 427 }, { 1101, 871, 621, 468 }, + { 125, 991, 703, 530 }, { 1408, 1082, 775, 602 }, + { 1548, 1212, 876, 674 }, { 1725, 1346, 948, 746 }, + { 1903, 15, 1063, 813 }, { 2061, 16, 1159, 919 }, + { 2232, 1708, 1224, 969 }, { 2409, 1872, 1358, 1056 }, + { 262, 2059, 1468, 1108 }, { 2812, 2188, 1588, 1228 }, + { 3057, 2395, 1718, 1286 }, { 3283, 2544, 1804, 1425 }, + { 3514, 2701, 1933, 1501 }, { 3669, 2857, 2085, 1581 }, + { 3909, 3035, 2181, 1677 }, { 4158, 3289, 2358, 1782 }, + { 4417, 3486, 2473, 1897 }, { 4686, 3693, 267, 2022 }, + { 4965, 3909, 2805, 2157 }, { 5253, 4134, 2949, 2301 }, + { 5529, 4343, 3081, 2361 }, { 5836, 4588, 3244, 2524 }, + { 6153, 4775, 3417, 2625 }, { 6479, 5039, 3599, 2735 }, + { 6743, 5313, 3791, 2927 }, { 7089, 5596, 3993, 3057 } }; + + /** + * Maximun capacity of characters at this version and ECLevel in + * alphanumeric mode. + */ + public static final int[][] dataCapacityAlphaNumeric = { + { 25, 20, 16, 10 }, { 47, 38, 29, 20 }, { 77, 61, 47, 35 }, + { 114, 90, 67, 50 }, { 154, 122, 87, 64 }, { 195, 154, 108, 84 }, + { 224, 178, 125, 93 }, { 279, 221, 157, 122 }, + { 335, 262, 189, 143 }, { 395, 311, 221, 174 }, + { 468, 366, 259, 200 }, { 535, 419, 296, 227 }, + { 619, 483, 352, 259 }, { 667, 528, 376, 283 }, + { 758, 600, 426, 321 }, { 854, 656, 470, 365 }, + { 938, 734, 531, 408 }, { 1046, 816, 574, 452 }, + { 1153, 909, 644, 493 }, { 1249, 970, 702, 557 }, + { 1352, 1035, 742, 587 }, { 146, 1134, 823, 640 }, + { 1588, 1248, 890, 672 }, { 1704, 1326, 963, 744 }, + { 1853, 1451, 1041, 779 }, { 199, 1542, 1094, 864 }, + { 2132, 1637, 1172, 910 }, { 2223, 1732, 1263, 958 }, + { 2369, 1839, 1322, 1016 }, { 252, 1994, 1429, 108 }, + { 2677, 2113, 1499, 115 }, { 284, 2238, 1618, 1226 }, + { 3009, 2369, 17, 1307 }, { 3183, 2506, 1787, 1394 }, + { 3351, 2632, 1867, 1431 }, { 3537, 278, 1966, 153 }, + { 3729, 2894, 2071, 1591 }, { 3927, 3054, 2181, 1658 }, + { 4087, 322, 2298, 1774 }, { 4296, 3391, 242, 1852 } }; + + /** + * Maximun capacity of characters at this version and ECCLevel in 8-bit + * mode. + */ + public static final int[][] dataCapacity8Bit = { { 17, 14, 11, 7 }, + { 32, 26, 20, 14 }, { 53, 42, 32, 24 }, { 78, 62, 46, 34 }, + { 106, 84, 60, 44 }, { 134, 106, 74, 58 }, { 154, 122, 86, 64 }, + { 192, 152, 108, 84 }, { 230, 180, 130, 98 }, + { 271, 213, 151, 119 }, { 321, 251, 177, 137 }, + { 367, 287, 203, 155 }, { 425, 331, 241, 177 }, + { 458, 362, 258, 194 }, { 520, 412, 292, 220 }, + { 586, 450, 322, 250 }, { 644, 504, 364, 280 }, + { 718, 560, 394, 310 }, { 792, 624, 442, 338 }, + { 858, 666, 482, 382 }, { 929, 711, 509, 403 }, + { 1003, 779, 565, 439 }, { 1091, 857, 611, 461 }, + { 1171, 911, 661, 511 }, { 1273, 997, 715, 535 }, + { 1367, 1059, 751, 593 }, { 1465, 1125, 805, 625 }, + { 1528, 119, 868, 658 }, { 1628, 1264, 908, 698 }, + { 1732, 137, 982, 742 }, { 184, 1452, 103, 790 }, + { 1952, 1538, 1112, 842 }, { 2068, 1628, 1168, 898 }, + { 2188, 1722, 1228, 958 }, { 2303, 1809, 1283, 983 }, + { 2431, 1911, 1351, 1051 }, { 2563, 1989, 1423, 1093 }, + { 2699, 2099, 1499, 1139 }, { 2809, 2213, 1579, 1219 }, + { 2953, 2331, 1663, 1273 } }; + + /** + * Maximun capacity of characters at this version and ECCLevel in kanji + * mode. + */ + public static final int[][] dataCapacityKanji = { { 10, 8, 7, 4 }, + { 20, 16, 12, 8 }, { 32, 26, 20, 15 }, { 48, 38, 28, 21 }, + { 65, 52, 37, 27 }, { 82, 65, 45, 36 }, { 95, 75, 53, 39 }, + { 118, 93, 66, 52 }, { 141, 111, 80, 60 }, { 167, 131, 93, 74 }, + { 198, 155, 109, 85 }, { 226, 177, 125, 96 }, + { 262, 204, 149, 109 }, { 282, 223, 159, 120 }, + { 320, 254, 180, 136 }, { 361, 277, 198, 154 }, + { 397, 310, 224, 173 }, { 442, 345, 243, 191 }, + { 488, 384, 272, 208 }, { 528, 410, 297, 235 }, + { 572, 438, 314, 248 }, { 618, 480, 348, 270 }, + { 672, 528, 376, 284 }, { 721, 561, 407, 315 }, + { 784, 614, 440, 330 }, { 842, 652, 462, 365 }, + { 902, 692, 496, 385 }, { 940, 732, 534, 405 }, + { 1002, 778, 559, 430 }, { 1066, 843, 604, 457 }, + { 1132, 894, 634, 486 }, { 1201, 947, 684, 518 }, + { 1273, 1002, 719, 553 }, { 1347, 106, 756, 590 }, + { 1417, 1113, 790, 605 }, { 1496, 1176, 832, 647 }, + { 1577, 1224, 876, 673 }, { 1661, 1292, 923, 701 }, + { 1729, 1362, 972, 750 }, { 1817, 1435, 1024, 784 } }; + + /** + * Data code blocks information for each version and ECLevel. There are + * divided into four parts, the 1st and 3rd indicates the number of blocks + * with the length of the 2nd and 4th information, respectively. And these + * two indicates the length of error correction code per data codewords. + */ + public static final int[][][] numberOfDataCodewords = { + { { 1, 19, 0, 0 }, { 1, 16, 0, 0 }, { 1, 13, 0, 0 }, { 1, 9, 0, 0 } }, + { { 1, 34, 0, 0 }, { 1, 28, 0, 0 }, { 1, 22, 0, 0 }, + { 1, 16, 0, 0 } }, + { { 1, 55, 0, 0 }, { 1, 44, 0, 0 }, { 2, 17, 0, 0 }, + { 2, 13, 0, 0 } }, + { { 1, 80, 0, 0 }, { 2, 32, 0, 0 }, { 2, 24, 0, 0 }, { 4, 9, 0, 0 } }, + { { 1, 108, 0, 0 }, { 2, 43, 0, 0 }, { 2, 15, 2, 16 }, + { 2, 11, 2, 12 } }, + { { 2, 68, 0, 0 }, { 4, 27, 0, 0 }, { 4, 19, 0, 0 }, + { 4, 15, 0, 0 } }, + { { 2, 78, 0, 0 }, { 4, 31, 0, 0 }, { 2, 14, 4, 15 }, + { 4, 13, 1, 14 } }, + { { 2, 97, 0, 0 }, { 2, 38, 2, 39 }, { 4, 18, 2, 19 }, + { 4, 14, 2, 15 } }, + { { 2, 116, 0, 0 }, { 3, 36, 2, 37 }, { 4, 16, 4, 17 }, + { 4, 12, 4, 13 } }, + { { 2, 68, 2, 69 }, { 4, 43, 1, 44 }, { 6, 19, 2, 20 }, + { 6, 15, 2, 16 } }, + { { 4, 81, 0, 0 }, { 1, 50, 4, 51 }, { 4, 22, 4, 23 }, + { 3, 12, 8, 13 } }, + { { 2, 92, 2, 93 }, { 6, 36, 2, 37 }, { 4, 20, 6, 21 }, + { 7, 14, 4, 15 } }, + { { 4, 107, 0, 0 }, { 8, 37, 1, 38 }, { 8, 20, 4, 21 }, + { 12, 11, 4, 12 } }, + { { 3, 115, 1, 116 }, { 4, 40, 5, 41 }, { 11, 16, 5, 17 }, + { 11, 12, 5, 13 } }, + { { 5, 87, 1, 88 }, { 5, 41, 5, 42 }, { 5, 24, 7, 25 }, + { 11, 12, 7, 13 } }, + { { 5, 98, 1, 99 }, { 7, 45, 3, 46 }, { 15, 19, 2, 20 }, + { 3, 15, 13, 16 } }, + { { 1, 107, 5, 108 }, { 10, 46, 1, 47 }, { 1, 22, 15, 23 }, + { 2, 14, 17, 15 } }, + { { 5, 120, 1, 121 }, { 9, 43, 4, 44 }, { 17, 22, 1, 23 }, + { 2, 14, 19, 15 } }, + { { 3, 113, 4, 114 }, { 3, 44, 11, 45 }, { 17, 21, 4, 22 }, + { 9, 13, 16, 14 } }, + { { 3, 107, 5, 108 }, { 3, 41, 13, 42 }, { 15, 24, 5, 25 }, + { 15, 15, 10, 16 } }, + { { 4, 116, 4, 117 }, { 17, 42, 0, 0 }, { 17, 22, 6, 23 }, + { 19, 16, 6, 17 } }, + { { 2, 111, 7, 112 }, { 17, 46, 0, 0 }, { 7, 24, 16, 25 }, + { 34, 13, 0, 0 } }, + { { 4, 121, 5, 122 }, { 4, 47, 14, 48 }, { 11, 24, 14, 25 }, + { 16, 15, 14, 16 } }, + { { 6, 117, 4, 118 }, { 6, 45, 14, 46 }, { 11, 24, 16, 25 }, + { 30, 16, 2, 17 } }, + { { 8, 106, 4, 107 }, { 8, 47, 13, 48 }, { 7, 24, 22, 25 }, + { 22, 15, 13, 16 } }, + { { 10, 114, 2, 115 }, { 19, 46, 4, 47 }, { 28, 22, 6, 23 }, + { 33, 16, 4, 17 } }, + { { 8, 122, 4, 123 }, { 22, 45, 3, 46 }, { 8, 23, 26, 24 }, + { 12, 15, 28, 16 } }, + { { 3, 117, 10, 118 }, { 3, 45, 23, 46 }, { 4, 24, 31, 25 }, + { 11, 15, 31, 16 } }, + { { 7, 116, 7, 117 }, { 21, 45, 7, 46 }, { 1, 23, 37, 24 }, + { 19, 15, 26, 16 } }, + { { 5, 115, 10, 116 }, { 19, 47, 10, 48 }, { 15, 24, 25, 25 }, + { 23, 15, 25, 16 } }, + { { 13, 115, 3, 116 }, { 2, 46, 29, 47 }, { 42, 24, 1, 25 }, + { 23, 15, 28, 16 } }, + { { 17, 115, 0, 0 }, { 10, 46, 23, 47 }, { 10, 24, 35, 25 }, + { 19, 15, 35, 16 } }, + { { 17, 115, 1, 116 }, { 14, 46, 21, 47 }, { 29, 24, 19, 25 }, + { 11, 15, 46, 16 } }, + { { 13, 115, 6, 116 }, { 14, 46, 23, 47 }, { 44, 24, 7, 25 }, + { 59, 16, 1, 17 } }, + { { 12, 121, 7, 122 }, { 12, 47, 26, 48 }, { 39, 24, 14, 25 }, + { 22, 15, 41, 16 } }, + { { 6, 121, 14, 122 }, { 6, 47, 34, 48 }, { 46, 24, 10, 25 }, + { 2, 15, 64, 16 } }, + { { 17, 122, 4, 123 }, { 29, 46, 14, 47 }, { 49, 24, 10, 25 }, + { 24, 15, 46, 16 } }, + { { 4, 122, 18, 123 }, { 13, 46, 32, 47 }, { 48, 24, 14, 25 }, + { 42, 15, 32, 16 } }, + { { 20, 117, 4, 118 }, { 40, 47, 7, 48 }, { 43, 24, 22, 25 }, + { 10, 15, 67, 16 } }, + { { 19, 118, 6, 119 }, { 18, 47, 31, 48 }, { 34, 24, 34, 25 }, + { 20, 15, 61, 16 } } }; + + /** + * Error Correction code blocks information for each version and ECLevel. + */ + public static final int[][] numberofErrorCorrectionCodewords = { + { 7, 10, 13, 17 }, { 10, 16, 22, 28 }, { 15, 26, 18, 22 }, + { 20, 18, 26, 16 }, { 26, 24, 18, 22 }, { 18, 16, 24, 28 }, + { 20, 18, 18, 26 }, { 24, 22, 22, 26 }, { 30, 22, 20, 24 }, + { 18, 26, 24, 28 }, { 20, 30, 24, 28 }, { 24, 22, 26, 28 }, + { 26, 22, 24, 22 }, { 30, 24, 20, 24 }, { 22, 24, 30, 24 }, + { 24, 28, 24, 30 }, { 28, 28, 28, 28 }, { 30, 26, 28, 28 }, + { 28, 26, 26, 26 }, { 28, 26, 30, 28 }, { 28, 26, 28, 30 }, + { 28, 28, 30, 24 }, { 30, 28, 30, 30 }, { 30, 28, 30, 30 }, + { 26, 28, 30, 30 }, { 28, 28, 28, 30 }, { 30, 28, 30, 30 }, + { 30, 28, 30, 30 }, { 30, 28, 30, 30 }, { 30, 28, 30, 30 }, + { 30, 28, 30, 30 }, { 30, 28, 30, 30 }, { 30, 28, 30, 30 }, + { 30, 28, 30, 30 }, { 30, 28, 30, 30 }, { 30, 28, 30, 30 }, + { 30, 28, 30, 30 }, { 30, 28, 30, 30 }, { 30, 28, 30, 30 }, + { 30, 28, 30, 30 } }; + + public final int bits; + + public final int remainderBit; + + public final int[] maximunDataCapacityBits; + + public final int[] maximunDataCapacityCharacters; + + public final int[][] dataCodewordsCharacteristic; + + public final int[] errorCorrectioCodeWordsCharacteristic; + + /** + * Constructs a Version according to QRCode version number and the Mode. + * + * @param number + * - a int representing the QRCode version number. + * @param mode + * - the Mode. + */ + public Version(int number, Mode mode) { + this.bits = number; + this.remainderBit = remainderBits[number - 1]; + this.maximunDataCapacityBits = dataCapacityBits[number - 1]; + this.dataCodewordsCharacteristic = numberOfDataCodewords[number - 1]; + this.errorCorrectioCodeWordsCharacteristic = numberofErrorCorrectionCodewords[number - 1]; + switch (mode.getIndicator()) { + case Mode.NUMERIC: + this.maximunDataCapacityCharacters = dataCapacityNumeric[number - 1]; + break; + case Mode.ALPHANUMERIC: + this.maximunDataCapacityCharacters = dataCapacityAlphaNumeric[number - 1]; + break; + case Mode.EIGHT_BIT: + this.maximunDataCapacityCharacters = dataCapacity8Bit[number - 1]; + break; + case Mode.KANJI: + this.maximunDataCapacityCharacters = dataCapacityKanji[number - 1]; + break; + default: + this.maximunDataCapacityCharacters = null; + break; + } + } + + /** + * Returns the Remainder Bit to this Version. + * + * @return a int representing the remainder bit. + */ + public int getRemainderBit() { + return remainderBit; + } + + /** + * Returns a int vector with all the Remainder Bits. + * + * @return a int vector with the Remainder Bits. + */ + public static int[] getRemainderbits() { + return remainderBits; + } + + /** + * Returns a number representing the Version. + * + * @return a int representing the version. + */ + public int getBits() { + return bits; + } + + /** + * Returns the maximun capacity of data bits per version. + * + * @return a int vector containing the maximun capacity of data bits per + * version. + */ + public int[] getMaximunDataCapacityBits() { + return maximunDataCapacityBits; + } + + /** + * Returns the maximun capacity of characters per version. + * + * @return a int vector containing the maximun capacity of characters per + * version. + */ + public int[] getMaximunDataCapacityCharacters() { + return maximunDataCapacityCharacters; + } + + /** + * Returns the number of Error Correction code blocks information for each + * version and ECLevel. + * + * @return a int vector. + */ + public int[] getErrorCorrectionCodePerBlock() { + return errorCorrectioCodeWordsCharacteristic; + } + + /** + * Returns the Error Correction codewords information characteristics for + * each ECLevel. + * + * @return a int bidimensional vector. + */ + public int[][] getDataCodewordsCharacteristic() { + return dataCodewordsCharacteristic; + } + + /** + * Returns the Error Correction codewords information characteristics for + * each ECLevel. + * + * @return a int vector. + */ + public int[] getErrorCorrectioCodeWordsCharacteristic() { + return errorCorrectioCodeWordsCharacteristic; + } + +} -- libgit2 0.21.2